From: Sergey Matveev Date: Sun, 5 May 2024 07:15:38 +0000 (+0300) Subject: Make zathura configuration file aware X-Git-Url: http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff_plain;h=HEAD;hp=1de3d4b7a55b2628eeccb0dd704c554bf8aee63e Make zathura configuration file aware --- diff --git a/anchors/ca/cacert.org.pem b/anchors/ca/cacert.org.pem new file mode 100644 index 0000000..8ef0716 --- /dev/null +++ b/anchors/ca/cacert.org.pem @@ -0,0 +1,40 @@ +-----BEGIN CERTIFICATE----- +MIIG7jCCBNagAwIBAgIBDzANBgkqhkiG9w0BAQsFADB5MRAwDgYDVQQKEwdSb290 +IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB +IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA +Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO +BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi +MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ +ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ +8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6 +zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y +fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7 +w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc +G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k +epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q +laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ +QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU +fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826 +YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAX8w +ggF7MB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TAPBgNVHRMBAf8EBTAD +AQH/MDQGCWCGSAGG+EIBCAQnFiVodHRwOi8vd3d3LmNhY2VydC5vcmcvaW5kZXgu +cGhwP2lkPTEwMFYGCWCGSAGG+EIBDQRJFkdUbyBnZXQgeW91ciBvd24gY2VydGlm +aWNhdGUgZm9yIEZSRUUgaGVhZCBvdmVyIHRvIGh0dHA6Ly93d3cuY2FjZXJ0Lm9y +ZzAxBgNVHR8EKjAoMCagJKAihiBodHRwOi8vY3JsLmNhY2VydC5vcmcvcmV2b2tl +LmNybDAzBglghkgBhvhCAQQEJhYkVVJJOmh0dHA6Ly9jcmwuY2FjZXJ0Lm9yZy9y +ZXZva2UuY3JsMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29j +c3AuY2FjZXJ0Lm9yZzAfBgNVHSMEGDAWgBQWtTIb1Mfz4OaO873SsDrusjkY0TAN +BgkqhkiG9w0BAQsFAAOCAgEAR5zXs6IX01JTt7Rq3b+bNRUhbO9vGBMggczo7R0q +Ih1kdhS6WzcrDoO6PkpuRg0L3qM7YQB6pw2V+ubzF7xl4C0HWltfzPTbzAHdJtja +JQw7QaBlmAYpN2CLB6Jeg8q/1Xpgdw/+IP1GRwdg7xUpReUA482l4MH1kf0W0ad9 +4SuIfNWQHcdLApmno/SUh1bpZyeWrMnlhkGNDKMxCCQXQ360TwFHc8dfEAaq5ry6 +cZzm1oetrkSviE2qofxvv1VFiQ+9TX3/zkECCsUB/EjPM0lxFBmu9T5Ih+Eqns9i +vmrEIQDv9tNyJHuLsDNqbUBal7OoiPZnXk9LH+qb+pLf1ofv5noy5vX2a5OKebHe ++0Ex/A7e+G/HuOjVNqhZ9j5Nispfq9zNyOHGWD8ofj8DHwB50L1Xh5H+EbIoga/h +JCQnRtxWkHP699T1JpLFYwapgplivF4TFv4fqp0nHTKC1x9gGrIgvuYJl1txIKmx +XdfJzgscMzqpabhtHOMXOiwQBpWzyJkofF/w55e0LttZDBkEsilV/vW0CJsPs3eN +aQF+iMWscGOkgLFlWsAS3HwyiYLNJo26aqyWPaIdc8E4ck7Sk08WrFrHIK3EHr4n +1FZwmLpFAvucKqgl0hr+2jypyh5puA3KksHF3CsUzjMUvzxMhykh9zrMxQAHLBVr +Gwc= +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/BaltimoreCyberTrustRoot.pem b/anchors/ca/digicert/BaltimoreCyberTrustRoot.pem new file mode 100644 index 0000000..519028c --- /dev/null +++ b/anchors/ca/digicert/BaltimoreCyberTrustRoot.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX +DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y +ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy +VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr +mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr +IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK +mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu +XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy +dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye +jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 +BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 +DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 +9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx +jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 +Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz +ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS +R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertAssuredIDRootCA.pem b/anchors/ca/digicert/DigiCertAssuredIDRootCA.pem new file mode 100644 index 0000000..2731638 --- /dev/null +++ b/anchors/ca/digicert/DigiCertAssuredIDRootCA.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c +JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP +mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ +wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 +VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ +AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB +AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW +BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun +pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC +dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf +fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm +NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx +H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertAssuredIDRootG2.pem b/anchors/ca/digicert/DigiCertAssuredIDRootG2.pem new file mode 100644 index 0000000..fc60fb5 --- /dev/null +++ b/anchors/ca/digicert/DigiCertAssuredIDRootG2.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA +n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc +biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp +EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA +bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu +YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW +BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI +QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I +0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni +lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 +B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv +ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertAssuredIDRootG3.pem b/anchors/ca/digicert/DigiCertAssuredIDRootG3.pem new file mode 100644 index 0000000..244c99b --- /dev/null +++ b/anchors/ca/digicert/DigiCertAssuredIDRootG3.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg +RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf +Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q +RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD +AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY +JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv +6pZjamVFkpUBtA== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertCSECCP384RootG5.pem b/anchors/ca/digicert/DigiCertCSECCP384RootG5.pem new file mode 100644 index 0000000..f567100 --- /dev/null +++ b/anchors/ca/digicert/DigiCertCSECCP384RootG5.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICFjCCAZ2gAwIBAgIQA2mP5xLVGfPO0P23sWQwETAKBggqhkjOPQQDAzBNMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMTHERp +Z2lDZXJ0IENTIEVDQyBQMzg0IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcNNDYw +MTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIElu +Yy4xJTAjBgNVBAMTHERpZ2lDZXJ0IENTIEVDQyBQMzg0IFJvb3QgRzUwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAR/FK2Ftpf9AiE1TWDoOJOTmz0FEG2v0/7v+rv7c5nz +7DISjcdouIveiaKIVHeNuyF+M5VWlgno1YyhBLibbhkAYuhCKKZYN4QZVSZ7Mzdn +8ppyraGurgBCPBx+uHqeIZyjQjBAMB0GA1UdDgQWBBTwjJhxOThlwjobphdmHcjt +Zd6SNjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQD +AwNnADBkAjAjb+EAGSZQ5EYgZYs3p8/rBuHMMskqoewyDXOiHgIcNWEqTmmrOXft +l4jAfWvqid0CMEPx0VijdT6Gm7ZVEYsX9z3+CmnFf07GdRtalMvqERHGCCKI3tB6 +oqV56OMhp80Tsw== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertCSRSA4096RootG5.pem b/anchors/ca/digicert/DigiCertCSRSA4096RootG5.pem new file mode 100644 index 0000000..a56b96b --- /dev/null +++ b/anchors/ca/digicert/DigiCertCSRSA4096RootG5.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFZDCCA0ygAwIBAgIQBs7hMb5tVcgH98DH+0TmIDANBgkqhkiG9w0BAQwFADBM +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJDAiBgNVBAMT +G0RpZ2lDZXJ0IENTIFJTQTQwOTYgUm9vdCBHNTAeFw0yMTAxMTUwMDAwMDBaFw00 +NjAxMTQyMzU5NTlaMEwxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg +SW5jLjEkMCIGA1UEAxMbRGlnaUNlcnQgQ1MgUlNBNDA5NiBSb290IEc1MIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtjNzgNhiA3AULBEcOV58rnyDhh3+ +Ji9MJK2L6oNfqbw9W/wLmEwCRzDs4v7s6DRbZl6/O9cspiX/jFmz3+rafCnZRlBy +CB1u0RsK3R/NmYn6Dw9zxOGcHXUyzW+X2ipqlbJsyQnQ6gt7fRcGSZnv1t7gyFPU +rsZ38Ya7Ixy4wN9Z94590e+C5iaLWji1/3XVstlPCfM3iFDaEaSKFBTRUwQAffNq +RBj+UHAyBxyomg46HcUKH24LJmm3PKJXcCyG+kxulalYQ7msEtb/P+3XQxdrTM6e +xJCr//oQUJqjkFfW54wQrp8WGs81HX/Xdu2KnDWnKLinXSH8MDfd3ggZTxXG56ba +kEeO95RTTI5TAr79meXqhtCvAwLTm6qT8asojiAB/0z7zLcpQPWHpBITBR9DbtdR +UJ84tCDtFwkSj8y5Ga+fzb5pEdOvVRBtF4Z5llLGsgCd5a84sDX0iGuPDgQ9fO6v +zdNqEErGzYbKIj2hSlz7Dv+I31xip8C5HtmsbH44N/53kyXChYpPtTcGWgaBFPHO +lJ2ZkeoyWs5nPW4EZq0MTy2jLvee9Xid9wr9fo/jQopVlrzxnzct/J5flf6MGBv8 +jv1LkK/XA2gSY6zik6eiywTlT2TOA/rGFJ/Zi+jM1GKMa+QALBmfGgbGMYFU+1Mk +mq9Vmbqdda64wt0CAwEAAaNCMEAwHQYDVR0OBBYEFGgBk7HSSkBCaZRGLBxaiKkl +tEdPMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB +DAUAA4ICAQCS/O64AnkXAlF9IcVJZ6ek8agkOOsMaOpaQmuc9HPBaUotszcFUEKY +kp4GeSwuBpn2798roM2zkgGDtaDLJ7U8IxqYSaLsLZmlWUOs0rGT1lfXHLyT1sZA +4bNvGVW3E9flQzOktavL2sExZA101iztw41u67uvGUdhYS3A9AW5b3jcOvdCQGVT +kb2ZDZOSVKapN1krm8uZxrw99wSE8JQzHQ+CWjnLLkXDKBmjspuYyPwxa2CP9umG +KLzgPH10XRaJW2kkxxCLxEu7Nk/UWT/DsKSRmfgu0UoBnfWIEu+/WhFqWU9Za1pn +84+0Ew/A2C89KHKqGX8RfWpbn5XnX7eUT/E+oVr/Lcyd3yd3jzJzHGcKdvP6XLG/ +vB29DCibsscXZwszD8O9Ntz7ukILq+2Ew2LWhBapsQdrqW7uxs/msEQpwvCzYYAq +i2/SFFwlh1Rk86RMwaH4p2vq/uo6/HnbDo/cxvPJ1Gze6YOhjh0i7Mk6sgB73Dun +Qhp/3IupET2Op8Agb10JXUNE5o9mzKlbB/Hvm3oOs1ThlP0OLMaT11X9cZg1uAlK +/8YpKCz2Ui3bFBiSJ+IWfozK1GG+goeR65g3P79fXXc/NKwbOEOraHKZMh46Ghml +ozhMI9ej58zVKpIXkAtaS70WvfuGauKJmezkoFUYyaMIHxPgMghy0A== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertClientECCP384RootG5.pem b/anchors/ca/digicert/DigiCertClientECCP384RootG5.pem new file mode 100644 index 0000000..56d1bb1 --- /dev/null +++ b/anchors/ca/digicert/DigiCertClientECCP384RootG5.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICHzCCAaWgAwIBAgIQBk+mpigpFB8OnYNi4RdeOjAKBggqhkjOPQQDAzBRMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xKTAnBgNVBAMTIERp +Z2lDZXJ0IENsaWVudCBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoX +DTQ2MDExNDIzNTk1OVowUTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0 +LCBJbmMuMSkwJwYDVQQDEyBEaWdpQ2VydCBDbGllbnQgRUNDIFAzODQgUm9vdCBH +NTB2MBAGByqGSM49AgEGBSuBBAAiA2IABGccPoSdUFeo//Ftm0qfjw07rsbG8eqB +zMO1usko/cGp2vZs9iBCAYRKWmL9DF88W3kWed3X5delJjH1ZMbzJL/19kUvIYZt +83aXZQUguq+5kcUq7pjF/pcb86fx59LPrqNCMEAwHQYDVR0OBBYEFLMsqpCF7XM8 +9c7QwUtG0sVgbZR5MA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoG +CCqGSM49BAMDA2gAMGUCMA+xAdFskP8ICqhlLebjF8aVdClLedTB64pmR9WrI38F +XyW4HOyOxz2nObN2wJVzdAIxAPxsGdjNe5nR/lSqYzVCmsBe59u5HcnCny2HfswZ +Nm9hi+opTmtpPNJloAPNqSXojA== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertClientRSA4096RootG5.pem b/anchors/ca/digicert/DigiCertClientRSA4096RootG5.pem new file mode 100644 index 0000000..06d2663 --- /dev/null +++ b/anchors/ca/digicert/DigiCertClientRSA4096RootG5.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIQBMj8A6hU65igmwKIPGajwDANBgkqhkiG9w0BAQwFADBQ +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xKDAmBgNVBAMT +H0RpZ2lDZXJ0IENsaWVudCBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAw +WhcNNDYwMTE0MjM1OTU5WjBQMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNl +cnQsIEluYy4xKDAmBgNVBAMTH0RpZ2lDZXJ0IENsaWVudCBSU0E0MDk2IFJvb3Qg +RzUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDj5uj0wpUboAFRLX+I +QSuQu82uUBQ2Z5vvcB6iQP+eAEwpG0yWS14MOh8mMifsddzfgmhVsFKbtnxboguE +15i2LlAWtXz5u3f6Mz+krrB2VW1VGG6fF4Yk9EuUMIZyhTeVT8H5rCjRgcu/MWOF +eTMCNOD4kT5fcb49xWdRQT4iE3MYDXNRFd5odImBB2yZhmksQQ6Vl/MWA1ZQgWqW +2YbSp1DvlXT+AgPJUb2DvrAA/Rt6I3PfR5ux4sgA6U92sicwkcq696rhA2an39jj +80pCMcwHQ/WouQXqhCf5e0QocgAv8+rzif5MgcFElEk6C1PJAU9nl30lyeDfCmE+ +Zoja1fhUoqtUsdXc/iSCZrS3giGWY6KTt7Nwh6EgNPr6WF0vexfIH1y2lDVgw5q7 +jiL4prUp3Cbe51dJgU1kue/CPIgLTMwBmNJYLVJEOrPOwz6+zrnDS+XRUbbhMdEy +R0HPwJ+Wk1tl55NGtYsVlAJSurMuYlkHtDYFkVNec4Ho/7lMdo/ak3PArTgX7uf4 +owW0fV9gNpwqoVBIfhUeRXn4IFEF9uxiHWrRLw2L73RO8aNsNu4TRrE/CIIyu7n0 +YLmR4delkuCVoEGFFdjM0Y2htyQy7WOSRbDqB+jkdCDxJrlj9cLHbY2xVuheRRyM +vNFAj2LuSb00sKKWwTkd/M1l7wIDAQABo0IwQDAdBgNVHQ4EFgQUk2078qYZI73o +uEyOuc/V/vzEvXowDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ +KoZIhvcNAQEMBQADggIBAJf7rW+sE2WxsOHVVpktlQqqgbVwgROdfZfVRyH+127F +RTQA63zRgbUkkfsLmn7eYl+OUMT7RUYdU0vWsBnhj6GFc4V4lgG0uOg70K+Qa5Lv +fPZnUjFmF55q4se9VUqSD2a0RQYAzJu2QQAsCkAKdLbYSsF0KKE1KCS11q7FjpQJ +APog8EoWRf+HcFf6MyqaA+awMwy4vsOWO06jolechshjIte2FoLwOHF1j4uK4TUQ +twrG651sWHJdC2jEq2XlS9I7gKqHn1ikGiKsq4pRyVN2hmIuLu8vVKfD1XLwoCxf +f3T0i+QnCziTjdh5GO6rqvQK9MF5kjpFXnJkNqWaTl0y3GFFNDo3Lo8CtIC2DoVH +pILSqMpngrkjnuNNENi3xq6YXBV2oyyHhggwDW9u1Bb2yokrgF1cXdoLfo+811E4 +oz3688ZMCpdmhHObOXSf+z1qwJvC4anrv7Lrl2Eb+d5G9lXiKwy0Z+hcVhDWuTl8 +4q0yIbA1IbrW0cRQAx2xAEc3u3ZAITXwLmXbUsDpttcIYNqOiVHYeK/7aAzRvkmf +ICdRoooBEuLAf+CN0+sxBeYlYUKIAONWBaBDF01dFTkRr1Ebb/Xe38SzyyAeWIVg +ZAcMGDpl6+ohzswf6wSVPAxNqDe1t8GeWAM1oDzRSTALzohNU1kgK5YqxhXHkA5A +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertECCP384RootG5.pem b/anchors/ca/digicert/DigiCertECCP384RootG5.pem new file mode 100644 index 0000000..cb326c6 --- /dev/null +++ b/anchors/ca/digicert/DigiCertECCP384RootG5.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICETCCAZegAwIBAgIQDfPZN2WjecWVZuqS4iRPNDAKBggqhkjOPQQDAzBKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xIjAgBgNVBAMTGURp +Z2lDZXJ0IEVDQyBQMzg0IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcNNDYwMTE0 +MjM1OTU5WjBKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4x +IjAgBgNVBAMTGURpZ2lDZXJ0IEVDQyBQMzg0IFJvb3QgRzUwdjAQBgcqhkjOPQIB +BgUrgQQAIgNiAAT8WR/OmWx/mw62KWNvxoXzCtPWm65XFUwO7V3jCX5tKqOGqrp4 +oKdxvUT6CMBKBtZv3SxKOHTl0L3/ev/lOU69vRceH0Ot1bwn2Eu/dowwMqT7+VPl +2Ko4U12ooDegZwqjQjBAMB0GA1UdDgQWBBSSlvfmutURuvkiLnt+WtnwJeUFGzAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBl +AjEA/cBN8aSn26cMJhH0Sb0HOGMrRGIGeQjHw9TPmz6rOieqkMf9WaK4MlLbyo4X +CwqQAjBdGuxRidRk3PnlHji9Wy7j5UTkOxh61/CVQI/y68/0+dBlokHysOZ8wTYs +j1453Tc= +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertFederatedIDRootCA.pem b/anchors/ca/digicert/DigiCertFederatedIDRootCA.pem new file mode 100644 index 0000000..061769c --- /dev/null +++ b/anchors/ca/digicert/DigiCertFederatedIDRootCA.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIQCHTZWCM+IlfFIRXIvyKSrjANBgkqhkiG9w0BAQsFADBn +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSYwJAYDVQQDEx1EaWdpQ2VydCBGZWRlcmF0ZWQgSUQg +Um9vdCBDQTAeFw0xMzAxMTUxMjAwMDBaFw0zMzAxMTUxMjAwMDBaMGcxCzAJBgNV +BAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp +Y2VydC5jb20xJjAkBgNVBAMTHURpZ2lDZXJ0IEZlZGVyYXRlZCBJRCBSb290IENB +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAEB4pcCqnNNOWE6Ur5j +QPUH+1y1F9KdHTRSza6k5iDlXq1kGS1qAkuKtw9JsiNRrjltmFnzMZRBbX8Tlfl8 +zAhBmb6dDduDGED01kBsTkgywYPxXVTKec0WxYEEF0oMn4wSYNl0lt2eJAKHXjNf +GTwiibdP8CUR2ghSM2sUTI8Nt1Omfc4SMHhGhYD64uJMbX98THQ/4LMGuYegou+d +GTiahfHtjn7AboSEknwAMJHCh5RlYZZ6B1O4QbKJ+34Q0eKgnI3X6Vc9u0zf6DH8 +Dk+4zQDYRRTqTnVO3VT8jzqDlCRuNtq6YvryOWN74/dq8LQhUnXHvFyrsdMaE1X2 +DwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNV +HQ4EFgQUGRdkFnbGt1EWjKwbUne+5OaZvRYwHwYDVR0jBBgwFoAUGRdkFnbGt1EW +jKwbUne+5OaZvRYwDQYJKoZIhvcNAQELBQADggEBAHcqsHkrjpESqfuVTRiptJfP +9JbdtWqRTmOf6uJi2c8YVqI6XlKXsD8C1dUUaaHKLUJzvKiazibVuBwMIT84AyqR +QELn3e0BtgEymEygMU569b01ZPxoFSnNXc7qDZBDef8WfqAV/sxkTi8L9BkmFYfL +uGLOhRJOFprPdoDIUBB+tmCl3oDcBy3vnUeOEioz8zAkprcb3GHwHAK+vHmmfgcn +WsfMLH4JCLa/tRYL+Rw/N3ybCkDp00s0WUZ+AoDywSl0Q/ZEnNY0MsFiw6LyIdbq +M/s/1JRtO3bDSzD9TazRVzn2oBqzSa8VgIo5C1nOnoAKJTlsClJKvIhnRlaLQqk= +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertGlobalRootCA.pem b/anchors/ca/digicert/DigiCertGlobalRootCA.pem new file mode 100644 index 0000000..fd4341d --- /dev/null +++ b/anchors/ca/digicert/DigiCertGlobalRootCA.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB +CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 +nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt +43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P +T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 +gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR +TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw +DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr +hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg +06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF +PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls +YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertGlobalRootG2.pem b/anchors/ca/digicert/DigiCertGlobalRootG2.pem new file mode 100644 index 0000000..798e002 --- /dev/null +++ b/anchors/ca/digicert/DigiCertGlobalRootG2.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI +2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx +1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ +q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz +tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ +vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV +5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY +1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 +NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG +Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 +8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe +pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertGlobalRootG3.pem b/anchors/ca/digicert/DigiCertGlobalRootG3.pem new file mode 100644 index 0000000..bc20c1e --- /dev/null +++ b/anchors/ca/digicert/DigiCertGlobalRootG3.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe +Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw +EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x +IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG +fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO +Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd +BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx +AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ +oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 +sycX +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertHighAssuranceEVRootCA.pem b/anchors/ca/digicert/DigiCertHighAssuranceEVRootCA.pem new file mode 100644 index 0000000..9e6810a --- /dev/null +++ b/anchors/ca/digicert/DigiCertHighAssuranceEVRootCA.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertPrivateServicesRoot.pem b/anchors/ca/digicert/DigiCertPrivateServicesRoot.pem new file mode 100644 index 0000000..a4404ec --- /dev/null +++ b/anchors/ca/digicert/DigiCertPrivateServicesRoot.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDnDCCAoSgAwIBAgIQAqgneYhfz3LBrBcPI90GkTANBgkqhkiG9w0BAQUFADBo +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMScwJQYDVQQDEx5EaWdpQ2VydCBQcml2YXRlIFNlcnZp +Y2VzIFJvb3QwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBoMQswCQYD +VQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGln +aWNlcnQuY29tMScwJQYDVQQDEx5EaWdpQ2VydCBQcml2YXRlIFNlcnZpY2VzIFJv +b3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDSJd1k/fsWB/YZrssY +2nJkvAlRkaq997TyFdBFI1kvVYoGhrybaY7hqCC9FHyaZgnurTMXmHffvE7RixwC +t1wYtZxx9OEWbtHFcZWnY+Ic3bBKqRQl3QOMVyNB3CyrrtmuScOtnLdCttv5bF5q +uWzw+VwhZDPyZcnfTTxkMQLrvv/rr0BzHsrjcRl09W7c1oM08tnA5WhkenjgY/uN +ac/xvo46bjZOkWMVQEaMUL3a/C205AWVvedVwxV9n4Jh5HT/73okgI7n+HHarvlS +98xD8J0c/4RPkNuH8PPbCfpVJORdZ2AfTQNW6hqp4nvsmp66USmFqSqn7BGVj8yk +G7OFAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0G +A1UdDgQWBBT5EiBkqVFrCPeFbwBuDOmRtdaFQDANBgkqhkiG9w0BAQUFAAOCAQEA +UKpbVqWY/1PPDXKVIM1P5c25Pa5B8z6C2YiYLVahTs7sKT/vTD+66hNqJM+tbGAV +cbkZGIsPwVXsJ/ygwcZtd6/8kBIzDrDQnPFp4bhL0XV5QirOKlpngKyi1bh0TUEd +DnXib4bc7Tw6rro8Va04ugIHv1H9mLJg9YwMhp+3+yPx1JyyB/3XVqlxpGiKSXx1 ++ZFo4hbIl8vhNhWqdcShlwdeNInjzQLRGPIx00Dsh+8uszEElWMMRzIGWCHzubZu +j/IOhqMO9trk6/2q0rwk9PnXYc8QVsAWAAbYkQe3xM/eB1VSS7DJMUiRWqdoz6LG ++BqPRSmowBJZCGnvhDihQw== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertRSA4096RootG5.pem b/anchors/ca/digicert/DigiCertRSA4096RootG5.pem new file mode 100644 index 0000000..2c4c2f6 --- /dev/null +++ b/anchors/ca/digicert/DigiCertRSA4096RootG5.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFXjCCA0agAwIBAgIQCL+ib5o/M2WirPCmOMQBcDANBgkqhkiG9w0BAQwFADBJ +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xITAfBgNVBAMT +GERpZ2lDZXJ0IFJTQTQwOTYgUm9vdCBHNTAeFw0yMTAxMTUwMDAwMDBaFw00NjAx +MTQyMzU5NTlaMEkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5j +LjEhMB8GA1UEAxMYRGlnaUNlcnQgUlNBNDA5NiBSb290IEc1MIICIjANBgkqhkiG +9w0BAQEFAAOCAg8AMIICCgKCAgEAqr4NsgZ9JvlH6uQb50JpuJnCue4ksUaQy1kk +UlQ1piTCX5EZyLZC1vNHZZVk54VlZ6mufABP4HgDUK3zf464EeeBYrGL3/JJJgne +Dxa82iibociXL5OQ2iAq44TU/6mesC2/tADemx/IoGNTaIVvTYXGqmP5jbI1dmJ0 +A9yTmGgFns2QZd3SejGrJC1tQC6QP2NsLOv6HoBUjXkCkBSztU9O9YgEQ4DDSLMm +L6xRlTJVJS9BlrBWoQg73JgfcoUsd8qYzDj7jnLJbewF7O1NtzxbFFCF3Zf7WfeQ +EvQTv4NNgLIVZRGXYOXWXOYEtVDmcTO2IJOpaAA4zknbtFw7ctdFXFS/zTwBIx58 +1vhpLKUACmwySLTecC06ExfBf2TL8zDtoT2WZ/GUtWBsW2lo9YIzCaK22fOFsm6g +lPDCxH2hLMpz9a7gUpyiZuYDzurf7RjUuWOL9+j/+7Nbj0PFr7d0lFA1Za7WL/GF +j1OhcPSNMl28lsMewgQEnAQPs11+iSDKXicNiUoSI7T2xN3YH/hoszb4HrzG94S2 +6IpOiDA4wCbYcAoJOjQOa4ISlhwv5p6t2HE1gbGMBm70bmb/S0quvfD+11xfU7sy +PM1i0RSgKR8Q3qlyT7GtZOWDKo+L6oSV7pglmJqzcTzBp1DyrEJiMcKhkMbu4reK +qLW2GzsCAwEAAaNCMEAwHQYDVR0OBBYEFGJtt5FPxOqjYmCPoNC+tY8GfGgAMA4G +A1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBDAUAA4IC +AQBh6PsnbdbiuLMJr6rwsYJM/j0XiU0tFZ377tC7hOyEddtDE96Mn8cp74d0yxNw +gVYAdPyu9Nk63iIIUaWgXIJmtntMqdqPq6wcQZZm1p3eVua/TrGyXl/Aw27UwoSQ +9X2xuhbRKYrInenP0McZOz/P7vfhM65CyJjACJ7zWvPf1Cs7jqgoVhnHTnc8JVTc +uEhI0fknaj7sE6+yBYn9VV/zfY4NnAldLIp+hc744b8RPTKMWtd+PfQzWM+iBZij +s/vOib/9whbdbtyISQ0LoAP/50XpBMHp/aqddfi4H4eD2es501qny5isE4kA/G+V +TuF9EUZt9jhGoxOgLAH1Ys+/HFCRJ3Rdt+xHfNDRdct77tFNIwrDYKV3LYDaZw+O +a3YH8KYP6oSuHnm/CIraCfP07rU289R6Q7qUNeH6wTsblpmkV2PrtaiC9634d9d2 +hvN2U1Zb/CZChM6fg5GRr/S+cBWApdjoabHYkVS4GbJi+aL6Ve0Ev7lEhuTP8ZsA +vxEPvrV0JFH/dzRj7EgjDugR63dt2sqCkb6khJNM2qH+zAaE6CHoVLrm0x1jPcJa +/ObJg55yZKmGWQCMwvcTg7bQpDHGrJGOe6QiVhPGdccjvItb/EY9/l1SKa+v6MnD +dkvoq0cC8poN0yyIgAeGwGMPAkyOBFN2uVhCb3wpcF2/Jw== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertSMIMEECCP384RootG5.pem b/anchors/ca/digicert/DigiCertSMIMEECCP384RootG5.pem new file mode 100644 index 0000000..c5f251f --- /dev/null +++ b/anchors/ca/digicert/DigiCertSMIMEECCP384RootG5.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICHDCCAaOgAwIBAgIQBT9uoAYBcn3tP8OjtqPW7zAKBggqhkjOPQQDAzBQMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xKDAmBgNVBAMTH0Rp +Z2lDZXJ0IFNNSU1FIEVDQyBQMzg0IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN +NDYwMTE0MjM1OTU5WjBQMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs +IEluYy4xKDAmBgNVBAMTH0RpZ2lDZXJ0IFNNSU1FIEVDQyBQMzg0IFJvb3QgRzUw +djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQWnVXlttT7+2drGtShqtJ3lT6I5QeftnBm +ICikiOxwNa+zMv83E0qevAED3oTBuMbmZUeJ8hNVv82lHghgf61/6GGSKc8JR14L +HMAfpL/yW7yY75lMzHBrtrrQKB2/vgSjQjBAMB0GA1UdDgQWBBRzemuW20IHi1Jm +wmQyF/7gZ5AurTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggq +hkjOPQQDAwNnADBkAjA3RPUygONx6/Rtz3zMkZrDbnHY0iNdkk2CQm1cYZX2kfWn +CPZql+mclC2YcP0ztgkCMAc8L7lYgl4Po2Kok2fwIMNpvwMsO1CnO69BOMlSSJHW +Dvu8YDB8ZD8SHkV/UT70pg== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertSMIMERSA4096RootG5.pem b/anchors/ca/digicert/DigiCertSMIMERSA4096RootG5.pem new file mode 100644 index 0000000..b23d4ed --- /dev/null +++ b/anchors/ca/digicert/DigiCertSMIMERSA4096RootG5.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFajCCA1KgAwIBAgIQBfa6BCODRst9XOa5W7ocVTANBgkqhkiG9w0BAQwFADBP +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJzAlBgNVBAMT +HkRpZ2lDZXJ0IFNNSU1FIFJTQTQwOTYgUm9vdCBHNTAeFw0yMTAxMTUwMDAwMDBa +Fw00NjAxMTQyMzU5NTlaME8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2Vy +dCwgSW5jLjEnMCUGA1UEAxMeRGlnaUNlcnQgU01JTUUgUlNBNDA5NiBSb290IEc1 +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4Gpb2fj5fey1e+9f3Vw0 +2Npd0ctldashfFsA1IJvRYVBiqkSAnIy8BT1A3W7Y5dJD0CZCxoeVqfS0OGr3eUE +G+MfFBICiPWggAn2J5pQ8LrjouCsahSRtWs4EHqiMeGRG7e58CtbyHcJdrdRxDYK +mVNURCW3CTWGFwVWkz1BtwLXYh+KkhGH6hFt6ggR3LF4SEmS9rRRgHgj2P7hVho6 +kBNWNInV4pWLX96yzPs/OLeF9+qevy6hLi9NfWoRLjag/xEIBJVV4Bs7Z5OplFXq +Mu0GOn/Cf+OtEyfRNEGzMMO/tIj4A4Kk3z6reHegWZNx593rAAR7zEg5KOAeoxVp +yDayoQuX31XW75GcpPYW91EK7gMjkdwE/+DdOPYiAwDCB3EaEsnXRiqUG83Wuxvu +v75NUFiwC80wdin1z+W2ai92sLBpatBtZRg1fpO8chfBVULNL8Ilu/T9HaFkIlRd +4p5yQYRucZbqRQe2XnpKhp1zZHc4A9IPU6VVIMRN/2hvVanq3XHkT9mFo3xOKQKe +CwnyGlPMAKbd0TT2DcEwsZwCZKw17aWwKbHSlTMP0iAzvewjS/IZ+dqYZOQsMR8u +4Y0cBJUoTYxYzUvlc4KGjOyo1nlc+2S73AxMKPYXr+Jo1haGmNv8AdwxuvicDvko +Rkrh/ZYGRXkRaBdlXIsmh1sCAwEAAaNCMEAwHQYDVR0OBBYEFNGj1FcdT1XbdUxc +Qp5jFs60xjsfMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG +SIb3DQEBDAUAA4ICAQAHpwreU7ua63C/sjaQzeSnuPEM5F1aHXhl/Mm4HiMRV3xp +NW0B/1NQvwcOuscBP1gqlHUDqxwLI9wbih43PR1Yj3PZsypv3xCgWwynyrB/uSSi +ATUy5V5GQevYf3PnQumkUSZ3gQqo6w8KUJ1+iiBn/AuOOhHTxYxgGNlLsfzU8bRJ +Tq6H4dH7dqFf8wbPl5YM6Z51gVxTDSL8NuZJbnTbAIWNfCKgjvsQTNRiE1vvS3Im +i/xOio/+lxBTxXiLQmQbX+CJ/bsJf1DgVIUmEWodZflJKdx8Nt/7PffSrO4yjW6m +fTmcRcTKDfU7tHlTpS9Wx1HFikxkXZBDI45rTBd4zOi/9TvkqEjPrZsM3zJK09kS +jiN4DS2vn6+ePAnClwDtOmkccT8539OPxGb17zaUD/PdkraWX5Cm3XOqpiCUlCVq +CQxy5BMjYEyjyhcue2cA29DN6nofOSZXiTB3y07llUVPX/s2XD35ILU6ECVPkzJa +7sGW6OlWBLBJYU3seKidGMH/2OovVu+VK3sEXmfjVUDtOQT5C3n1aoxcD4makMfN +i97bJjWhbs2zQvKiDzsMjpP/FM/895P35EEIbhlSEQ9TGXN4DM/YhYH4rVXIsJ5G +Y6+cUu5cv/DAWzceCSDSPiPGoRVKDjZ+MMV5arwiiNkMUkAf3U4PZyYW0q0XHA== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertTLSECCP384RootG5.pem b/anchors/ca/digicert/DigiCertTLSECCP384RootG5.pem new file mode 100644 index 0000000..802c4c8 --- /dev/null +++ b/anchors/ca/digicert/DigiCertTLSECCP384RootG5.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp +Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2 +MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ +bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG +ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS +7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp +0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS +B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49 +BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ +LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4 +DXZDjC5Ty3zfDBeWUA== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertTLSRSA4096RootG5.pem b/anchors/ca/digicert/DigiCertTLSRSA4096RootG5.pem new file mode 100644 index 0000000..b007dff --- /dev/null +++ b/anchors/ca/digicert/DigiCertTLSRSA4096RootG5.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT +HERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN +NDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs +IEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+ +ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0 +2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp +wgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM +pG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD +nU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po +sMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx +Zre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd +Lvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX +KyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe +XoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL +tgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv +TiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN +AQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw +GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H +PNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF +O4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ +REtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik +AdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv +/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+ +p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw +MUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF +qUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK +ovfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+ +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/DigiCertTrustedRootG4.pem b/anchors/ca/digicert/DigiCertTrustedRootG4.pem new file mode 100644 index 0000000..4214227 --- /dev/null +++ b/anchors/ca/digicert/DigiCertTrustedRootG4.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg +RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y +ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If +xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV +ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO +DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ +jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ +CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi +EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM +fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY +uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK +chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t +9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 +SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd ++SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc +fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa +sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N +cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N +0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie +4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI +r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 +/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm +gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/GeoTrustPCA-G2.pem b/anchors/ca/digicert/GeoTrustPCA-G2.pem new file mode 100644 index 0000000..f9364c0 --- /dev/null +++ b/anchors/ca/digicert/GeoTrustPCA-G2.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL +MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj +KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 +MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw +NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV +BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH +MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL +So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal +tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG +CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT +qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz +rD6ogRLQy7rQkgu2npaqBA+K +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/GeoTrustPCA-G3.pem b/anchors/ca/digicert/GeoTrustPCA-G3.pem new file mode 100644 index 0000000..dc1f859 --- /dev/null +++ b/anchors/ca/digicert/GeoTrustPCA-G3.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ +BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 +BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz ++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm +hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn +5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W +JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL +DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC +huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB +AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB +zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN +kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH +SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G +spki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/GeoTrustPCA.pem b/anchors/ca/digicert/GeoTrustPCA.pem new file mode 100644 index 0000000..03c70c7 --- /dev/null +++ b/anchors/ca/digicert/GeoTrustPCA.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY +MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo +R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx +MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 +AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA +ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 +7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W +kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI +mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ +KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 +6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl +4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K +oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj +UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU +AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/VerizonGlobalRootCA.pem b/anchors/ca/digicert/VerizonGlobalRootCA.pem new file mode 100644 index 0000000..d94b112 --- /dev/null +++ b/anchors/ca/digicert/VerizonGlobalRootCA.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBcMQswCQYDVQQGEwJVUzEZ +MBcGA1UECgwQVmVyaXpvbiBCdXNpbmVzczERMA8GA1UECwwIT21uaVJvb3QxHzAd +BgNVBAMMFlZlcml6b24gR2xvYmFsIFJvb3QgQ0EwHhcNMDkwNzMwMTQyNzA0WhcN +MzQwNzMwMTQyNzA0WjBcMQswCQYDVQQGEwJVUzEZMBcGA1UECgwQVmVyaXpvbiBC +dXNpbmVzczERMA8GA1UECwwIT21uaVJvb3QxHzAdBgNVBAMMFlZlcml6b24gR2xv +YmFsIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCKAAxw +Hb/rNIbDmUU1Hn9D96tvJC3NGcIQu7DKKVupIKurcizE4gI5bYK4xRHq+PuznmL4 +Mx6wH8nj9jfbBMg7Y0824oWkJR3HaR8EvWhFE5YHH5RQ9T7FJ1SewElXRI4HY9Sm +ru0imcxNlmkEE252iZ90FpT5HVS9ornSgwEiDE1EgKr+NYknJaeGicbVGpLjj8WV +oBRymuhWxQJVHJf5IC7Q9TwTGVr24fkLA4Jpp4y31m+cVj6d6CoJYG1L5vuLmRT3 +NE9lWYCNuVfIojUh2IhxVl3uglctJpAYn5qcnI/v1MVjp1R9R5GHfRoSqBsYb6lv +sSe65AR0zjcef2bFAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMB0GA1UdDgQWBBRMOBG4mABbWitwPqp45NVnZ2enfjANBgkqhkiG9w0B +AQsFAAOCAQEAAV+gsQYB9HnXZRhgPs95oLrCI08j34eWX4EOOBUuXMgCaCkg/Ivu +pYoYgWRcmDV+OTCCpIKKULW6w+ha1qie4sMX29vE67AKIA3pnuP/YFRH8Tud1Cg8 +oq6j+6qLgiIqNYeQuBxZR5DVnS76SeNlqDbrx+QcaNyzMWyrTs4kgBXIEFkQEXJN +epyYnMT8YeCzsp1OoMbCWasY1qJVRewpqiU31k5KPQtAweST5PzNkQv45qvMs3bE +Yr8Z7Ya2ecMpVFS8mX1GV8+mz/RUKpoDZUcBoUIqyyVHbnxeAEuR2fkbEAZw+UIV +pl+q10Ae/clInZeB6lxowqDniaFTTb/H4w== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/pca3-g3.pem b/anchors/ca/digicert/pca3-g3.pem new file mode 100644 index 0000000..6880364 --- /dev/null +++ b/anchors/ca/digicert/pca3-g3.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b +N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t +KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu +kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm +CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ +Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu +imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te +2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe +DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p +F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt +TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/pca3-g4.pem b/anchors/ca/digicert/pca3-g4.pem new file mode 100644 index 0000000..e19fdea --- /dev/null +++ b/anchors/ca/digicert/pca3-g4.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG +A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp +U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg +SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln +biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm +GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve +fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ +aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj +aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW +kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC +4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga +FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/pca3-g5.pem b/anchors/ca/digicert/pca3-g5.pem new file mode 100644 index 0000000..707ff08 --- /dev/null +++ b/anchors/ca/digicert/pca3-g5.pem @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 +nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex +t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz +SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG +BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ +rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ +NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E +BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH +BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv +MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE +p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y +5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK +WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ +4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N +hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/pca3-g6.pem b/anchors/ca/digicert/pca3-g6.pem new file mode 100644 index 0000000..5ce269e --- /dev/null +++ b/anchors/ca/digicert/pca3-g6.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +MIIF9jCCA96gAwIBAgIQZWNxhdNvRcaPfzH5CYeSgjANBgkqhkiG9w0BAQwFADCB +lDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8w +HQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMUUwQwYDVQQDEzxTeW1hbnRl +YyBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRzYwHhcNMTIxMDE4MDAwMDAwWhcNMzcxMjAxMjM1OTU5WjCBlDELMAkGA1UE +BhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZT +eW1hbnRlYyBUcnVzdCBOZXR3b3JrMUUwQwYDVQQDEzxTeW1hbnRlYyBDbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzYwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC3DrL6TbyachX7d1vb/UMPywv3 +YC6zK34Mu1PyzE5l8xm7/zUd99Opu0Attd141Kb5N+qFBXttt+YTSwZ8+3ZjjyAd +LTgrBIXy6LDRX01KIclq2JTqHgJQpqqQB6BHIepm+QSg5oPwxPVeluInTWHDs8GM +IrZmoQDRVin77cF/JMo9+lqUsITDx7pDHP1kDvEo+0dZ8ibhMblE+avd+76+LDfj +rAsY0/wBovGkCjWCR0yrvYpe3xOF/CDMSFmvr0FvyyPNypOn3dVfyGQ7/wEDoApP +LW49hL6vyDKyUymQFfewBZoKPPa5BpDJpeFdoDuw/qi2v/WJKFckOiGGceTciotB +VeweMCRZ0cBZuHivqlp03iWAMJjtMERvIXAc2xJTDtamKGaTLB/MTzwbgcW59nhv +0DI6CHLbaw5GF4WU87zvvPekXo7p6bVk5bdLRRIsTDe3YEMKTXEGAJQmNXQfu3o5 +XE475rgD4seTi4QsJUlF3X8jlGAfy+nN9quX92Hn+39igcjcCjBcGHzmzu/Hbh6H +fLPpysh7avRo/IOlDFa0urKNSgrHl5fFiDAVPRAIVBVycmczM/R8t84AJ1NlziTx +WmTnNi/yLgLCl99y6AIeoPc9tftoYAP6M6nmEm0G4amoXU48/tnnAGWsthlNe4N/ +NEfq4RhtsYsceavnnQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUOXEIAD7eyIbnkP/k/SEPziQZFvYwDQYJKoZIhvcN +AQEMBQADggIBAFBriE1gSM5a4yLOZ3yEp80c/ekMA4w2rwqHDmquV64B0Da78v25 +c8FftaiuTKL6ScsHRhY2vePIVzh+OOS/JTNgxtw3nGO7XpgeGrKC8K6mdxGAREeh +KcXwszrOmPC47NMOgAZ3IzBM/3lkYyJbd5NDS3Wz2ztuO0rd8ciutTeKlYg6EGhw +OLlbcH7VQ8n8X0/l5ns27vAg7UdXEyYQXhQGDXt2B8LGLRb0rqdsD7yID08sAraj +1yLmmUc12I2lT4ESOhF9s8wLdfMecKMbA+r6mujmLjY5zJnOOj8Mt674Q5mwk25v +qtkPajGRu5zTtCj7g0x6c4JQZ9IOrO1gxbJdNZjPh34eWR0kvFa62qRa2MzmvB4Q +jxuMjvPB27e+1LBbZY8WaPNWxSoZFk0PuGWHbSSDuGLc4EdhGoh7zk5//dzGDVqa +pPO1TPbdMaboHREhMzAEYX0c4D5PjT+1ixIAWn2poQDUg+twuxj4pNIcgS23CBHI +Jnu21OUPA0Zy1CVAHr5JXW2T8VyyO3VUaTqg7kwiuqya4gitRWMFSlI1dsQ09V4H +Mq3cfCbRW4+t5OaqG3Wf61206MCpFXxOSgdy30bJ1JGSdVaw4e43NmUoxRXIK3bM +bW8Zg/T92hXiQeczeUaDV/nxpbZt07zXU+fucW14qZen7iCcGRVyFT0E +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/symc-pca3-g4.pem b/anchors/ca/digicert/symc-pca3-g4.pem new file mode 100644 index 0000000..383858d --- /dev/null +++ b/anchors/ca/digicert/symc-pca3-g4.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICpzCCAi2gAwIBAgIQTHm1miicdjFk9YlE0JEC3jAKBggqhkjOPQQDAzCBlDEL +MAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYD +VQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMUUwQwYDVQQDEzxTeW1hbnRlYyBD +bGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0g +RzQwHhcNMTIxMDE4MDAwMDAwWhcNMzcxMjAxMjM1OTU5WjCBlDELMAkGA1UEBhMC +VVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1h +bnRlYyBUcnVzdCBOZXR3b3JrMUUwQwYDVQQDEzxTeW1hbnRlYyBDbGFzcyAzIFB1 +YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAARXz+qzOU0/oSHgbi84csaHl/OFC0fnD1HI0fSZm8pZ +Zf9M+eoLtyXV0vbsMS0yYhLXdoan+jjJZdT+c+KEOfhMSWIT3brViKBfPchPsD+P +oVAR5JNGrcNfy/GkapVW6MCjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBQknbzScfcdwiW+IvGJpSwVOzQeXjAKBggqhkjOPQQD +AwNoADBlAjEAuWZoZdsF0Dh9DvPIdWG40CjEsUozUVj78jwQyK5HeHbKZiQXhj5Q +Vm6lLZmIuL0kAjAD6qfnqDzqnWLGX1TamPR3vU+PGJyRXEdrQE0QHbPhicoLIsga +xcX+i93B3294n5E= +-----END CERTIFICATE----- diff --git a/anchors/ca/digicert/universal-root.pem b/anchors/ca/digicert/universal-root.pem new file mode 100644 index 0000000..b5f1875 --- /dev/null +++ b/anchors/ca/digicert/universal-root.pem @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB +vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W +ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX +MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 +IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y +IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh +bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF +9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH +H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H +LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN +/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT +rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw +WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs +exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 +sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ +seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz +4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ +BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR +lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 +7M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- diff --git a/anchors/ca/gogetssl.pem b/anchors/ca/gogetssl.pem new file mode 100644 index 0000000..b72c550 --- /dev/null +++ b/anchors/ca/gogetssl.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +MIIF1zCCA7+gAwIBAgIRAJOLsI5imHtPdfmMtqUEXJYwDQYJKoZIhvcNAQEMBQAw +gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK +ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD +VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE4 +MDkwNjAwMDAwMFoXDTI4MDkwNTIzNTk1OVowTDELMAkGA1UEBhMCTFYxDTALBgNV +BAcTBFJpZ2ExETAPBgNVBAoTCEdvR2V0U1NMMRswGQYDVQQDExJHb0dldFNTTCBS +U0EgRFYgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfwF4hD6E1 +kLglXs1n2fH5vMQukCGyyD4LqLsc3pSzeh8we7njU4TB85BH5YXqcfwiH1Sf78aB +hk1FgXoAZ3EQrF49We8mnTtTPFRnMwEHLJRpY9I/+peKeAZNL0MJG5zM+9gmcSpI +OTI6p7MPela72g0pBQjwcExYLqFFVsnroEPTRRlmfTBTRi9r7rYcXwIct2VUCRmj +jR1GX13op370YjYwgGv/TeYqUWkNiEjWNskFDEfxSc0YfoBwwKdPNfp6t/5+RsFn +lgQKstmFLQbbENsdUEpzWEvZUpDC4qPvRrxEKcF0uLoZhEnxhskwXSTC64BNtc+l +VEk7/g/be8svAgMBAAGjggF1MIIBcTAfBgNVHSMEGDAWgBRTeb9aqitKz1SA4dib +wJ3ysgNmyzAdBgNVHQ4EFgQU+ftQxItnu2dk/oMhpqnOP1WEk5kwDgYDVR0PAQH/ +BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG +CCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYLKwYBBAGyMQECAkAwCAYGZ4EMAQIBMFAG +A1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1 +c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2BggrBgEFBQcBAQRqMGgw +PwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RS +U0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRy +dXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAXXRDKHiA5DOhNKsztwayc8qtlK4q +Vt2XNdlzXn4RyZIsC9+SBi0Xd4vGDhFx6XX4N/fnxlUjdzNN/BYY1gS1xK66Uy3p +rw9qI8X12J4er9lNNhrsvOcjB8CT8FyvFu94j3Bs427uxcSukhYbERBAIN7MpWKl +VWxT3q8GIqiEYVKa/tfWAvnOMDDSKgRwMUtggr/IE77hekQm20p7e1BuJODf1Q7c +FPt7T74m3chg+qu0xheLI6HsUFuOxc7R5SQlkFvaVY5tmswfWpY+rwhyJW+FWNbT +uNXkxR4v5KOQPWrY100/QN68/j17paKuSXNcsr56snuB/Dx+MACLBdsF35HxPadx +78vkfQ37WcVmKZtHrHJQ/QUyjxdG8fezMsh0f+puUln/O+NlsFtipve8qYa9h/K5 +yD0oZN93ChWve78XrV4vCpjO75Nk5B8O9CWQqGTHbhkgvjyb9v/B+sYJqB22/NLl +R4RPvbmqDJGeEI+4u6NJ5YiLIVVsX+dyfFP8zUbSsj6J34RyCYKBbQ4L+r7k8Srs +LY51WUFP292wkFDPSDmV7XsUNTDOZoQcBh2Fycf7xFfxeA+6ERx2d8MpPPND7yS2 +1dkf+SY5SdpSbAKtYmbqb9q8cZUDEImNWJFUVHBLDOrnYhGwJudE3OBXRTxNhMDm +IXnjEeWrFvAZQhk= +-----END CERTIFICATE----- diff --git a/anchors/ca/lets-encrypt/e1.pem b/anchors/ca/lets-encrypt/e1.pem new file mode 100644 index 0000000..2a19d41 --- /dev/null +++ b/anchors/ca/lets-encrypt/e1.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICxjCCAk2gAwIBAgIRALO93/inhFu86QOgQTWzSkUwCgYIKoZIzj0EAwMwTzEL +MAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNo +IEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDIwHhcNMjAwOTA0MDAwMDAwWhcN +MjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3MgRW5j +cnlwdDELMAkGA1UEAxMCRTEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQkXC2iKv0c +S6Zdl3MnMayyoGli72XoprDwrEuf/xwLcA/TmC9N/A8AmzfwdAVXMpcuBe8qQyWj ++240JxP2T35p0wKZXuskR5LBJJvmsSGPwSSB/GjMH2m6WPUZIvd0xhajggEIMIIB +BDAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB +MBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFFrz7Sv8NsI3eblSMOpUb89V +yy6sMB8GA1UdIwQYMBaAFHxClq7eS0g7+pL4nozPbYupcjeVMDIGCCsGAQUFBwEB +BCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL3gyLmkubGVuY3Iub3JnLzAnBgNVHR8E +IDAeMBygGqAYhhZodHRwOi8veDIuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYG +Z4EMAQIBMA0GCysGAQQBgt8TAQEBMAoGCCqGSM49BAMDA2cAMGQCMHt01VITjWH+ +Dbo/AwCd89eYhNlXLr3pD5xcSAQh8suzYHKOl9YST8pE9kLJ03uGqQIwWrGxtO3q +YJkgsTgDyj2gJrjubi1K9sZmHzOa25JK1fUpE8ZwYii6I4zPPS/Lgul/ +-----END CERTIFICATE----- diff --git a/anchors/ca/lets-encrypt/e2.pem b/anchors/ca/lets-encrypt/e2.pem new file mode 100644 index 0000000..0fd9f40 --- /dev/null +++ b/anchors/ca/lets-encrypt/e2.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICxjCCAkygAwIBAgIQTtI99q9+x/mwxHJv+VEqdzAKBggqhkjOPQQDAzBPMQsw +CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg +R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw0y +NTA5MTUxNjAwMDBaMDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNy +eXB0MQswCQYDVQQDEwJFMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABCOaLO3lixmN +YVWex+ZVYOiTLgi0SgNWtU4hufk50VU4Zp/LbBVDxCsnsI7vuf4xp4Cu+ETNggGE +yBqJ3j8iUwe5Yt/qfSrRf1/D5R58duaJ+IvLRXeASRqEL+VkDXrW3qOCAQgwggEE +MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw +EgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUbZkq9U0C6+MRwWC6km+NPS7x +6kQwHwYDVR0jBBgwFoAUfEKWrt5LSDv6kviejM9ti6lyN5UwMgYIKwYBBQUHAQEE +JjAkMCIGCCsGAQUFBzAChhZodHRwOi8veDIuaS5sZW5jci5vcmcvMCcGA1UdHwQg +MB4wHKAaoBiGFmh0dHA6Ly94Mi5jLmxlbmNyLm9yZy8wIgYDVR0gBBswGTAIBgZn +gQwBAgEwDQYLKwYBBAGC3xMBAQEwCgYIKoZIzj0EAwMDaAAwZQIxAPJCN9qpyDmZ +tX8K3m8UYQvK51BrXclM6WfrdeZlUBKyhTXUmFAtJw4X6A0x9mQFPAIwJa/No+KQ +UAM1u34E36neL/Zba7ombkIOchSgx1iVxzqtFWGddgoG+tppRPWhuhhn +-----END CERTIFICATE----- diff --git a/anchors/ca/lets-encrypt/r3.pem b/anchors/ca/lets-encrypt/r3.pem new file mode 100644 index 0000000..43b222a --- /dev/null +++ b/anchors/ca/lets-encrypt/r3.pem @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw +WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg +RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP +R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx +sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm +NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg +Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG +/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB +Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA +FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw +AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw +Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB +gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W +PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl +ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz +CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm +lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4 +avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2 +yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O +yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids +hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+ +HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv +MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX +nLRbwHOoq7hHwg== +-----END CERTIFICATE----- diff --git a/anchors/ca/lets-encrypt/r4.pem b/anchors/ca/lets-encrypt/r4.pem new file mode 100644 index 0000000..578b3bd --- /dev/null +++ b/anchors/ca/lets-encrypt/r4.pem @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFFjCCAv6gAwIBAgIRAIp5IlCr5SxSbO7Pf8lC3WIwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw +WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg +RW5jcnlwdDELMAkGA1UEAxMCUjQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCzKNx3KdPnkb7ztwoAx/vyVQslImNTNq/pCCDfDa8oPs3Gq1e2naQlGaXS +Mm1Jpgi5xy+hm5PFIEBrhDEgoo4wYCVg79kaiT8faXGy2uo/c0HEkG9m/X2eWNh3 +z81ZdUTJoQp7nz8bDjpmb7Z1z4vLr53AcMX/0oIKr13N4uichZSk5gA16H5OOYHH +IYlgd+odlvKLg3tHxG0ywFJ+Ix5FtXHuo+8XwgOpk4nd9Z/buvHa4H6Xh3GBHhqC +VuQ+fBiiCOUWX6j6qOBIUU0YFKAMo+W2yrO1VRJrcsdafzuM+efZ0Y4STTMzAyrx +E+FCPMIuWWAubeAHRzNl39Jnyk2FAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB +Af8CAQAwHQYDVR0OBBYEFDadPuCxQPYnLHy/jZ0xivZUpkYmMB8GA1UdIwQYMBaA +FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw +AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw +Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB +gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCJbu5CalWO+H+Az0lmIG14DXmlYHQE +k26umjuCyioWs2icOlZznPTcZvbfq02YPHGTCu3ctggVDULJ+fwOxKekzIqeyLNk +p8dyFwSAr23DYBIVeXDpxHhShvv0MLJzqqDFBTHYe1X5X2Y7oogy+UDJxV2N24/g +Z8lxG4Vr2/VEfUOrw4Tosl5Z+1uzOdvTyBcxD/E5rGgTLczmulctHy3IMTmdTFr0 +FnU0/HMQoquWQuODhFqzMqNcsdbjANUBwOEQrKI8Sy6+b84kHP7PtO+S4Ik8R2k7 +ZeMlE1JmxBi/PZU860YlwT8/qOYToCHVyDjhv8qutbf2QnUl3SV86th2I1QQE14s +0y7CdAHcHkw3sAEeYGkwCA74MO+VFtnYbf9B2JBOhyyWb5087rGzitu5MTAW41X9 +DwTeXEg+a24tAeht+Y1MionHUwa4j7FB/trN3Fnb/r90+4P66ZETVIEcjseUSMHO +w6yqv10/H/dw/8r2EDUincBBX3o9DL3SadqragkKy96HtMiLcqMMGAPm0gti1b6f +bnvOdr0mrIVIKX5nzOeGZORaYLoSD4C8qvFT7U+Um6DMo36cVDNsPmkF575/s3C2 +CxGiCPQqVxPgfNSh+2CPd2Xv04lNeuw6gG89DlOhHuoFKRlmPnom+gwqhz3ZXMfz +TfmvjrBokzCICA== +-----END CERTIFICATE----- diff --git a/anchors/ca/lets-encrypt/x1.pem b/anchors/ca/lets-encrypt/x1.pem new file mode 100644 index 0000000..b85c803 --- /dev/null +++ b/anchors/ca/lets-encrypt/x1.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 +WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu +ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc +h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ +0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U +A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW +T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH +B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC +B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv +KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn +OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn +jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw +qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI +rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq +hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ +3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK +NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 +ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur +TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC +jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc +oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq +4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA +mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d +emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- diff --git a/anchors/ca/lets-encrypt/x2.pem b/anchors/ca/lets-encrypt/x2.pem new file mode 100644 index 0000000..7d903ed --- /dev/null +++ b/anchors/ca/lets-encrypt/x2.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw +CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg +R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00 +MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT +ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw +EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW ++1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9 +ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T +AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI +zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW +tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1 +/q4AaOeMSQ+2b1tbFfLn +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/RussianTrustedRoot.csv.do b/anchors/ca/ru/RussianTrustedRoot.csv.do new file mode 100644 index 0000000..0335692 --- /dev/null +++ b/anchors/ca/ru/RussianTrustedRoot.csv.do @@ -0,0 +1 @@ +curl https://www.gosuslugi.ru/api/nsi/v1/custom/dic/tls/csv diff --git a/anchors/ca/ru/RussianTrustedRoot.pem b/anchors/ca/ru/RussianTrustedRoot.pem new file mode 100644 index 0000000..fe7ad30 --- /dev/null +++ b/anchors/ca/ru/RussianTrustedRoot.pem @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFwjCCA6qgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAxMjEwNDE1WhcNMzIwMjI3MjEwNDE1WjBwMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMSAwHgYDVQQDDBdSdXNzaWFuIFRydXN0ZWQgUm9v +dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMfFOZ8pUAL3+r2n +qqE0Zp52selXsKGFYoG0GM5bwz1bSFtCt+AZQMhkWQheI3poZAToYJu69pHLKS6Q +XBiwBC1cvzYmUYKMYZC7jE5YhEU2bSL0mX7NaMxMDmH2/NwuOVRj8OImVa5s1F4U +zn4Kv3PFlDBjjSjXKVY9kmjUBsXQrIHeaqmUIsPIlNWUnimXS0I0abExqkbdrXbX +YwCOXhOO2pDUx3ckmJlCMUGacUTnylyQW2VsJIyIGA8V0xzdaeUXg0VZ6ZmNUr5Y +Ber/EAOLPb8NYpsAhJe2mXjMB/J9HNsoFMBFJ0lLOT/+dQvjbdRZoOT8eqJpWnVD +U+QL/qEZnz57N88OWM3rabJkRNdU/Z7x5SFIM9FrqtN8xewsiBWBI0K6XFuOBOTD +4V08o4TzJ8+Ccq5XlCUW2L48pZNCYuBDfBh7FxkB7qDgGDiaftEkZZfApRg2E+M9 +G8wkNKTPLDc4wH0FDTijhgxR3Y4PiS1HL2Zhw7bD3CbslmEGgfnnZojNkJtcLeBH +BLa52/dSwNU4WWLubaYSiAmA9IUMX1/RpfpxOxd4Ykmhz97oFbUaDJFipIggx5sX +ePAlkTdWnv+RWBxlJwMQ25oEHmRguNYf4Zr/Rxr9cS93Y+mdXIZaBEE0KS2iLRqa +OiWBki9IMQU4phqPOBAaG7A+eP8PAgMBAAGjZjBkMB0GA1UdDgQWBBTh0YHlzlpf +BKrS6badZrHF+qwshzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzAS +BgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF +AAOCAgEAALIY1wkilt/urfEVM5vKzr6utOeDWCUczmWX/RX4ljpRdgF+5fAIS4vH +tmXkqpSCOVeWUrJV9QvZn6L227ZwuE15cWi8DCDal3Ue90WgAJJZMfTshN4OI8cq +W9E4EG9wglbEtMnObHlms8F3CHmrw3k6KmUkWGoa+/ENmcVl68u/cMRl1JbW2bM+ +/3A+SAg2c6iPDlehczKx2oa95QW0SkPPWGuNA/CE8CpyANIhu9XFrj3RQ3EqeRcS +AQQod1RNuHpfETLU/A2gMmvn/w/sx7TB3W5BPs6rprOA37tutPq9u6FTZOcG1Oqj +C/B7yTqgI7rbyvox7DEXoX7rIiEqyNNUguTk/u3SZ4VXE2kmxdmSh3TQvybfbnXV +4JbCZVaqiZraqc7oZMnRoWrXRG3ztbnbes/9qhRGI7PqXqeKJBztxRTEVj8ONs1d +WN5szTwaPIvhkhO3CO5ErU2rVdUr89wKpNXbBODFKRtgxUT70YpmJ46VVaqdAhOZ +D9EUUn4YaeLaS8AjSF/h7UkjOibNc4qVDiPP+rkehFWM66PVnP1Msh93tc+taIfC +EYVMxjh8zNbFuoc7fzvvrFILLe7ifvEIUqSVIC/AzplM/Jxw7buXFeGP1qVCBEHq +391d/9RAfaZ12zkwFsl+IKwE/OZxW8AHa9i1p4GO0YSNuczzEm4= +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/RussianTrustedRoot.pem.p7s b/anchors/ca/ru/RussianTrustedRoot.pem.p7s new file mode 100644 index 0000000..7a5138c Binary files /dev/null and b/anchors/ca/ru/RussianTrustedRoot.pem.p7s differ diff --git a/anchors/ca/ru/reestr-pki/README b/anchors/ca/ru/reestr-pki/README new file mode 100644 index 0000000..f97dc5f --- /dev/null +++ b/anchors/ca/ru/reestr-pki/README @@ -0,0 +1 @@ +http://reestr-pki.ru/cdp/ diff --git a/anchors/ca/ru/reestr-pki/guc.pem b/anchors/ca/ru/reestr-pki/guc.pem new file mode 100644 index 0000000..433a9a2 --- /dev/null +++ b/anchors/ca/ru/reestr-pki/guc.pem @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFGTCCBMigAwIBAgIQNGgeQMtB7zOpoLfIdpKaKTAIBgYqhQMCAgMwggFKMR4w +HAYJKoZIhvcNAQkBFg9kaXRAbWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRwwGgYD +VQQIDBM3NyDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAx +PzA9BgNVBAkMNjEyNTM3NSDQsy4g0JzQvtGB0LrQstCwLCDRg9C7LiDQotCy0LXR +gNGB0LrQsNGPLCDQtC4gNzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfR +jCDQoNC+0YHRgdC40LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqF +AwOBAwEBEgwwMDc3MTA0NzQzNzUxQTA/BgNVBAMMONCT0L7Qu9C+0LLQvdC+0Lkg +0YPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAMB4XDTEyMDcy +MDEyMzExNFoXDTI3MDcxNzEyMzExNFowggFKMR4wHAYJKoZIhvcNAQkBFg9kaXRA +bWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRwwGgYDVQQIDBM3NyDQsy4g0JzQvtGB +0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxPzA9BgNVBAkMNjEyNTM3NSDQ +sy4g0JzQvtGB0LrQstCwLCDRg9C7LiDQotCy0LXRgNGB0LrQsNGPLCDQtC4gNzEs +MCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHRgdC40LgxGDAW +BgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0NzQz +NzUxQTA/BgNVBAMMONCT0L7Qu9C+0LLQvdC+0Lkg0YPQtNC+0YHRgtC+0LLQtdGA +0Y/RjtGJ0LjQuSDRhtC10L3RgtGAMGMwHAYGKoUDAgITMBIGByqFAwICIwEGByqF +AwICHgEDQwAEQI+lv3kQI8jWka1kMVdbvpvFioP0Pyn3Knmp+2XD6KgPWnXEIlSR +X8g/IYracDr51YsNc2KE3C7mkH6hA3M3ofujggGCMIIBfjCBxgYFKoUDZHAEgbww +gbkMI9Cf0JDQmtCcIMKr0JrRgNC40L/RgtC+0J/RgNC+IEhTTcK7DCDQn9CQ0Jog +wqvQk9C+0LvQvtCy0L3QvtC5INCj0KbCuww20JfQsNC60LvRjtGH0LXQvdC40LUg +4oSWIDE0OS8zLzIvMi05OTkg0L7RgiAwNS4wNy4yMDEyDDjQl9Cw0LrQu9GO0YfQ +tdC90LjQtSDihJYgMTQ5LzcvMS80LzItNjAzINC+0YIgMDYuMDcuMjAxMjAuBgUq +hQNkbwQlDCPQn9CQ0JrQnCDCq9Ca0YDQuNC/0YLQvtCf0YDQviBIU03CuzBDBgNV +HSAEPDA6MAgGBiqFA2RxATAIBgYqhQNkcQIwCAYGKoUDZHEDMAgGBiqFA2RxBDAI +BgYqhQNkcQUwBgYEVR0gADAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUi5g7iRhR6O+cAni46sjUILJVyV0wCAYGKoUDAgIDA0EA23Re +ec/Y27rpMi+iFbgWCazGY3skBTq5ZGsQKOUxCe4mO7UBDACiWqdA0nvqiQMXeHgq +o//fO9pxuIHtymwyMg== +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/guc2020.pem b/anchors/ca/ru/reestr-pki/guc2020.pem new file mode 100644 index 0000000..9831bee --- /dev/null +++ b/anchors/ca/ru/reestr-pki/guc2020.pem @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFFDCCBMGgAwIBAgIQTm1HiybyfWV/do4CXOPTkzAKBggqhQMHAQEDAjCCASQx +HjAcBgkqhkiG9w0BCQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUxGDAW +BgNVBAgMDzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMuINCc0L7RgdC60LLQ +sDEuMCwGA1UECQwl0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGPLCDQtNC+0Lwg +NzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHRgdC40Lgx +GDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0 +NzQzNzUxLDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQ +uNC4MB4XDTE4MDcwNjEyMTgwNloXDTM2MDcwMTEyMTgwNlowggEkMR4wHAYJKoZI +hvcNAQkBFg9kaXRAbWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRgwFgYDVQQIDA83 +NyDQnNC+0YHQutCy0LAxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy0LAxLjAsBgNV +BAkMJdGD0LvQuNGG0LAg0KLQstC10YDRgdC60LDRjywg0LTQvtC8IDcxLDAqBgNV +BAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRgwFgYFKoUD +ZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMBARIMMDA3NzEwNDc0Mzc1MSww +KgYDVQQDDCPQnNC40L3QutC+0LzRgdCy0Y/Qt9GMINCg0L7RgdGB0LjQuDBmMB8G +CCqFAwcBAQEBMBMGByqFAwICIwEGCCqFAwcBAQICA0MABEB1OSpFp7milX33EP0i +kge6HbZacYp9fVj8sUa5RWFXrB27SKX5SvtIGepqKev69RSYeHHKR+jT9YX2NuSK +9wONo4IBwjCCAb4wgfUGBSqFA2RwBIHrMIHoDDTQn9CQ0JrQnCDCq9Ca0YDQuNC/ +0YLQvtCf0YDQviBIU03CuyDQstC10YDRgdC40LggMi4wDEPQn9CQ0JogwqvQk9C+ +0LvQvtCy0L3QvtC5INGD0LTQvtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC9 +0YLRgMK7DDXQl9Cw0LrQu9GO0YfQtdC90LjQtSDihJYgMTQ5LzMvMi8yLzIzINC+ +0YIgMDIuMDMuMjAxOAw00JfQsNC60LvRjtGH0LXQvdC40LUg4oSWIDE0OS83LzYv +MTA1INC+0YIgMjcuMDYuMjAxODA/BgUqhQNkbwQ2DDTQn9CQ0JrQnCDCq9Ca0YDQ +uNC/0YLQvtCf0YDQviBIU03CuyDQstC10YDRgdC40LggMi4wMEMGA1UdIAQ8MDow +CAYGKoUDZHEBMAgGBiqFA2RxAjAIBgYqhQNkcQMwCAYGKoUDZHEEMAgGBiqFA2Rx +BTAGBgRVHSAAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBTCVPG0a9RMt+BtNrQjkPH+wzybBjAKBggqhQMHAQEDAgNBAJr6/eI7rHL7 ++FsQnoH2i6DVxqalbIxLKj05edpZGPLLb6B2PTAMya7pSt9hb8QnFABgsR4IE5gT +4VVkDWbX/n4= +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/guc2021.pem b/anchors/ca/ru/reestr-pki/guc2021.pem new file mode 100644 index 0000000..faab9ea --- /dev/null +++ b/anchors/ca/ru/reestr-pki/guc2021.pem @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFFTCCBMKgAwIBAgIRAOrKMs71+XnWjTxOTyzGh6QwCgYIKoUDBwEBAwIwggEk +MR4wHAYJKoZIhvcNAQkBFg9kaXRAbWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRgw +FgYDVQQIDA83NyDQnNC+0YHQutCy0LAxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy +0LAxLjAsBgNVBAkMJdGD0LvQuNGG0LAg0KLQstC10YDRgdC60LDRjywg0LTQvtC8 +IDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4 +MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMBARIMMDA3NzEw +NDc0Mzc1MSwwKgYDVQQDDCPQnNC40L3QutC+0LzRgdCy0Y/Qt9GMINCg0L7RgdGB +0LjQuDAeFw0yMTA3MDIxMjQxNDdaFw0zOTA3MDIxMjQxNDdaMIIBJDEeMBwGCSqG +SIb3DQEJARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQGEwJSVTEYMBYGA1UECAwP +Nzcg0JzQvtGB0LrQstCwMRkwFwYDVQQHDBDQsy4g0JzQvtGB0LrQstCwMS4wLAYD +VQQJDCXRg9C70LjRhtCwINCi0LLQtdGA0YHQutCw0Y8sINC00L7QvCA3MSwwKgYD +VQQKDCPQnNC40L3QutC+0LzRgdCy0Y/Qt9GMINCg0L7RgdGB0LjQuDEYMBYGBSqF +A2QBEg0xMDQ3NzAyMDI2NzAxMRowGAYIKoUDA4EDAQESDDAwNzcxMDQ3NDM3NTEs +MCoGA1UEAwwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHRgdC40LgwZjAf +BggqhQMHAQEBATATBgcqhQMCAiMBBggqhQMHAQECAgNDAARAznwizLAQgEZQecg2 +Re7+vfP0h4I5BVHNCzC3UQsCNZdAxM2nn/pKJGaDI8hv4DM3FF3reU2jWDO7Sp66 +fTrSZqOCAcIwggG+MIH1BgUqhQNkcASB6zCB6Aw00J/QkNCa0JwgwqvQmtGA0LjQ +v9GC0L7Qn9GA0L4gSFNNwrsg0LLQtdGA0YHQuNC4IDIuMAxD0J/QkNCaIMKr0JPQ +vtC70L7QstC90L7QuSDRg9C00L7RgdGC0L7QstC10YDRj9GO0YnQuNC5INGG0LXQ +vdGC0YDCuww10JfQsNC60LvRjtGH0LXQvdC40LUg4oSWIDE0OS8zLzIvMi8yMyDQ +vtGCIDAyLjAzLjIwMTgMNNCX0LDQutC70Y7Rh9C10L3QuNC1IOKEliAxNDkvNy82 +LzEwNSDQvtGCIDI3LjA2LjIwMTgwPwYFKoUDZG8ENgw00J/QkNCa0JwgwqvQmtGA +0LjQv9GC0L7Qn9GA0L4gSFNNwrsg0LLQtdGA0YHQuNC4IDIuMDBDBgNVHSAEPDA6 +MAgGBiqFA2RxATAIBgYqhQNkcQIwCAYGKoUDZHEDMAgGBiqFA2RxBDAIBgYqhQNk +cQUwBgYEVR0gADAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUGXePu4Lmb8hfk/AVHZMiodatDCYwCgYIKoUDBwEBAwIDQQCFR821LAew +8tY3/fYGGXQNN5g6E74pjdurOqOoZbS+0WjiGsLPVzcrAts2l7BRGowjZ3MVAmHJ +L/NjPYAClFu0 +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/guc2022.pem b/anchors/ca/ru/reestr-pki/guc2022.pem new file mode 100644 index 0000000..fcab19c --- /dev/null +++ b/anchors/ca/ru/reestr-pki/guc2022.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFUTCCBP6gAwIBAgIRAJUfo0d8YQQ6rfqFhieCNEIwCgYIKoUDBwEBAwIwggE7 +MSEwHwYJKoZIhvcNAQkBFhJkaXRAZGlnaXRhbC5nb3YucnUxCzAJBgNVBAYTAlJV +MRgwFgYDVQQIDA83NyDQnNC+0YHQutCy0LAxGTAXBgNVBAcMENCzLiDQnNC+0YHQ +utCy0LAxUzBRBgNVBAkMStCf0YDQtdGB0L3QtdC90YHQutCw0Y8g0L3QsNCx0LXR +gNC10LbQvdCw0Y8sINC00L7QvCAxMCwg0YHRgtGA0L7QtdC90LjQtSAyMSYwJAYD +VQQKDB3QnNC40L3RhtC40YTRgNGLINCg0L7RgdGB0LjQuDEYMBYGBSqFA2QBEg0x +MDQ3NzAyMDI2NzAxMRUwEwYFKoUDZAQSCjc3MTA0NzQzNzUxJjAkBgNVBAMMHdCc +0LjQvdGG0LjRhNGA0Ysg0KDQvtGB0YHQuNC4MB4XDTIyMDEwODEzMzIzOVoXDTQw +MDEwODEzMzIzOVowggE7MSEwHwYJKoZIhvcNAQkBFhJkaXRAZGlnaXRhbC5nb3Yu +cnUxCzAJBgNVBAYTAlJVMRgwFgYDVQQIDA83NyDQnNC+0YHQutCy0LAxGTAXBgNV +BAcMENCzLiDQnNC+0YHQutCy0LAxUzBRBgNVBAkMStCf0YDQtdGB0L3QtdC90YHQ +utCw0Y8g0L3QsNCx0LXRgNC10LbQvdCw0Y8sINC00L7QvCAxMCwg0YHRgtGA0L7Q +tdC90LjQtSAyMSYwJAYDVQQKDB3QnNC40L3RhtC40YTRgNGLINCg0L7RgdGB0LjQ +uDEYMBYGBSqFA2QBEg0xMDQ3NzAyMDI2NzAxMRUwEwYFKoUDZAQSCjc3MTA0NzQz +NzUxJjAkBgNVBAMMHdCc0LjQvdGG0LjRhNGA0Ysg0KDQvtGB0YHQuNC4MGYwHwYI +KoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQFpKa6Qda48LjFq/drz2 +M27fFqu/g3+Prxrg9lE+KPzdbvRHwuOtbhlJ92ogmS+i7mhDDGPsWhtPVduV9Kbq +QI6jggHQMIIBzDCB9QYFKoUDZHAEgeswgegMNNCf0JDQmtCcIMKr0JrRgNC40L/R +gtC+0J/RgNC+IEhTTcK7INCy0LXRgNGB0LjQuCAyLjAMQ9Cf0JDQmiDCq9CT0L7Q +u9C+0LLQvdC+0Lkg0YPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3R +gtGAwrsMNdCX0LDQutC70Y7Rh9C10L3QuNC1IOKEliAxNDkvMy8yLzIvMjMg0L7R +giAwMi4wMy4yMDE4DDTQl9Cw0LrQu9GO0YfQtdC90LjQtSDihJYgMTQ5LzcvNi00 +NDkg0L7RgiAzMC4xMi4yMDIxMD8GBSqFA2RvBDYMNNCf0JDQmtCcIMKr0JrRgNC4 +0L/RgtC+0J/RgNC+IEhTTcK7INCy0LXRgNGB0LjQuCAyLjAwDAYFKoUDZHIEAwIB +ADBDBgNVHSAEPDA6MAgGBiqFA2RxATAIBgYqhQNkcQIwCAYGKoUDZHEDMAgGBiqF +A2RxBDAIBgYqhQNkcQUwBgYEVR0gADAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUyRNYsUynYjp+0j88pucUfJ1wo4YwCgYIKoUDBwEB +AwIDQQCCSXhICg3SZ/TTCtRJpBFuXGSy3PeZTEeOwdOHIv0tWiN2q0mPRzB/o6r9 +MXjGqdzfYGtCrq1l5FsXZOI5c/2S +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/guc_gost12.pem b/anchors/ca/ru/reestr-pki/guc_gost12.pem new file mode 100644 index 0000000..9831bee --- /dev/null +++ b/anchors/ca/ru/reestr-pki/guc_gost12.pem @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFFDCCBMGgAwIBAgIQTm1HiybyfWV/do4CXOPTkzAKBggqhQMHAQEDAjCCASQx +HjAcBgkqhkiG9w0BCQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUxGDAW +BgNVBAgMDzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMuINCc0L7RgdC60LLQ +sDEuMCwGA1UECQwl0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGPLCDQtNC+0Lwg +NzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHRgdC40Lgx +GDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0 +NzQzNzUxLDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQ +uNC4MB4XDTE4MDcwNjEyMTgwNloXDTM2MDcwMTEyMTgwNlowggEkMR4wHAYJKoZI +hvcNAQkBFg9kaXRAbWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRgwFgYDVQQIDA83 +NyDQnNC+0YHQutCy0LAxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy0LAxLjAsBgNV +BAkMJdGD0LvQuNGG0LAg0KLQstC10YDRgdC60LDRjywg0LTQvtC8IDcxLDAqBgNV +BAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRgwFgYFKoUD +ZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMBARIMMDA3NzEwNDc0Mzc1MSww +KgYDVQQDDCPQnNC40L3QutC+0LzRgdCy0Y/Qt9GMINCg0L7RgdGB0LjQuDBmMB8G +CCqFAwcBAQEBMBMGByqFAwICIwEGCCqFAwcBAQICA0MABEB1OSpFp7milX33EP0i +kge6HbZacYp9fVj8sUa5RWFXrB27SKX5SvtIGepqKev69RSYeHHKR+jT9YX2NuSK +9wONo4IBwjCCAb4wgfUGBSqFA2RwBIHrMIHoDDTQn9CQ0JrQnCDCq9Ca0YDQuNC/ +0YLQvtCf0YDQviBIU03CuyDQstC10YDRgdC40LggMi4wDEPQn9CQ0JogwqvQk9C+ +0LvQvtCy0L3QvtC5INGD0LTQvtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC9 +0YLRgMK7DDXQl9Cw0LrQu9GO0YfQtdC90LjQtSDihJYgMTQ5LzMvMi8yLzIzINC+ +0YIgMDIuMDMuMjAxOAw00JfQsNC60LvRjtGH0LXQvdC40LUg4oSWIDE0OS83LzYv +MTA1INC+0YIgMjcuMDYuMjAxODA/BgUqhQNkbwQ2DDTQn9CQ0JrQnCDCq9Ca0YDQ +uNC/0YLQvtCf0YDQviBIU03CuyDQstC10YDRgdC40LggMi4wMEMGA1UdIAQ8MDow +CAYGKoUDZHEBMAgGBiqFA2RxAjAIBgYqhQNkcQMwCAYGKoUDZHEEMAgGBiqFA2Rx +BTAGBgRVHSAAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBTCVPG0a9RMt+BtNrQjkPH+wzybBjAKBggqhQMHAQEDAgNBAJr6/eI7rHL7 ++FsQnoH2i6DVxqalbIxLKj05edpZGPLLb6B2PTAMya7pSt9hb8QnFABgsR4IE5gT +4VVkDWbX/n4= +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/guc_unep_2021.pem b/anchors/ca/ru/reestr-pki/guc_unep_2021.pem new file mode 100644 index 0000000..df67eef --- /dev/null +++ b/anchors/ca/ru/reestr-pki/guc_unep_2021.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGIzCCBdCgAwIBAgIQWGKJALOtn7FAASd/YMJgDDAKBggqhQMHAQEDAjCCAWgx +GDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0 +NzQzNzUxCzAJBgNVBAYTAlJVMRgwFgYDVQQIDA83NyDQnNC+0YHQutCy0LAxGTAX +BgNVBAcMENCzLiDQnNC+0YHQutCy0LAxOjA4BgNVBAkMMdCf0YDQtdGB0L3QtdC9 +0YHQutCw0Y8g0L3QsNCxLiwg0LQuIDEwLCDRgdGC0YAuIDIxJjAkBgNVBAoMHdCc +0LjQvdGG0LjRhNGA0Ysg0KDQvtGB0YHQuNC4MYGJMIGGBgNVBAMMf9Cc0LjQvdGG +0LjRhNGA0Ysg0KDQvtGB0YHQuNC4LiDQo9GB0LjQu9C10L3QvdCw0Y8g0L3QtdC6 +0LLQsNC70LjRhNC40YbQuNGA0L7QstCw0L3QvdCw0Y8g0Y3Qu9C10LrRgtGA0L7Q +vdC90LDRjyDQv9C+0LTQv9C40YHRjC4wHhcNMjEwOTMwMDgxMDEzWhcNMzYwOTMw +MDgxMDEzWjCCAWgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOB +AwEBEgwwMDc3MTA0NzQzNzUxCzAJBgNVBAYTAlJVMRgwFgYDVQQIDA83NyDQnNC+ +0YHQutCy0LAxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy0LAxOjA4BgNVBAkMMdCf +0YDQtdGB0L3QtdC90YHQutCw0Y8g0L3QsNCxLiwg0LQuIDEwLCDRgdGC0YAuIDIx +JjAkBgNVBAoMHdCc0LjQvdGG0LjRhNGA0Ysg0KDQvtGB0YHQuNC4MYGJMIGGBgNV +BAMMf9Cc0LjQvdGG0LjRhNGA0Ysg0KDQvtGB0YHQuNC4LiDQo9GB0LjQu9C10L3Q +vdCw0Y8g0L3QtdC60LLQsNC70LjRhNC40YbQuNGA0L7QstCw0L3QvdCw0Y8g0Y3Q +u9C10LrRgtGA0L7QvdC90LDRjyDQv9C+0LTQv9C40YHRjC4wZjAfBggqhQMHAQEB +ATATBgcqhQMCAiMBBggqhQMHAQECAgNDAARABVlRighq8WUQbwafwWZKQg+zKv43 +80wYQhdlP6U8GDzFg5OCLHYaR4ur3SnUL+YUbbqaHSsZdZiMEntjmIyv16OCAkkw +ggJFMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUDK2S1qH9/0zRGezLIfK9JJMZ +BbMwDwYDVR0TAQH/BAUwAwEB/zAnBgNVHSAEIDAeMAgGBiqFA2RxATAIBgYqhQNk +cQIwCAYGKoUDZHEDMIIBMwYFKoUDZHAEggEoMIIBJAxS0KHQmtCX0JggwqvQmtGA +0LjQv9GC0L7Qn9GA0L4gQ1NQwrsg0LLQtdGA0YHQuNGPIDQuMCAo0LjRgdC/0L7Q +u9C90LXQvdC40LUgMy1CYXNlKQwswqvQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpsK7 +INCy0LXRgNGB0LjQuCAyLjAMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC +0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8xMjQtMzk2NyDQvtGCIDE1LjAxLjIw +MjEMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjR +jyDihJYg0KHQpC8xMjgtMzg2OSDQvtGCIDIzLjA3LjIwMjAwXQYFKoUDZG8EVAxS +0KHQmtCX0JggwqvQmtGA0LjQv9GC0L7Qn9GA0L4gQ1NQwrsg0LLQtdGA0YHQuNGP +IDQuMCAo0LjRgdC/0L7Qu9C90LXQvdC40LUgMy1CYXNlKTARBgkrBgEEAYI3FAIE +BAwCQ0EwEAYJKwYBBAGCNxUBBAMCAQAwHwYJKwYBBAGCNxUHBBIwEAYIKoUDAgIu +AAACAQECAQAwCgYIKoUDBwEBAwIDQQDwAhJdc9xMYUeyZY+hTgr8N12Sq4NlD6Y1 +2wmWWp6XJs05O/UIqkVFQf0BSxJpMCesZzLHym7Gk69d12nUTE8o +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/rootca_ssl_rsa2022.pem b/anchors/ca/ru/reestr-pki/rootca_ssl_rsa2022.pem new file mode 100644 index 0000000..fe7ad30 --- /dev/null +++ b/anchors/ca/ru/reestr-pki/rootca_ssl_rsa2022.pem @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFwjCCA6qgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAxMjEwNDE1WhcNMzIwMjI3MjEwNDE1WjBwMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMSAwHgYDVQQDDBdSdXNzaWFuIFRydXN0ZWQgUm9v +dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMfFOZ8pUAL3+r2n +qqE0Zp52selXsKGFYoG0GM5bwz1bSFtCt+AZQMhkWQheI3poZAToYJu69pHLKS6Q +XBiwBC1cvzYmUYKMYZC7jE5YhEU2bSL0mX7NaMxMDmH2/NwuOVRj8OImVa5s1F4U +zn4Kv3PFlDBjjSjXKVY9kmjUBsXQrIHeaqmUIsPIlNWUnimXS0I0abExqkbdrXbX +YwCOXhOO2pDUx3ckmJlCMUGacUTnylyQW2VsJIyIGA8V0xzdaeUXg0VZ6ZmNUr5Y +Ber/EAOLPb8NYpsAhJe2mXjMB/J9HNsoFMBFJ0lLOT/+dQvjbdRZoOT8eqJpWnVD +U+QL/qEZnz57N88OWM3rabJkRNdU/Z7x5SFIM9FrqtN8xewsiBWBI0K6XFuOBOTD +4V08o4TzJ8+Ccq5XlCUW2L48pZNCYuBDfBh7FxkB7qDgGDiaftEkZZfApRg2E+M9 +G8wkNKTPLDc4wH0FDTijhgxR3Y4PiS1HL2Zhw7bD3CbslmEGgfnnZojNkJtcLeBH +BLa52/dSwNU4WWLubaYSiAmA9IUMX1/RpfpxOxd4Ykmhz97oFbUaDJFipIggx5sX +ePAlkTdWnv+RWBxlJwMQ25oEHmRguNYf4Zr/Rxr9cS93Y+mdXIZaBEE0KS2iLRqa +OiWBki9IMQU4phqPOBAaG7A+eP8PAgMBAAGjZjBkMB0GA1UdDgQWBBTh0YHlzlpf +BKrS6badZrHF+qwshzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzAS +BgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF +AAOCAgEAALIY1wkilt/urfEVM5vKzr6utOeDWCUczmWX/RX4ljpRdgF+5fAIS4vH +tmXkqpSCOVeWUrJV9QvZn6L227ZwuE15cWi8DCDal3Ue90WgAJJZMfTshN4OI8cq +W9E4EG9wglbEtMnObHlms8F3CHmrw3k6KmUkWGoa+/ENmcVl68u/cMRl1JbW2bM+ +/3A+SAg2c6iPDlehczKx2oa95QW0SkPPWGuNA/CE8CpyANIhu9XFrj3RQ3EqeRcS +AQQod1RNuHpfETLU/A2gMmvn/w/sx7TB3W5BPs6rprOA37tutPq9u6FTZOcG1Oqj +C/B7yTqgI7rbyvox7DEXoX7rIiEqyNNUguTk/u3SZ4VXE2kmxdmSh3TQvybfbnXV +4JbCZVaqiZraqc7oZMnRoWrXRG3ztbnbes/9qhRGI7PqXqeKJBztxRTEVj8ONs1d +WN5szTwaPIvhkhO3CO5ErU2rVdUr89wKpNXbBODFKRtgxUT70YpmJ46VVaqdAhOZ +D9EUUn4YaeLaS8AjSF/h7UkjOibNc4qVDiPP+rkehFWM66PVnP1Msh93tc+taIfC +EYVMxjh8zNbFuoc7fzvvrFILLe7ifvEIUqSVIC/AzplM/Jxw7buXFeGP1qVCBEHq +391d/9RAfaZ12zkwFsl+IKwE/OZxW8AHa9i1p4GO0YSNuczzEm4= +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/subcaDV_ssl_rsa2022.pem b/anchors/ca/ru/reestr-pki/subcaDV_ssl_rsa2022.pem new file mode 100644 index 0000000..5ab6154 --- /dev/null +++ b/anchors/ca/ru/reestr-pki/subcaDV_ssl_rsa2022.pem @@ -0,0 +1,41 @@ +-----BEGIN CERTIFICATE----- +MIIHPDCCBSSgAwIBAgICEAQwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwNTI3MTA1MTU3WhcNMjcwNTMxMTA1MTU3WjByMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMSIwIAYDVQQDDBlSdXNzaWFuIFRydXN0ZWQgRFYg +U3ViIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0qErju5cEzrI +/rXyT1PdWrZ8dVe+jn8pG44ux9wR7eEK3srIG+pS/Au0XUKdEVOf4SnpOO1U0WKS +AvL/LagQiU6KEwO0ZMAPmqqP3D62mMgyYY1ukvCYjIUG5i6FlwUhoW1TIcVPpSMj +tHHfbLXeg/ZuKUrO5ivmeNsEOhUTixSwHoOtfVtXn+IBM5V3hgaRQ7q45wIolAcV +yKveCeRM4FWl22ukaeok+R5ldhge4Qks1+c8p9wgDH7C5TlOmQVQ4TUrBy1IrQSS +2nkj8678d8JnKmM2tZatW8crYilBpvxp9iUu8tY0qPKbSGbAUi21U2OwZnkmd97o +2Kyw+dUv1VZCHslnii4NgCIUtkSXm3MeBEh5aE8UxMndLub4Y60L2Yzz0zrajlsq +QMYKVfvn+GMn/DB+fJxwENTAnISN57lrxiVTqSzK8aNiDMCRhBhBWFD+0SjctHnl +jCyIpT56BXMGdwWbH7Cct1WbQROzUfqQEw9KcZOqT5GYylWsJ3Y9GYD96ANuyebv +p9RYRp4pcS0VPaVq7Ta0J8qVdX5FJb+4kY+ggunwvZ/hbOiJUATEh3x9ehjCowUA +EOAmFFGs8L78CShoWdbcCRWuf6Foa6fBI3DsQQWfBf5/agTNQMRhNMAVP2b6H8zv +rV0QTYRxhvAK/jJqX5h6GnxcaTMlPd0CAwEAAaOCAdwwggHYMBIGA1UdEwEB/wQI +MAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBQdc/tm3eYZ+aXLk4F/ +k4itmNnFWzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzCBxwYIKwYB +BQUHAQEEgbowgbcwOwYIKwYBBQUHMAKGL2h0dHA6Ly9yZWVzdHItcGtpLnJ1L2Nk +cC9yb290Y2Ffc3NsX3JzYTIwMjIuY3J0MDsGCCsGAQUFBzAChi9odHRwOi8vcm9z +dGVsZWNvbS5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNydDA7BggrBgEFBQcw +AoYvaHR0cDovL2NvbXBhbnkucnQucnUvY2RwL3Jvb3RjYV9zc2xfcnNhMjAyMi5j +cnQwgacGA1UdHwSBnzCBnDCBmaCBlqCBk4YvaHR0cDovL3JlZXN0ci1wa2kucnUv +Y2RwL3Jvb3RjYV9zc2xfcnNhMjAyMi5jcmyGL2h0dHA6Ly9yb3N0ZWxlY29tLnJ1 +L2NkcC9yb290Y2Ffc3NsX3JzYTIwMjIuY3Jshi9odHRwOi8vY29tcGFueS5ydC5y +dS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNybDANBgkqhkiG9w0BAQsFAAOCAgEA +ObdkintrAWIw7J/FbeFELumujQL/4tkxP6oe8hxaup/UJLOPFJOMm0u4dP3d/aMH +ruToQE2i4h2FdPPNmGomSdn/vTw2yQyAJ9GYC+W3h300/PqpcUu4Ix/HYdE1NA/l +n0JWo3UNowmAmiuDYmX1MCGHV3R293yU+vlw9DubKT1qfFRDSMKQ2qnCXdkJZPCK +0qW6RfXs53+i8a88MtwGpeMWa/FCo3KWqRtVP+fbZaTubb5hJolPKEv1H3pFCtK8 +I+SxP+Zm/0Cu1WHSmvCjNTNJDFvB36ibsp8PTt7EmiV0KZdCgqo8WW6KyXyAYFgN +IRq+34pPUYUZLrx8hAaKXiVorX4Etux3y4hpoNRLILEFT/ug2mhP/eoEcbr/aByV +I0CV5TC+cupXKvfSDBrS74fjqRNHSfdlaJOqfo+YjphQAgXXzaOfxoPlsR0mAANp +gAK41mc2gO8B87ST0+VJQQ/cYhrM/vFER3vrTYlPN00Q7rwY2LDfuiw7bJ2nlH5Y +Nid2GLoa71EQRlXCypJFPGdoMiDhbtg1GacCX7VOylQzzlQRkcgOvKe4rLw834rt +v6ACedL9D5NonkgG/1LBBVAR2my9sptt1YUhgneK0aMhUkxUNWcPQt6Mrj9THh4U +TxiEc2QHORcar1WfDLXdLasmqm0IgYNtZuyhfnvAdgo= +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/subca_ssl_rsa2022.pem b/anchors/ca/ru/reestr-pki/subca_ssl_rsa2022.pem new file mode 100644 index 0000000..506e767 --- /dev/null +++ b/anchors/ca/ru/reestr-pki/subca_ssl_rsa2022.pem @@ -0,0 +1,41 @@ +-----BEGIN CERTIFICATE----- +MIIHQjCCBSqgAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAyMTEyNTE5WhcNMjcwMzA2MTEyNTE5WjBvMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMR8wHQYDVQQDDBZSdXNzaWFuIFRydXN0ZWQgU3Vi +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9YPqBKOk19NFymrE +wehzrhBEgT2atLezpduB24mQ7CiOa/HVpFCDRZzdxqlh8drku408/tTmWzlNH/br +HuQhZ/miWKOf35lpKzjyBd6TPM23uAfJvEOQ2/dnKGGJbsUo1/udKSvxQwVHpVv3 +S80OlluKfhWPDEXQpgyFqIzPoxIQTLZ0deirZwMVHarZ5u8HqHetRuAtmO2ZDGQn +vVOJYAjls+Hiueq7Lj7Oce7CQsTwVZeP+XQx28PAaEZ3y6sQEt6rL06ddpSdoTMp +BnCqTbxW+eWMyjkIn6t9GBtUV45yB1EkHNnj2Ex4GwCiN9T84QQjKSr+8f0psGrZ +vPbCbQAwNFJjisLixnjlGPLKa5vOmNwIh/LAyUW5DjpkCx004LPDuqPpFsKXNKpa +L2Dm6uc0x4Jo5m+gUTVORB6hOSzWnWDj2GWfomLzzyjG81DRGFBpco/O93zecsIN +3SL2Ysjpq1zdoS01CMYxie//9zWvYwzI25/OZigtnpCIrcd2j1Y6dMUFQAzAtHE+ +qsXflSL8HIS+IJEFIQobLlYhHkoE3avgNx5jlu+OLYe0dF0Ykx1PGNjbwqvTX37R +Cn32NMjlotW2QcGEZhDKj+3urZizp5xdTPZitA+aEjZM/Ni71VOdiOP0igbw6asZ +2fxdozZ1TnSSYNYvNATwthNmZysCAwEAAaOCAeUwggHhMBIGA1UdEwEB/wQIMAYB +Af8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTR4XENCy2BTm6KSo9MI7NM +XqtpCzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzCBxwYIKwYBBQUH +AQEEgbowgbcwOwYIKwYBBQUHMAKGL2h0dHA6Ly9yb3N0ZWxlY29tLnJ1L2NkcC9y +b290Y2Ffc3NsX3JzYTIwMjIuY3J0MDsGCCsGAQUFBzAChi9odHRwOi8vY29tcGFu +eS5ydC5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNydDA7BggrBgEFBQcwAoYv +aHR0cDovL3JlZXN0ci1wa2kucnUvY2RwL3Jvb3RjYV9zc2xfcnNhMjAyMi5jcnQw +gbAGA1UdHwSBqDCBpTA1oDOgMYYvaHR0cDovL3Jvc3RlbGVjb20ucnUvY2RwL3Jv +b3RjYV9zc2xfcnNhMjAyMi5jcmwwNaAzoDGGL2h0dHA6Ly9jb21wYW55LnJ0LnJ1 +L2NkcC9yb290Y2Ffc3NsX3JzYTIwMjIuY3JsMDWgM6Axhi9odHRwOi8vcmVlc3Ry +LXBraS5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNybDANBgkqhkiG9w0BAQsF +AAOCAgEARBVzZls79AdiSCpar15dA5Hr/rrT4WbrOfzlpI+xrLeRPrUG6eUWIW4v +Sui1yx3iqGLCjPcKb+HOTwoRMbI6ytP/ndp3TlYua2advYBEhSvjs+4vDZNwXr/D +anbwIWdurZmViQRBDFebpkvnIvru/RpWud/5r624Wp8voZMRtj/cm6aI9LtvBfT9 +cfzhOaexI/99c14dyiuk1+6QhdwKaCRTc1mdfNQmnfWNRbfWhWBlK3h4GGE9JK33 +Gk8ZS8DMrkdAh0xby4xAQ/mSWAfWrBmfzlOqGyoB1U47WTOeqNbWkkoAP2ys94+s +Jg4NTkiDVtXRF6nr6fYi0bSOvOFg0IQrMXO2Y8gyg9ARdPJwKtvWX8VPADCYMiWH +h4n8bZokIrImVKLDQKHY4jCsND2HHdJfnrdL2YJw1qFskNO4cSNmZydw0Wkgjv9k +F+KxqrDKlB8MZu2Hclph6v/CZ0fQ9YuE8/lsHZ0Qc2HyiSMnvjgK5fDc3TD4fa8F +E8gMNurM+kV8PT8LNIM+4Zs+LKEV8nqRWBaxkIVJGekkVKO8xDBOG/aN62AZKHOe +GcyIdu7yNMMRihGVZCYr8rYiJoKiOzDqOkPkLOPdhtVlgnhowzHDxMHND/E2WA5p +ZHuNM/m0TXt2wTTPL7JH2YC0gPz/BvvSzjksgzU5rLbRyUKQkgU= +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/vguc1.pem b/anchors/ca/ru/reestr-pki/vguc1.pem new file mode 100644 index 0000000..9e42af5 --- /dev/null +++ b/anchors/ca/ru/reestr-pki/vguc1.pem @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIG2DCCBoegAwIBAgILANXJ6OMAAAAAAAwwCAYGKoUDAgIDMIIBSjEeMBwGCSqG +SIb3DQEJARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQGEwJSVTEcMBoGA1UECAwT +Nzcg0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMT8wPQYD +VQQJDDYxMjUzNzUg0LMuINCc0L7RgdC60LLQsCwg0YPQuy4g0KLQstC10YDRgdC6 +0LDRjywg0LQuIDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQ +vtGB0YHQuNC4MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMB +ARIMMDA3NzEwNDc0Mzc1MUEwPwYDVQQDDDjQk9C+0LvQvtCy0L3QvtC5INGD0LTQ +vtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgDAeFw0xMjA3MjAxMzI1 +MDZaFw0yNzA3MTcxMzI1MDZaMIIBITEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0NzQz +NzUxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEeMBwGCSqGSIb3DQEJARYPZGl0 +QG1pbnN2eWF6LnJ1MTwwOgYDVQQJDDMxMjUzNzUg0LMuINCc0L7RgdC60LLQsCDR +g9C7LiDQotCy0LXRgNGB0LrQsNGPINC0LjcxLDAqBgNVBAoMI9Cc0LjQvdC60L7Q +vNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRUwEwYDVQQHDAzQnNC+0YHQutCy0LAx +HDAaBgNVBAgMEzc3INCzLiDQnNC+0YHQutCy0LAxCzAJBgNVBAYTAlJVMRswGQYD +VQQDDBLQo9CmIDEg0JjQoSDQk9Cj0KYwYzAcBgYqhQMCAhMwEgYHKoUDAgIjAQYH +KoUDAgIeAQNDAARAbU2Kxdct10eEH+AjY+ky/3IPC6+S5hvS7jU55UYg8g0bbsZ1 +JXe/4IbOcXjS7y1TsU1p/gayfqQw5IBRcp5l8qOCA28wggNrMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFPRmLzxd2FxkXSst3qMekf2IGP46MAsGA1UdDwQEAwIB +hjAQBgkrBgEEAYI3FQEEAwIBADAvBgNVHSAEKDAmMAgGBiqFA2RxATAIBgYqhQNk +cQIwCAYGKoUDZHEDMAYGBFUdIAAwNgYFKoUDZG8ELQwr0JrRgNC40L/RgtC+0J/R +gNC+IENTUCAo0LLQtdGA0YHQuNGPIDMuNi4xKTCCAYsGA1UdIwSCAYIwggF+gBSL +mDuJGFHo75wCeLjqyNQgslXJXaGCAVKkggFOMIIBSjEeMBwGCSqGSIb3DQEJARYP +ZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQGEwJSVTEcMBoGA1UECAwTNzcg0LMuINCc +0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMT8wPQYDVQQJDDYxMjUz +NzUg0LMuINCc0L7RgdC60LLQsCwg0YPQuy4g0KLQstC10YDRgdC60LDRjywg0LQu +IDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4 +MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMBARIMMDA3NzEw +NDc0Mzc1MUEwPwYDVQQDDDjQk9C+0LvQvtCy0L3QvtC5INGD0LTQvtGB0YLQvtCy +0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgIIQNGgeQMtB7zOpoLfIdpKaKTBZBgNV +HR8EUjBQMCagJKAihiBodHRwOi8vcm9zdGVsZWNvbS5ydS9jZHAvZ3VjLmNybDAm +oCSgIoYgaHR0cDovL3JlZXN0ci1wa2kucnUvY2RwL2d1Yy5jcmwwgcYGBSqFA2Rw +BIG8MIG5DCPQn9CQ0JrQnCDCq9Ca0YDQuNC/0YLQvtCf0YDQviBIU03Cuwwg0J/Q +kNCaIMKr0JPQvtC70L7QstC90L7QuSDQo9CmwrsMNtCX0LDQutC70Y7Rh9C10L3Q +uNC1IOKEliAxNDkvMy8yLzItOTk5INC+0YIgMDUuMDcuMjAxMgw40JfQsNC60LvR +jtGH0LXQvdC40LUg4oSWIDE0OS83LzEvNC8yLTYwMyDQvtGCIDA2LjA3LjIwMTIw +CAYGKoUDAgIDA0EA6iV+FNqmkkGHRzHFjtige/eHpe/m9Xf83Pi7CdHl2AZyEexf +cYtRQM0ZlbRagdyPB0ZfPqnIieBZ9Po5KGT8PA== +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/vguc1_2.pem b/anchors/ca/ru/reestr-pki/vguc1_2.pem new file mode 100644 index 0000000..0d62c7c --- /dev/null +++ b/anchors/ca/ru/reestr-pki/vguc1_2.pem @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIG3TCCBoygAwIBAgILAP9y9MEAAAAAACswCAYGKoUDAgIDMIIBSjEeMBwGCSqG +SIb3DQEJARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQGEwJSVTEcMBoGA1UECAwT +Nzcg0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMT8wPQYD +VQQJDDYxMjUzNzUg0LMuINCc0L7RgdC60LLQsCwg0YPQuy4g0KLQstC10YDRgdC6 +0LDRjywg0LQuIDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQ +vtGB0YHQuNC4MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMB +ARIMMDA3NzEwNDc0Mzc1MUEwPwYDVQQDDDjQk9C+0LvQvtCy0L3QvtC5INGD0LTQ +vtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgDAeFw0xMzEyMDUxODEy +MDZaFw0xNzEyMDQxODEyMDZaMIIBITEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0NzQz +NzUxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEeMBwGCSqGSIb3DQEJARYPZGl0 +QG1pbnN2eWF6LnJ1MTwwOgYDVQQJDDMxMjUzNzUg0LMuINCc0L7RgdC60LLQsCDR +g9C7LiDQotCy0LXRgNGB0LrQsNGPINC0LjcxLDAqBgNVBAoMI9Cc0LjQvdC60L7Q +vNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRUwEwYDVQQHDAzQnNC+0YHQutCy0LAx +HDAaBgNVBAgMEzc3INCzLiDQnNC+0YHQutCy0LAxCzAJBgNVBAYTAlJVMRswGQYD +VQQDDBLQo9CmIDEg0JjQoSDQk9Cj0KYwYzAcBgYqhQMCAhMwEgYHKoUDAgIjAQYH +KoUDAgIeAQNDAARAfseuq3yfDouZVpJSktlCsA3o4onHAk6tVVd7qSvVrkI82HDS +Zmn5Z4pLBj1YHJOPYb+iFVB7la+huHS1hmIl+6OCA3QwggNwMBIGA1UdEwEB/wQI +MAYBAf8CAQEwHQYDVR0OBBYEFGS6CUrMdo/Wzmbv89yTP6kwNeQHMAsGA1UdDwQE +AwIBhjASBgkrBgEEAYI3FQEEBQIDAQABMC8GA1UdIAQoMCYwCAYGKoUDZHEBMAgG +BiqFA2RxAjAIBgYqhQNkcQMwBgYEVR0gADA2BgUqhQNkbwQtDCvQmtGA0LjQv9GC +0L7Qn9GA0L4gQ1NQICjQstC10YDRgdC40Y8gMy42LjEpMIIBiwYDVR0jBIIBgjCC +AX6AFIuYO4kYUejvnAJ4uOrI1CCyVcldoYIBUqSCAU4wggFKMR4wHAYJKoZIhvcN +AQkBFg9kaXRAbWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRwwGgYDVQQIDBM3NyDQ +sy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxPzA9BgNVBAkM +NjEyNTM3NSDQsy4g0JzQvtGB0LrQstCwLCDRg9C7LiDQotCy0LXRgNGB0LrQsNGP +LCDQtC4gNzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHR +gdC40LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEBEgww +MDc3MTA0NzQzNzUxQTA/BgNVBAMMONCT0L7Qu9C+0LLQvdC+0Lkg0YPQtNC+0YHR +gtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAghA0aB5Ay0HvM6mgt8h2kpop +MFkGA1UdHwRSMFAwJqAkoCKGIGh0dHA6Ly9yb3N0ZWxlY29tLnJ1L2NkcC9ndWMu +Y3JsMCagJKAihiBodHRwOi8vcmVlc3RyLXBraS5ydS9jZHAvZ3VjLmNybDCBxgYF +KoUDZHAEgbwwgbkMI9Cf0JDQmtCcIMKr0JrRgNC40L/RgtC+0J/RgNC+IEhTTcK7 +DCDQn9CQ0JogwqvQk9C+0LvQvtCy0L3QvtC5INCj0KbCuww20JfQsNC60LvRjtGH +0LXQvdC40LUg4oSWIDE0OS8zLzIvMi05OTkg0L7RgiAwNS4wNy4yMDEyDDjQl9Cw +0LrQu9GO0YfQtdC90LjQtSDihJYgMTQ5LzcvMS80LzItNjAzINC+0YIgMDYuMDcu +MjAxMjAIBgYqhQMCAgMDQQCuTvnFWHxBA33LHZV5yfbdy8BMA0FwWG/ykarS89FK +dSs5VX5L2J8fgCvHolAGYl0Pa6lJGPX1Fsi5Uwc5lwOQ +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/vguc1_3.pem b/anchors/ca/ru/reestr-pki/vguc1_3.pem new file mode 100644 index 0000000..7275cb3 --- /dev/null +++ b/anchors/ca/ru/reestr-pki/vguc1_3.pem @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIG3DCCBougAwIBAgIKHBjOyAAAAAAAPTAIBgYqhQMCAgMwggFKMR4wHAYJKoZI +hvcNAQkBFg9kaXRAbWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRwwGgYDVQQIDBM3 +NyDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxPzA9BgNV +BAkMNjEyNTM3NSDQsy4g0JzQvtGB0LrQstCwLCDRg9C7LiDQotCy0LXRgNGB0LrQ +sNGPLCDQtC4gNzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+ +0YHRgdC40LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEB +EgwwMDc3MTA0NzQzNzUxQTA/BgNVBAMMONCT0L7Qu9C+0LLQvdC+0Lkg0YPQtNC+ +0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAMB4XDTE1MDQyMjExMTU0 +MFoXDTE5MDQyMTExMTU0MFowggEhMRowGAYIKoUDA4EDAQESDDAwNzcxMDQ3NDM3 +NTEYMBYGBSqFA2QBEg0xMDQ3NzAyMDI2NzAxMR4wHAYJKoZIhvcNAQkBFg9kaXRA +bWluc3Z5YXoucnUxPDA6BgNVBAkMMzEyNTM3NSDQsy4g0JzQvtGB0LrQstCwINGD +0LsuINCi0LLQtdGA0YHQutCw0Y8g0LQuNzEsMCoGA1UECgwj0JzQuNC90LrQvtC8 +0YHQstGP0LfRjCDQoNC+0YHRgdC40LgxFTATBgNVBAcMDNCc0L7RgdC60LLQsDEc +MBoGA1UECAwTNzcg0LMuINCc0L7RgdC60LLQsDELMAkGA1UEBhMCUlUxGzAZBgNV +BAMMEtCj0KYgMSDQmNChINCT0KPQpjBjMBwGBiqFAwICEzASBgcqhQMCAiMBBgcq +hQMCAh4BA0MABECIK3XrPENDFjbx03P0BFzzRxoQIFUYBswZ1ybdlY+kWyDedtob +HYKraIKYY+2GIf3kkwOiGRYvL9UPfVbWUQYKo4IDdDCCA3AwEgYDVR0TAQH/BAgw +BgEB/wIBATAdBgNVHQ4EFgQUzIJYI521zO5pWagHdvAS2gxJQx8wCwYDVR0PBAQD +AgGGMBIGCSsGAQQBgjcVAQQFAgMCAAIwLwYDVR0gBCgwJjAIBgYqhQNkcQEwCAYG +KoUDZHECMAgGBiqFA2RxAzAGBgRVHSAAMDYGBSqFA2RvBC0MK9Ca0YDQuNC/0YLQ +vtCf0YDQviBDU1AgKNCy0LXRgNGB0LjRjyAzLjYuMSkwggGLBgNVHSMEggGCMIIB +foAUi5g7iRhR6O+cAni46sjUILJVyV2hggFSpIIBTjCCAUoxHjAcBgkqhkiG9w0B +CQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUxHDAaBgNVBAgMEzc3INCz +LiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDE/MD0GA1UECQw2 +MTI1Mzc1INCzLiDQnNC+0YHQutCy0LAsINGD0LsuINCi0LLQtdGA0YHQutCw0Y8s +INC0LiA3MSwwKgYDVQQKDCPQnNC40L3QutC+0LzRgdCy0Y/Qt9GMINCg0L7RgdGB +0LjQuDEYMBYGBSqFA2QBEg0xMDQ3NzAyMDI2NzAxMRowGAYIKoUDA4EDAQESDDAw +NzcxMDQ3NDM3NTFBMD8GA1UEAww40JPQvtC70L7QstC90L7QuSDRg9C00L7RgdGC +0L7QstC10YDRj9GO0YnQuNC5INGG0LXQvdGC0YCCEDRoHkDLQe8zqaC3yHaSmikw +WQYDVR0fBFIwUDAmoCSgIoYgaHR0cDovL3Jvc3RlbGVjb20ucnUvY2RwL2d1Yy5j +cmwwJqAkoCKGIGh0dHA6Ly9yZWVzdHItcGtpLnJ1L2NkcC9ndWMuY3JsMIHGBgUq +hQNkcASBvDCBuQwj0J/QkNCa0JwgwqvQmtGA0LjQv9GC0L7Qn9GA0L4gSFNNwrsM +INCf0JDQmiDCq9CT0L7Qu9C+0LLQvdC+0Lkg0KPQpsK7DDbQl9Cw0LrQu9GO0YfQ +tdC90LjQtSDihJYgMTQ5LzMvMi8yLTk5OSDQvtGCIDA1LjA3LjIwMTIMONCX0LDQ +utC70Y7Rh9C10L3QuNC1IOKEliAxNDkvNy8xLzQvMi02MDMg0L7RgiAwNi4wNy4y +MDEyMAgGBiqFAwICAwNBAKLIL6X6RGBDYnHl/AQurCU3kHrqCQ7uTxQ1dvcm7/2f +pzZvAILjCblWf13bicj6ZpC11QdiZo9zThxQxwKXhME= +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/vguc1_4.pem b/anchors/ca/ru/reestr-pki/vguc1_4.pem new file mode 100644 index 0000000..1b99f76 --- /dev/null +++ b/anchors/ca/ru/reestr-pki/vguc1_4.pem @@ -0,0 +1,38 @@ +-----BEGIN CERTIFICATE----- +MIIGrDCCBlugAwIBAgILAOvBBVQAAAAAAFkwCAYGKoUDAgIDMIIBSjEeMBwGCSqG +SIb3DQEJARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQGEwJSVTEcMBoGA1UECAwT +Nzcg0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMT8wPQYD +VQQJDDYxMjUzNzUg0LMuINCc0L7RgdC60LLQsCwg0YPQuy4g0KLQstC10YDRgdC6 +0LDRjywg0LQuIDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQ +vtGB0YHQuNC4MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMB +ARIMMDA3NzEwNDc0Mzc1MUEwPwYDVQQDDDjQk9C+0LvQvtCy0L3QvtC5INGD0LTQ +vtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgDAeFw0xNjAzMTYxMjAy +NTFaFw0yNzA3MTIxMjAyNTFaMIIBITEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0NzQz +NzUxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEeMBwGCSqGSIb3DQEJARYPZGl0 +QG1pbnN2eWF6LnJ1MTwwOgYDVQQJDDMxMjUzNzUg0LMuINCc0L7RgdC60LLQsCDR +g9C7LiDQotCy0LXRgNGB0LrQsNGPINC0LjcxLDAqBgNVBAoMI9Cc0LjQvdC60L7Q +vNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRUwEwYDVQQHDAzQnNC+0YHQutCy0LAx +HDAaBgNVBAgMEzc3INCzLiDQnNC+0YHQutCy0LAxCzAJBgNVBAYTAlJVMRswGQYD +VQQDDBLQo9CmIDEg0JjQoSDQk9Cj0KYwYzAcBgYqhQMCAhMwEgYHKoUDAgIjAQYH +KoUDAgIeAQNDAARAx70Y7WYQ4ODtdiSSx3MJnr1GQBEIExiPO/LWj1TRKES1OcDI +YgtdOBGVYSvbsStl10jkAOG0OpnGsd2by4m+LaOCA0MwggM/MA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFBGIaV7vyOlz23pXNbzSAfMF/qfRMAsGA1UdDwQEAwIB +hjCCAYsGA1UdIwSCAYIwggF+gBSLmDuJGFHo75wCeLjqyNQgslXJXaGCAVKkggFO +MIIBSjEeMBwGCSqGSIb3DQEJARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQGEwJS +VTEcMBoGA1UECAwTNzcg0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB +0LrQstCwMT8wPQYDVQQJDDYxMjUzNzUg0LMuINCc0L7RgdC60LLQsCwg0YPQuy4g +0KLQstC10YDRgdC60LDRjywg0LQuIDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7QvNGB +0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3MDEx +GjAYBggqhQMDgQMBARIMMDA3NzEwNDc0Mzc1MUEwPwYDVQQDDDjQk9C+0LvQvtCy +0L3QvtC5INGD0LTQvtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgIIQ +NGgeQMtB7zOpoLfIdpKaKTBZBgNVHR8EUjBQMCagJKAihiBodHRwOi8vcm9zdGVs +ZWNvbS5ydS9jZHAvZ3VjLmNybDAmoCSgIoYgaHR0cDovL3JlZXN0ci1wa2kucnUv +Y2RwL2d1Yy5jcmwwJgYFKoUDZG8EHQwb0JrRgNC40L/RgtC+LdCf0YDQviBDU1Ag +My42MCUGA1UdIAQeMBwwCAYGKoUDZHEBMAgGBiqFA2RxAjAGBgRVHSAAMIHGBgUq +hQNkcASBvDCBuQwj0J/QkNCa0JwgwqvQmtGA0LjQv9GC0L7Qn9GA0L4gSFNNwrsM +INCf0JDQmiDCq9CT0L7Qu9C+0LLQvdC+0Lkg0KPQpsK7DDbQl9Cw0LrQu9GO0YfQ +tdC90LjQtSDihJYgMTQ5LzMvMi8yLTk5OSDQvtGCIDA1LjA3LjIwMTIMONCX0LDQ +utC70Y7Rh9C10L3QuNC1IOKEliAxNDkvNy8xLzQvMi02MDMg0L7RgiAwNi4wNy4y +MDEyMAgGBiqFAwICAwNBAKVYokUvb7XAMPJF38ZPKO2BFBldmGEfqsfmsiO35Y52 +kTkx512H3YLqWMrOLjIfVMJhc+DTCNeXWY6bhK4/DRU= +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/vguc1_5.pem b/anchors/ca/ru/reestr-pki/vguc1_5.pem new file mode 100644 index 0000000..2f99077 --- /dev/null +++ b/anchors/ca/ru/reestr-pki/vguc1_5.pem @@ -0,0 +1,40 @@ +-----BEGIN CERTIFICATE----- +MIIG8DCCBp+gAwIBAgILAMzgRWQAAAAAAJIwCAYGKoUDAgIDMIIBSjEeMBwGCSqG +SIb3DQEJARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQGEwJSVTEcMBoGA1UECAwT +Nzcg0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMT8wPQYD +VQQJDDYxMjUzNzUg0LMuINCc0L7RgdC60LLQsCwg0YPQuy4g0KLQstC10YDRgdC6 +0LDRjywg0LQuIDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQ +vtGB0YHQuNC4MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMB +ARIMMDA3NzEwNDc0Mzc1MUEwPwYDVQQDDDjQk9C+0LvQvtCy0L3QvtC5INGD0LTQ +vtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgDAeFw0xNjEyMDcxMDUx +MTFaFw0yNjEyMDcxMDUxMTFaMIIBITEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0NzQz +NzUxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEeMBwGCSqGSIb3DQEJARYPZGl0 +QG1pbnN2eWF6LnJ1MTwwOgYDVQQJDDMxMjUzNzUg0LMuINCc0L7RgdC60LLQsCDR +g9C7LiDQotCy0LXRgNGB0LrQsNGPINC0LjcxLDAqBgNVBAoMI9Cc0LjQvdC60L7Q +vNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRUwEwYDVQQHDAzQnNC+0YHQutCy0LAx +HDAaBgNVBAgMEzc3INCzLiDQnNC+0YHQutCy0LAxCzAJBgNVBAYTAlJVMRswGQYD +VQQDDBLQo9CmIDEg0JjQoSDQk9Cj0KYwYzAcBgYqhQMCAhMwEgYHKoUDAgIjAQYH +KoUDAgIeAQNDAARA0o8rJm8qWVz/UI9xrRFvMBRZI3STCxA839I2vjNiSMNXUtjW +Jatz6qfZpJPJzXHxYShC6Ng1JgilG8h+mv7LhaOCA4cwggODMAsGA1UdDwQEAwIB +hjAdBgNVHQ4EFgQUn8JzWKh0gWpgbTP0R6RopnY5Z5swFAYJKwYBBAGCNxQCBAcM +BVN1YkNBMA8GA1UdEwEB/wQFMAMBAf8wLwYDVR0gBCgwJjAGBgRVHSAAMAgGBiqF +A2RxATAIBgYqhQNkcQIwCAYGKoUDZHEDMDYGBSqFA2RvBC0MKyLQmtGA0LjQv9GC +0L7Qn9GA0L4gQ1NQIiAo0LLQtdGA0YHQuNGPIDMuOSkwEgYJKwYBBAGCNxUBBAUC +AwQABDCCAYsGA1UdIwSCAYIwggF+gBSLmDuJGFHo75wCeLjqyNQgslXJXaGCAVKk +ggFOMIIBSjEeMBwGCSqGSIb3DQEJARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQG +EwJSVTEcMBoGA1UECAwTNzcg0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQ +vtGB0LrQstCwMT8wPQYDVQQJDDYxMjUzNzUg0LMuINCc0L7RgdC60LLQsCwg0YPQ +uy4g0KLQstC10YDRgdC60LDRjywg0LQuIDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7Q +vNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3 +MDExGjAYBggqhQMDgQMBARIMMDA3NzEwNDc0Mzc1MUEwPwYDVQQDDDjQk9C+0LvQ +vtCy0L3QvtC5INGD0LTQvtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLR +gIIQNGgeQMtB7zOpoLfIdpKaKTBZBgNVHR8EUjBQMCagJKAihiBodHRwOi8vcm9z +dGVsZWNvbS5ydS9jZHAvZ3VjLmNybDAmoCSgIoYgaHR0cDovL3JlZXN0ci1wa2ku +cnUvY2RwL2d1Yy5jcmwwgcYGBSqFA2RwBIG8MIG5DCPQn9CQ0JrQnCDCq9Ca0YDQ +uNC/0YLQvtCf0YDQviBIU03Cuwwg0J/QkNCaIMKr0JPQvtC70L7QstC90L7QuSDQ +o9CmwrsMNtCX0LDQutC70Y7Rh9C10L3QuNC1IOKEliAxNDkvMy8yLzItOTk5INC+ +0YIgMDUuMDcuMjAxMgw40JfQsNC60LvRjtGH0LXQvdC40LUg4oSWIDE0OS83LzEv +NC8yLTYwMyDQvtGCIDA2LjA3LjIwMTIwCAYGKoUDAgIDA0EAnWGN3cDUzgTIMNMT +EGTdWO6KGIy/PudXB4Ybj6kGugyG0JbFxeq6dp3RfMSSs53AE33qH4XUuqS+6Fq/ +vFHZpA== +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/vguc1_6.pem b/anchors/ca/ru/reestr-pki/vguc1_6.pem new file mode 100644 index 0000000..341e2bf --- /dev/null +++ b/anchors/ca/ru/reestr-pki/vguc1_6.pem @@ -0,0 +1,40 @@ +-----BEGIN CERTIFICATE----- +MIIG8DCCBp+gAwIBAgILAKDQmGEAAAAAAiowCAYGKoUDAgIDMIIBSjEeMBwGCSqG +SIb3DQEJARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQGEwJSVTEcMBoGA1UECAwT +Nzcg0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMT8wPQYD +VQQJDDYxMjUzNzUg0LMuINCc0L7RgdC60LLQsCwg0YPQuy4g0KLQstC10YDRgdC6 +0LDRjywg0LQuIDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQ +vtGB0YHQuNC4MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMB +ARIMMDA3NzEwNDc0Mzc1MUEwPwYDVQQDDDjQk9C+0LvQvtCy0L3QvtC5INGD0LTQ +vtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgDAeFw0xODAxMjYwOTE1 +MzVaFw0yNzAxMjYwOTE1MzVaMIIBHDEeMBwGCSqGSIb3DQEJARYPZGl0QG1pbnN2 +eWF6LnJ1MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMBARIM +MDA3NzEwNDc0Mzc1MQswCQYDVQQGEwJSVTEYMBYGA1UECAwPNzcg0JzQvtGB0LrQ +stCwMRkwFwYDVQQHDBDQsy4g0JzQvtGB0LrQstCwMSYwJAYDVQQJDB3Rg9C7LiDQ +otCy0LXRgNGB0LrQsNGPLCDQtC4gNzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQ +stGP0LfRjCDQoNC+0YHRgdC40LgxLDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLR +j9C30Ywg0KDQvtGB0YHQuNC4MGMwHAYGKoUDAgITMBIGByqFAwICIwEGByqFAwIC +HgEDQwAEQMTCJCufT5WUXGG673NQSzTWpkMarz9ssqeMnLza14iWLVfHoVNpc4ZG ++UWTjVLU3OD7wBmG2YAfYJtN5Ed/jHijggOMMIIDiDALBgNVHQ8EBAMCAYYwHQYD +VR0OBBYEFCm0DYj5qBzFRL9Q3mVpA5VbBSPRMBQGCSsGAQQBgjcUAgQHDAVTdWJD +QTASBgNVHRMBAf8ECDAGAQH/AgEAMDUGA1UdIAQuMCwwDAYKKwYBBAGCNwoMATAI +BgYqhQNkcQEwCAYGKoUDZHECMAgGBiqFA2RxAzA0BgUqhQNkbwQrDCnQmtGA0LjQ +v9GC0L7Qn9GA0L4gQ1NQICjQstC10YDRgdC40Y8gMy45KTAQBgkrBgEEAYI3FQEE +AwIBADCCAYsGA1UdIwSCAYIwggF+gBSLmDuJGFHo75wCeLjqyNQgslXJXaGCAVKk +ggFOMIIBSjEeMBwGCSqGSIb3DQEJARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQG +EwJSVTEcMBoGA1UECAwTNzcg0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQ +vtGB0LrQstCwMT8wPQYDVQQJDDYxMjUzNzUg0LMuINCc0L7RgdC60LLQsCwg0YPQ +uy4g0KLQstC10YDRgdC60LDRjywg0LQuIDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7Q +vNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3 +MDExGjAYBggqhQMDgQMBARIMMDA3NzEwNDc0Mzc1MUEwPwYDVQQDDDjQk9C+0LvQ +vtCy0L3QvtC5INGD0LTQvtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLR +gIIQNGgeQMtB7zOpoLfIdpKaKTBZBgNVHR8EUjBQMCagJKAihiBodHRwOi8vcm9z +dGVsZWNvbS5ydS9jZHAvZ3VjLmNybDAmoCSgIoYgaHR0cDovL3JlZXN0ci1wa2ku +cnUvY2RwL2d1Yy5jcmwwgcYGBSqFA2RwBIG8MIG5DCPQn9CQ0JrQnCDCq9Ca0YDQ +uNC/0YLQvtCf0YDQviBIU03Cuwwg0J/QkNCaIMKr0JPQvtC70L7QstC90L7QuSDQ +o9CmwrsMNtCX0LDQutC70Y7Rh9C10L3QuNC1IOKEliAxNDkvMy8yLzItOTk5INC+ +0YIgMDUuMDcuMjAxMgw40JfQsNC60LvRjtGH0LXQvdC40LUg4oSWIDE0OS83LzEv +NC8yLTYwMyDQvtGCIDA2LjA3LjIwMTIwCAYGKoUDAgIDA0EApzAuHf+HXGpko9zM +cVoLxnGjdKcH5SHFYCfNJGTP3wZVk0E+Q2FMAuWnoBb0+iBLKjHy4LCsL2EJP9Rt +Vc6Xxg== +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/vguc2.pem b/anchors/ca/ru/reestr-pki/vguc2.pem new file mode 100644 index 0000000..8050877 --- /dev/null +++ b/anchors/ca/ru/reestr-pki/vguc2.pem @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIG2TCCBoigAwIBAgIKPIIlGQAAAAAAGDAIBgYqhQMCAgMwggFKMR4wHAYJKoZI +hvcNAQkBFg9kaXRAbWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRwwGgYDVQQIDBM3 +NyDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxPzA9BgNV +BAkMNjEyNTM3NSDQsy4g0JzQvtGB0LrQstCwLCDRg9C7LiDQotCy0LXRgNGB0LrQ +sNGPLCDQtC4gNzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+ +0YHRgdC40LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEB +EgwwMDc3MTA0NzQzNzUxQTA/BgNVBAMMONCT0L7Qu9C+0LLQvdC+0Lkg0YPQtNC+ +0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAMB4XDTEzMDcyMzA2NTQy +MloXDTE3MDcyMjA2NTQyMlowggEgMRowGAYIKoUDA4EDAQESDDAwNzcxMDQ3NDM3 +NTEYMBYGBSqFA2QBEg0xMDQ3NzAyMDI2NzAxMR4wHAYJKoZIhvcNAQkBFg9kaXRA +bWluc3Z5YXoucnUxPDA6BgNVBAkMMzEyNTM3NSDQsy4g0JzQvtGB0LrQstCwINGD +0LsuINCi0LLQtdGA0YHQutCw0Y8g0LQuNzEsMCoGA1UECgwj0JzQuNC90LrQvtC8 +0YHQstGP0LfRjCDQoNC+0YHRgdC40LgxFTATBgNVBAcMDNCc0L7RgdC60LLQsDEb +MBkGA1UECAwSNzcg0LMu0JzQvtGB0LrQstCwMQswCQYDVQQGEwJSVTEbMBkGA1UE +AwwS0KPQpiAyINCY0KEg0JPQo9CmMGMwHAYGKoUDAgITMBIGByqFAwICIwEGByqF +AwICHgEDQwAEQGnCxoF+JPaGUh2Hgtz3HO2pZdz4LNTgdTXFsQNlkbHaxMTZjHUe +sfpbVTbeVsYm6Amab3zUxp4OeRZnjS/zHBGjggNyMIIDbjASBgNVHRMBAf8ECDAG +AQH/AgEBMB0GA1UdDgQWBBTGa8ECopKqFAoKShT9GR0NV9BEnDALBgNVHQ8EBAMC +AYYwEAYJKwYBBAGCNxUBBAMCAQAwLwYDVR0gBCgwJjAIBgYqhQNkcQEwCAYGKoUD +ZHECMAgGBiqFA2RxAzAGBgRVHSAAMDYGBSqFA2RvBC0MK9Ca0YDQuNC/0YLQvtCf +0YDQviBDU1AgKNCy0LXRgNGB0LjRjyAzLjYuMSkwggGLBgNVHSMEggGCMIIBfoAU +i5g7iRhR6O+cAni46sjUILJVyV2hggFSpIIBTjCCAUoxHjAcBgkqhkiG9w0BCQEW +D2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUxHDAaBgNVBAgMEzc3INCzLiDQ +nNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDE/MD0GA1UECQw2MTI1 +Mzc1INCzLiDQnNC+0YHQutCy0LAsINGD0LsuINCi0LLQtdGA0YHQutCw0Y8sINC0 +LiA3MSwwKgYDVQQKDCPQnNC40L3QutC+0LzRgdCy0Y/Qt9GMINCg0L7RgdGB0LjQ +uDEYMBYGBSqFA2QBEg0xMDQ3NzAyMDI2NzAxMRowGAYIKoUDA4EDAQESDDAwNzcx +MDQ3NDM3NTFBMD8GA1UEAww40JPQvtC70L7QstC90L7QuSDRg9C00L7RgdGC0L7Q +stC10YDRj9GO0YnQuNC5INGG0LXQvdGC0YCCEDRoHkDLQe8zqaC3yHaSmikwWQYD +VR0fBFIwUDAmoCSgIoYgaHR0cDovL3Jvc3RlbGVjb20ucnUvY2RwL2d1Yy5jcmww +JqAkoCKGIGh0dHA6Ly9yZWVzdHItcGtpLnJ1L2NkcC9ndWMuY3JsMIHGBgUqhQNk +cASBvDCBuQwj0J/QkNCa0JwgwqvQmtGA0LjQv9GC0L7Qn9GA0L4gSFNNwrsMINCf +0JDQmiDCq9CT0L7Qu9C+0LLQvdC+0Lkg0KPQpsK7DDbQl9Cw0LrQu9GO0YfQtdC9 +0LjQtSDihJYgMTQ5LzMvMi8yLTk5OSDQvtGCIDA1LjA3LjIwMTIMONCX0LDQutC7 +0Y7Rh9C10L3QuNC1IOKEliAxNDkvNy8xLzQvMi02MDMg0L7RgiAwNi4wNy4yMDEy +MAgGBiqFAwICAwNBACc2ZYXoqvi+dWijj+v4v0v08aoDXCi9ceFN5sfI60/VXa+L +5l70WwzgjGumbpF/H936RAVSDdn1Iz8d559EXw0= +-----END CERTIFICATE----- diff --git a/anchors/ca/ru/reestr-pki/vguc2_2.pem b/anchors/ca/ru/reestr-pki/vguc2_2.pem new file mode 100644 index 0000000..0202016 --- /dev/null +++ b/anchors/ca/ru/reestr-pki/vguc2_2.pem @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIG2zCCBoqgAwIBAgIKRYm2OgAAAAAANTAIBgYqhQMCAgMwggFKMR4wHAYJKoZI +hvcNAQkBFg9kaXRAbWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRwwGgYDVQQIDBM3 +NyDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxPzA9BgNV +BAkMNjEyNTM3NSDQsy4g0JzQvtGB0LrQstCwLCDRg9C7LiDQotCy0LXRgNGB0LrQ +sNGPLCDQtC4gNzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+ +0YHRgdC40LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEB +EgwwMDc3MTA0NzQzNzUxQTA/BgNVBAMMONCT0L7Qu9C+0LLQvdC+0Lkg0YPQtNC+ +0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAMB4XDTE0MTIxOTAwMDc0 +NVoXDTE4MTIxODAwMDc0NVowggEgMRowGAYIKoUDA4EDAQESDDAwNzcxMDQ3NDM3 +NTEYMBYGBSqFA2QBEg0xMDQ3NzAyMDI2NzAxMR4wHAYJKoZIhvcNAQkBFg9kaXRA +bWluc3Z5YXoucnUxPDA6BgNVBAkMMzEyNTM3NSDQsy4g0JzQvtGB0LrQstCwINGD +0LsuINCi0LLQtdGA0YHQutCw0Y8g0LQuNzEsMCoGA1UECgwj0JzQuNC90LrQvtC8 +0YHQstGP0LfRjCDQoNC+0YHRgdC40LgxFTATBgNVBAcMDNCc0L7RgdC60LLQsDEb +MBkGA1UECAwSNzcg0LMu0JzQvtGB0LrQstCwMQswCQYDVQQGEwJSVTEbMBkGA1UE +AwwS0KPQpiAyINCY0KEg0JPQo9CmMGMwHAYGKoUDAgITMBIGByqFAwICIwEGByqF +AwICHgEDQwAEQOvLMVc+wjT6FTTgumH8+MsKRKQQxcyGwDG1RfAflhVGGnK71rVv +/dJiIwNclxqAp5HC1XEPUyEttGbhq1YLENGjggN0MIIDcDASBgNVHRMBAf8ECDAG +AQH/AgEBMB0GA1UdDgQWBBQNCfpGjs8LyV+STqhFypkLWa3nUzALBgNVHQ8EBAMC +AYYwEgYJKwYBBAGCNxUBBAUCAwEAATAvBgNVHSAEKDAmMAgGBiqFA2RxATAIBgYq +hQNkcQIwCAYGKoUDZHEDMAYGBFUdIAAwNgYFKoUDZG8ELQwr0JrRgNC40L/RgtC+ +0J/RgNC+IENTUCAo0LLQtdGA0YHQuNGPIDMuNi4xKTCCAYsGA1UdIwSCAYIwggF+ +gBSLmDuJGFHo75wCeLjqyNQgslXJXaGCAVKkggFOMIIBSjEeMBwGCSqGSIb3DQEJ +ARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQGEwJSVTEcMBoGA1UECAwTNzcg0LMu +INCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMT8wPQYDVQQJDDYx +MjUzNzUg0LMuINCc0L7RgdC60LLQsCwg0YPQuy4g0KLQstC10YDRgdC60LDRjywg +0LQuIDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQ +uNC4MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMBARIMMDA3 +NzEwNDc0Mzc1MUEwPwYDVQQDDDjQk9C+0LvQvtCy0L3QvtC5INGD0LTQvtGB0YLQ +vtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgIIQNGgeQMtB7zOpoLfIdpKaKTBZ +BgNVHR8EUjBQMCagJKAihiBodHRwOi8vcm9zdGVsZWNvbS5ydS9jZHAvZ3VjLmNy +bDAmoCSgIoYgaHR0cDovL3JlZXN0ci1wa2kucnUvY2RwL2d1Yy5jcmwwgcYGBSqF +A2RwBIG8MIG5DCPQn9CQ0JrQnCDCq9Ca0YDQuNC/0YLQvtCf0YDQviBIU03Cuwwg +0J/QkNCaIMKr0JPQvtC70L7QstC90L7QuSDQo9CmwrsMNtCX0LDQutC70Y7Rh9C1 +0L3QuNC1IOKEliAxNDkvMy8yLzItOTk5INC+0YIgMDUuMDcuMjAxMgw40JfQsNC6 +0LvRjtGH0LXQvdC40LUg4oSWIDE0OS83LzEvNC8yLTYwMyDQvtGCIDA2LjA3LjIw +MTIwCAYGKoUDAgIDA0EAeaTj/dAfi11Hqx9NjhFhtPCU1S7RQNl7VY3B/SYF2va8 +EmAvCrIiCMeFdBlCkuw40HAzXEX5HmBeF/Zf4nWcpA== +-----END CERTIFICATE----- diff --git "a/anchors/ca/ru/\320\232\320\276\321\200\321\203\321\201.pem" "b/anchors/ca/ru/\320\232\320\276\321\200\321\203\321\201.pem" new file mode 100644 index 0000000..ba44730 --- /dev/null +++ "b/anchors/ca/ru/\320\232\320\276\321\200\321\203\321\201.pem" @@ -0,0 +1,45 @@ +-----BEGIN CERTIFICATE----- +MIIIBTCCB7KgAwIBAgILAMk63c4AAAAABJEwCgYIKoUDBwEBAwIwggEkMR4wHAYJ +KoZIhvcNAQkBFg9kaXRAbWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRgwFgYDVQQI +DA83NyDQnNC+0YHQutCy0LAxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy0LAxLjAs +BgNVBAkMJdGD0LvQuNGG0LAg0KLQstC10YDRgdC60LDRjywg0LTQvtC8IDcxLDAq +BgNVBAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRgwFgYF +KoUDZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMBARIMMDA3NzEwNDc0Mzc1 +MSwwKgYDVQQDDCPQnNC40L3QutC+0LzRgdCy0Y/Qt9GMINCg0L7RgdGB0LjQuDAe +Fw0yMDEwMTUxMTQyNDlaFw0zNTEwMTUxMTQyNDlaMIIBvjEcMBoGCSqGSIb3DQEJ +ARYNdWNAZXNwaGVyZS5ydTEYMBYGBSqFA2QBEg0xMDU3ODEyNzUyNTAyMRowGAYI +KoUDA4EDAQESDDAwNzgwMTM5MjI3MTELMAkGA1UEBhMCUlUxLTArBgNVBAgMJDc4 +INCzLiDQodCw0L3QutGCLdCf0LXRgtC10YDQsdGD0YDQszEqMCgGA1UEBwwh0LMu +INCh0LDQvdC60YIt0J/QtdGC0LXRgNCx0YPRgNCzMVowWAYDVQQJDFHQkdC+0LvR +jNGI0L7QuSDQodCw0LzQv9GB0L7QvdC40LXQstGB0LrQuNC5INC/0YAuLCDQtC42 +OCwg0LvQuNGCLiDQnSwg0L/QvtC8LiAx0J0xMDAuBgNVBAsMJ9Cj0LTQvtGB0YLQ +vtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgDE4MDYGA1UECgwv0J7QntCeICLQ +mtCe0KDQo9ChINCa0L7QvdGB0LDQu9GC0LjQvdCzINCh0J3QkyIxODA2BgNVBAMM +L9Ce0J7QniAi0JrQntCg0KPQoSDQmtC+0L3RgdCw0LvRgtC40L3QsyDQodCd0JMi +MGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQKjSuDCsuv1C +sDnZL0/NtQiIKGQapTZPMPGcClUZLHDiGDtc+Pf3AFIjjmV9zP9ErAAUgAbq6ddJ +Bepc0fNKMT6jggQeMIIEGjALBgNVHQ8EBAMCAYYwHQYDVR0OBBYEFM2K95NQ09rW +Jk2gqrtws3Z+xSOYMBIGA1UdEwEB/wQIMAYBAf8CAQAwJQYDVR0gBB4wHDAIBgYq +hQNkcQEwCAYGKoUDZHECMAYGBFUdIAAwUgYFKoUDZG8ESQxHItCa0YDQuNC/0YLQ +vtCf0YDQviBDU1AiINCy0LXRgNGB0LjRjyA0LjAgKNC40YHQv9C+0LvQvdC10L3Q +uNC1IDItQmFzZSkwFAYJKwYBBAGCNxQCBAcMBVN1YkNBMBIGCSsGAQQBgjcVAQQF +AgMBAAEwggFlBgNVHSMEggFcMIIBWIAUwlTxtGvUTLfgbTa0I5Dx/sM8mwahggEs +pIIBKDCCASQxHjAcBgkqhkiG9w0BCQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UE +BhMCUlUxGDAWBgNVBAgMDzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMuINCc +0L7RgdC60LLQsDEuMCwGA1UECQwl0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGP +LCDQtNC+0LwgNzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+ +0YHRgdC40LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEB +EgwwMDc3MTA0NzQzNzUxLDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg +0KDQvtGB0YHQuNC4ghBObUeLJvJ9ZX92jgJc49OTMIGPBgNVHR8EgYcwgYQwKqAo +oCaGJGh0dHA6Ly9yZWVzdHItcGtpLnJ1L2NkcC9ndWMyMDIwLmNybDAqoCigJoYk +aHR0cDovL2NvbXBhbnkucnQucnUvY2RwL2d1YzIwMjAuY3JsMCqgKKAmhiRodHRw +Oi8vcm9zdGVsZWNvbS5ydS9jZHAvZ3VjMjAyMC5jcmwwQAYIKwYBBQUHAQEENDAy +MDAGCCsGAQUFBzAChiRodHRwOi8vcmVlc3RyLXBraS5ydS9jZHAvZ3VjMjAyMC5j +cnQwgfUGBSqFA2RwBIHrMIHoDDTQn9CQ0JrQnCDCq9Ca0YDQuNC/0YLQvtCf0YDQ +viBIU03CuyDQstC10YDRgdC40LggMi4wDEPQn9CQ0JogwqvQk9C+0LvQvtCy0L3Q +vtC5INGD0LTQvtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgMK7DDXQ +l9Cw0LrQu9GO0YfQtdC90LjQtSDihJYgMTQ5LzMvMi8yLzIzINC+0YIgMDIuMDMu +MjAxOAw00JfQsNC60LvRjtGH0LXQvdC40LUg4oSWIDE0OS83LzYvMTA1INC+0YIg +MjcuMDYuMjAxODAKBggqhQMHAQEDAgNBAE6GD3vUMEe4nsUKym7rTFElpTfS0u2L +iaIp1xykdacAAnnMEA6nhw89G0+7u0FatFi1lX1AbLR3Ra+WxOBYMp0= +-----END CERTIFICATE----- diff --git "a/anchors/ca/ru/\320\234\320\270\320\275\320\272\320\276\320\274\321\201\320\262\321\217\320\267\321\214.pem" "b/anchors/ca/ru/\320\234\320\270\320\275\320\272\320\276\320\274\321\201\320\262\321\217\320\267\321\214.pem" new file mode 100644 index 0000000..9831bee --- /dev/null +++ "b/anchors/ca/ru/\320\234\320\270\320\275\320\272\320\276\320\274\321\201\320\262\321\217\320\267\321\214.pem" @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFFDCCBMGgAwIBAgIQTm1HiybyfWV/do4CXOPTkzAKBggqhQMHAQEDAjCCASQx +HjAcBgkqhkiG9w0BCQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUxGDAW +BgNVBAgMDzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMuINCc0L7RgdC60LLQ +sDEuMCwGA1UECQwl0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGPLCDQtNC+0Lwg +NzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHRgdC40Lgx +GDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0 +NzQzNzUxLDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQ +uNC4MB4XDTE4MDcwNjEyMTgwNloXDTM2MDcwMTEyMTgwNlowggEkMR4wHAYJKoZI +hvcNAQkBFg9kaXRAbWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRgwFgYDVQQIDA83 +NyDQnNC+0YHQutCy0LAxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy0LAxLjAsBgNV +BAkMJdGD0LvQuNGG0LAg0KLQstC10YDRgdC60LDRjywg0LTQvtC8IDcxLDAqBgNV +BAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRgwFgYFKoUD +ZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMBARIMMDA3NzEwNDc0Mzc1MSww +KgYDVQQDDCPQnNC40L3QutC+0LzRgdCy0Y/Qt9GMINCg0L7RgdGB0LjQuDBmMB8G +CCqFAwcBAQEBMBMGByqFAwICIwEGCCqFAwcBAQICA0MABEB1OSpFp7milX33EP0i +kge6HbZacYp9fVj8sUa5RWFXrB27SKX5SvtIGepqKev69RSYeHHKR+jT9YX2NuSK +9wONo4IBwjCCAb4wgfUGBSqFA2RwBIHrMIHoDDTQn9CQ0JrQnCDCq9Ca0YDQuNC/ +0YLQvtCf0YDQviBIU03CuyDQstC10YDRgdC40LggMi4wDEPQn9CQ0JogwqvQk9C+ +0LvQvtCy0L3QvtC5INGD0LTQvtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC9 +0YLRgMK7DDXQl9Cw0LrQu9GO0YfQtdC90LjQtSDihJYgMTQ5LzMvMi8yLzIzINC+ +0YIgMDIuMDMuMjAxOAw00JfQsNC60LvRjtGH0LXQvdC40LUg4oSWIDE0OS83LzYv +MTA1INC+0YIgMjcuMDYuMjAxODA/BgUqhQNkbwQ2DDTQn9CQ0JrQnCDCq9Ca0YDQ +uNC/0YLQvtCf0YDQviBIU03CuyDQstC10YDRgdC40LggMi4wMEMGA1UdIAQ8MDow +CAYGKoUDZHEBMAgGBiqFA2RxAjAIBgYqhQNkcQMwCAYGKoUDZHEEMAgGBiqFA2Rx +BTAGBgRVHSAAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBTCVPG0a9RMt+BtNrQjkPH+wzybBjAKBggqhQMHAQEDAgNBAJr6/eI7rHL7 ++FsQnoH2i6DVxqalbIxLKj05edpZGPLLb6B2PTAMya7pSt9hb8QnFABgsR4IE5gT +4VVkDWbX/n4= +-----END CERTIFICATE----- diff --git "a/anchors/ca/ru/\320\234\320\270\320\275\320\276\320\261\320\276\321\200\320\276\320\275\321\213.pem" "b/anchors/ca/ru/\320\234\320\270\320\275\320\276\320\261\320\276\321\200\320\276\320\275\321\213.pem" new file mode 100644 index 0000000..337f11e --- /dev/null +++ "b/anchors/ca/ru/\320\234\320\270\320\275\320\276\320\261\320\276\321\200\320\276\320\275\321\213.pem" @@ -0,0 +1,46 @@ +-----BEGIN CERTIFICATE----- +MIIIJDCCB9GgAwIBAgIKMlKzdAAAAAAETjAKBggqhQMHAQEDAjCCASQxHjAcBgkq +hkiG9w0BCQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUxGDAWBgNVBAgM +Dzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMuINCc0L7RgdC60LLQsDEuMCwG +A1UECQwl0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGPLCDQtNC+0LwgNzEsMCoG +A1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHRgdC40LgxGDAWBgUq +hQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0NzQzNzUx +LDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MB4X +DTIwMDczMTExMTUwMloXDTM1MDczMTExMTUwMlowggHJMRgwFgYJKoZIhvcNAQkB +Fgl1Y0BtaWwucnUxGDAWBgUqhQNkARINMTAzNzcwMDI1NTI4NDEaMBgGCCqFAwOB +AwEBEgwwMDc3MDQyNTIyNjExCzAJBgNVBAYTAlJVMRwwGgYDVQQIDBM3NyDQsy4g +0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJzAlBgNVBAkMHtGD +0LsuINCX0L3QsNC80LXQvdC60LAsINC0LiAxOTFYMFYGA1UECwxPNCDRhtC10L3R +gtGAICjRg9C00L7RgdGC0L7QstC10YDRj9GO0YnQuNC5KSDQstC+0LnRgdC60L7Q +stC+0Lkg0YfQsNGB0YLQuCAzMTY1OTFYMFYGA1UECgxP0JzQuNC90LjRgdGC0LXR +gNGB0YLQstC+INC+0LHQvtGA0L7QvdGLINCg0L7RgdGB0LjQudGB0LrQvtC5INCk +0LXQtNC10YDQsNGG0LjQuDFYMFYGA1UEAwxP0JzQuNC90LjRgdGC0LXRgNGB0YLQ +stC+INC+0LHQvtGA0L7QvdGLINCg0L7RgdGB0LjQudGB0LrQvtC5INCk0LXQtNC1 +0YDQsNGG0LjQuDBmMB8GCCqFAwcBAQEBMBMGByqFAwICIwEGCCqFAwcBAQICA0MA +BEBCe/rx153+/tfCcVxbKUmzfkIgyXnk6ItYTjinfMeBJfg9HSfAYbM8HW5xybA4 +T64sVLz0Vcp1aynqMkkOfkzjo4IEMzCCBC8wCwYDVR0PBAQDAgGGMB0GA1UdDgQW +BBRlCwg6pyqNx6ZEloK5ffmda44qqDASBgNVHRMBAf8ECDAGAQH/AgEAMCUGA1Ud +IAQeMBwwCAYGKoUDZHEBMAgGBiqFA2RxAjAGBgRVHSAAMFsGBSqFA2RvBFIMUNCh +0JrQl9CYICLQmtGA0LjQv9GC0L7Qn9GA0L4gQ1NQIiDQstC10YDRgdC40Y8gNC4w +ICjQuNGB0L/QvtC70L3QtdC90LjQtSAyLUJhc2UpMBQGCSsGAQQBgjcUAgQHDAVT +dWJDQTASBgkrBgEEAYI3FQEEBQIDAgACMIIBZQYDVR0jBIIBXDCCAViAFMJU8bRr +1Ey34G02tCOQ8f7DPJsGoYIBLKSCASgwggEkMR4wHAYJKoZIhvcNAQkBFg9kaXRA +bWluc3Z5YXoucnUxCzAJBgNVBAYTAlJVMRgwFgYDVQQIDA83NyDQnNC+0YHQutCy +0LAxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy0LAxLjAsBgNVBAkMJdGD0LvQuNGG +0LAg0KLQstC10YDRgdC60LDRjywg0LTQvtC8IDcxLDAqBgNVBAoMI9Cc0LjQvdC6 +0L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MRgwFgYFKoUDZAESDTEwNDc3MDIw +MjY3MDExGjAYBggqhQMDgQMBARIMMDA3NzEwNDc0Mzc1MSwwKgYDVQQDDCPQnNC4 +0L3QutC+0LzRgdCy0Y/Qt9GMINCg0L7RgdGB0LjQuIIQTm1HiybyfWV/do4CXOPT +kzCBmAYDVR0fBIGQMIGNMC2gK6AphidodHRwOi8vcmVlc3RyLXBraS5ydS9jZHAv +Z3VjX2dvc3QxMi5jcmwwLaAroCmGJ2h0dHA6Ly9jb21wYW55LnJ0LnJ1L2NkcC9n +dWNfZ29zdDEyLmNybDAtoCugKYYnaHR0cDovL3Jvc3RlbGVjb20ucnUvY2RwL2d1 +Y19nb3N0MTIuY3JsMEMGCCsGAQUFBwEBBDcwNTAzBggrBgEFBQcwAoYnaHR0cDov +L3JlZXN0ci1wa2kucnUvY2RwL2d1Y19nb3N0MTIuY3J0MIH1BgUqhQNkcASB6zCB +6Aw00J/QkNCa0JwgwqvQmtGA0LjQv9GC0L7Qn9GA0L4gSFNNwrsg0LLQtdGA0YHQ +uNC4IDIuMAxD0J/QkNCaIMKr0JPQvtC70L7QstC90L7QuSDRg9C00L7RgdGC0L7Q +stC10YDRj9GO0YnQuNC5INGG0LXQvdGC0YDCuww10JfQsNC60LvRjtGH0LXQvdC4 +0LUg4oSWIDE0OS8zLzIvMi8yMyDQvtGCIDAyLjAzLjIwMTgMNNCX0LDQutC70Y7R +h9C10L3QuNC1IOKEliAxNDkvNy82LzEwNSDQvtGCIDI3LjA2LjIwMTgwCgYIKoUD +BwEBAwIDQQDCxdB+RmSxthiLbG2FhjAlIlokYo6Pj3bljSPmfMrbPHWUwfiriIMJ +MuehVhq0AaOA0VVP/dfEPVMLWasaA13b +-----END CERTIFICATE----- diff --git "a/anchors/ca/ru/\320\234\320\270\320\275\321\206\320\270\321\204\321\200\321\213.pem" "b/anchors/ca/ru/\320\234\320\270\320\275\321\206\320\270\321\204\321\200\321\213.pem" new file mode 100644 index 0000000..fcab19c --- /dev/null +++ "b/anchors/ca/ru/\320\234\320\270\320\275\321\206\320\270\321\204\321\200\321\213.pem" @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFUTCCBP6gAwIBAgIRAJUfo0d8YQQ6rfqFhieCNEIwCgYIKoUDBwEBAwIwggE7 +MSEwHwYJKoZIhvcNAQkBFhJkaXRAZGlnaXRhbC5nb3YucnUxCzAJBgNVBAYTAlJV +MRgwFgYDVQQIDA83NyDQnNC+0YHQutCy0LAxGTAXBgNVBAcMENCzLiDQnNC+0YHQ +utCy0LAxUzBRBgNVBAkMStCf0YDQtdGB0L3QtdC90YHQutCw0Y8g0L3QsNCx0LXR +gNC10LbQvdCw0Y8sINC00L7QvCAxMCwg0YHRgtGA0L7QtdC90LjQtSAyMSYwJAYD +VQQKDB3QnNC40L3RhtC40YTRgNGLINCg0L7RgdGB0LjQuDEYMBYGBSqFA2QBEg0x +MDQ3NzAyMDI2NzAxMRUwEwYFKoUDZAQSCjc3MTA0NzQzNzUxJjAkBgNVBAMMHdCc +0LjQvdGG0LjRhNGA0Ysg0KDQvtGB0YHQuNC4MB4XDTIyMDEwODEzMzIzOVoXDTQw +MDEwODEzMzIzOVowggE7MSEwHwYJKoZIhvcNAQkBFhJkaXRAZGlnaXRhbC5nb3Yu +cnUxCzAJBgNVBAYTAlJVMRgwFgYDVQQIDA83NyDQnNC+0YHQutCy0LAxGTAXBgNV +BAcMENCzLiDQnNC+0YHQutCy0LAxUzBRBgNVBAkMStCf0YDQtdGB0L3QtdC90YHQ +utCw0Y8g0L3QsNCx0LXRgNC10LbQvdCw0Y8sINC00L7QvCAxMCwg0YHRgtGA0L7Q +tdC90LjQtSAyMSYwJAYDVQQKDB3QnNC40L3RhtC40YTRgNGLINCg0L7RgdGB0LjQ +uDEYMBYGBSqFA2QBEg0xMDQ3NzAyMDI2NzAxMRUwEwYFKoUDZAQSCjc3MTA0NzQz +NzUxJjAkBgNVBAMMHdCc0LjQvdGG0LjRhNGA0Ysg0KDQvtGB0YHQuNC4MGYwHwYI +KoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQFpKa6Qda48LjFq/drz2 +M27fFqu/g3+Prxrg9lE+KPzdbvRHwuOtbhlJ92ogmS+i7mhDDGPsWhtPVduV9Kbq +QI6jggHQMIIBzDCB9QYFKoUDZHAEgeswgegMNNCf0JDQmtCcIMKr0JrRgNC40L/R +gtC+0J/RgNC+IEhTTcK7INCy0LXRgNGB0LjQuCAyLjAMQ9Cf0JDQmiDCq9CT0L7Q +u9C+0LLQvdC+0Lkg0YPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3R +gtGAwrsMNdCX0LDQutC70Y7Rh9C10L3QuNC1IOKEliAxNDkvMy8yLzIvMjMg0L7R +giAwMi4wMy4yMDE4DDTQl9Cw0LrQu9GO0YfQtdC90LjQtSDihJYgMTQ5LzcvNi00 +NDkg0L7RgiAzMC4xMi4yMDIxMD8GBSqFA2RvBDYMNNCf0JDQmtCcIMKr0JrRgNC4 +0L/RgtC+0J/RgNC+IEhTTcK7INCy0LXRgNGB0LjQuCAyLjAwDAYFKoUDZHIEAwIB +ADBDBgNVHSAEPDA6MAgGBiqFA2RxATAIBgYqhQNkcQIwCAYGKoUDZHEDMAgGBiqF +A2RxBDAIBgYqhQNkcQUwBgYEVR0gADAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUyRNYsUynYjp+0j88pucUfJ1wo4YwCgYIKoUDBwEB +AwIDQQCCSXhICg3SZ/TTCtRJpBFuXGSy3PeZTEeOwdOHIv0tWiN2q0mPRzB/o6r9 +MXjGqdzfYGtCrq1l5FsXZOI5c/2S +-----END CERTIFICATE----- diff --git "a/anchors/ca/ru/\320\240\320\276\321\201\320\272\320\260\320\267\320\275\320\260.pem" "b/anchors/ca/ru/\320\240\320\276\321\201\320\272\320\260\320\267\320\275\320\260.pem" new file mode 100644 index 0000000..acb5ada --- /dev/null +++ "b/anchors/ca/ru/\320\240\320\276\321\201\320\272\320\260\320\267\320\275\320\260.pem" @@ -0,0 +1,45 @@ +-----BEGIN CERTIFICATE----- +MIIH+TCCB6agAwIBAgILAM/o/2EAAAAABfYwCgYIKoUDBwEBAwIwggE7MSEwHwYJ +KoZIhvcNAQkBFhJkaXRAZGlnaXRhbC5nb3YucnUxCzAJBgNVBAYTAlJVMRgwFgYD +VQQIDA83NyDQnNC+0YHQutCy0LAxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy0LAx +UzBRBgNVBAkMStCf0YDQtdGB0L3QtdC90YHQutCw0Y8g0L3QsNCx0LXRgNC10LbQ +vdCw0Y8sINC00L7QvCAxMCwg0YHRgtGA0L7QtdC90LjQtSAyMSYwJAYDVQQKDB3Q +nNC40L3RhtC40YTRgNGLINCg0L7RgdGB0LjQuDEYMBYGBSqFA2QBEg0xMDQ3NzAy +MDI2NzAxMRUwEwYFKoUDZAQSCjc3MTA0NzQzNzUxJjAkBgNVBAMMHdCc0LjQvdGG +0LjRhNGA0Ysg0KDQvtGB0YHQuNC4MB4XDTIyMDExMDEwNTQ0NloXDTM3MDExMDEw +NTQ0NlowggFXMSAwHgYJKoZIhvcNAQkBFhF1Y19ma0Byb3NrYXpuYS5ydTEYMBYG +A1UECAwPNzcg0JzQvtGB0LrQstCwMRUwEwYFKoUDZAQSCjc3MTA1Njg3NjAxGDAW +BgUqhQNkARINMTA0Nzc5NzAxOTgzMDFgMF4GA1UECQxX0JHQvtC70YzRiNC+0Lkg +0JfQu9Cw0YLQvtGD0YHRgtC40L3RgdC60LjQuSDQv9C10YDQtdGD0LvQvtC6LCDQ +tC4gNiwg0YHRgtGA0L7QtdC90LjQtSAxMRkwFwYDVQQHDBDQsy4g0JzQvtGB0LrQ +stCwMQswCQYDVQQGEwJSVTEuMCwGA1UECgwl0JrQsNC30L3QsNGH0LXQudGB0YLQ +stC+INCg0L7RgdGB0LjQuDEuMCwGA1UEAwwl0JrQsNC30L3QsNGH0LXQudGB0YLQ +stC+INCg0L7RgdGB0LjQuDBmMB8GCCqFAwcBAQEBMBMGByqFAwICIwEGCCqFAwcB +AQICA0MABEC2K1eiN738omFBKg9fAzgFHW2u7ANlsnVh+KK46pSiJ6YpCxzp3sTi +nybSaUBeOfPVVf7aXo7TXITryyyfbOV+o4IEYjCCBF4wEgYDVR0TAQH/BAgwBgEB +/wIBADCBlAYFKoUDZG8EgYoMgYfQn9GA0L7Qs9GA0LDQvNC80L3Qvi3QsNC/0L/Q +sNGA0LDRgtC90YvQuSDQutC+0LzQv9C70LXQutGBIFZpUE5ldCBQS0kgU2Vydmlj +ZSAo0L3QsCDQsNC/0L/QsNGA0LDRgtC90L7QuSDQv9C70LDRgtGE0L7RgNC80LUg +SFNNIDIwMDBRMikwDgYDVR0PAQH/BAQDAgHGMCcGA1UdIAQgMB4wCAYGKoUDZHEB +MAgGBiqFA2RxAjAIBgYqhQNkcQMwDAYFKoUDZHIEAwIBATCCAX0GA1UdIwSCAXQw +ggFwgBTJE1ixTKdiOn7SPzym5xR8nXCjhqGCAUOkggE/MIIBOzEhMB8GCSqGSIb3 +DQEJARYSZGl0QGRpZ2l0YWwuZ292LnJ1MQswCQYDVQQGEwJSVTEYMBYGA1UECAwP +Nzcg0JzQvtGB0LrQstCwMRkwFwYDVQQHDBDQsy4g0JzQvtGB0LrQstCwMVMwUQYD +VQQJDErQn9GA0LXRgdC90LXQvdGB0LrQsNGPINC90LDQsdC10YDQtdC20L3QsNGP +LCDQtNC+0LwgMTAsINGB0YLRgNC+0LXQvdC40LUgMjEmMCQGA1UECgwd0JzQuNC9 +0YbQuNGE0YDRiyDQoNC+0YHRgdC40LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcw +MTEVMBMGBSqFA2QEEgo3NzEwNDc0Mzc1MSYwJAYDVQQDDB3QnNC40L3RhtC40YTR +gNGLINCg0L7RgdGB0LjQuIIRAJUfo0d8YQQ6rfqFhieCNEIwHQYDVR0OBBYEFB2A +JtKJYucEgY8eSuircpJ2Ld09MIGPBgNVHR8EgYcwgYQwKqAooCaGJGh0dHA6Ly9y +ZWVzdHItcGtpLnJ1L2NkcC9ndWMyMDIyLmNybDAqoCigJoYkaHR0cDovL2NvbXBh +bnkucnQucnUvY2RwL2d1YzIwMjIuY3JsMCqgKKAmhiRodHRwOi8vcm9zdGVsZWNv +bS5ydS9jZHAvZ3VjMjAyMi5jcmwwQAYIKwYBBQUHAQEENDAyMDAGCCsGAQUFBzAC +hiRodHRwOi8vcmVlc3RyLXBraS5ydS9jZHAvZ3VjMjAyMi5jcnQwgfUGBSqFA2Rw +BIHrMIHoDDTQn9CQ0JrQnCDCq9Ca0YDQuNC/0YLQvtCf0YDQviBIU03CuyDQstC1 +0YDRgdC40LggMi4wDEPQn9CQ0JogwqvQk9C+0LvQvtCy0L3QvtC5INGD0LTQvtGB +0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgMK7DDXQl9Cw0LrQu9GO0YfQ +tdC90LjQtSDihJYgMTQ5LzMvMi8yLzIzINC+0YIgMDIuMDMuMjAxOAw00JfQsNC6 +0LvRjtGH0LXQvdC40LUg4oSWIDE0OS83LzYtNDQ5INC+0YIgMzAuMTIuMjAyMTAK +BggqhQMHAQEDAgNBADczVMIbKIaVT6vfgJurMdJEyPg8kjhdNN+WzHGqDkMbr41u +njW9HRPMaSOYXQRPnLw+z/OfJ1aTn8oEN3ETLtI= +-----END CERTIFICATE----- diff --git "a/anchors/ca/ru/\320\240\320\276\321\201\321\200\320\265\320\265\321\201\321\202\321\200.pem" "b/anchors/ca/ru/\320\240\320\276\321\201\321\200\320\265\320\265\321\201\321\202\321\200.pem" new file mode 100644 index 0000000..9983ab2 --- /dev/null +++ "b/anchors/ca/ru/\320\240\320\276\321\201\321\200\320\265\320\265\321\201\321\202\321\200.pem" @@ -0,0 +1,51 @@ +-----BEGIN CERTIFICATE----- +MIIJKjCCCNegAwIBAgIRAu6RtgD0rCu/SKAaWxgGcKIwCgYIKoUDBwEBAwIwggFR +MRgwFgYFKoUDZAESDTEwMjc3MDA0ODU3NTcxGjAYBggqhQMDgQMBARIMMDA3NzA1 +NDAxMzQwMQswCQYDVQQGEwJSVTEYMBYGA1UECAwPNzcg0JzQvtGB0LrQstCwMRUw +EwYDVQQHDAzQnNC+0YHQutCy0LAxRzBFBgNVBAkMPtC/0LXRgNC10YPQu9C+0Log +0J7RgNC70LjQutC+0LIsINC00L7QvCAxMCwg0YHRgtGA0L7QtdC90LjQtSAxMTAw +LgYDVQQLDCfQo9C00L7RgdGC0L7QstC10YDRj9GO0YnQuNC5INGG0LXQvdGC0YAx +LzAtBgNVBAoMJtCk0JPQkdCjICLQpNCa0J8g0KDQvtGB0YDQtdC10YHRgtGA0LAi +MS8wLQYDVQQDDCbQpNCT0JHQoyAi0KTQmtCfINCg0L7RgdGA0LXQtdGB0YLRgNCw +IjAeFw0yMTAzMjMxMDU0NDNaFw0yMjA2MjMxMTA0NDNaMIIBCTEYMBYGBSqFA2QB +Eg0xMDQ3Nzk2OTQwNDY1MRowGAYIKoUDA4EDAQESDDAwNzcwNjU2MDUzNjEzMDEG +A1UECQwq0YPQuy4g0JLQvtGA0L7QvdGG0L7QstC+INCf0L7Qu9C1LCDQtC4gNNCQ +MRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxGDAWBgNVBAgMDzc3INCc0L7RgdC60LLQ +sDELMAkGA1UEBhMCUlUxJDAiBgkqhkiG9w0BCQEWFTAwX09aSUwxQHJvc3JlZXN0 +ci5ydTEbMBkGA1UECgwS0KDQvtGB0YDQtdC10YHRgtGAMRswGQYDVQQDDBLQoNC+ +0YHRgNC10LXRgdGC0YAwZjAfBggqhQMHAQEBATATBgcqhQMCAiQABggqhQMHAQEC +AgNDAARALRZHYJmiFHpo5GA207b51rasg2UUREcaWiCX2Wf1RGZd/9MMD/saYpQD +XgCOd8UXp9w81cZGLfTWTgNqgUNyPqOCBcUwggXBMA4GA1UdDwEB/wQEAwID+DAd +BgNVHQ4EFgQURsFyHF02bzoGXwMgWi0wDiVXC+MwGwYDVR0lBBQwEgYIKwYBBQUH +AwIGBiqFA2QCAjBFBggrBgEFBQcBAQQ5MDcwNQYIKwYBBQUHMAKGKWh0dHA6Ly91 +Yy5rYWRhc3RyLnJ1L3Jvb3QvaW5kZXgvcm9vdDcuY2VyMB0GA1UdIAQWMBQwCAYG +KoUDZHEBMAgGBiqFA2RxAjCCATgGA1UdEQSCAS8wggErpIIBJzCCASMxggEfMIIB +GwYJKoZIhvcNAQkIDIIBDNCh0LXRgNCy0LjRgSDQv9GA0LjQtdC80LAg0Y3Qu9C1 +0LrRgtGA0L7QvdC90YvRhSDQt9Cw0Y/QstC70LXQvdC40LksINC/0YDQtdC00L7R +gdGC0LDQstC70LXQvdC40Y8g0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0YXQvtC0 +0LUg0LjRgdC/0L7Qu9C90LXQvdC40Y8g0YPRgdC70YPQs9C4INC4INCy0YvQtNCw +0YfQuCDRgNC10LfRg9C70YzRgtCw0YLQvtCyINC+0LrQsNC30LDQvdC40Y8g0YPR +gdC70YPQs9C4INCyINGN0LvQtdC60YLRgNC+0L3QvdC+0Lwg0LLQuNC00LUwggG9 +BgUqhQNkcASCAbIwggGuDFDQodCa0JfQmCAi0JrRgNC40L/RgtC+0J/RgNC+IENT +UCIg0LLQtdGA0YHQuNGPIDQuMCAo0LjRgdC/0L7Qu9C90LXQvdC40LUgMi1CYXNl +KQyBt9Cf0YDQvtCz0YDQsNC80LzQvdC+LdCw0L/Qv9Cw0YDQsNGC0L3Ri9C5INC6 +0L7QvNC/0LvQtdC60YEgItCj0LTQvtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQ +tdC90YLRgCAi0JrRgNC40L/RgtC+0J/RgNC+INCj0KYiINCy0LXRgNGB0LjQuCAy +LjAiICjQstCw0YDQuNCw0L3RgiDQuNGB0L/QvtC70L3QtdC90LjRjyA1KQxP0KHQ +tdGA0YLQuNGE0LjQutCw0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQ +odCkLzEyNC0zOTY2INC+0YIgMTUuMDEuMjAyMQxP0KHQtdGA0YLQuNGE0LjQutCw +0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQodCkLzEyOC0zODY4INC+ +0YIgMjMuMDcuMjAyMDA/BgUqhQNkbwQ2DDTQodCa0JfQmCAi0JrRgNC40L/RgtC+ +0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApMD8GA1UdHwQ4MDYwNKAyoDCG +Lmh0dHA6Ly91Yy5rYWRhc3RyLnJ1L3Jldm9rZS9pbmRleC9yZXZva2VkNy5jcmww +ggFfBgNVHSMEggFWMIIBUoAUEPru7ZjoSQxGYhsL4RgIuKl9k5uhggEspIIBKDCC +ASQxHjAcBgkqhkiG9w0BCQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUx +GDAWBgNVBAgMDzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMuINCc0L7RgdC6 +0LLQsDEuMCwGA1UECQwl0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGPLCDQtNC+ +0LwgNzEsMCoGA1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHRgdC4 +0LgxGDAWBgUqhQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEBEgwwMDc3 +MTA0NzQzNzUxLDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB +0YHQuNC4ggoiLy26AAAAAATXMCsGA1UdEAQkMCKADzIwMjEwMzIzMTA1NDQzWoEP +MjAyMjA2MjMxMDU0NDNaMAoGCCqFAwcBAQMCA0EAt5RwEoIF+aFW9cW7Xk1K+xMB +GIOA4trSRqBaOQ8LCpEnAjhivJIBMaaw0W5VcNHbHf+bEz2yzVWH9F6fUP2Q0w== +-----END CERTIFICATE----- diff --git "a/anchors/ca/ru/\320\242\320\246\320\230.pem" "b/anchors/ca/ru/\320\242\320\246\320\230.pem" new file mode 100644 index 0000000..57c4503 --- /dev/null +++ "b/anchors/ca/ru/\320\242\320\246\320\230.pem" @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIBVDCB+6ADAgECAgwB3q3A3gCMGXg8etYwCgYIKoZIzj0EAw +IwHDEaMBgGA1UEAwwRVENJIEVDRFNBIFJPT1QgQTEwHhcNMjIw +MzMwMDkzMzE4WhcNMzIwMzMwMDkzMzE4WjAcMRowGAYDVQQDDB +FUQ0kgRUNEU0EgUk9PVCBBMTBZMBMGByqGSM49AgEGCCqGSM49 +AwEHA0IABJni7LJT4Gj86pG0s9wOefWgqgp/EGf4ZcSxNgAJfh +cl6WYNoWaZfflki4Rd0VzAJgbaTSW26zuv2mGM61txD96jIzAh +MA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCC +qGSM49BAMCA0gAMEUCIDKjKPoaZrqtljmuy60G1PYINvR3A1eL +OzT4RfhGBTrBAiEAhJL7IeLDbo2eZAIp4zioaIpo1hVyXkABNb +npOTQ9KPs= +-----END CERTIFICATE----- diff --git "a/anchors/ca/ru/\320\244\320\232\320\237\320\240\320\276\321\201\321\200\320\265\320\265\321\201\321\202\321\200.pem" "b/anchors/ca/ru/\320\244\320\232\320\237\320\240\320\276\321\201\321\200\320\265\320\265\321\201\321\202\321\200.pem" new file mode 100644 index 0000000..4a93b1f --- /dev/null +++ "b/anchors/ca/ru/\320\244\320\232\320\237\320\240\320\276\321\201\321\200\320\265\320\265\321\201\321\202\321\200.pem" @@ -0,0 +1,43 @@ +-----BEGIN CERTIFICATE----- +MIIHrDCCB1mgAwIBAgIKIi8tugAAAAAE1zAKBggqhQMHAQEDAjCCASQxHjAcBgkq +hkiG9w0BCQEWD2RpdEBtaW5zdnlhei5ydTELMAkGA1UEBhMCUlUxGDAWBgNVBAgM +Dzc3INCc0L7RgdC60LLQsDEZMBcGA1UEBwwQ0LMuINCc0L7RgdC60LLQsDEuMCwG +A1UECQwl0YPQu9C40YbQsCDQotCy0LXRgNGB0LrQsNGPLCDQtNC+0LwgNzEsMCoG +A1UECgwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHRgdC40LgxGDAWBgUq +hQNkARINMTA0NzcwMjAyNjcwMTEaMBgGCCqFAwOBAwEBEgwwMDc3MTA0NzQzNzUx +LDAqBgNVBAMMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQuNC4MB4X +DTIwMTEyMDA4NDkyMloXDTM1MTEyMDA4NDkyMlowggFRMRgwFgYFKoUDZAESDTEw +Mjc3MDA0ODU3NTcxGjAYBggqhQMDgQMBARIMMDA3NzA1NDAxMzQwMQswCQYDVQQG +EwJSVTEYMBYGA1UECAwPNzcg0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQ +utCy0LAxRzBFBgNVBAkMPtC/0LXRgNC10YPQu9C+0Log0J7RgNC70LjQutC+0LIs +INC00L7QvCAxMCwg0YHRgtGA0L7QtdC90LjQtSAxMTAwLgYDVQQLDCfQo9C00L7R +gdGC0L7QstC10YDRj9GO0YnQuNC5INGG0LXQvdGC0YAxLzAtBgNVBAoMJtCk0JPQ +kdCjICLQpNCa0J8g0KDQvtGB0YDQtdC10YHRgtGA0LAiMS8wLQYDVQQDDCbQpNCT +0JHQoyAi0KTQmtCfINCg0L7RgdGA0LXQtdGB0YLRgNCwIjBmMB8GCCqFAwcBAQEB +MBMGByqFAwICIwEGCCqFAwcBAQICA0MABEAub08wAHxEYraLidGC8LljGlvN3Sm+ +C86kQlpihsNvBHeiZc9RcTKYQn9I2Bezpc6nOWzXcBrnV4OtTvF8N/S8o4IEMzCC +BC8wCwYDVR0PBAQDAgGGMB0GA1UdDgQWBBQQ+u7tmOhJDEZiGwvhGAi4qX2TmzAS +BgNVHRMBAf8ECDAGAQH/AgEAMCUGA1UdIAQeMBwwBgYEVR0gADAIBgYqhQNkcQEw +CAYGKoUDZHECMFsGBSqFA2RvBFIMUNCh0JrQl9CYICLQmtGA0LjQv9GC0L7Qn9GA +0L4gQ1NQIiDQstC10YDRgdC40Y8gNC4wICjQuNGB0L/QvtC70L3QtdC90LjQtSAy +LUJhc2UpMBQGCSsGAQQBgjcUAgQHDAVTdWJDQTASBgkrBgEEAYI3FQEEBQIDAgAC +MIIBZQYDVR0jBIIBXDCCAViAFMJU8bRr1Ey34G02tCOQ8f7DPJsGoYIBLKSCASgw +ggEkMR4wHAYJKoZIhvcNAQkBFg9kaXRAbWluc3Z5YXoucnUxCzAJBgNVBAYTAlJV +MRgwFgYDVQQIDA83NyDQnNC+0YHQutCy0LAxGTAXBgNVBAcMENCzLiDQnNC+0YHQ +utCy0LAxLjAsBgNVBAkMJdGD0LvQuNGG0LAg0KLQstC10YDRgdC60LDRjywg0LTQ +vtC8IDcxLDAqBgNVBAoMI9Cc0LjQvdC60L7QvNGB0LLRj9C30Ywg0KDQvtGB0YHQ +uNC4MRgwFgYFKoUDZAESDTEwNDc3MDIwMjY3MDExGjAYBggqhQMDgQMBARIMMDA3 +NzEwNDc0Mzc1MSwwKgYDVQQDDCPQnNC40L3QutC+0LzRgdCy0Y/Qt9GMINCg0L7R +gdGB0LjQuIIQTm1HiybyfWV/do4CXOPTkzCBmAYDVR0fBIGQMIGNMC2gK6Aphido +dHRwOi8vcmVlc3RyLXBraS5ydS9jZHAvZ3VjX2dvc3QxMi5jcmwwLaAroCmGJ2h0 +dHA6Ly9jb21wYW55LnJ0LnJ1L2NkcC9ndWNfZ29zdDEyLmNybDAtoCugKYYnaHR0 +cDovL3Jvc3RlbGVjb20ucnUvY2RwL2d1Y19nb3N0MTIuY3JsMEMGCCsGAQUFBwEB +BDcwNTAzBggrBgEFBQcwAoYnaHR0cDovL3JlZXN0ci1wa2kucnUvY2RwL2d1Y19n +b3N0MTIuY3J0MIH1BgUqhQNkcASB6zCB6Aw00J/QkNCa0JwgwqvQmtGA0LjQv9GC +0L7Qn9GA0L4gSFNNwrsg0LLQtdGA0YHQuNC4IDIuMAxD0J/QkNCaIMKr0JPQvtC7 +0L7QstC90L7QuSDRg9C00L7RgdGC0L7QstC10YDRj9GO0YnQuNC5INGG0LXQvdGC +0YDCuww10JfQsNC60LvRjtGH0LXQvdC40LUg4oSWIDE0OS8zLzIvMi8yMyDQvtGC +IDAyLjAzLjIwMTgMNNCX0LDQutC70Y7Rh9C10L3QuNC1IOKEliAxNDkvNy82LzEw +NSDQvtGCIDI3LjA2LjIwMTgwCgYIKoUDBwEBAwIDQQBkwci6wQBRV9DuqI6e3Qtp +VfS26StAt0Q3G+GXxE9HT9toUbddJCqgXXDeiUHLZDkLpcxaroaA9dzmr4IGzopO +-----END CERTIFICATE----- diff --git a/anchors/ca/sectigo.pem b/anchors/ca/sectigo.pem new file mode 100644 index 0000000..5a37fad --- /dev/null +++ b/anchors/ca/sectigo.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGEzCCA/ugAwIBAgIQfVtRJrR2uhHbdBYLvFMNpzANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx +MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBjzELMAkGA1UEBhMCR0IxGzAZBgNV +BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE +ChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFJTQSBEb21haW4g +VmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA1nMz1tc8INAA0hdFuNY+B6I/x0HuMjDJsGz99J/LEpgPLT+N +TQEMgg8Xf2Iu6bhIefsWg06t1zIlk7cHv7lQP6lMw0Aq6Tn/2YHKHxYyQdqAJrkj +eocgHuP/IJo8lURvh3UGkEC0MpMWCRAIIz7S3YcPb11RFGoKacVPAXJpz9OTTG0E +oKMbgn6xmrntxZ7FN3ifmgg0+1YuWMQJDgZkW7w33PGfKGioVrCSo1yfu4iYCBsk +Haswha6vsC6eep3BwEIc4gLw6uBK0u+QDrTBQBbwb4VCSmT3pDCg/r8uoydajotY +uK3DGReEY+1vVv2Dy2A0xHS+5p3b4eTlygxfFQIDAQABo4IBbjCCAWowHwYDVR0j +BBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFI2MXsRUrYrhd+mb ++ZsF4bgBjWHhMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G +A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAbBgNVHSAEFDASMAYGBFUdIAAw +CAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0 +LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2Bggr +BgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNv +bS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDov +L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAMr9hvQ5Iw0/H +ukdN+Jx4GQHcEx2Ab/zDcLRSmjEzmldS+zGea6TvVKqJjUAXaPgREHzSyrHxVYbH +7rM2kYb2OVG/Rr8PoLq0935JxCo2F57kaDl6r5ROVm+yezu/Coa9zcV3HAO4OLGi +H19+24rcRki2aArPsrW04jTkZ6k4Zgle0rj8nSg6F0AnwnJOKf0hPHzPE/uWLMUx +RP0T7dWbqWlod3zu4f+k+TY4CFM5ooQ0nBnzvg6s1SQ36yOoeNDT5++SR2RiOSLv +xvcRviKFxmZEJCaOEDKNyJOuB56DPi/Z+fVGjmO+wea03KbNIaiGCpXZLoUmGv38 +sbZXQm2V0TP2ORQGgkE49Y9Y3IBbpNV9lXj9p5v//cWoaasm56ekBYdbqbe4oyAL +l6lFhd2zi+WJN44pDfwGF/Y4QA5C5BIG+3vzxhFoYt/jmPQT2BVPi7Fp2RBgvGQq +6jG35LWjOhSbJuMLe/0CjraZwTiXWTb2qHSihrZe68Zk6s+go/lunrotEbaGmAhY +LcmsJWTyXnW0OMGuf1pGg+pRyrbxmRE1a6Vqe8YAsOf4vmSyrcjC8azjUeqkk+B5 +yOGBQMkKW+ESPMFgKuOXwIlCypTPRpgSabuY0MLTDXJLR27lk8QyKGOHQ+SwMj4K +00u/I5sUKUErmgQfky3xxzlIPK1aEn8= +-----END CERTIFICATE----- diff --git a/anchors/ca/thawte/Primary_Root_CA-G2_ECC.pem b/anchors/ca/thawte/Primary_Root_CA-G2_ECC.pem new file mode 100644 index 0000000..447ee3d --- /dev/null +++ b/anchors/ca/thawte/Primary_Root_CA-G2_ECC.pem @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp +IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi +BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw +MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig +YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v +dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ +BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 +papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K +DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 +KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox +XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- diff --git a/anchors/ca/thawte/Primary_Root_CA-G3_SHA256.pem b/anchors/ca/thawte/Primary_Root_CA-G3_SHA256.pem new file mode 100644 index 0000000..acfed9d --- /dev/null +++ b/anchors/ca/thawte/Primary_Root_CA-G3_SHA256.pem @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB +rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV +BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa +Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl +LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u +MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm +gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 +YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf +b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 +9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S +zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk +OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA +2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW +oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c +KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM +m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu +MdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- diff --git a/anchors/ca/thawte/Primary_Root_CA-G4_DSA.pem b/anchors/ca/thawte/Primary_Root_CA-G4_DSA.pem new file mode 100644 index 0000000..e4e48d3 --- /dev/null +++ b/anchors/ca/thawte/Primary_Root_CA-G4_DSA.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFjzCCBTSgAwIBAgIQLk/0vCQf0ZZ/H92kT/tl/jALBglghkgBZQMEAwIwga4x +CzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xKDAmBgNVBAsTH0Nl +cnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xODA2BgNVBAsTLyhjKSAyMDEy +IHRoYXd0ZSwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MSQwIgYDVQQD +Ext0aGF3dGUgUHJpbWFyeSBSb290IENBIC0gRzQwHhcNMTIxMDE1MDAwMDAwWhcN +MzcxMjAxMjM1OTU5WjCBrjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg +SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4 +MDYGA1UECxMvKGMpIDIwMTIgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQg +dXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHNDCC +A0YwggI5BgcqhkjOOAQBMIICLAKCAQEAuKVG7qscYrwa+gRUVIUUaIbYo3g8dU85 +I2dmd62jZc6E4M7CnLmimI1lYeQ8QhGJvNGhvIZQoK62KtiKAmR7CZ8FeDPujvMx +gh/NiWmiTXHKUABzR9rTX+GFXGIzKpwLgYEH+aX4T8DGOJbT1NQjvtrUD+OjUv/t +MlC7Sf+/RGlQe9vanTKB1wenDEKaO/9QgleE29AtpdzuGzTVI2VwL1kNA8Ez9XdE +r6WTYOI+CX/z9O/itvXTThpPbHoXN8lbOEKHSnINQeURhU4dfcTClLj01T8j47LO +yg7WxlpRWGNjRh/FAeU6ETZvd4UE1Zq7Uq6XVnxgc3p47vkpXdLVLQIhALPolWFX +lPUCYH74I/jxM3/Zzuw9PVr8b3okbIFwNq+hAoIBABEgze+P0RWy3WZy1w6reNOI +0n5QtwiwvCnDGt/HPO7NeB0qhyLXl9NwVdj1OmN9jn3mfATGrpuJZOBQkoAfTp+Y +rz6SN9nS9ityIvDpZu7+XEp8qU95xsJ69rS7lRle2qPT5iolHGKA4czbwOLephg8 +GGIoIorQcxgUVRHXFhvswgcAxHv5fG3vX+YTnycrvPsVt+Uv5vteIUyBD5J6ybOg +xEEgtSeBKkrEDHTTQU/8ZxJR1Wd3CmYJXICvbG7GnbX5BSVSoPqC58KBqqjY9j+F +IyAV/Vyi1VqVr+qxfzrwXqxS0e6eZXIe4/ztknFOwrfyUBLnsQkfG7c8EWvcMsAD +ggEFAAKCAQBTC/9/4vZWeiazdA/ujWrT/ZypqHFDIAXaIe/l8yMhZJnAxkJGlsK1 +aGwMtcVCzrxrRQXMocvNntNTv5SIA2yg5HkHO1z/2mb360X4u374cVmNbZN6vKi2 +RwIngV/b4SKpT8pCwUXOOO9wHZYQJi/aHXGBwkkrHLknS9RvEXaHd+NGCcTc3MRp +ANpGl5ri4FQ0aDdw8OT3ITHvpUxfmv5z7z6U3ZMwnio7ZCVFj0YBD900oiHhlpwY +LbbJiVIWvze+hxsIBOxVCJHf7vr0FqN+8BJK4SHKHgAI/IHOz3vM6fXAevDj/F9F +7IQYh94T6mGueqYylB9ib/diNcqfO7Nqo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUx2eJZCLxnbHzi4Omwg6Zk1F265YwCwYJ +YIZIAWUDBAMCA0gAMEUCIQCu5jrSlbF2eM49USoLQ36j8pTHZKIvLvWARxfM6dvr +cwIgXKaxL+n4xluL6+8J3bYiE/wb5wUoC8hlSfg82gzLMd8= +-----END CERTIFICATE----- diff --git a/anchors/ca/thawte/Primary_Root_CA.pem b/anchors/ca/thawte/Primary_Root_CA.pem new file mode 100644 index 0000000..998460f --- /dev/null +++ b/anchors/ca/thawte/Primary_Root_CA.pem @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw +NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j +LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG +A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs +W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta +3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk +6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 +Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J +NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP +r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU +DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz +YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 +/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ +LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 +jVaMaA== +-----END CERTIFICATE----- diff --git a/anchors/ca/thawte/Timestamping_CA.pem b/anchors/ca/thawte/Timestamping_CA.pem new file mode 100644 index 0000000..489d84b --- /dev/null +++ b/anchors/ca/thawte/Timestamping_CA.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICsDCCAhmgAwIBAgIQZ8jh6OO+HL38kTuOpiOHSTANBgkqhkiG9w0BAQUFADCB +izELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxML +RHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUVGhhd3RlIENl +cnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcgQ0EwHhcN +OTcwMTAxMDAwMDAwWhcNMjEwMTAxMjM1OTU5WjCBizELMAkGA1UEBhMCWkExFTAT +BgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNV +BAoTBlRoYXd0ZTEdMBsGA1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNV +BAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0A +MIGJAoGBANYrWHhhRYZT6jR7UZztsOYuGA7+4F+oJ9O0yeB8WU4WDnNUYMF/9p8u +6TqFJBU820cEY8OexJQaWt9MevPZQx08EHp5JduQ/vBR5zDWQQD9nyjfeb6Uu522 +FOMjhdepQeBMpHmwKxqL8vg7ij5FrHGSALSQQZj7X+36ty6K+Ig3AgMBAAGjEzAR +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAS+mqF4EF+3kKMZ/F +QfRWVKvpwuWXjhj+kckMPiZkyaFMJ2SnvQGTVXFuF0853BvcSTUQOSP/ypvIz2Y/ +3Ewa1IEGQlIf4SaxFhe65nByMUToTo1b5NP50OOPJWQx5yr4GIg2GlLFDUE1G2m3 +JvUXzMEZXkt8XOKDgJH6L/uatxY= +-----END CERTIFICATE----- diff --git a/anchors/ca/zerossl.pem b/anchors/ca/zerossl.pem new file mode 100644 index 0000000..1d1739b --- /dev/null +++ b/anchors/ca/zerossl.pem @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIG1TCCBL2gAwIBAgIQbFWr29AHksedBwzYEZ7WvzANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMjAw +MTMwMDAwMDAwWhcNMzAwMTI5MjM1OTU5WjBLMQswCQYDVQQGEwJBVDEQMA4GA1UE +ChMHWmVyb1NTTDEqMCgGA1UEAxMhWmVyb1NTTCBSU0EgRG9tYWluIFNlY3VyZSBT +aXRlIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAhmlzfqO1Mdgj +4W3dpBPTVBX1AuvcAyG1fl0dUnw/MeueCWzRWTheZ35LVo91kLI3DDVaZKW+TBAs +JBjEbYmMwcWSTWYCg5334SF0+ctDAsFxsX+rTDh9kSrG/4mp6OShubLaEIUJiZo4 +t873TuSd0Wj5DWt3DtpAG8T35l/v+xrN8ub8PSSoX5Vkgw+jWf4KQtNvUFLDq8mF +WhUnPL6jHAADXpvs4lTNYwOtx9yQtbpxwSt7QJY1+ICrmRJB6BuKRt/jfDJF9Jsc +RQVlHIxQdKAJl7oaVnXgDkqtk2qddd3kCDXd74gv813G91z7CjsGyJ93oJIlNS3U +gFbD6V54JMgZ3rSmotYbz98oZxX7MKbtCm1aJ/q+hTv2YK1yMxrnfcieKmOYBbFD +hnW5O6RMA703dBK92j6XRN2EttLkQuujZgy+jXRKtaWMIlkNkWJmOiHmErQngHvt +iNkIcjJumq1ddFX4iaTI40a6zgvIBtxFeDs2RfcaH73er7ctNUUqgQT5rFgJhMmF +x76rQgB5OZUkodb5k2ex7P+Gu4J86bS15094UuYcV09hVeknmTh5Ex9CBKipLS2W +2wKBakf+aVYnNCU6S0nASqt2xrZpGC1v7v6DhuepyyJtn3qSV2PoBiU5Sql+aARp +wUibQMGm44gjyNDqDlVp+ShLQlUH9x8CAwEAAaOCAXUwggFxMB8GA1UdIwQYMBaA +FFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBTI2XhootkZaNU9ct5fCj7c +tYaGpjAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUE +FjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwIgYDVR0gBBswGTANBgsrBgEEAbIxAQIC +TjAIBgZngQwBAgEwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2VydHJ1 +c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYG +CCsGAQUFBwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3Qu +Y29tL1VTRVJUcnVzdFJTQUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRw +Oi8vb2NzcC51c2VydHJ1c3QuY29tMA0GCSqGSIb3DQEBDAUAA4ICAQAVDwoIzQDV +ercT0eYqZjBNJ8VNWwVFlQOtZERqn5iWnEVaLZZdzxlbvz2Fx0ExUNuUEgYkIVM4 +YocKkCQ7hO5noicoq/DrEYH5IuNcuW1I8JJZ9DLuB1fYvIHlZ2JG46iNbVKA3ygA +Ez86RvDQlt2C494qqPVItRjrz9YlJEGT0DrttyApq0YLFDzf+Z1pkMhh7c+7fXeJ +qmIhfJpduKc8HEQkYQQShen426S3H0JrIAbKcBCiyYFuOhfyvuwVCFDfFvrjADjd +4jX1uQXd161IyFRbm89s2Oj5oU1wDYz5sx+hoCuh6lSs+/uPuWomIq3y1GDFNafW ++LsHBU16lQo5Q2yh25laQsKRgyPmMpHJ98edm6y2sHUabASmRHxvGiuwwE25aDU0 +2SAeepyImJ2CzB80YG7WxlynHqNhpE7xfC7PzQlLgmfEHdU+tHFeQazRQnrFkW2W +kqRGIq7cKRnyypvjPMkjeiV9lRdAM9fSJvsB3svUuu1coIG1xxI1yegoGM4r5QP4 +RGIVvYaiI76C0djoSbQ/dkIUUXQuB8AL5jyH34g3BZaaXyvpmnV4ilppMXVAnAYG +ON51WhJ6W0xNdNJwzYASZYH+tmCWI+N60Gv2NNMGHwMZ7e9bXgzUCZH5FaBFDGR5 +S9VWqHB73Q+OyIVvIbKYcSc2w/aSuFKGSA== +-----END CERTIFICATE----- diff --git a/anchors/dns/@ b/anchors/dns/@ new file mode 100644 index 0000000..305ff65 --- /dev/null +++ b/anchors/dns/@ @@ -0,0 +1,26 @@ +198.41.0.4 +2001:503:ba3e::2:30 +170.247.170.2 +2801:1b8:10::b +192.33.4.12 +2001:500:2::c +199.7.91.13 +2001:500:2d::d +192.203.230.10 +2001:500:a8::e +192.5.5.241 +2001:500:2f::f +192.112.36.4 +2001:500:12::d0d +198.97.190.53 +2001:500:1::53 +192.36.148.17 +2001:7fe::53 +192.58.128.30 +2001:503:c27::2:30 +193.0.14.129 +2001:7fd::1 +199.7.83.42 +2001:500:9f::42 +202.12.27.33 +2001:dc3::35 diff --git a/anchors/dns/@.do b/anchors/dns/@.do new file mode 100644 index 0000000..248c5f5 --- /dev/null +++ b/anchors/dns/@.do @@ -0,0 +1,6 @@ +redo-ifchange root-servers.net.zone +perl -lane 'print $F[$#F] if $F[3] =~ /^AA?/' < root-servers.net.zone | +while read addr ; do + [ "${addr#*:}" = "$addr" ] && echo $addr || + sipcalc $addr | perl -lane 'print $F[$#F] if /^Compressed address/' +done diff --git a/anchors/dns/buddyns.com b/anchors/dns/buddyns.com new file mode 100644 index 0000000..472b468 --- /dev/null +++ b/anchors/dns/buddyns.com @@ -0,0 +1,4 @@ +185.34.136.178|uz56xw8h7fw656bpfv84pctjbl9rbzbqrw4rpzdhtvzyltpjdmx0zq +2a00:dcc7:d3ff:88b2::1|uz56xw8h7fw656bpfv84pctjbl9rbzbqrw4rpzdhtvzyltpjdmx0zq +192.184.93.99|uz5dkwpjfvfwb9rh1qj93mtup0gw65s6j7vqqumch0r9gzlu8qxx39 +2604:180:1:92a::3|uz5dkwpjfvfwb9rh1qj93mtup0gw65s6j7vqqumch0r9gzlu8qxx39 diff --git a/anchors/dns/dnscurve.cz b/anchors/dns/dnscurve.cz new file mode 100644 index 0000000..dc4fa21 --- /dev/null +++ b/anchors/dns/dnscurve.cz @@ -0,0 +1,4 @@ +185.66.36.55|uz5mj60yr9tnudkkpcglw1y0w6dlh78j1l4gk4z7t8bsf1u4d48wlq +37.157.196.86|uz5mj60yr9tnudkkpcglw1y0w6dlh78j1l4gk4z7t8bsf1u4d48wlq +2a02:2b88:2:1::127d:1|uz5mj60yr9tnudkkpcglw1y0w6dlh78j1l4gk4z7t8bsf1u4d48wlq +2a03:1e20:0:5::2|uz5mj60yr9tnudkkpcglw1y0w6dlh78j1l4gk4z7t8bsf1u4d48wlq diff --git a/anchors/dns/ianix.com b/anchors/dns/ianix.com new file mode 100644 index 0000000..7e6af90 --- /dev/null +++ b/anchors/dns/ianix.com @@ -0,0 +1,2 @@ +104.248.15.206|uz5dns1bx64zu3pgn9nm4zfvmh2vy4hpjy7nkjz6qjcu325bg9hzcx +104.207.143.9|uz5dns2sdrnxskf5lqt46v34cdlfqb9q2lvvmpr95g3l1qh0148sf6 diff --git a/anchors/dns/root-servers.net.zone.do b/anchors/dns/root-servers.net.zone.do new file mode 100644 index 0000000..9a63e2c --- /dev/null +++ b/anchors/dns/root-servers.net.zone.do @@ -0,0 +1,5 @@ +wget -O $3.gz https://www.internic.net/zones/root-servers.net.zone.gz +wget -O $3.gz.sig https://www.internic.net/zones/root-servers.net.zone.gz.sig +gpg --keyring ~/work/keyrings/all.kbx --verify $3.gz.sig +rm $3.gz.sig +gunzip $3.gz diff --git a/anchors/dns/stargrave.org b/anchors/dns/stargrave.org new file mode 100644 index 0000000..d5f6289 --- /dev/null +++ b/anchors/dns/stargrave.org @@ -0,0 +1,4 @@ +45.10.110.72|uz5nulnd504gp3s7sdmdl5l2gxc762hpw926t90k39ltxp67flbccn +2a04:ac00:a:146::25|uz5nulnd504gp3s7sdmdl5l2gxc762hpw926t90k39ltxp67flbccn +91.211.5.21|uz544mqwggqbf3z4utlhfqn45vpbpq78nc63hpg5u2ut29stkt0pkr +2a03:e2c0:2663:1::1|uz544mqwggqbf3z4utlhfqn45vpbpq78nc63hpg5u2ut29stkt0pkr diff --git a/anchors/dns/yp.to b/anchors/dns/yp.to new file mode 100644 index 0000000..249fae9 --- /dev/null +++ b/anchors/dns/yp.to @@ -0,0 +1,2 @@ +131.193.32.108|uz5jmyqz3gz2bhnuzg0rr0cml9u8pntyhn2jhtqn04yt3sm5h235c1 +131.193.32.109|uz5jmyqz3gz2bhnuzg0rr0cml9u8pntyhn2jhtqn04yt3sm5h235c1 diff --git a/anchors/dnssec/default.do b/anchors/dnssec/default.do new file mode 100644 index 0000000..e7b619d --- /dev/null +++ b/anchors/dnssec/default.do @@ -0,0 +1 @@ +wget -O $3 http://data.iana.org/root-anchors/$1 diff --git a/anchors/dnssec/root.key b/anchors/dnssec/root.key new file mode 100644 index 0000000..5672152 --- /dev/null +++ b/anchors/dnssec/root.key @@ -0,0 +1 @@ +. 172800 IN DNSKEY 257 3 8 AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU= diff --git a/anchors/dnssec/root.key.do b/anchors/dnssec/root.key.do new file mode 100644 index 0000000..2015c20 --- /dev/null +++ b/anchors/dnssec/root.key.do @@ -0,0 +1,4 @@ +redo-ifchange icannbundle.pem root-anchors.p7s root-anchors.xml +cmd="unbound-anchor -a $3 -c icannbundle.pem -x root-anchors.xml -s root-anchors.p7s" +$cmd || : +$cmd diff --git a/aria2/.aria2/aria2.conf b/aria2/.aria2/aria2.conf index 5b8813c..efccdaf 100644 --- a/aria2/.aria2/aria2.conf +++ b/aria2/.aria2/aria2.conf @@ -3,9 +3,12 @@ ca-certificate=/etc/ssl/cert.pem bt-max-open-files=1000 bt-max-peers=0 bt-save-metadata=true +dht-entry-point=dht.cypherpunks.ru:8991 +dht-entry-point6=dht.cypherpunks.ru:8991 enable-dht=true enable-dht6=true seed-ratio=0.0 disk-cache=0 file-allocation=trunc force-save=true +#disable-ipv6=true diff --git a/bin/bin/4k2mpeg2.sh b/bin/bin/4k2mpeg2.sh deleted file mode 100755 index a354c4b..0000000 --- a/bin/bin/4k2mpeg2.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -ffmpeg -i "$1" -vf scale=w=iw/4:h=ih/4 -c:v mpeg2video -b:v 10000k -y "$1".mpg diff --git a/bin/bin/bitlbee.sh b/bin/bin/bitlbee.sh deleted file mode 100755 index c149a32..0000000 --- a/bin/bin/bitlbee.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/local/sbin/bitlbee -c ~/.bitlbee.conf diff --git a/bin/bin/cfmt.sh b/bin/bin/cfmt.sh deleted file mode 100755 index e0adac5..0000000 --- a/bin/bin/cfmt.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -clang-format -style="`cat ~/.clang-format`" $@ diff --git a/bin/bin/cp-sorted.sh b/bin/bin/cp-sorted similarity index 100% rename from bin/bin/cp-sorted.sh rename to bin/bin/cp-sorted diff --git a/bin/bin/cueparser b/bin/bin/cueparser new file mode 100755 index 0000000..f701e61 --- /dev/null +++ b/bin/bin/cueparser @@ -0,0 +1,8 @@ +#!/usr/bin/env zsh + +cueprint -i cue -t "%t\n" =(iconv -f ${2:-latin1} -t utf-8 "$1") | while read name; do + (( i++ )) + printf -v num %02d $i + name=${name:gs#/#,} + print -r mv split-track${num}.wav ${num}.${(qq)name}.wav +done diff --git a/bin/bin/cueparser.sh b/bin/bin/cueparser.sh deleted file mode 100755 index 607d268..0000000 --- a/bin/bin/cueparser.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -c=1 -iconv -f latin1 -t utf-8 "$1" | -sed -n 's/^ *TITLE .\(.*\)".*$/\1/p' | while read trackname; do - v=`printf "%02d\n" $c` - echo mv split-track$v.wav $v.\"$trackname\".wav - c=$(( $c + 1 )) -done diff --git a/bin/bin/dc-wrapped.sh b/bin/bin/dc-wrapped.sh deleted file mode 100755 index 74d4af7..0000000 --- a/bin/bin/dc-wrapped.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -# natural logarithm: 1000lLx 10lLx /p -# sum of everything in stack: lSxp -pre="5k 10o \ -[1-d2+/d2*Skd*Sy0Ss10K^Sp[d1r/lk*ls+lsrdss-lp*d*1[s_q]s_>_lkly*sk2+lfx]Sf1lfxLsLkLyLpLfs_s_s_s_]sL \ -[0d[+2z>a]salax]sS -" -exec rlwrap \ - --history-filename /tmp/.dc_history \ - --substitute-prompt "> " \ - --prompt-colour=red \ - --wait-before-prompt -1 \ - --pre-given "$pre" dc diff --git a/bin/bin/dl-magnet b/bin/bin/dl-magnet new file mode 100755 index 0000000..ee429dd --- /dev/null +++ b/bin/bin/dl-magnet @@ -0,0 +1,3 @@ +#!/bin/sh + +exec aria2c --bt-save-metadata --bt-metadata-only "$1" diff --git a/bin/bin/docstringer.pl b/bin/bin/docstringer.pl index 2de9a0e..1b08be3 100755 --- a/bin/bin/docstringer.pl +++ b/bin/bin/docstringer.pl @@ -1,7 +1,7 @@ #!/usr/bin/env perl # Simple script for substitute placeholders in Texinfo files with # docstring values found in source code. -# Copyright (C) 2020 Sergey Matveev (stargrave@stargrave.org) +# Copyright (C) 2020-2024 Sergey Matveev (stargrave@stargrave.org) # # If you C source code contains: # @@ -23,11 +23,11 @@ my $verbose = 0; if ($ARGV[0] eq "-v") { $verbose = 1; shift @ARGV; -}; -my @srcDirs = split / /, $ARGV[0]; -my $docDir = $ARGV[1]; -my $docBuildDir = $ARGV[2]; -my @exts = split / /, defined $ENV{EXTS} ? $ENV{EXTS} : "c h h.in"; +} +my $outDir = $ARGV[0]; +my @srcDirs = split /:/, $ARGV[1]; +my @docDirs = split /:/, $ARGV[2]; +my @exts = split / /, (defined $ENV{EXTS}) ? $ENV{EXTS} : "c h h.in"; my %docstrings; @@ -39,43 +39,48 @@ foreach my $srcDir (@srcDirs) { open(my $src, "<:encoding(UTF-8)", "$srcDir/$fn") or die "can not open $srcDir/$fn"; my $curEntry; - while(<$src>) { + while (<$src>) { chomp; if (not /^\/\//) { if (defined $curEntry) { undef $curEntry; - }; + } next; - }; + } s/^\/\/ ?//; if (/^TEXINFO: (.*)$/) { $curEntry = $1; $docstrings{$curEntry} = ""; print "\t$fn: $curEntry\n" if $verbose; next; - }; - ( $docstrings{$curEntry} .= "$_\n" ) if defined $curEntry; - }; + } + ($docstrings{$curEntry} .= "$_\n") if defined $curEntry; + } close $src; - }; + } closedir $dir; -}; +} -print "doc: $docDir\n" if $verbose; -opendir(my $dir, $docDir) or die "can not open $docDir"; -foreach my $fn (readdir $dir) { - next unless $fn =~ /\.texi$/; - open(my $src, "<:encoding(UTF-8)", "$docDir/$fn") or - die "can not open $docDir/$fn"; - open(my $dst, ">:encoding(UTF-8)", "$docBuildDir/$fn") or - die "can not open $docBuildDir/$fn"; - while(<$src>) { - ( print($dst $_) and next ) unless /^\s*\@DOCSTRING (.*)\@$/; - print "\t$fn: $1\n" if $verbose; - die "unable to find docstring: $1" unless defined $docstrings{$1}; - print $dst $docstrings{$1}; - }; - close $src; - close $dst; -}; -closedir $dir; +foreach my $docDir (@docDirs) { + print "doc: $docDir\n" if $verbose; + opendir(my $dir, $docDir) or die "can not open $docDir"; + ($docDir .= "/") unless $docDir =~ /\/$/; + ($docDir = "") if $docDir eq "./"; + foreach my $fn (readdir $dir) { + next unless $fn =~ /\.texi$/; + $fn = $docDir . $fn; + open(my $src, "<:encoding(UTF-8)", $fn) or die "can not open $fn"; + mkdir "$outDir/$docDir"; + open(my $dst, ">:encoding(UTF-8)", "$outDir/$fn") or + die "can not open $outDir/$fn"; + while (<$src>) { + (print($dst $_) and next) unless /^\s*\@DOCSTRING (.*)\@$/; + print "\t$fn: $1\n" if $verbose; + die "unable to find docstring: $1" unless defined $docstrings{$1}; + print $dst $docstrings{$1}; + } + close $src; + close $dst; + } + closedir $dir; +} diff --git a/bin/bin/exifrm.sh b/bin/bin/exifrm.sh deleted file mode 100755 index 0474704..0000000 --- a/bin/bin/exifrm.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -exiftool -all= -overwrite_original $@ diff --git a/bin/bin/gemget b/bin/bin/gemget new file mode 100755 index 0000000..44024ee --- /dev/null +++ b/bin/bin/gemget @@ -0,0 +1,5 @@ +#!/bin/sh + +h=${1#*//} +h=${h%%/*} +echo "$1" | tcpclient -DHR -l 0 $h 1965 tlsc -name $h -insecure sh -c "addcr >&7 ; delcr <&6" diff --git a/bin/bin/gen-ula b/bin/bin/gen-ula new file mode 100755 index 0000000..0fbda56 --- /dev/null +++ b/bin/bin/gen-ula @@ -0,0 +1,6 @@ +#!/bin/sh + +one=`dd if=/dev/random bs=1 count=1 2>/dev/null | xxd -p` +two=`dd if=/dev/random bs=1 count=2 2>/dev/null | xxd -p` +thr=`dd if=/dev/random bs=1 count=2 2>/dev/null | xxd -p` +sipcalc fd${one}:${two}:${thr}::/48 diff --git a/bin/bin/git-list-gen b/bin/bin/git-list-gen new file mode 100755 index 0000000..e6f8b66 --- /dev/null +++ b/bin/bin/git-list-gen @@ -0,0 +1,23 @@ +#!/bin/sh -e +# Generate list of available git repositories + +cat pre.txt +cat </dev/null | perl -lane 'print $F[$#F - 1] if /^author/'` + [ -z "$mtime" ] || break + done + [ -z "$mtime" ] || mtime=`date -u -j -f %s $mtime "+%Y-%m-%d %H:%M"` + printf "%-30s | %16s | %s\n" ${dir#./} "$mtime" "`cat description`" + git remote | while read remote ; do + printf "%-30s | %16s | %s\n" "" "" "`git remote get-url $remote`" + done + cd .. +done diff --git a/bin/bin/gpg-e-fast.sh b/bin/bin/gpg-e-fast.sh deleted file mode 100755 index 5d44e28..0000000 --- a/bin/bin/gpg-e-fast.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -gpg --compress-level 0 --encrypt --force-aead --cipher-algo AES-128 $@ diff --git a/bin/bin/ips b/bin/bin/ips new file mode 100755 index 0000000..a75c45a --- /dev/null +++ b/bin/bin/ips @@ -0,0 +1,11 @@ +#!/bin/sh -e + +# -de1 + +exec rlwrap \ + --prompt-colour=red \ + --substitute-prompt "> " \ + perl -Mbignum -MEncode -MData::Dumper \ + -e '$Data::Dumper::Useqq = 1;' \ + -e '*x = \&Dumper; $_dummy = $x;' \ + -wnE 'say eval()//$@' diff --git a/bin/bin/jpegtran.sh b/bin/bin/jpegtran.sh deleted file mode 100755 index 2556f15..0000000 --- a/bin/bin/jpegtran.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -jpegtran -optimize -progressive -perfect -copy none $@ diff --git a/bin/bin/mail_dup_hdrs_remove.pl b/bin/bin/mail_dup_hdrs_remove.pl new file mode 100755 index 0000000..dcc78ca --- /dev/null +++ b/bin/bin/mail_dup_hdrs_remove.pl @@ -0,0 +1,46 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +my %hdrs; +my $hdr; +my @hdrs_order; +my %hdrs_dup = ( + "Content-Disposition", 1, + "Date" => 1, + "From" => 1, + "Message-ID" => 1, + "Subject" => 1, + "To" => 1, +); + +while (<>) { + chomp; + last if ($_ eq ""); + /^([^:]+): (.*)$/; + if (/^\s/) { + @{$hdrs{$hdr}}[-1] .= "\n$_"; + next; + }; + $hdr = $1; + my $val = $2; + (defined $hdrs{$hdr}) ? (push @{$hdrs{$hdr}}, $val) : ($hdrs{$hdr} = [$val]); + push @hdrs_order, $hdr; +}; + +my %seen; +foreach (@hdrs_order) { + next if (defined $seen{$_}); + $seen{$_} = 1; + if (defined $hdrs_dup{$_}) { + print "$_: @{$hdrs{$_}}[-1]\n"; + next; + }; + foreach my $val (@{$hdrs{$_}}) { + print "$_: $val\n"; + }; +}; + +print "\n"; +while (<>) { print }; diff --git a/bin/bin/mail_dup_hdrs_remove.py b/bin/bin/mail_dup_hdrs_remove.py deleted file mode 100755 index 669d8b4..0000000 --- a/bin/bin/mail_dup_hdrs_remove.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python3.6 - -import sys - -fn = sys.argv[1] -out = sys.argv[2] -with open(fn, "rb") as fd: - lines = fd.read().split(b"\n") - -def dup(lines, what): - idx = [] - met = False - for i, line in enumerate(lines): - if line == "": - break - if met: - if line.startswith(b" "): - idx.append(i) - continue - else: - met = False - if line.startswith(what): - if len(idx) == 0: - idx.append(i) - met = True - else: - return [l for n, l in enumerate(lines) if n not in idx] - return lines - -lines = dup(lines, b"To") -lines = dup(lines, b"From") -lines = dup(lines, b"Subject") -with open(out, "wb") as fd: - fd.write(b"\n".join(lines)) diff --git a/bin/bin/meshname b/bin/bin/meshname new file mode 100755 index 0000000..f713770 --- /dev/null +++ b/bin/bin/meshname @@ -0,0 +1,6 @@ +#!/bin/sh -e + +sipcalc $1 | +sed -n 's/://g ; s/^Expanded.*-.//p' | +xxd -r -p | +perl -MMIME::Base32 -ne 'print lc encode_base32 $_; print ".meshname\n"' diff --git a/bin/bin/mirror-page-warc.sh b/bin/bin/mirror-page-warc.sh deleted file mode 100755 index f0c8183..0000000 --- a/bin/bin/mirror-page-warc.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -mirror-page.sh "$1" \ - --warc-file $name-$(date '+%Y%M%d%H%m%S') \ - --no-warc-compression \ - --no-warc-keep-log \ - $@ diff --git a/bin/bin/mirror-page.sh b/bin/bin/mirror-page.sh deleted file mode 100755 index 9f5d613..0000000 --- a/bin/bin/mirror-page.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -user_agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27" - -name=$1 -shift -mkdir -p $name - -cd $name -wget \ - --page-requisites \ - --convert-links \ - --adjust-extension \ - --restrict-file-names=ascii \ - --span-hosts \ - --random-wait \ - --execute robots=off \ - --user-agent "$user_agent" \ - --reject '*.woff*,*.ttf,*.eot,*.js' \ - --tries 10 \ - $@ diff --git a/bin/bin/mirror-site-warc.sh b/bin/bin/mirror-site-warc.sh deleted file mode 100755 index 7808115..0000000 --- a/bin/bin/mirror-site-warc.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -mirror-site.sh "$1" \ - --warc-file $name-$(date '+%Y%M%d%H%m%S') \ - --no-warc-compression \ - --no-warc-keep-log \ - $@ diff --git a/bin/bin/mirror-site.sh b/bin/bin/mirror-site.sh deleted file mode 100755 index a5d83c6..0000000 --- a/bin/bin/mirror-site.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -user_agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27" - -name=$1 -shift -mkdir -p $name - -cd $name -wget \ - --page-requisites \ - --convert-links \ - --adjust-extension \ - --restrict-file-names=ascii \ - --span-hosts \ - --random-wait \ - --execute robots=off \ - --recursive \ - --timestamping \ - -l inf \ - --no-remove-listing \ - --no-parent \ - --user-agent "$user_agent" \ - --reject '*.woff*,*.ttf,*.eot,*.js' \ - --tries 10 \ - $@ diff --git a/bin/bin/mkss b/bin/bin/mkss new file mode 100755 index 0000000..a276498 --- /dev/null +++ b/bin/bin/mkss @@ -0,0 +1,19 @@ +#!/bin/sh -e + +sleep 1 +tmp=`mktemp` +trap "rm -f $tmp $tmp.png $tmp.webp $tmp.txt" HUP PIPE INT QUIT TERM EXIT +[ "$1" = "root" ] && { + root="-window root" || root="" + shift +} +import $root $tmp.png +my-cwebpl -o $tmp.webp $tmp.png +if [ "$1" = no ]; then + fn=/tmp/`dd if=/dev/urandom bs=8 count=1 2>/dev/null | xxd -p`.webp + mv $tmp.webp $fn + echo $fn | tee $tmp.txt +else + paster $tmp.webp > $tmp.txt +fi +xmessage -file $tmp.txt diff --git a/bin/bin/mkvclean.sh b/bin/bin/mkvclean.sh deleted file mode 100755 index 476283a..0000000 --- a/bin/bin/mkvclean.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -mkvpropedit \ - --edit info \ - --delete title \ - --delete date \ - --set muxing-application=- \ - --set writing-application=- \ - --chapters "" \ - --tags all: $@ diff --git a/bin/bin/mp b/bin/bin/mp deleted file mode 100755 index 9f03422..0000000 --- a/bin/bin/mp +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env perl - -exec "mpv", map { s/^([A-Z][A-Z])$/--profile=$1/ ; $_ } @ARGV; diff --git a/bin/bin/music-indexer b/bin/bin/music-indexer new file mode 100755 index 0000000..a1e837e --- /dev/null +++ b/bin/bin/music-indexer @@ -0,0 +1,47 @@ +#!/usr/bin/env zsh + +cat <Creator ${=toremove} $1.pdf +[[ -z $LINEARIZE ]] || LINEARIZE=--linearize +qpdf $LINEARIZE --compress-streams=y $1.pdf $1.pdf.pdf +mv $1.pdf.pdf $1.pdf diff --git a/bin/bin/scan.sh b/bin/bin/my-scan similarity index 96% rename from bin/bin/scan.sh rename to bin/bin/my-scan index d5c905f..083c089 100755 --- a/bin/bin/scan.sh +++ b/bin/bin/my-scan @@ -47,7 +47,7 @@ do_next() { do_next while : ; do - echo -n "$cur: crop:$crop rotate:$rotate v/r/c/s/p/n> " + echo -n "$cur: C:$crop R:$rotate v/r/c/s/p/n> " read c case $c in v) diff --git a/bin/bin/tree.sh b/bin/bin/my-tree similarity index 100% rename from bin/bin/tree.sh rename to bin/bin/my-tree diff --git a/bin/bin/xmlpretty.sh b/bin/bin/my-xmlpretty similarity index 100% rename from bin/bin/xmlpretty.sh rename to bin/bin/my-xmlpretty diff --git a/bin/bin/my-zstd b/bin/bin/my-zstd new file mode 100755 index 0000000..9b68c88 --- /dev/null +++ b/bin/bin/my-zstd @@ -0,0 +1,3 @@ +#!/bin/sh -e + +exec zstdmt -v --ultra -22 --rm "$@" diff --git a/bin/bin/pe b/bin/bin/pe deleted file mode 100755 index 9777ecb..0000000 --- a/bin/bin/pe +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/zsh - -typeset -A seen -path-extractor | while read fn ; do - [[ $seen[$fn] -eq 1 ]] && continue - seen+=($fn 1) - print $fn -done | fzf -m diff --git a/bin/bin/plantuml b/bin/bin/plantuml index 6f9d16f..3a9447c 100755 --- a/bin/bin/plantuml +++ b/bin/bin/plantuml @@ -1,3 +1,3 @@ #!/bin/sh -exec java -jar $HOME/src/plantuml.jar $@ +exec java -jar $HOME/src/plantuml/plantuml.jar $@ diff --git a/bin/bin/pngcrush.sh b/bin/bin/pngcrush.sh deleted file mode 100755 index cc73d9b..0000000 --- a/bin/bin/pngcrush.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -ex - -t=$(TMPDIR=. mktemp) -pngcrush -rem alla -rem allb "$1" $t -mv $t "$1" diff --git a/bin/bin/ps2pdf.sh b/bin/bin/ps2pdf.sh deleted file mode 100755 index b892beb..0000000 --- a/bin/bin/ps2pdf.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -gs \ - -dBATCH -dNOPAUSE -dSAFER \ - -sDEVICE=pdfwrite -dPDFA \ - -dPDFSETTINGS=/default \ - -dAutoRotatePages=/None \ - -sColorConversionStrategy=DeviceRGB \ - -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode \ - -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode \ - -dMonoImageFilter=/FlateEncode \ - -dOptimize=true \ - -dEmbedAllFonts=true \ - -sOutputFile="$1".pdf "$1" diff --git a/bin/bin/rem b/bin/bin/rem index 4b7a0da..23250cb 100755 --- a/bin/bin/rem +++ b/bin/bin/rem @@ -1 +1,3 @@ -remind -g ~/rem/index.rem +#!/bin/sh + +remind -g ~/rem/index.rem $@ diff --git a/bin/bin/start-im b/bin/bin/start-im deleted file mode 100755 index 98e1ad3..0000000 --- a/bin/bin/start-im +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/zsh - -. $HOME/bin/tmux-common.sh - -$TMUX has-session -t im && exit -$TMUX new-session -d -s im -$TMUX rename-window -t im:1 "mattermost" -$TMUX split-window -t im:1 - -paste im:1.0 "~/work/matterircd/start.sh" -sleep 1 -paste im:1.1 "irssi" -$TMUX resize-pane -U -t im:1 15 - -#$TMUX select-window -t root:1.0 - -CMD="$TMUX attach-session -t im" CMDTITLE="Terminal8" $HOME/bin/dwm-term & diff --git a/bin/bin/start-lynx.sh b/bin/bin/start-lynx.sh deleted file mode 100755 index a07a6ab..0000000 --- a/bin/bin/start-lynx.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -winid=$1 -shift -exec ~/bin/st -w $winid -e lynx $@ diff --git a/bin/bin/texinavfix.pl b/bin/bin/texinavfix.pl deleted file mode 100755 index e14d808..0000000 --- a/bin/bin/texinavfix.pl +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env perl - -use strict; -use warnings; - -my %rels; -my $header = 0; -my $printed = 0; - -while(){ - ($rels{$2} = $1) if /^$/){ - print "$_

"; - if(defined $rels{"prev"}){ - print "[<<<]"; - }; - if(defined $rels{"up"}){ - print "[^^^]"; - }; - if(defined $rels{"next"}){ - print "[>>>]"; - }; - $header++; - }; - if($header && /^<.div>$/){ - print "

$_"; - $header--; - }; - next if $header; - print; -}; diff --git a/bin/bin/tmux-common.sh b/bin/bin/tmux-common.sh deleted file mode 100644 index 35de255..0000000 --- a/bin/bin/tmux-common.sh +++ /dev/null @@ -1,11 +0,0 @@ -TMUX=/usr/local/bin/tmux - -paste() -{ - local pane="$1" - local cmd="$2" - $TMUX set-buffer "$cmd" - $TMUX paste-buffer -t "$pane" - $TMUX delete-buffer - $TMUX send-keys -t "$pane" Enter -} diff --git a/bin/bin/tmux-fzf.zsh b/bin/bin/tmux-fzf.zsh deleted file mode 100755 index eb66b31..0000000 --- a/bin/bin/tmux-fzf.zsh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env zsh - -cd $2 -set -e -tmp=`mktemp` -trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT - -case $1 in -(find) - find . -mindepth 1 -path "*/.git" -prune -o \ - \( -type f -o -type d -o -type l \) -print | - cut -c3- | fzf -m --preview="less -N -S {}" | - while read fn ; do print ${(q)fn} ; done > $tmp - ;; -(buf-files) - tmux capture-pane -J - tmux save-buffer $tmp.capture - trap "rm -f $tmp.capture" HUP PIPE INT QUIT TERM EXIT - tmux delete-buffer - pe < $tmp.capture > $tmp - ;; -(git-files) git status --short | fzf -m | perl -npe 's/^\s*\S+\s+//' > $tmp ;; -(git-branches) { git branch ; git branch --remote } | fzf > $tmp ;; -(git-commits) - git --no-pager log --oneline -n 20 | perl -ne "print \"@~\$n \$_\"; \$n++" | - fzf --reverse | cut -w -f1 > $tmp - ;; -(*) echo unknown command ; sleep 1 ; exit ;; -esac - -[ -s $tmp ] || exit -tmux set-buffer "`perl -npe 's/\n/ /g' $tmp`" -tmux paste-buffer -tmux delete-buffer diff --git a/bin/bin/tmux-git-extractor.sh b/bin/bin/tmux-git-extractor.sh deleted file mode 100755 index 8cf1488..0000000 --- a/bin/bin/tmux-git-extractor.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -tmux has-session -t git-extractor && tmux kill-session -t git-extractor || : -tmux new-session -d -s git-extractor -c "$1" ' - git status --short | fzf -m --preview="" | while read item ; do - item=`echo $item | cut -w -f2-` - echo -n "$item " - done | read data - tmux set-buffer "$data" - tmux detach -' -tmux set-option -t git-extractor status off -exec tmux attach-session -t git-extractor diff --git a/bin/bin/tmux-menu-pass.sh b/bin/bin/tmux-menu-pass.sh deleted file mode 100755 index bae3919..0000000 --- a/bin/bin/tmux-menu-pass.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -while :; do - echo -n "> " - read pass - passman has "$pass" && break -done -exec passman "$pass" >/dev/null diff --git a/bin/bin/www b/bin/bin/www deleted file mode 100755 index d58285d..0000000 --- a/bin/bin/www +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -[ -e /tmp/stargrave-flags/WG ] && [ -n "$1" ] && { - exec $HOME/local/bin/xombrero -n "$1" 2>/dev/null -} - -term() { - DISPLAY=:0 CMD="tmux attach-session -t www" CMDTITLE="Terminal9" $HOME/bin/dwm-term & -} - -if tmux has-session -t www 2> /dev/null ; then - attached=`tmux list-sessions -F "#{session_attached}" -f "#{==:#{session_name},www}"` - [ "$attached" != "0" ] || { - term & - sleep 0.5 - } - tmux new-window -t www "lynx $@" -else - tmux new-session -d -s www "sleep 0.5 ; lynx $@" - tmux set-option -t www default-command lynx - term & -fi diff --git a/bin/bin/xstatusbar.sh b/bin/bin/xstatusbar.sh deleted file mode 100755 index 17a1b77..0000000 --- a/bin/bin/xstatusbar.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -while :; do - life=$(apm -l) - flags="$(ls /tmp/stargrave-flags | perl -e 'print join " ", sort map { chomp and $_ } <>')" - topinfo=$(top -b -d 1 0 | sed s/[,:]//g) - meminfo=$(echo "$topinfo" | grep "^Mem") - arcinfo=$(echo "$topinfo" | grep "^ARC") - swpinfo=$(echo "$topinfo" | perl -ne 'print $1 if /^Swap \w+ Total (\w+) Used/') - xsetroot -name "$swpinfo $meminfo $arcinfo [$flags] $life% $(date "+%Y-%m-%dT%H:%M:%S")" - sleep 20 -done diff --git a/bin/bin/yt b/bin/bin/yt deleted file mode 100755 index 2bbe403..0000000 --- a/bin/bin/yt +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/local/bin/zsh - -. /usr/local/bin/virtualenvwrapper.sh -workon youtube3 -youtube-dl --config-location ~/.youtube-dl.conf $@ diff --git a/bin/bin/zsnap.zsh b/bin/bin/zsnap similarity index 67% rename from bin/bin/zsnap.zsh rename to bin/bin/zsnap index f9f9702..7bab829 100755 --- a/bin/bin/zsnap.zsh +++ b/bin/bin/zsnap @@ -1,6 +1,6 @@ #!/usr/bin/env zsh -set -e +setopt ERR_EXIT EXTENDED_GLOB usage() { cat < \ - $dst/$latest_filename.zfs.zst.gpg + zfs send -Rwv $latest | zstdmt | $enccmd > $dst/$latest_filename.zfs.zst.age sync touch $dst/$latest_filename.from ;; sync) - dst=$3 [[ -d $dst ]] || usage - latest_dst=($dst/*(.Onn[1])) + mk_fifo + latest_dst=($dst/*.from~$dst/.*(.Onn[1])) [[ $latest_dst ]] latest_dst=${latest_dst[1]} latest_dst=${${latest_dst##*/}%.from} [[ $latest_dst != $latest_filename ]] setopt PIPE_FAIL - zfs send -Rv -i ${latest_dst:gs#%#/} $latest | zstd | ${=enccmd} > \ - $dst/$latest_filename.zfs.zst.gpg + set -x + zfs send -Rwv -i ${latest_dst:gs#%#/} $latest | zstdmt | $enccmd > \ + $dst/$latest_filename.zfs.zst.age + set +x sync print $latest_dst > $dst/$latest_filename.from ;; diff --git a/bin/bin/zstd-gut.sh b/bin/bin/zstd-gut.sh deleted file mode 100755 index 95a0a00..0000000 --- a/bin/bin/zstd-gut.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -zstdmt -v --ultra -22 --rm $@ diff --git a/clang-format/.clang-format b/clang-format/.clang-format index 6e2f208..6499a21 100644 --- a/clang-format/.clang-format +++ b/clang-format/.clang-format @@ -3,7 +3,7 @@ ColumnLimit: 88, IndentWidth: 4, AlignAfterOpenBracket: AlwaysBreak, - AlignConsecutiveAssignments: true, + AlignConsecutiveAssignments: false, AllowAllParametersOfDeclarationOnNextLine: false, AllowShortBlocksOnASingleLine: true, AlwaysBreakAfterReturnType: TopLevel, diff --git a/dc/.dc b/dc/.dc new file mode 100644 index 0000000..d4893b3 --- /dev/null +++ b/dc/.dc @@ -0,0 +1,20 @@ +5k +10o + +# [ 1-d2+/ +# d2*Sk # Initialize multiplier +# d*Sy # Initialize multiplier factor +# 0Ss # Initialize accumulator +# 10K^Sp # Initialize 10^k power +# [ d1r/lk*ls+lsrdss # Update accumulator +# -lp*d*1 [s_q]s_>_ # Check precision +# lkly*sk 2+ # Update multiplier and counter +# lfx +# ]Sf +# 1lfxLs +# LkLyLpLfs_s_s_s_] sL +# natural logarithm: 1000lLx 10lLx /p +[1-d2+/d2*Skd*Sy0Ss10K^Sp[d1r/lk*ls+lsrdss-lp*d*1[s_q]s_>_lkly*sk2+lfx]Sf1lfxLsLkLyLpLfs_s_s_s_]sL + +# sum of everything in stack: lSxp +[0d[+2z>a]salax]sS diff --git a/dc/bin/zc b/dc/bin/zc new file mode 100755 index 0000000..71b29f1 --- /dev/null +++ b/dc/bin/zc @@ -0,0 +1,7 @@ +#!/bin/sh + +exec rlwrap \ + --history-filename /tmp/.dc_history \ + --substitute-prompt "> " \ + --prompt-colour=red \ + dc -f ~/.dc -f - diff --git a/eb/.ebrc b/eb/.ebrc new file mode 100644 index 0000000..b5c06bb --- /dev/null +++ b/eb/.ebrc @@ -0,0 +1,121 @@ +downdir=/home/stargrave/tmp/ +jar=/tmp/.ebjar +cachedir=/tmp/.ebcache +cachesize=200 +webtimer=30 +proxy = http|https * localhost:8080 + +plugin{ + type=image/webp + desc=WebP + suffix=webp + content=image/webp + down_url + program=sxiv %i +} + +plugin{ + type=image/jpeg + desc=JPEG + suffix=jpg + content=image/jpeg + down_url + program=sxiv %i +} + +plugin{ + type=image/png + desc=PNG + suffix=png + content=image/png + down_url + program=sxiv %i +} + +plugin{ + type=image/jxl + desc=JPEG XL + suffix=jxl + content=image/jxl + down_url + program=sxiv %i +} + +plugin{ + type=application/pdf + desc=PDF + suffix=pdf + content=application/pdf + down_url + program=zat %i +} + +function+S{ + b https://html.duckduckgo.com/html?q=~0 + /Next Page/+1 + z20 +} + +function+Sg{ + b https://www.google.com/search?q=~0 + /^{h3/ + z20 +} + +function+Soid{ + b https://oidref.com/~0 + /^h1/ + z20 +} + +function+Spep{ + b https://www.python.org/dev/peps/pep-0~0/ + /^h1/ + z20 +} + +function+Spy{ + b https://pypi.org/project/~0/ + /^h1/ + z20 +} + +function+Srfc{ + b https://datatracker.ietf.org/doc/html/rfc~0 + /^From:/ + z40 +} + +function+Swe{ + b https://en.wikipedia.org/wiki/~0 + /^h1/ + z40 +} + +function+Swr{ + b https://ru.wikipedia.org/wiki/~0 + /^h1/ + z40 +} + +function+Scroll{ + +,+20n + if(?) { + +,$n + if(?) { + 0 " \ + --prompt-colour=red \ + --complete-filenames \ + edbrowse $@ diff --git a/git/.git-ignore b/git/.git-ignore index f427540..29b4423 100644 --- a/git/.git-ignore +++ b/git/.git-ignore @@ -2,7 +2,8 @@ *.o *.pyc *.swp -.hypothesis +.autoenv.zsh +.autoenv_leave.zsh .redo .tags start.sh diff --git a/git/.gitconfig b/git/.gitconfig index b00a96b..bd6ae59 100644 --- a/git/.gitconfig +++ b/git/.gitconfig @@ -1,3 +1,5 @@ +[pack] + threads = 8 [advice] pushUpdateRejected = false detachedHead = false @@ -7,17 +9,16 @@ [user] name = Sergey Matveev email = stargrave@stargrave.org - signingkey = "E49857EF" + signingkey = "12AD32689C660D426967FD75CB8205632107AD8A" [color] diff = auto status = auto branch = auto interactive = auto [core] + compression = 0 excludesfile = /home/stargrave/.git-ignore quotepath = false - filemode = true - logallrefupdates = true whitespace = blank-at-eol, space-before-tab, tab-in-indent, blank-at-eof pager=diff-highlight | $PAGER [log] @@ -35,10 +36,12 @@ colorMoved = default colorMovedWS = allow-indentation-change tool = vimdiff + noprefix = true [grep] lineNumber = true [merge] tool = vimdiff + conflictStyle = zdiff3 [pull] ff = only [help] @@ -47,3 +50,7 @@ defaultBranch = master [format] useAutoBase = true +[safe] + directory = * +[includeIf "gitdir:~/work/stc/"] + path = ~/work/stc/.gitconfig diff --git a/git/.zsh/functions/Gam b/git/.zsh/functions/Gam new file mode 100644 index 0000000..6cf98f0 --- /dev/null +++ b/git/.zsh/functions/Gam @@ -0,0 +1 @@ +git commit --amend diff --git a/git/.zsh/functions/Gbr b/git/.zsh/functions/Gbr new file mode 100644 index 0000000..00038bf --- /dev/null +++ b/git/.zsh/functions/Gbr @@ -0,0 +1 @@ +git branch --remote diff --git a/git/.zsh/functions/Gg b/git/.zsh/functions/Gg new file mode 100644 index 0000000..8bd18b2 --- /dev/null +++ b/git/.zsh/functions/Gg @@ -0,0 +1 @@ +git log -i --grep=$1 diff --git a/git/.zsh/functions/Gm b/git/.zsh/functions/Gm new file mode 100644 index 0000000..5929b13 --- /dev/null +++ b/git/.zsh/functions/Gm @@ -0,0 +1 @@ +git diff --name-only --diff-filter=M --relative diff --git a/git/.zsh/functions/Gr b/git/.zsh/functions/Gr new file mode 100644 index 0000000..82b33ce --- /dev/null +++ b/git/.zsh/functions/Gr @@ -0,0 +1 @@ +git remote -v diff --git a/git/.zsh/rc/010git.zsh b/git/.zsh/rc/010git.zsh new file mode 100644 index 0000000..3301f42 --- /dev/null +++ b/git/.zsh/rc/010git.zsh @@ -0,0 +1,12 @@ +alias Ga="git add" +alias Gb="git branch" +alias Gc="git checkout" +alias Gd="git diff" +alias Gdc="git diff --cached" +alias gg="git grep " +alias ggj="GIT_EDITOR=\"$EDITOR -c copen\" git jump grep " +alias Gl="git log --oneline --graph --decorate=short" +alias Gld="git log --date=format:'%F %R' --pretty=format:'%ad %C(auto)%h %s'" +alias Gp="git log --patch" +alias Gs="git show --show-signature" +bindkey -s "OR" " git status --short\n" # F3 diff --git a/git/.zsh/rc/010vcs.zsh b/git/.zsh/rc/010vcs.zsh new file mode 100644 index 0000000..0550102 --- /dev/null +++ b/git/.zsh/rc/010vcs.zsh @@ -0,0 +1,5 @@ +autoload -Uz vcs_info +zstyle ":vcs_info:*" enable git +zstyle ":vcs_info:*" max-exports 1 +zstyle ":vcs_info:git:*" formats "G" +zstyle ":vcs_info:git:*" actionformats "%a" diff --git a/gnupg/.gnupg/gpg.conf b/gnupg/.gnupg/gpg.conf index f683e2f..fa22865 100644 --- a/gnupg/.gnupg/gpg.conf +++ b/gnupg/.gnupg/gpg.conf @@ -1,22 +1,24 @@ charset utf-8 no-auto-key-retrieve -keyserver hkps://hkps.pool.sks-keyservers.net +# keyserver hkps://keys.openpgp.org +keyserver hkps://keyserver.ubuntu.com no-secmem-warning no-greeting no-emit-version -default-key AE1A8109E49857EF +default-key 12AD32689C660D426967FD75CB8205632107AD8A keyid-format 0xlong photo-viewer sxiv %i trust-model tofu+pgp -auto-key-locate dane wkd hkps://hkps.pool.sks-keyservers.net local +auto-key-locate nodefault dane wkd local aead-algo OCB -personal-aead-preferences OCB EAX -personal-cipher-preferences TWOFISH AES256 CAMELLIA256 AES192 CAMELLIA192 AES CAMELLIA128 CAST5 BLOWFISH IDEA 3DES -personal-digest-preferences SHA512 SHA384 SHA256 SHA224 RIPEMD160 SHA1 -personal-compress-preferences ZLIB ZIP BZIP2 Uncompressed -default-preference-list OCB EAX TWOFISH AES256 CAMELLIA256 AES192 CAMELLIA192 AES CAMELLIA128 CAST5 BLOWFISH IDEA 3DES SHA512 SHA384 SHA256 SHA224 RIPEMD160 SHA1 ZLIB ZIP BZIP2 Uncompressed +personal-aead-preferences OCB +personal-cipher-preferences AES256 TWOFISH AES +personal-digest-preferences SHA512 +personal-compress-preferences ZLIB ZIP Uncompressed +default-preference-list OCB AES256 TWOFISH AES SHA512 ZLIB ZIP Uncompressed cert-digest-algo SHA512 -group myself=AE1A8109E49857EF +group myself=12AD32689C660D426967FD75CB8205632107AD8A +group myold=CF60E89A59231E76E2636422AE1A8109E49857EF diff --git a/gnupg/.zsh/rc/010gpg.zsh b/gnupg/.zsh/rc/010gpg.zsh new file mode 100644 index 0000000..8414481 --- /dev/null +++ b/gnupg/.zsh/rc/010gpg.zsh @@ -0,0 +1,2 @@ +export GPG_TTY=$(tty) +alias gpgkr="gpg --no-default-keyring --keyring " diff --git a/gnupg/bin/mk-wkd-keys b/gnupg/bin/mk-wkd-keys new file mode 100755 index 0000000..b09508e --- /dev/null +++ b/gnupg/bin/mk-wkd-keys @@ -0,0 +1,8 @@ +#!/bin/sh -ex + +email=$1 +shift + +hsh=`gpg-wks-client --print-wkd-hash $email | cut -d " " -f1` +gpg --export $@ > $hsh +gpg --armor --export $@ > $hsh.asc diff --git a/go/bin/go-clean b/go/bin/go-clean new file mode 100755 index 0000000..a5e4742 --- /dev/null +++ b/go/bin/go-clean @@ -0,0 +1,11 @@ +#!/usr/bin/env zsh + +setopt NO_NOMATCH +rm -fr $GOCACHE \ + /tmp/*.pch \ + /tmp/go-build* \ + /tmp/go.*.*.{mod,sum} \ + /tmp/gopackages-* \ + /tmp/gopls-* \ + /tmp/gopls.* \ + $XDG_CACHE_HOME/gopls diff --git a/bin/bin/go-fix-bash b/go/bin/go-fix-bash similarity index 100% rename from bin/bin/go-fix-bash rename to go/bin/go-fix-bash diff --git a/bin/bin/cwebp.sh b/img/bin/my-cwebp similarity index 100% rename from bin/bin/cwebp.sh rename to img/bin/my-cwebp diff --git a/bin/bin/cwebpl.sh b/img/bin/my-cwebpl similarity index 100% rename from bin/bin/cwebpl.sh rename to img/bin/my-cwebpl diff --git a/img/bin/my-exifrm b/img/bin/my-exifrm new file mode 100755 index 0000000..32005d8 --- /dev/null +++ b/img/bin/my-exifrm @@ -0,0 +1,3 @@ +#!/bin/sh + +exiftool -all= -TagsFromFile @ -ColorSpaceTags -overwrite_original "$1" diff --git a/img/bin/my-jxll b/img/bin/my-jxll new file mode 100755 index 0000000..cd6ee12 --- /dev/null +++ b/img/bin/my-jxll @@ -0,0 +1,34 @@ +#!/usr/bin/env zsh + +setopt ERR_EXIT +tmp=`mktemp` +trap "rm -f $tmp.pnm $tmp.jxl" HUP PIPE INT QUIT TERM EXIT +case $1:e in +pnm) cp $1 $tmp.pnm ;; +gif) giftopnm < $1 > $tmp.pnm ;; +png) pngtopnm < $1 > $tmp.pnm ;; +webp) dwebp -mt -quiet -o $tmp.pnm $1 ;; +*) + print unknown extension >&2 + exit 1 +esac + +common=(--quiet --distance=0 --effort=9 --brotli_effort=11) +prev=$(( 1 << 62 )) +best="" +zmodload -F zsh/stat b:zstat +for g (0 1 2 3) { + opts=(--modular_group_size=$g) + cjxl $common $opts $tmp.pnm $tmp.jxl + zstat -A cur +size $tmp.jxl + [[ $cur -gt $prev ]] || { + prev=$cur + best=($opts) + } +} +zstat -A cur +size $1 +[[ $cur -lt $prev ]] && { + print $1 is smaller : $cur vs $prev + exit 2 +} +cjxl $common $best $tmp.pnm $1:r.jxl diff --git a/img/bin/my-pngcrush b/img/bin/my-pngcrush new file mode 100755 index 0000000..06da466 --- /dev/null +++ b/img/bin/my-pngcrush @@ -0,0 +1,6 @@ +#!/bin/sh -ex + +t=$(TMPDIR=. mktemp) +pngcrush -rem alla -rem allb -z 2 "$1" $t +advpng -z -4 $t +mv $t "$1" diff --git a/img/bin/my-transcode-jpg b/img/bin/my-transcode-jpg new file mode 100755 index 0000000..bf4863d --- /dev/null +++ b/img/bin/my-transcode-jpg @@ -0,0 +1,8 @@ +#!/bin/sh -e + +tmp=`mktemp` +trap "rm -f $tmp $tmp.jpg" HUP PIPE INT QUIT TERM EXIT +jpegtran -optimize -progressive -perfect -copy all "$1" > $tmp.jpg +cjxl $tmp.jpg "${1%.*}.jxl" --distance=0 --effort=9 --brotli_effort=11 --lossless_jpeg=1 +[ -s "${1%.*}.jxl" ] +touch -r "$1" "${1%.*}.jxl" diff --git a/irssi/.irssi/config.skel b/irssi/.irssi/config.skel index 43c024e..8e8588f 100644 --- a/irssi/.irssi/config.skel +++ b/irssi/.irssi/config.skel @@ -1,4 +1,4 @@ -aliases = { wc = "window close"; }; +aliases = { wc = "window close"; qmsg = "quote privmsg $0 :$1-"; }; settings = { "fe-text" = { actlist_sort = "refnum"; @@ -18,7 +18,42 @@ settings = { user_name = "stargrave"; nick = "stargrave"; timestamp_format = "%H:%M:%S"; + resolve_prefer_ipv6 = "yes"; }; }; logs = { }; +servers = ( + { + address = "irc.oftc.net"; + chatnet = "OFTC"; + port = "6697"; + use_tls = "yes"; + tls_verify = "yes"; + tls_cert = "~/.irssi/certs/stargrave.irc.ed.pem"; + autoconnect = "yes"; + }, + { + address = "irc.libera.chat"; + chatnet = "LiberaChat"; + port = "6697"; + use_tls = "yes"; + tls_verify = "yes"; + tls_cert = "~/.irssi/certs/stargrave.irc.ed.pem"; + autoconnect = "yes"; + }, +); +chatnets = { + OFTC = { type = "IRC"; }; + LiberaChat = { type = "IRC"; }; +}; hilights = ( { text = "stargrave"; nick = "yes"; word = "yes"; } ); +keyboard = ( + { key = "^Y"; id = "command"; data = "SCROLLBACK GOTO -2"; }, + { key = "^E"; id = "command"; data = "SCROLLBACK GOTO +2"; }, + { key = "^L"; id = "command"; data = "WINDOW LAST"; } +); +channels = ( + { name = "#redo"; chatnet = "LiberaChat"; autojoin = "yes"; }, + { name = "#yggdrasil"; chatnet = "LiberaChat"; autojoin = "yes"; }, + { name = "#nncp"; chatnet = "OFTC"; autojoin = "yes"; }, +); diff --git a/less/.lesskey b/less/.lesskey new file mode 100644 index 0000000..e5277c9 --- /dev/null +++ b/less/.lesskey @@ -0,0 +1,6 @@ +#command +^N next-file +^P prev-file +c forw-search \^commit\r +C back-search \^commit\r +f forw-search \^diff --git\r diff --git a/less/.zsh/env/005less.zsh b/less/.zsh/env/005less.zsh new file mode 100644 index 0000000..5ed3bc7 --- /dev/null +++ b/less/.zsh/env/005less.zsh @@ -0,0 +1,12 @@ +export PAGER=less +export LESSHISTFILE=/tmp/.lesshst +export -TU LESS lessflags " " +lessflags=( + --use-color + --RAW-CONTROL-CHARS + --HILITE-UNREAD + --no-init + --ignore-case + --jump-target=2 + "-Ps?f%f .?m(%i/%m) .%lt-%lb?L/%L. [%bB?B/%B.]?B %pB\%.?x N\:%x.%t" +) diff --git a/less/.zsh/rc/010less.zsh b/less/.zsh/rc/010less.zsh new file mode 100644 index 0000000..cc0e1f4 --- /dev/null +++ b/less/.zsh/rc/010less.zsh @@ -0,0 +1,2 @@ +alias -g M="| less" +alias m="less " diff --git a/lftp/.lftprc b/lftp/.lftprc new file mode 100644 index 0000000..8624342 --- /dev/null +++ b/lftp/.lftprc @@ -0,0 +1,5 @@ +set http:decode true +set http:use-propfind true +set ssl:ca-file "/etc/ssl/cert.pem" +set http:proxy "http://localhost:8080/" +set https:proxy "http://localhost:8080/" diff --git a/link-for/bin/link-for-blog b/link-for/bin/link-for-blog new file mode 100755 index 0000000..75248d8 --- /dev/null +++ b/link-for/bin/link-for-blog @@ -0,0 +1,3 @@ +#!/bin/sh + +echo http://blog.stargrave.org/russian/$1 diff --git a/link-for/bin/link-for-github-release b/link-for/bin/link-for-github-release new file mode 100755 index 0000000..bdac02f --- /dev/null +++ b/link-for/bin/link-for-github-release @@ -0,0 +1,7 @@ +#!/bin/sh + +tmp=`mktemp` +trap "rm $tmp" HUP PIPE INT QUIT TERM EXIT +curl https://api.github.com/repos/${1}/${2}/releases > $tmp +gojq -r ".[] | .assets[] | .browser_download_url" < $tmp +gojq -r ".[] | .tarball_url" < $tmp diff --git a/link-for/bin/link-for-rfc b/link-for/bin/link-for-rfc new file mode 100755 index 0000000..36b1c69 --- /dev/null +++ b/link-for/bin/link-for-rfc @@ -0,0 +1,3 @@ +#!/bin/sh + +echo https://datatracker.ietf.org/doc/html/rfc$1 diff --git a/link-for/bin/link-for-youtube b/link-for/bin/link-for-youtube new file mode 100755 index 0000000..df29307 --- /dev/null +++ b/link-for/bin/link-for-youtube @@ -0,0 +1,3 @@ +#!/bin/sh + +echo https://www.youtube.com/watch?v=$1 diff --git a/links/bin/xom b/links/bin/xom new file mode 100755 index 0000000..469dd36 --- /dev/null +++ b/links/bin/xom @@ -0,0 +1,18 @@ +#!/bin/sh -e + +url="$@" +if [ $# -gt 1 ] ; then + sel="$1" + shift + case "$sel" in + gg) url="https://www.google.com/search?q=$@" ;; + oid) url="https://oidref.com/$@" ;; + pep) url="https://www.python.org/dev/peps/pep-0$@/" ;; + py) url="https://pypi.org/project/$@/" ;; + rfc) url="https://datatracker.ietf.org/doc/html/rfc$@" ;; + s) url="https://search.brave.com/search?q=$@" ;; + we) url="https://en.wikipedia.org/wiki/$@" ;; + wr) url="https://ru.wikipedia.org/wiki/$@" ;; + esac +fi +exec links -g "$url" diff --git a/lldb/.lldbinit b/lldb/.lldbinit index deeba1f..9e39ae3 100644 --- a/lldb/.lldbinit +++ b/lldb/.lldbinit @@ -1 +1 @@ -command alias mr memory read --size 1 --format x --count %1 -- +command alias mr memory read --force --size 1 --format x --count %1 -- diff --git a/lynx/.lynx.cfg b/lynx/.lynx.cfg index d5ddea0..6fb10f0 100644 --- a/lynx/.lynx.cfg +++ b/lynx/.lynx.cfg @@ -1,6 +1,6 @@ KEYMAP:^E:DOWN_TWO KEYMAP:^Y:UP_TWO -INCLUDE:/usr/local/etc/lynx.cfg +HELPFILE:file://localhost/home/stargrave/local/stow/lynx/share/lynx_help/lynx_help_main.html PARTIAL:TRUE SHOW_KB_RATE:KB,ETA INFOSECS:1 @@ -12,3 +12,5 @@ MAKE_LINKS_FOR_ALL_IMAGES:TRUE ASSUME_CHARSET:utf-8 JUMPFILE:/home/stargrave/.lynx_jumps.html INCLUDE:/home/stargrave/.lynx_cookies.cfg +http_proxy:http://localhost:8080/ +https_proxy:http://localhost:8080/ diff --git a/lynx/.lynx_jumps.html b/lynx/.lynx_jumps.html index 92fe073..432b861 100644 --- a/lynx/.lynx_jumps.html +++ b/lynx/.lynx_jumps.html @@ -5,9 +5,11 @@
gg
Google
+
oid
OID
+
pep
PEP
py
PyPI
-
rfc
RFC
-
s
DuckDuckGo
+
rfc
RFC
+
s
Brave
we
WikiEN
wr
WikiRU
diff --git a/lynx/.mailcap b/lynx/.mailcap index 0b40851..7e4cdc5 100644 --- a/lynx/.mailcap +++ b/lynx/.mailcap @@ -1,6 +1,22 @@ -text/html; /usr/local/bin/lynx -noreferer -partial -assume_charset=%{charset} -dump %s; copiousoutput; nametemplate=%s.html -application/pdf; /home/stargrave/bin/zat '%s'; test=test -n "$DISPLAY" -image/gif; /usr/local/bin/sxiv '%s'; test=test -n "$DISPLAY" -image/jpeg; /usr/local/bin/sxiv '%s'; test=test -n "$DISPLAY" -image/png; /usr/local/bin/sxiv '%s'; test=test -n "$DISPLAY" -image/webp; /usr/local/bin/sxiv '%s'; test=test -n "$DISPLAY" +application/epub+zip; zat '%s'; test=test -n "$DISPLAY" +application/pdf; zat '%s'; test=test -n "$DISPLAY" +application/vnd.gnupg.wks; gpg-wks-client -v --read --send; needsterminal; description=WKS message +application/x-perl; pod2text --color '%s' | less; needsterminal +image/gif; sxiv '%s'; test=test -n "$DISPLAY" +image/jpeg; sxiv '%s'; test=test -n "$DISPLAY" +image/jxl; sxiv '%s'; test=test -n "$DISPLAY" +image/png; sxiv '%s'; test=test -n "$DISPLAY" +image/tiff; sxiv '%s'; test=test -n "$DISPLAY" +image/webp; sxiv '%s'; test=test -n "$DISPLAY" +image/x-djvu; zat '%s'; test=test -n "$DISPLAY" +image/x-portable-anymap; sxiv '%s'; test=test -n "$DISPLAY" +image/x-portable-arbitrarymap; sxiv '%s'; test=test -n "$DISPLAY" +image/x-portable-bitmap; sxiv '%s'; test=test -n "$DISPLAY" +image/x-portable-floatmap; sxiv '%s'; test=test -n "$DISPLAY" +image/x-portable-graymap; sxiv '%s'; test=test -n "$DISPLAY" +image/x-portable-pixmap; sxiv '%s'; test=test -n "$DISPLAY" +image/x-xpixmap; sxiv '%s'; test=test -n "$DISPLAY" +text/html; lynx -noreferer -partial -assume_charset=%{charset} -dump %s; copiousoutput; nametemplate=%s.html +text/info; info '%s'; needsterminal +text/plain; less '%s'; needsterminal +text/x-man; man '%s'; needsterminal diff --git a/lynx/.zsh/env/005lynx.zsh b/lynx/.zsh/env/005lynx.zsh new file mode 100644 index 0000000..fd8e522 --- /dev/null +++ b/lynx/.zsh/env/005lynx.zsh @@ -0,0 +1,3 @@ +export WWW_HOME=file:///home/stargrave/.lynx_bookmarks.html +export SSL_CERT_FILE=/usr/local/openssl/cert.pem +export LYNX_CFG=~/.lynx.cfg diff --git a/mkv/bin/my-mkvmerge b/mkv/bin/my-mkvmerge new file mode 100755 index 0000000..5bf907f --- /dev/null +++ b/mkv/bin/my-mkvmerge @@ -0,0 +1,18 @@ +#!/usr/bin/env zsh + +setopt ERR_EXIT +zparseopts -D -A info url: descr: out: +tags=`mktemp` +trap "rm -f $tags" HUP PIPE INT QUIT TERM EXIT +[[ -z ${info[-url]} ]] || { + urlTag="URL${info[-url]}" + tagsopt=(--global-tags $tags) +} +[[ -z ${info[-descr]} ]] || { + txt=`xml esc < ${info[-descr]}` + descrTag="DESCRIPTION$txt" + tagsopt=(--global-tags $tags) +} +printf "\n%s\n%s\n" $urlTag $descrTag > $tags +mkvmerge --no-date --disable-track-statistics-tags $tagsopt --output ${info[-out]} $@ +mkvpropedit --set muxing-application=- --set writing-application=- ${info[-out]} diff --git a/mpv/.mpv/config b/mpv/.mpv/config index 22bdc95..0b8c924 100644 --- a/mpv/.mpv/config +++ b/mpv/.mpv/config @@ -1,29 +1,30 @@ vo=gpu -profile=gpu-hq -hwdec=vaapi -hwdec-codecs=h264,hevc,vp8,mpeg2video,vc1 -scale=ewa_lanczossharp -cscale=ewa_lanczossharp cache=yes cache-secs=60 display-tags=* -#osd-fractions -ytdl=no gapless-audio=yes autosync=30 -oss-mixer-device=/dev/mixer -oss-mixer-channel=vol +cache-on-disk=no +gpu-shader-cache=no +audio-channels=2 +hwdec=vaapi +hwdec-codecs=h264,hevc,vp8,vp9,mpeg2video,vc1 [AO] -audio-device=oss//dev/dsp3 +audio-device=oss//dev/vdsp +audio-delay=-0.04 -[AM] -audio-device=oss//dev/dsp2 -oss-mixer-device=/dev/mixer2 -oss-mixer-channel=pcm +[X1] +vo=x11 [VN] af=lavfi=loudnorm [NV] video=no + +[E3] +audio-device=oss//dev/dsp3 + +[E4] +audio-device=oss//dev/dsp4 diff --git a/mpv/.mpv/input.conf b/mpv/.mpv/input.conf index c00863a..4e1358f 100644 --- a/mpv/.mpv/input.conf +++ b/mpv/.mpv/input.conf @@ -1,8 +1,10 @@ PGUP seek 600 PGDWN seek -600 -Shift+PGUP add chapter 1 -Shift+PGDWN add chapter -1 +HOME add chapter 1 +END add chapter -1 ENTER playlist-next force BS set speed 1.0 -VOLUME_UP run "mixer" "-f" "${oss-mixer-device}" "${oss-mixer-channel}" "+2" -VOLUME_DOWN run "mixer" "-f" "${oss-mixer-device}" "${oss-mixer-channel}" "-2" +#VOLUME_UP run "mixer" "-f" "${oss-mixer-device}" "${oss-mixer-channel}" "+2" +#VOLUME_DOWN run "mixer" "-f" "${oss-mixer-device}" "${oss-mixer-channel}" "-2" +VOLUME_UP add volume +2 +VOLUME_DOWN add volume -2 diff --git a/mpv/bin/4k2mpeg2 b/mpv/bin/4k2mpeg2 new file mode 100755 index 0000000..88b83ae --- /dev/null +++ b/mpv/bin/4k2mpeg2 @@ -0,0 +1,3 @@ +#!/bin/sh + +ffmpeg -i "$1" -vf scale=iw/4:ih/4 -sws_flags spline+accurate_rnd+full_chroma_int -c:v mpeg2video -b:v 10000k -y "$1".mpg diff --git a/mpv/bin/mp b/mpv/bin/mp new file mode 100755 index 0000000..ed9ace0 --- /dev/null +++ b/mpv/bin/mp @@ -0,0 +1,9 @@ +#!/usr/bin/env zsh + +args=() +for arg ($@) { + [[ $arg =~ "^[A-Z][A-Z0-9]$" ]] && arg="--profile=$arg" + args=($args $arg) +} +export vblank_mode=1 +exec mpv $args diff --git a/mutt/.mime.types b/mutt/.mime.types index 5a7d453..83e67b6 100644 --- a/mutt/.mime.types +++ b/mutt/.mime.types @@ -1,6 +1,22 @@ -image/webp webp -image/png png -application/pdf pdf -image/jpeg jpg -image/jpeg jpeg +application/epub+zip epub application/gzip gz +application/metalink4+xml meta4 +application/pdf pdf +application/x-perl pod +application/zstd zst +image/gif gif +image/jpeg jpeg jpg +image/jxl jxl +image/png png +image/webp webp +image/x-djvu djvu +image/x-portable-anymap pnm +image/x-portable-arbitrarymap pam +image/x-portable-bitmap pbm +image/x-portable-floatmap pfm +image/x-portable-graymap pgm +image/x-portable-pixmap ppm +image/x-xpixmap xpm +text/info info +text/plain txt +text/x-man man diff --git a/mutt/.mutt/color b/mutt/.mutt/color deleted file mode 100644 index 7467ac1..0000000 --- a/mutt/.mutt/color +++ /dev/null @@ -1,35 +0,0 @@ -color hdrdefault blue default -color quoted blue default -color signature red default -color attachment red default -color prompt brightmagenta default -color message brightred default -color error brightred default -color indicator brightyellow red -color status brightgreen blue -color tree default default -color normal default default -color markers red default -color search white black -color tilde brightmagenta default -color index blue default ~F -#color index red default "~N|~O" - -color header brightmagenta default "subject:" -color header brightred default "to:" -color header brightred default "cc:" -color header brightred default "list-id:" -color header brightred default "list-archive:" - -color header brightyellow default "date:" -color header brightyellow default "received:" - -color header brightgreen default "from:" -color header brightgreen default "reply-to:" -color header brightgreen default "mail-reply-to:" -color header brightgreen default "mail-followup-to:" -color header brightgreen default "organization:" -color header brightgreen default "user-agent:" - -color body brightgreen default "(http|https|ftp|news|telnet|finger|gopher)://[^ \"\t\r\n]*" -color body brightgreen default "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+" diff --git a/mutt/.mutt/colour.rc b/mutt/.mutt/colour.rc new file mode 100644 index 0000000..d79fa22 --- /dev/null +++ b/mutt/.mutt/colour.rc @@ -0,0 +1,33 @@ +color hdrdefault blue default +color quoted brightblue default +color signature red default +color attachment red default +color prompt brightmagenta default +color message brightcyan default +color error brightred default +color indicator brightyellow red +color status brightgreen blue +color tree magenta default +color markers red default +color tilde brightmagenta default +color index blue default ~F +#color index red default "~N|~O" + +color header brightmagenta default subject: +color header brightred default to: +color header brightred default cc: +color header brightred default list-id: +color header brightred default list-archive: + +color header brightyellow default date: +color header brightyellow default received: + +color header brightgreen default from: +color header brightgreen default reply-to: +color header brightgreen default mail-reply-to: +color header brightgreen default mail-followup-to: +color header brightgreen default organization: +color header brightgreen default user-agent: + +color body brightgreen default "(finger|ftp|gemini|gopher|http|https|irc|ircs|news|telnet)://[^ \"\t\r\n]*" +color body brightgreen default "[-a-z_0-9.]+@[-a-z_0-9.]+" diff --git a/mutt/.mutt/muttrc b/mutt/.mutt/muttrc index 889a4fc..e22e916 100644 --- a/mutt/.mutt/muttrc +++ b/mutt/.mutt/muttrc @@ -1,16 +1,16 @@ -set folder = "~/mail" +set folder = ~/mail set mbox_type = maildir # set mbox_type = mbox set spoolfile = =mbox -set record = =sent-`date "+%y-%m"` +set record = =back-`date "+%y-%m"` set postponed = =postponed set certificate_file = ~/.mutt/certificates set net_inc = 1 set edit_headers = yes -set charset = "utf-8" +set charset = utf-8 set pager_stop = yes -set sort = "threads" -set sort_aux = "last-date-received" +set sort = threads +set sort_aux = last-date-received set pager_index_lines = 6 set timeout = 60 set rfc2047_parameters @@ -19,22 +19,33 @@ set fcc_clear = yes set ssl_force_tls = no set user_agent = yes set signature = ~/.signature -set hostname = "stargrave.org" +set hostname = stargrave.org set realname = "Sergey Matveev" -set query_command="mu cfind --format=mutt-ab '%s'" +set query_command = "mu cfind --format=mutt-ab '%s'" set forward_format = "Fwd: %s" -set indent_string = ">" -set attribution = "*** %n [%{%Y-%m-%d %H:%M}]:" -set index_format = "%4C %Z[%1H] %{%m-%d} [%N] %-15.15L (%?l?%4l&%4c?)%?M?[#%02M]?%?Y?[%Y]? %s" +set date_format = "%Y-%m-%d %H:%M" +set index_format = "%4C %Z[%1H] %D [%N] %-15.15L (%?l?%4l&%4c?)%?M?[#%02M]?%?Y?[%Y]? %s" set pipe_decode = yes +set print_command = "cat > /tmp/mail-printed" +set attribution = "*** %n [%{%Y-%m-%d %H:%M}]:" +set forward_attribution_intro = "----- BEGIN %i -----" +set forward_attribution_trailer = "----- END %i -----" +set mail_check_stats +set folder_format="%3C %t %N [%3n|%3m] %D %f" + set crypt_protected_headers_write = yes -set print_command="cat > /tmp/mail-printed" +set crypt_opportunistic_encrypt = yes +set crypt_autosign = yes -macro index "" "Go to new mail" +source ~/.mutt/useragent.rc + +macro index,pager,browser "" macro index ":set mbox_type = mbox\n" "mbox mailbox type" +macro index S "=spamdb" -macro index "mu find --clearlinks --format=links --linksdir=~/mail/search " "mu find" -macro index "~/mail/search" "mu find results" +macro index "mu find --clearlinks --format=links --linksdir=/home/stargrave/mail/search " "mu find" +macro index "~/mail/search" "mu find results" +macro index "~/mail/search-sent" "mu find sent results" macro pager \cu |urlview\n @@ -49,23 +60,41 @@ macro pager \cy alternative_order text/plain text/enriched text/html auto_view text/html unignore \ - Mail-Followup-To \ List-Id \ - Reply-To \ + Mail-Followup-To \ Mail-Reply-To \ - Organization \ + Message-Id \ OpenPGP \ + Organization \ + Reply-To \ Return-Path \ - X-Mailer \ User-Agent \ - Message-Id + X-Bogosity \ + X-Label \ + X-Mailer \ + X-Original-To fcc-hook .* $record folder-hook . "set sort = threads; push " -folder-hook =rss "set sort = date" -source ~/.mutt/mailboxes +source ~/.mutt/mailboxes.rc + +folder-hook =blog-comment "set sort = date" +folder-hook =monitoring "set sort = date" + +set my_month_prev = `date -j -v -1m "+%y-%m"` +set my_month_curr = `date "+%y-%m"` + +mailboxes \ + =stcnet-$my_month_prev \ + =stcnet-$my_month_curr \ + =back-$my_month_prev \ + =back-$my_month_curr + +folder-hook =search-sent "set sort = date-sent" + source ~/.mutt/accounts/rc +source ~/.mutt/hooks.rc # set mime_forward = yes # set mime_forward_rest = yes diff --git a/mutt/.mutt/useragent.rc b/mutt/.mutt/useragent.rc new file mode 100644 index 0000000..9738e82 --- /dev/null +++ b/mutt/.mutt/useragent.rc @@ -0,0 +1,6 @@ +set my_mutt_version=`mutt -v | sed -n 's/^Mutt \(.*\) (.*$/\1/p'` +set my_gpg_version=`gpg --version | sed -n 's/^gpg (.*) \(.*\)$/\1/p'` +set my_vim_version=`vim --version | sed -n 's/^VIM . Vi IMproved \([^ ]*\).*$/\1/p'` +set my_arch=`uname -m` +set my_fbsd_version=`uname -r` +my_hdr User-Agent: Mutt/$my_mutt_version GnuPG/$my_gpg_version Vim/$my_vim_version FreeBSD/$my_fbsd_version ($my_arch) diff --git a/mutt/.muttrc b/mutt/.muttrc index 04e813e..1b5292d 100644 --- a/mutt/.muttrc +++ b/mutt/.muttrc @@ -1,5 +1,4 @@ -set hostname = "stargrave.org" source ~/.mutt/muttrc -source ~/.mutt/color -source ~/.mutt/lists +source ~/.mutt/colour.rc +source ~/.mutt/lists.rc source ~/.mutt/gpg.rc diff --git a/mutt/.signature b/mutt/.signature index 1fdbb43..89dde6b 100644 --- a/mutt/.signature +++ b/mutt/.signature @@ -1,2 +1,2 @@ Sergey Matveev (http://www.stargrave.org/) -OpenPGP: CF60 E89A 5923 1E76 E263 6422 AE1A 8109 E498 57EF +OpenPGP: 12AD 3268 9C66 0D42 6967 FD75 CB82 0563 2107 AD8A diff --git a/mutt/.zsh/rc/010mail.zsh b/mutt/.zsh/rc/010mail.zsh new file mode 100644 index 0000000..b68d234 --- /dev/null +++ b/mutt/.zsh/rc/010mail.zsh @@ -0,0 +1,6 @@ +mailpath=( + ~/mail/mbox/new"?Neue Nachrichten in =mbox" + ~/mail/arbeit/new"?Neue Nachrichten in =arbeit" +) +export MUHOME=~/.mu +bindkey -s "OP" " inc\n" # F1 diff --git a/bin/bin/cfind b/mutt/bin/cfind similarity index 100% rename from bin/bin/cfind rename to mutt/bin/cfind diff --git a/bin/bin/inc b/mutt/bin/inc similarity index 100% rename from bin/bin/inc rename to mutt/bin/inc diff --git a/bin/bin/mfind b/mutt/bin/mfind similarity index 100% rename from bin/bin/mfind rename to mutt/bin/mfind diff --git a/mutt/bin/sent b/mutt/bin/sent new file mode 100755 index 0000000..2858c4a --- /dev/null +++ b/mutt/bin/sent @@ -0,0 +1,3 @@ +#!/bin/sh -e + +mutt -f =back-`date "+%y-%m"` diff --git a/newsboat/.newsboat/config b/newsboat/.newsboat/config deleted file mode 100644 index d352c4d..0000000 --- a/newsboat/.newsboat/config +++ /dev/null @@ -1,16 +0,0 @@ -history-limit 0 -text-width 80 -bind-key ^Y up -bind-key ^E down -notify-beep yes -cleanup-on-quit yes - -max-items 100 - -auto-reload yes -reload-time 120 -reload-threads 10 -suppress-first-reload yes - -feed-sort-order lastupdated -browser "~/bin/www %u &" diff --git a/nnn/.zsh/aliases/mc b/nnn/.zsh/aliases/mc new file mode 100644 index 0000000..3b1da90 --- /dev/null +++ b/nnn/.zsh/aliases/mc @@ -0,0 +1 @@ +alias mc="nnn" diff --git a/nnn/.zsh/env/005nnn.zsh b/nnn/.zsh/env/005nnn.zsh new file mode 100644 index 0000000..a03ca54 --- /dev/null +++ b/nnn/.zsh/env/005nnn.zsh @@ -0,0 +1,4 @@ +export NNN_OPTS=dHRU +export NNN_OPENER=zsh-mime-open +export NNN_PLUG='s:!sxiv -t .*;a:!tar tf "$nnn" | less*;d:!godu' +export NNN_ARCHIVE="\\.(bz2|gz|iso|tar|tgz|txz|xz|zip|zst)$" diff --git a/nnn/bin/_nnn-cd b/nnn/bin/_nnn-cd new file mode 100755 index 0000000..5ee8075 --- /dev/null +++ b/nnn/bin/_nnn-cd @@ -0,0 +1,7 @@ +#!/usr/bin/env zsh + +setopt ERR_EXIT +[[ -n "$NNN_PIPE" ]] +autoload ~/.zsh/functions/cf +cf $1 +print -n -- "0c$PWD" > "$NNN_PIPE" diff --git a/nnn/bin/_nnn-cp b/nnn/bin/_nnn-cp new file mode 100755 index 0000000..86f424c --- /dev/null +++ b/nnn/bin/_nnn-cp @@ -0,0 +1,13 @@ +#!/usr/bin/env zsh + +setopt ERR_EXIT +sel=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} +[[ -s $sel ]] +tgts=$(xargs -0 -L1 < $sel) +tgts=(${(f)tgts}) +size=$(du -A -c $tgts) +size=(${=size}) +size=${size[$#size - 1]} +for tgt ($tgts) { pushd $tgt:h ; tar cf - $tgt:t ; popd } | +pv --wait --interval 0.5 --size ${size}k | +tar xf - --options read_concatenated_archives diff --git a/parallel/.parallel/config b/parallel/.parallel/config new file mode 100644 index 0000000..4b08796 --- /dev/null +++ b/parallel/.parallel/config @@ -0,0 +1 @@ +--bar diff --git a/parallel/.parallel/will-cite b/parallel/.parallel/will-cite deleted file mode 100644 index e69de29..0000000 diff --git a/pdb/.pdbrc b/pdb/.pdbrc index 0328df4..aaaedb9 100644 --- a/pdb/.pdbrc +++ b/pdb/.pdbrc @@ -1,5 +1,5 @@ import os -alias hare os.system('kill %d' % os.getpid()) -alias hare9 os.system('kill -9 %d' % os.getpid()) -alias pp1 import pyderasn ;; print(pyderasn.pprint(%1, oid_maps=(locals().get('OID_STR_TO_NAME', {}),))) +alias hare os.system("kill %d" % os.getpid()) +alias hare9 os.system("kill -9 %d" % os.getpid()) +alias pp1 import pyderasn ;; print(pyderasn.pprint(%1, oid_maps=(locals().get("OID_STR_TO_NAME", {}),))) diff --git a/pip/.pip/pip.conf b/pip/.pip/pip.conf index 1c668a1..5298b3b 100644 --- a/pip/.pip/pip.conf +++ b/pip/.pip/pip.conf @@ -2,4 +2,4 @@ disable-pip-version-check = yes no-binary = :all: cache-dir = /tmp/pip-cache -index-url = http://localhost:8080/simple/ +index-url = http://localhost:8081/simple/ diff --git a/readline/.inputrc b/readline/.inputrc index 7d95ac6..5486a13 100644 --- a/readline/.inputrc +++ b/readline/.inputrc @@ -6,6 +6,8 @@ set editing-mode vi set show-mode-in-prompt on +set expand-tilde on + set colored-stats on set colored-completion-prefix on set visible-stats on diff --git a/recoll/.zsh/env/005recoll.zsh b/recoll/.zsh/env/005recoll.zsh new file mode 100644 index 0000000..11c8af1 --- /dev/null +++ b/recoll/.zsh/env/005recoll.zsh @@ -0,0 +1 @@ +export RECOLL_DATADIR=~/local/stow/recoll/share/recoll diff --git a/recoll/bin/my-pdftotext b/recoll/bin/my-pdftotext new file mode 100755 index 0000000..1775278 --- /dev/null +++ b/recoll/bin/my-pdftotext @@ -0,0 +1,10 @@ +#!/bin/sh + +tmp=`mktemp` +trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT +pages=`mutool info "$1" | sed -n 's/Pages: //p'` +for page in `seq $pages` ; do + mutool convert -F text -o $tmp "$1" $page 2>/dev/null + cat $tmp + printf '\14\n' # ^L +done diff --git a/recoll/bin/my-pdftotext-fast b/recoll/bin/my-pdftotext-fast new file mode 100755 index 0000000..1857c2c --- /dev/null +++ b/recoll/bin/my-pdftotext-fast @@ -0,0 +1,6 @@ +#!/bin/sh + +tmp=`mktemp` +trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT +mutool convert -F text -o $tmp "$1" 2>/dev/null +cat $tmp diff --git a/recoll/bin/rcl b/recoll/bin/rcl new file mode 100755 index 0000000..00440ad --- /dev/null +++ b/recoll/bin/rcl @@ -0,0 +1,20 @@ +#!/bin/sh + +[ "$1" = "no" ] && shift || args="-A -p 2" + +cd ~/recoll +args="$args -c main" +while : ; do + [ -d "$1" ] || break + args="$args -i $1/xapiandb" + shift +done + +recollq $args "$@" 2>/dev/null | perl -ne ' + if (/^(ABSTRACT|SNIPPETS)/../^\/(ABSTRACT|SNIPPETS)/) { + print "\t$_" unless /^.?(ABSTRACT|SNIPPETS)/; + next; + }; + next unless /^(.*)\t\[file:\/\/(.*)\]\t\[.*\]\t\d+\t.*\t.*$/; + print "$2\t$1\n"; +' | spc -e grn,"(^/.*)" | less diff --git a/recoll/recoll/main/mimeconf b/recoll/recoll/main/mimeconf new file mode 100644 index 0000000..15f2657 --- /dev/null +++ b/recoll/recoll/main/mimeconf @@ -0,0 +1,3 @@ +[index] + +application/pdf = exec my-pdftotext; mimetype = text/plain ; charset=utf-8 diff --git a/recoll/recoll/man/mimemap b/recoll/recoll/man/mimemap new file mode 100644 index 0000000..f93156f --- /dev/null +++ b/recoll/recoll/man/mimemap @@ -0,0 +1,29 @@ +.0p = text/x-man +.1 = text/x-man +.1m = text/x-man +.1p = text/x-man +.1ssl = text/x-man +.1x = text/x-man +.2 = text/x-man +.3 = text/x-man +.3curses = text/x-man +.3form = text/x-man +.3gl = text/x-man +.3menu = text/x-man +.3ncurses = text/x-man +.3p = text/x-man +.3pm = text/x-man +.3ssl = text/x-man +.3tiff = text/x-man +.3x = text/x-man +.4 = text/x-man +.4x = text/x-man +.5 = text/x-man +.5ssl = text/x-man +.6 = text/x-man +.6x = text/x-man +.7 = text/x-man +.7ssl = text/x-man +.8 = text/x-man +.9 = text/x-man +.n = text/x-man diff --git a/recoll/recoll/man/recoll.conf b/recoll/recoll/man/recoll.conf new file mode 100644 index 0000000..25213e8 --- /dev/null +++ b/recoll/recoll/man/recoll.conf @@ -0,0 +1,13 @@ +idxflushmb = 512 +followLinks = 1 +topdirs = \ + /usr/local/lib/perl5/5.32/perl/man \ + /usr/local/lib/perl5/site_perl/man \ + /usr/share/openssl/man \ + /usr/local/share/man \ + /usr/local/man \ + /usr/share/man \ + /usr/local/share/info \ + /usr/local/info \ + ~/local/share/man \ + ~/local/share/info diff --git a/recoll/recoll/rfc/mimeconf b/recoll/recoll/rfc/mimeconf new file mode 100644 index 0000000..15f2657 --- /dev/null +++ b/recoll/recoll/rfc/mimeconf @@ -0,0 +1,3 @@ +[index] + +application/pdf = exec my-pdftotext; mimetype = text/plain ; charset=utf-8 diff --git a/recoll/recoll/rfc/recoll.conf b/recoll/recoll/rfc/recoll.conf new file mode 100644 index 0000000..7547ff1 --- /dev/null +++ b/recoll/recoll/rfc/recoll.conf @@ -0,0 +1,3 @@ +idxflushmb = 512 +topdirs = ~/doc/rfc +skippedNames = *.p7s *.xml *.html diff --git a/ssh/.ssh-config b/ssh/.ssh-config new file mode 100644 index 0000000..90c7b69 --- /dev/null +++ b/ssh/.ssh-config @@ -0,0 +1,14 @@ +Protocol 2 +IdentitiesOnly yes +Compression no +UpdateHostKeys ask +VerifyHostKeyDNS ask + +Host * + HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-ed25519 + KexAlgorithms sntrup761x25519-sha512@openssh.com,curve25519-sha256@libssh.org,curve25519-sha256 + Ciphers chacha20-poly1305@openssh.com,aes256-ctr,aes128-ctr + MACs umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com + ControlMaster auto + ControlPath ~/.ssh/sockets/%r@%h-%p + ControlPersist 60 diff --git a/ssh/.zsh/functions/ssht b/ssh/.zsh/functions/ssht new file mode 100644 index 0000000..f747749 --- /dev/null +++ b/ssh/.zsh/functions/ssht @@ -0,0 +1,2 @@ +local t="-t 0" +ssh -C -t $1 "export LANG=en_US.UTF-8 ; tmux has-session $t && tmux attach-session $t || tmux new-session $t" diff --git a/ssh/.zsh/rc/010ssh.zsh b/ssh/.zsh/rc/010ssh.zsh new file mode 100644 index 0000000..72f7316 --- /dev/null +++ b/ssh/.zsh/rc/010ssh.zsh @@ -0,0 +1 @@ +alias sshnm="ssh -S none" diff --git a/ssh/bin/my-ssh-new-key b/ssh/bin/my-ssh-new-key new file mode 100755 index 0000000..a9107fb --- /dev/null +++ b/ssh/bin/my-ssh-new-key @@ -0,0 +1,3 @@ +#!/bin/sh -e + +exec ssh-keygen -Z chacha20-poly1305@openssh.com -t ed25519 -C $1 -f ~/.ssh/sign/$1 diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index a3b7c07..f73cf92 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -5,6 +5,9 @@ set-option -g escape-time 1 set-option -g repeat-time 0 set-option -g history-limit 20000 set-option -g renumber-windows on +set-option -g terminal-features[0] "screen*:256:ccolour:clipboard:cstyle:title" +set-option -gU terminal-features[1] +set-option -g pane-border-indicators both set-option -g prefix C-a unbind-key C-b @@ -34,38 +37,7 @@ set-window-option -g window-status-last-style "bg=cyan" bind-key b set-option status unbind-key L -bind-key t display-menu \ - music t "display-popup -KE -w 100% -R ~/bin/tmux-menu-music.sh" \ - pass p "display-popup -KE -R ~/bin/tmux-menu-pass-session.sh" \ - dict d "display-popup -KE -h 100% -R ~/bin/tmux-menu-dict.sh" \ - calc c "display-popup -KE -R ~/bin/tmux-menu-calc.sh" \ - cal l "display-popup -R \"cal -3N\"" \ - top o "display-popup -KE -h 100% -R \"top -s 1\"" - -bind-key u { - capture-pane -J - save-buffer /tmp/tmux-buffer - delete-buffer - display-popup -KE -w 100% -R "urlview /tmp/tmux-buffer" -} - -bind-key y { - capture-pane -J - save-buffer /tmp/tmux-buffer - delete-buffer - split-window 'vim -c "set listchars=" -c "match ExtraWhitespace //" /tmp/tmux-buffer' -} - -bind-key o display-menu \ - find o "display-popup -KE -w 100% -R \"~/bin/tmux-fzf.zsh find '#{pane_current_path}'\"" \ - buf-files f "display-popup -KE -w 100% -R \"~/bin/tmux-fzf.zsh buf-files '#{pane_current_path}'\"" \ - git-files g "display-popup -KE -w 100% -R \"~/bin/tmux-fzf.zsh git-files '#{pane_current_path}'\"" \ - git-branches b "display-popup -KE -w 100% -R \"~/bin/tmux-fzf.zsh git-branches '#{pane_current_path}'\"" \ - git-commits c "display-popup -KE -w 100% -R \"~/bin/tmux-fzf.zsh git-commits '#{pane_current_path}'\"" - -bind-key Y { - capture-pane -J -S - -E - - save-buffer /tmp/tmux-buffer - delete-buffer - split-window 'vim -c "set listchars=" -c "match ExtraWhitespace //" /tmp/tmux-buffer' -} +source-file ~/.tmux/rc/urlview +source-file ~/.tmux/rc/capture +source-file ~/.tmux/rc/menu-various +source-file ~/.tmux/rc/menu-fzf diff --git a/tmux/.tmux/bin/common.sh b/tmux/.tmux/bin/common.sh new file mode 100644 index 0000000..49936a8 --- /dev/null +++ b/tmux/.tmux/bin/common.sh @@ -0,0 +1,9 @@ +paste() +{ + local pane="$1" + local cmd="$2" + tmux set-buffer "$cmd" + tmux paste-buffer -t "$pane" + tmux delete-buffer + tmux send-keys -t "$pane" Enter +} diff --git a/tmux/.tmux/bin/fzf.zsh b/tmux/.tmux/bin/fzf.zsh new file mode 100755 index 0000000..06c91d5 --- /dev/null +++ b/tmux/.tmux/bin/fzf.zsh @@ -0,0 +1,13 @@ +#!/usr/bin/env zsh + +cd $2 +setopt ERR_EXIT +fpath=(~/.tmux/functions.zsh $fpath) +autoload tmux-fzf-$1 +tmp=`mktemp` +trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT +tmux-fzf-$1 > $tmp || { echo unknown command ; sleep 1 ; exit } +[[ -s $tmp ]] || exit +tmux set-buffer "`perl -npe 's/\n/ /g' $tmp`" +tmux paste-buffer +tmux delete-buffer diff --git a/bin/bin/tmux-menu-calc.sh b/tmux/.tmux/bin/menu-calc.sh similarity index 100% rename from bin/bin/tmux-menu-calc.sh rename to tmux/.tmux/bin/menu-calc.sh diff --git a/bin/bin/tmux-menu-dict.sh b/tmux/.tmux/bin/menu-dict.sh similarity index 53% rename from bin/bin/tmux-menu-dict.sh rename to tmux/.tmux/bin/menu-dict.sh index 1009d38..0892289 100755 --- a/bin/bin/tmux-menu-dict.sh +++ b/tmux/.tmux/bin/menu-dict.sh @@ -1,5 +1,4 @@ #!/bin/sh -echo -n "> " -read word +word=$(rlwrap -S "> " head -1) sdcv "$word" | exec less diff --git a/bin/bin/tmux-menu-music.sh b/tmux/.tmux/bin/menu-music.sh similarity index 71% rename from bin/bin/tmux-menu-music.sh rename to tmux/.tmux/bin/menu-music.sh index a418f64..640901b 100755 --- a/bin/bin/tmux-menu-music.sh +++ b/tmux/.tmux/bin/menu-music.sh @@ -1,7 +1,7 @@ #!/bin/sh tmux has-session -t music || { - tmux new-session -d -s music -c ~/tmp/music + tmux new-session -d -s music -c ~/music tmux set-option -t music status off } exec tmux attach-session -t music diff --git a/bin/bin/tmux-menu-pass-session.sh b/tmux/.tmux/bin/menu-pass-session.sh similarity index 84% rename from bin/bin/tmux-menu-pass-session.sh rename to tmux/.tmux/bin/menu-pass-session.sh index a67cba9..8cc6e5e 100755 --- a/bin/bin/tmux-menu-pass-session.sh +++ b/tmux/.tmux/bin/menu-pass-session.sh @@ -1,6 +1,6 @@ #!/bin/sh while tmux has-session -t pass ; do echo waiting... ; sleep 1 ; done -tmux new-session -d -s pass rlwrap --history-filename /dev/null ~/bin/tmux-menu-pass.sh +tmux new-session -d -s pass rlwrap --history-filename /dev/null --no-warnings ~/.tmux/bin/menu-pass.sh tmux set-option -t pass status off exec tmux attach-session -t pass diff --git a/tmux/.tmux/bin/menu-pass.sh b/tmux/.tmux/bin/menu-pass.sh new file mode 100755 index 0000000..c74cac4 --- /dev/null +++ b/tmux/.tmux/bin/menu-pass.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +while :; do + echo -n "> " + read pass + passman "$pass" && break +done diff --git a/tmux/.tmux/functions.zsh/tmux-fzf-find b/tmux/.tmux/functions.zsh/tmux-fzf-find new file mode 100644 index 0000000..54b8fac --- /dev/null +++ b/tmux/.tmux/functions.zsh/tmux-fzf-find @@ -0,0 +1,6 @@ +bfs -L . -mindepth 1 \ + -path "*/.git" -prune -o \ + -path "*/.redo" -prune -o \ + \( -type f -o -type d -o -type l \) -print | +cut -c3- | fzf -m --preview="less -N -S {}" | +while read fn ; do print -r ${(q)fn} ; done diff --git a/tmux/.tmux/functions.zsh/tmux-fzf-git-branches b/tmux/.tmux/functions.zsh/tmux-fzf-git-branches new file mode 100644 index 0000000..91aa633 --- /dev/null +++ b/tmux/.tmux/functions.zsh/tmux-fzf-git-branches @@ -0,0 +1,2 @@ +{ git branch ; git branch --remote } | sed "s/ //g" | +fzf --preview "git log --oneline --graph --decorate=short --color=always {}" diff --git a/tmux/.tmux/functions.zsh/tmux-fzf-git-commits b/tmux/.tmux/functions.zsh/tmux-fzf-git-commits new file mode 100644 index 0000000..47198cf --- /dev/null +++ b/tmux/.tmux/functions.zsh/tmux-fzf-git-commits @@ -0,0 +1,2 @@ +git --no-pager log --oneline -n 100 | perl -ne 'print "@~$n $_"; $n++' | +fzf --reverse | cut -w -f1 diff --git a/tmux/.tmux/functions.zsh/tmux-fzf-git-files b/tmux/.tmux/functions.zsh/tmux-fzf-git-files new file mode 100644 index 0000000..ad29eb0 --- /dev/null +++ b/tmux/.tmux/functions.zsh/tmux-fzf-git-files @@ -0,0 +1,4 @@ +git status --short | +fzf -m --delimiter " " --preview "git diff --color=always {-1}" | +perl -npe 's/^\s*\S+\s+//' | +while read fn ; do print -r ${(q)fn} ; done diff --git a/tmux/.tmux/functions.zsh/tmux-fzf-procs b/tmux/.tmux/functions.zsh/tmux-fzf-procs new file mode 100644 index 0000000..8a77bdf --- /dev/null +++ b/tmux/.tmux/functions.zsh/tmux-fzf-procs @@ -0,0 +1,4 @@ +pgrep -l -f . | +fzf -m --no-sort --keep-right --delimiter " " \ + --preview="procstat -c {1} ; procstat -s {1} ; procstat -r {1} ; procstat -f {1}" | +perl -lane 'print $F[0]' diff --git a/tmux/.tmux/rc/capture b/tmux/.tmux/rc/capture new file mode 100644 index 0000000..74e24a8 --- /dev/null +++ b/tmux/.tmux/rc/capture @@ -0,0 +1,13 @@ +bind-key y { + capture-pane -J + save-buffer /tmp/tmux-buffer + delete-buffer + split-window 'vim -c "set listchars=" -c "match ExtraWhitespace //" /tmp/tmux-buffer' +} + +bind-key Y { + capture-pane -J -S - -E - + save-buffer /tmp/tmux-buffer + delete-buffer + split-window 'vim -c "set listchars=" -c "match ExtraWhitespace //" /tmp/tmux-buffer' +} diff --git a/tmux/.tmux/rc/menu-fzf b/tmux/.tmux/rc/menu-fzf new file mode 100644 index 0000000..4355fb8 --- /dev/null +++ b/tmux/.tmux/rc/menu-fzf @@ -0,0 +1,6 @@ +bind-key o display-menu \ + find o "display-popup -E -w 100% \"~/.tmux/bin/fzf.zsh find '#{pane_current_path}'\"" \ + procs p "display-popup -E -w 100% -h 100% \"~/.tmux/bin/fzf.zsh procs '#{pane_current_path}'\"" \ + git-files g "display-popup -E -w 100% \"~/.tmux/bin/fzf.zsh git-files '#{pane_current_path}'\"" \ + git-branches b "display-popup -E -w 100% \"~/.tmux/bin/fzf.zsh git-branches '#{pane_current_path}'\"" \ + git-commits c "display-popup -E -w 100% \"~/.tmux/bin/fzf.zsh git-commits '#{pane_current_path}'\"" diff --git a/tmux/.tmux/rc/menu-various b/tmux/.tmux/rc/menu-various new file mode 100644 index 0000000..7067232 --- /dev/null +++ b/tmux/.tmux/rc/menu-various @@ -0,0 +1,7 @@ +bind-key t display-menu \ + music t "display-popup -E -w 100% '~/.tmux/bin/menu-music.sh'" \ + pass p "display-popup -E '~/.tmux/bin/menu-pass-session.sh'" \ + dict d "display-popup -E -h 100% '~/.tmux/bin/menu-dict.sh'" \ + calc c "display-popup -E '~/.tmux/bin/menu-calc.sh'" \ + cal l "display-popup 'cal -3N'" \ + top o "display-popup -E -w 100% -h 100% 'top -s 1'" diff --git a/tmux/.tmux/rc/urlview b/tmux/.tmux/rc/urlview new file mode 100644 index 0000000..7568cc1 --- /dev/null +++ b/tmux/.tmux/rc/urlview @@ -0,0 +1,6 @@ +bind-key u { + capture-pane -J + save-buffer /tmp/tmux-buffer + delete-buffer + display-popup -E -w 100% "urlview /tmp/tmux-buffer" +} diff --git a/update.sh b/update similarity index 100% rename from update.sh rename to update diff --git a/urlview/.urlview b/urlview/.urlview deleted file mode 100644 index 511b181..0000000 --- a/urlview/.urlview +++ /dev/null @@ -1 +0,0 @@ -COMMAND /home/stargrave/bin/www %s & diff --git a/urlview/bin/urlview b/urlview/bin/urlview new file mode 100755 index 0000000..9259818 --- /dev/null +++ b/urlview/bin/urlview @@ -0,0 +1,6 @@ +#!/bin/sh -e +cmd=www +# regexp is taken from urlview +grep -P -o '(((http|https|ftp|gopher)|mailto):(//)?[^ <>\"\t]*|(www|ftp)[0-9]?\\.[-a-z0-9.]+)[^ .,;\t\n\r<\">\\):]?[^, <>\"\t]*[^ .,;\t\n\r<\">\\):]' "$@" | +fzf --bind="enter:execute($cmd {})" \ + --bind="ctrl-f:execute(rlwrap --pre-given={} head -1 | xargs $cmd)" diff --git a/vim/.vim/after/ftplugin/c/autos.vim b/vim/.vim/after/ftplugin/c/autos.vim new file mode 100644 index 0000000..96369aa --- /dev/null +++ b/vim/.vim/after/ftplugin/c/autos.vim @@ -0,0 +1 @@ +set commentstring=//\ %s diff --git a/vim/.vim/autoload/fmt.vim b/vim/.vim/autoload/fmt.vim new file mode 100644 index 0000000..3c24a5d --- /dev/null +++ b/vim/.vim/autoload/fmt.vim @@ -0,0 +1,24 @@ +vim9script + +export def Do() + var lines = [] + job_start(&equalprg, { + in_io: "buffer", in_buf: bufnr("%"), + callback: (chan, msg) => { + lines = add(lines, msg) + }, + exit_cb: (job, status) => { + if status != 0 + for i in range(len(lines)) + lines[i] = substitute(lines[i], "^[^:]\\+:", @% .. ":", "") + endfor + cgetexpr lines + copen + return + endif + var view = winsaveview() + silent execute ":%!" .. &equalprg + winrestview(view) + } + }) +enddef diff --git a/vim/.vim/autoload/go/jump.vim b/vim/.vim/autoload/go/jump.vim new file mode 100644 index 0000000..90c00d8 --- /dev/null +++ b/vim/.vim/autoload/go/jump.vim @@ -0,0 +1,9 @@ +vim9script + +export def Do(motion: string) + var saved = @/ + mark ' + execute motion + call histdel("/", -1) + @/ = saved +enddef diff --git a/vim/.vim/autoload/mutt.vim b/vim/.vim/autoload/mutt.vim new file mode 100644 index 0000000..367c6d7 --- /dev/null +++ b/vim/.vim/autoload/mutt.vim @@ -0,0 +1,9 @@ +vim9script + +export def KillSignature() + cursor(1, 1) + search('^[>|] \?-- \?$') + if getpos(".")[1] != 1 + normal d} + endif +enddef diff --git a/vim/.vim/ftdetect/ch.vim b/vim/.vim/ftdetect/ch.vim new file mode 100644 index 0000000..771b406 --- /dev/null +++ b/vim/.vim/ftdetect/ch.vim @@ -0,0 +1 @@ +autocmd BufRead,BufNewFile *.h setlocal filetype=ch diff --git a/vim/.vim/ftdetect/hjson.vim b/vim/.vim/ftdetect/hjson.vim index 8181fc2..65ed946 100644 --- a/vim/.vim/ftdetect/hjson.vim +++ b/vim/.vim/ftdetect/hjson.vim @@ -1,2 +1 @@ -autocmd BufNewFile,BufRead *.hjson setlocal shiftwidth=2 -autocmd BufNewFile,BufRead *.hjson setlocal commentstring=#\ %s +autocmd BufNewFile,BufRead *.hjson set filetype=hjson diff --git a/vim/.vim/ftdetect/mutt.vim b/vim/.vim/ftdetect/mutt.vim index d106b42..4e4dc75 100644 --- a/vim/.vim/ftdetect/mutt.vim +++ b/vim/.vim/ftdetect/mutt.vim @@ -1,10 +1 @@ -function! s:KillSignature() - call cursor(1, 1) - call search('^[>|] \?-- \?$') - if getpos(".")[1] != 1 - normal d} - endif -endfunction - -autocmd BufRead /tmp/mutt-* call s:KillSignature() -autocmd BufRead /tmp/mutt-* setlocal textwidth=72 +autocmd BufRead,BufNewFile /tmp/mutt-* set filetype=mutt diff --git a/vim/.vim/ftdetect/tex.vim b/vim/.vim/ftdetect/tex.vim deleted file mode 100644 index 19517da..0000000 --- a/vim/.vim/ftdetect/tex.vim +++ /dev/null @@ -1,3 +0,0 @@ -autocmd BufNewFile,BufRead *.tex abbreviate framedo \begin{frame}\frametitle{TODO}\end{frame}k>>wwlcw -autocmd BufNewFile,BufRead *.tex abbreviate itemdo \begin{itemize}\item \end{itemize}k>>$a -autocmd BufNewFile,BufRead *.tex abbreviate cnter \begin{center}\end{center}k$o diff --git a/vim/.vim/ftplugin/c/abs.vim b/vim/.vim/ftplugin/c/abs.vim new file mode 100644 index 0000000..08bcdec --- /dev/null +++ b/vim/.vim/ftplugin/c/abs.vim @@ -0,0 +1,4 @@ +abbreviate pdiff ptrdiff_t +abbreviate SZ size_t +abbreviate u8 uint8_t * +abbreviate ucc unsigned char * diff --git a/vim/.vim/ftplugin/c/autos.vim b/vim/.vim/ftplugin/c/autos.vim index 3e821d6..2c3c98f 100644 --- a/vim/.vim/ftplugin/c/autos.vim +++ b/vim/.vim/ftplugin/c/autos.vim @@ -1,9 +1,3 @@ -setlocal commentstring=//\ %s - -abbreviate UCC unsigned char -abbreviate u8 uint8_t * -abbreviate U8 (uint8_t *) -let @e = "ywoassert(pA!= NULL);" - -setlocal equalprg=cfmt.sh -command! -buffer Fmt normal mtgg=G'tz. +let @e = "yWoassert(pA!= NULL);" +nmap [cl O// clang-format off +nmap ]cl o// clang-format on diff --git a/vim/.vim/ftplugin/c/fmt.vim b/vim/.vim/ftplugin/c/fmt.vim new file mode 100644 index 0000000..3b25483 --- /dev/null +++ b/vim/.vim/ftplugin/c/fmt.vim @@ -0,0 +1,2 @@ +set equalprg=clang-format +command! -buffer Fmt call fmt#Do() diff --git a/vim/.vim/ftplugin/c/lsp.vim b/vim/.vim/ftplugin/c/lsp.vim deleted file mode 100644 index f033c07..0000000 --- a/vim/.vim/ftplugin/c/lsp.vim +++ /dev/null @@ -1,5 +0,0 @@ -au User lsp_setup call lsp#register_server({ -\ "name": "clangd", -\ "cmd": ["clangd"], -\ "allowlist": ["c", "cpp", "objc", "objcpp"], -\}) diff --git a/vim/.vim/ftplugin/gitcommit/autos.vim b/vim/.vim/ftplugin/gitcommit/autos.vim new file mode 100644 index 0000000..fe6325e --- /dev/null +++ b/vim/.vim/ftplugin/gitcommit/autos.vim @@ -0,0 +1,2 @@ +set spell +set textwidth=72 diff --git a/vim/.vim/ftplugin/gitcommit/spell.vim b/vim/.vim/ftplugin/gitcommit/spell.vim deleted file mode 100644 index 2ffef3c..0000000 --- a/vim/.vim/ftplugin/gitcommit/spell.vim +++ /dev/null @@ -1 +0,0 @@ -setlocal spell spelllang=ru,en_gb diff --git a/vim/.vim/ftplugin/gitcommit/tw.vim b/vim/.vim/ftplugin/gitcommit/tw.vim deleted file mode 100644 index 446f25e..0000000 --- a/vim/.vim/ftplugin/gitcommit/tw.vim +++ /dev/null @@ -1 +0,0 @@ -setlocal textwidth=72 diff --git a/vim/.vim/ftplugin/go/autos.vim b/vim/.vim/ftplugin/go/autos.vim index faad3c9..95c4afc 100644 --- a/vim/.vim/ftplugin/go/autos.vim +++ b/vim/.vim/ftplugin/go/autos.vim @@ -1,5 +1,6 @@ set noexpandtab -let g:defsplit_shift=" " +let b:defsplit_shift=" " +set makeprg=go\ build let @e = "^iif err = A; err != nil {o " let @r = "oif err != nil { }O " diff --git a/vim/.vim/ftplugin/go/fmt.vim b/vim/.vim/ftplugin/go/fmt.vim index 49d20dc..feebf10 100644 --- a/vim/.vim/ftplugin/go/fmt.vim +++ b/vim/.vim/ftplugin/go/fmt.vim @@ -1,69 +1,2 @@ -" Copyright 2011 The Go Authors. All rights reserved. -" Use of this source code is governed by a BSD-style -" license that can be found in the LICENSE file. -" -" fmt.vim: Vim command to format Go files with gofmt. -" -" This filetype plugin add a new commands for go buffers: -" -" :Fmt -" -" Filter the current Go buffer through gofmt. -" It tries to preserve cursor position and avoids -" replacing the buffer with stderr output. -" -" Options: -" -" g:go_fmt_commands [default=1] -" -" Flag to indicate whether to enable the commands listed above. -" -" g:gofmt_command [default="gofmt"] -" -" Flag naming the gofmt executable to use. -" -if exists("b:did_ftplugin_go_fmt") - finish -endif - -if !exists("g:go_fmt_commands") - let g:go_fmt_commands = 1 -endif - -if !exists("g:gofmt_command") - let g:gofmt_command = "goimports" -endif - -if g:go_fmt_commands - command! -buffer Fmt call s:GoFormat() -endif - -function! s:GoFormat() - let view = winsaveview() - silent execute "%!" . g:gofmt_command - if v:shell_error - let errors = [] - for line in getline(1, line('$')) - let tokens = matchlist(line, '^\(.\{-}\):\(\d\+\):\(\d\+\)\s*\(.*\)') - if !empty(tokens) - call add(errors, {"filename": @%, - \"lnum": tokens[2], - \"col": tokens[3], - \"text": tokens[4]}) - endif - endfor - if empty(errors) - % | " Couldn't detect gofmt error format, output errors - endif - undo - if !empty(errors) - call setqflist(errors, 'r') - endif - echohl Error | echomsg "Gofmt returned error" | echohl None - endif - call winrestview(view) -endfunction - -let b:did_ftplugin_go_fmt = 1 - -" vim:ts=4:sw=4:et +set equalprg=goimports +command! -buffer Fmt call fmt#Do() diff --git a/vim/.vim/ftplugin/go/gogetdoc.vim b/vim/.vim/ftplugin/go/gogetdoc.vim deleted file mode 100644 index 9105258..0000000 --- a/vim/.vim/ftplugin/go/gogetdoc.vim +++ /dev/null @@ -1,35 +0,0 @@ -" Popup documentation of specified object under the cursor -" Requires github.com/zmb3/gogetdoc in the $PATH - -function! LintStatus() - if exists("b:gogetdoc_job") && job_status(b:gogetdoc_job) == "run" | return "GD" | endif - return "" -endfunction - -function! GoGetDocGot(ch) - let msgs = [] - while ch_status(a:ch) == "buffered" - let msgs = add(msgs, ch_read(a:ch)) - endwhile - if exists("b:godocid") | call popup_close(b:godocid) | endif - if len(msgs) == 0 - echohl WarningMsg | echomsg "No go doc" | echohl None - return - endif - let msgs = msgs[2:] - let b:godocid = popup_atcursor(msgs[2:-2], {"wrap": 0, "title": msgs[0], "move": "word"}) -endfunction - -function! s:GoGetDoc() - if exists("b:gogetdoc_job") && job_status(b:gogetdoc_job) == "run" | return | endif - let pos = line2byte(line(".")) + col(".") - 2 - let cmdline = "gogetdoc -pos " . expand("%p") . ":#" . pos - echomsg cmdline - let b:gogetdoc_job = job_start(cmdline, { - \"in_mode": "nl", - \"err_io": "null", - \"close_cb": "GoGetDocGot", - \}) -endfunction - -nmap :call GoGetDoc() diff --git a/vim/.vim/ftplugin/go/lsp.vim b/vim/.vim/ftplugin/go/lsp.vim deleted file mode 100644 index ceaad66..0000000 --- a/vim/.vim/ftplugin/go/lsp.vim +++ /dev/null @@ -1,5 +0,0 @@ -au User lsp_setup call lsp#register_server({ -\ "name": "gopls", -\ "cmd": ["gopls"], -\ "allowlist": ["go"], -\}) diff --git a/vim/.vim/ftplugin/go/motion.vim b/vim/.vim/ftplugin/go/motion.vim index 041347c..410ce9a 100644 --- a/vim/.vim/ftplugin/go/motion.vim +++ b/vim/.vim/ftplugin/go/motion.vim @@ -1,18 +1,6 @@ -nnoremap ]] :call Go_jump('/^\(func\\|type\)') -nnoremap [[ :call Go_jump('?^\(func\\|type\)') -nnoremap ]m :call Go_jump('/^\s*\(func\\|type\)') -nnoremap [m :call Go_jump('?^\s*\(func\\|type\)') - -if exists('*Go_jump') | finish | endif - -fun! Go_jump(motion) range - let cnt = v:count1 - let save = @/ " save last search pattern - mark ' - while cnt > 0 - silent! exe a:motion - let cnt = cnt - 1 - endwhile - call histdel('/', -1) - let @/ = save " restore last search pattern -endfun +vim9script +if exists("*go#jump#Do") | finish | endif +nnoremap ]] :call go#jump#Do(':/^\(func\\|type\)') +nnoremap [[ :call go#jump#Do(':?^\(func\\|type\)') +nnoremap ]m :call go#jump#Do(':/^\s*\(func\\|type\)') +nnoremap [m :call go#jump#Do(':?^\s*\(func\\|type\)') diff --git a/vim/.vim/ftplugin/hjson/autos.vim b/vim/.vim/ftplugin/hjson/autos.vim new file mode 100644 index 0000000..069cc1c --- /dev/null +++ b/vim/.vim/ftplugin/hjson/autos.vim @@ -0,0 +1,2 @@ +set shiftwidth=2 +set commentstring=#\ %s diff --git a/vim/.vim/ftplugin/html/autos.vim b/vim/.vim/ftplugin/html/autos.vim new file mode 100644 index 0000000..2470c62 --- /dev/null +++ b/vim/.vim/ftplugin/html/autos.vim @@ -0,0 +1 @@ +abbreviate tto F%s +set syntax=mail +silent :%substitute /^> */>/e | set nohlsearch diff --git a/vim/.vim/ftplugin/python/autos.vim b/vim/.vim/ftplugin/python/autos.vim index d837bde..916b503 100644 --- a/vim/.vim/ftplugin/python/autos.vim +++ b/vim/.vim/ftplugin/python/autos.vim @@ -1,14 +1,10 @@ -iabbrev #u # coding: utf-8 -iabbrev tt # type: -iabbrev tti # type: ignore -iabbrev trace import pdb ; pdb.set_trace()pass -iabbrev itrace import ipdb ; ipdb.set_trace()pass -iabbrev embed import code ; code.interact(local=locals()) -iabbrev iembed from IPython import embed ; embed() -iabbrev kargs *args, **kwargs -iabbrev pyldis # pylint: disable= -iabbrev deff def () -> None:F(i -iabbrev """ """o"2i"kA -nmap ss :set lazyredrawvip:sort u:'<,'>sort i:set nolazyredraw -let @b = ">gvctry:<>k>>kP" -let @n = "ddV/except.*: #u # coding: utf-8 +iabbrev tt # type: +iabbrev tti # type: ignore +iabbrev trace breakpoint() +iabbrev embed import code ; code.interact(local=locals()) +iabbrev kargs *args, **kwargs +iabbrev pyldis # pylint: disable= +iabbrev deff def () -> None:F(i +nmap ss :set lazyredrawvip:sort u:'<,'>sort i:set nolazyredraw +syntax keyword pythonStatement match case diff --git a/vim/.vim/ftplugin/python/importcompl.vim b/vim/.vim/ftplugin/python/importcompl.vim deleted file mode 100644 index 353eeb7..0000000 --- a/vim/.vim/ftplugin/python/importcompl.vim +++ /dev/null @@ -1,75 +0,0 @@ -" Python imports insert completion -" Maintainer: Sergey Matveev -" License: GNU General Public License version 3 of the License or later -" -" This plugin is intended for quick import-line insertion. -" For example you have got "from foo.bar import Baz" import somewhere in -" your Git-versioned code. In another file you can write "Baz" and then -" press in insert mode. Completion menu will show you suggestions -" of all import lines from your code containing Baz import. -" -" If you have Pylint or Pyflakes output in quickfix window, containing -" unfedined variables errors, then you can you :call AllImportCompl() -" function. It will go through the quickfix list and find all possible -" imports, sort them and insert under current cursor position. -" -" It uses external "git grep" call and assumes that "canonical" Python -" import format is used (single import per line). -" You can use http://www.git.stargrave.org/?p=pyimportcan.git;a=blob;f=pyimportcan.pl -" utility to convert existing imports to that format. - -let s:git_grep_cmd = "git grep -H --line-number --ignore-case --no-color " - -if exists('g:loaded_importcompl') | finish | endif -let g:loaded_importcompl = 1 - -function! SortByLen(s1, s2) - if len(a:s1) == len(a:s2) | return a:s1 > a:s2 | endif - return 1 ? len(a:s1) > len(a:s2) : -1 -endfunction - -function! ImportCompl() - normal diw - let output = system(s:git_grep_cmd . '"^from .* import .*' . @" . '" -- "*.py" "**/*.py"') - let suggestions = [] - for line in split(output, "\n") - if stridx(line, "unused-import") != -1 | continue | endif - let m = matchlist(line, '^.*:\d\+:\(.*\)$') - if len(m) == 0 | continue | endif - call insert(suggestions, m[1]) - endfor - call sort(suggestions, "SortByLen") - call uniq(suggestions) - call reverse(suggestions) - call complete(col('.'), suggestions) - return '' -endfunction - -inoremap =ImportCompl() - -function! AllImportCompl() - let output = system(s:git_grep_cmd . '"^from .* import" -- "*.py" "**/*.py"') - let imports = {} - for line in split(output, "\n") - if stridx(line, "unused-import") != -1 | continue | endif - for regexp in [ - \'^.*:\d\+:\(from .* import \(\w\+\).*\)$', - \'^.*:\d\+:\(from .* import \w\+ as \(\w\+\).*\)$', - \] - let m = matchlist(line, regexp) - if len(m) == 0 | break | endif - let imports[m[2]] = m[1] - endfor - endfor - let lines = getloclist(winnr()) - if len(lines) == 0 | let lines = getqflist() | endif - let result = [] - for line in lines - let m = matchlist(line.text, '\(E0602\|F821\).*' . "'" . '\(\w\+\)' . "'$") - if len(m) == 0 || !has_key(imports, m[2]) | continue | endif - call insert(result, imports[m[2]]) - endfor - call sort(result, "i") - call uniq(result) - call append(".", result) -endfunction diff --git a/vim/.vim/ftplugin/python/lsp.vim b/vim/.vim/ftplugin/python/lsp.vim deleted file mode 100644 index 85091b4..0000000 --- a/vim/.vim/ftplugin/python/lsp.vim +++ /dev/null @@ -1,8 +0,0 @@ -if executable("pyls") - " pip install 'python-language-server[all]' - au User lsp_setup call lsp#register_server({ - \ "name": "pyls", - \ "cmd": {server_info->["pyls"]}, - \ "allowlist": ["python"], - \}) -endif diff --git a/vim/.vim/ftplugin/python/pdb.vim b/vim/.vim/ftplugin/python/pdb.vim new file mode 100644 index 0000000..b830cc2 --- /dev/null +++ b/vim/.vim/ftplugin/python/pdb.vim @@ -0,0 +1,3 @@ +vim9script +@b = ">gvctry:<>k>>kP" +@n = "ddV/except.*: -" License: GNU General Public License version 3 of the License or later -" -" Call pycodestyle utility and fill quickfix window with its results. - -sign define P8 text=P8 texthl=Error -function! s:pep8() - set makeprg=PATH=$PATH\ pycodestyle\ --select=E,W\ % - silent make - sign unplace * - let l:id = 1 - for item in getqflist() - execute(':sign place '.l:id.' name=P8 line='.l:item.lnum.' buffer='.l:item.bufnr) - let l:id = l:id + 2 - endfor - redraw! - copen -endfunction - -map :call pep8() diff --git a/vim/.vim/ftplugin/python/pylint.vim b/vim/.vim/ftplugin/python/pylint.vim deleted file mode 100644 index f0dd0a7..0000000 --- a/vim/.vim/ftplugin/python/pylint.vim +++ /dev/null @@ -1,99 +0,0 @@ -" Asynchronous pylint utility call -" Maintainer: Sergey Matveev -" License: GNU General Public License version 3 of the License or later -" -" This plugin allows you to asynchronously call pylint. -" -" * Add %{LintStatus()} to your statusline to see if pylint is running -" * Press to start pylint on current file -" * Press to open quickfix window with messages from pylint -" * All lines with corresponding pylint existing warning will be highlighted -" * If no warning and errors occurred, "pylint is clean" message will be shown -" * If existing quickfix window is found, then it won't be overwritten. -" Start pylint manually () to force its filling -" * After Python file is saved, pylint is automatically started - -if exists('g:loaded_pylint') | finish | endif -let g:loaded_pylint = 1 - -function! LintStatus() - if exists("b:lint_job") && job_status(b:lint_job) == "run" | return "LN" | endif - return "" -endfunction - -function! s:qffill(ch) - let msgs = [] - while ch_status(a:ch) == 'buffered' - let msgs = add(msgs, ch_read(a:ch)) - endwhile - cgetexpr msgs -endfunction - -sign define LN text=LN texthl=Error - -function! PylintFinish(ch) - let l:errorformat_bak = &errorformat - set errorformat=%f:%l:\ [%t]%m,%f:%l:%m - call s:qffill(a:ch) - let &errorformat=l:errorformat_bak - sign unplace * - let l:id = 2 - for item in getqflist() - if item.lnum == 0 | continue | endif - execute(':sign place '.l:id.' name=LN line='.l:item.lnum.' buffer='.l:item.bufnr) - let l:id = l:id + 2 - endfor - redraw! - if l:id == 2 - echohl MoreMsg | echomsg "pylint is clean" | echohl None - cclose - endif -endfunction - -function! PylintStart() - if exists("g:pylint_disable") || (exists("b:lint_job") && job_status(b:lint_job) == "run") - return - endif - let ignores = [ - \"locally-disabled", - \"no-init", - \"no-self-use", - \"too-few-public-methods", - \"missing-docstring", - \"too-many-instance-attributes", - \"invalid-name", - \"too-many-arguments", - \"too-many-locals", - \"too-many-public-methods", - \"no-value-for-parameter", - \] - if !exists("g:pylint_linter") | let g:pylint_linter = "pylint" | endif - if g:pylint_linter == "flake8" - let cmdline = [ - \"flake8", - \"--ignore=E501", - \"--format=%(path)s:%(row)d: [%(code)s] %(text)s", - \"--max-line-length=90", - \expand("%p") - \] - elseif g:pylint_linter == "pylint" - let cmdline = [ - \"pylint", - \"--jobs=4", - \"--reports=n", - \"--msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}", - \"--disable=" . join(ignores, ","), - \"--persistent=n", - \"--score=no", - \expand("%p") - \] - else - echohl WarningMsg | echomsg "Unknown linter specified" | echohl None - return - endif - let b:lint_job = job_start(cmdline, {"in_mode": "nl", "err_io": "null", "close_cb": "PylintFinish"}) -endfunction() - -map :unlet! g:pylint_disable:call PylintStart() -map [32~ :redraw!:copen -autocmd BufWritePost *.py call PylintStart() diff --git a/vim/.vim/ftplugin/python/testname.vim b/vim/.vim/ftplugin/python/testname.vim deleted file mode 100644 index e388f1b..0000000 --- a/vim/.vim/ftplugin/python/testname.vim +++ /dev/null @@ -1,24 +0,0 @@ -" Nose-compatible test name preparer -" Maintainer: Sergey Matveev -" License: GNU General Public License version 3 of the License or later -" -" When standing inside TestCase's test method, type t and full -" Python (your.project.tests:TestCaseName.test_method_name) path will be -" copied to clipboard ("*) register. - -function! TestName() - normal mm - normal ?.*\s*def .*[Tt]est - normal ^f(Byw - let postfix = @" - normal [[f(Byw - let postfix = @" . "." . postfix - normal `m - let base = join([""] + split(getcwd(), "/")[:-1], "/") - let prefix = substitute(expand("%:p:r")[len(base)+1:], "/", ".", "g") - let name = prefix . ":" . postfix - let @* = name - echomsg name -endfunction - -nmap t :call TestName() diff --git a/vim/.vim/ftplugin/python/unused_remover.vim b/vim/.vim/ftplugin/python/unused_remover.vim deleted file mode 100644 index 5e6b1ba..0000000 --- a/vim/.vim/ftplugin/python/unused_remover.vim +++ /dev/null @@ -1,4 +0,0 @@ -function! UnusedImportsRemover() - call setqflist(filter(getqflist(), "stridx(v:val.text, \"unused-import\") != -1 || stridx(v:val.text, \"imported but unused\") != -1")) - cdo d -endfunction diff --git a/vim/.vim/ftplugin/rust/autos.vim b/vim/.vim/ftplugin/rust/autos.vim deleted file mode 100644 index 7f84a99..0000000 --- a/vim/.vim/ftplugin/rust/autos.vim +++ /dev/null @@ -1 +0,0 @@ -let b:did_ftplugin = 1 diff --git a/vim/.vim/ftplugin/sql/comments.vim b/vim/.vim/ftplugin/sql/comments.vim new file mode 100644 index 0000000..8c0d563 --- /dev/null +++ b/vim/.vim/ftplugin/sql/comments.vim @@ -0,0 +1 @@ +set commentstring=--\ %s diff --git a/vim/.vim/ftplugin/tcl/man.vim b/vim/.vim/ftplugin/tcl/man.vim new file mode 100644 index 0000000..b849c68 --- /dev/null +++ b/vim/.vim/ftplugin/tcl/man.vim @@ -0,0 +1 @@ +nmap K :Man .tcl86 diff --git a/vim/.vim/ftplugin/tex/autos.vim b/vim/.vim/ftplugin/tex/autos.vim new file mode 100644 index 0000000..2891419 --- /dev/null +++ b/vim/.vim/ftplugin/tex/autos.vim @@ -0,0 +1,4 @@ +abbreviate framedo \begin{frame}\frametitle{TODO}\end{frame}k>>wwlcw +abbreviate itemdo \begin{itemize}\item \end{itemize}k>>$a +abbreviate cnter \begin{center}\end{center}k$o +abbreviate TTT \texttt{}i diff --git a/vim/.vim/ftplugin/texinfo/autos.vim b/vim/.vim/ftplugin/texinfo/autos.vim index 0f57cfe..11e949d 100644 --- a/vim/.vim/ftplugin/texinfo/autos.vim +++ b/vim/.vim/ftplugin/texinfo/autos.vim @@ -1,2 +1,2 @@ -abbreviate \t @tab -setlocal commentstring=@c\ %s +abbreviate \t @tab +set commentstring=@c\ \ %s diff --git a/vim/.vim/ftplugin/vim/autos.vim b/vim/.vim/ftplugin/vim/autos.vim new file mode 100644 index 0000000..21a0960 --- /dev/null +++ b/vim/.vim/ftplugin/vim/autos.vim @@ -0,0 +1,2 @@ +set commentstring=#%s +abbreviate v9 vim9script diff --git a/vim/.vim/ftplugin/yaml/autos.vim b/vim/.vim/ftplugin/yaml/autos.vim index 6f78fab..7b7ac76 100644 --- a/vim/.vim/ftplugin/yaml/autos.vim +++ b/vim/.vim/ftplugin/yaml/autos.vim @@ -1 +1 @@ -setlocal shiftwidth=2 +set shiftwidth=2 diff --git a/vim/.vim/pack/stargrave/start/align/autoload/align.vim b/vim/.vim/pack/stargrave/start/align/autoload/align.vim new file mode 100644 index 0000000..d31e1a1 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/align/autoload/align.vim @@ -0,0 +1,14 @@ +vim9script + +const Sep = "₀◎○ë" # something that won't be met anywhere + +export def Do(first: number, last: number, sep: string) + var in: list + for n in range(first, last) + in = add(in, substitute(getline(n), sep, "\t" .. Sep, "g")) + endfor + var out = systemlist("column -t -s \"\t\"", add(in, "")) + for n in range(first, last) + setline(n, substitute(out[n - first], " " .. Sep, escape(sep, "&"), "g")) + endfor +enddef diff --git a/vim/.vim/pack/stargrave/start/align/plugin/align.vim b/vim/.vim/pack/stargrave/start/align/plugin/align.vim new file mode 100644 index 0000000..82d5370 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/align/plugin/align.vim @@ -0,0 +1,2 @@ +if exists("*align#Do") | finish | endif +command! -nargs=1 -range Align call align#Do(, , ) diff --git a/vim/.vim/pack/stargrave/start/buftabline/autoload/buftabline.vim b/vim/.vim/pack/stargrave/start/buftabline/autoload/buftabline.vim new file mode 100644 index 0000000..d5c2721 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/buftabline/autoload/buftabline.vim @@ -0,0 +1,28 @@ +vim9script + +export def Do(): string + var bufsRaw = execute("buffers", "silent") + var bufs: list + var leftIdx: number + var rightIdx: number + var filename: string + var linenum: string + var attrs: list + var attr: string + var hl: string + for buf in split(bufsRaw, "\n")[ : 16] + leftIdx = stridx(buf, '"') + rightIdx = strridx(buf, '"') + filename = substitute( + strpart(buf, leftIdx + 1, rightIdx - leftIdx - 1), "%", "%%", "g") + linenum = split(strpart(buf, rightIdx), " ")[-1] + attrs = split(strpart(buf, 0, leftIdx - 1), '\s\+') + attrs = map(attrs, 'substitute(v:val, "%", "%%", "g")') + attr = (len(attrs) == 1) ? attrs[0] : attrs[0] .. ":" .. join(attrs[1 :], "") + attr = "%#TabLine#" .. attr .. "%*" + if len(filename) > 20 | filename = "<" .. filename[-(20 - 1) :] | endif + hl = (match(attr, "%%") == -1) ? "%#TabLine#:" : "%#TabLineSel#" + bufs = add(bufs, attr .. hl .. filename .. ":" .. linenum .. "%*") + endfor + return join(bufs, " ") +enddef diff --git a/vim/.vim/pack/stargrave/start/buftabline/plugin/buftabline.vim b/vim/.vim/pack/stargrave/start/buftabline/plugin/buftabline.vim new file mode 100644 index 0000000..99c444e --- /dev/null +++ b/vim/.vim/pack/stargrave/start/buftabline/plugin/buftabline.vim @@ -0,0 +1,3 @@ +if exists("*buftabline#Do") | finish | endif +set showtabline=2 +set tabline=%!buftabline#Do() diff --git a/vim/.vim/pack/stargrave/start/chnglstnav/autoload/chnglstnav.vim b/vim/.vim/pack/stargrave/start/chnglstnav/autoload/chnglstnav.vim new file mode 100644 index 0000000..cfd5ab6 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/chnglstnav/autoload/chnglstnav.vim @@ -0,0 +1,6 @@ +vim9script + +export def Do(...args: list) + if len(args) == 0 | return | endif + execute "normal " .. args[0] .. (args[0] > 0 ? "g;" : "g,") +enddef diff --git a/vim/.vim/pack/stargrave/start/chnglstnav/plugin/chnglstnav.vim b/vim/.vim/pack/stargrave/start/chnglstnav/plugin/chnglstnav.vim new file mode 100644 index 0000000..01ef650 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/chnglstnav/plugin/chnglstnav.vim @@ -0,0 +1,2 @@ +if exists("*chnglstnav#Do") | finish | endif +nmap :changes:call chnglstnav#Do() diff --git a/vim/.vim/pack/stargrave/start/ctags/autoload/ctags.vim b/vim/.vim/pack/stargrave/start/ctags/autoload/ctags.vim new file mode 100644 index 0000000..29e1363 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/ctags/autoload/ctags.vim @@ -0,0 +1,37 @@ +vim9script + +# Universal Ctags creator +# Maintainer: Sergey Matveev +# License: GNU General Public License version 3 of the License or later +# +# Create "tags" file in your project's root first. +# Then :Ctags LANG to fill it. + +export def Do(lang: string, onlyCmd: bool, verbose: bool) + var dsts = tagfiles() + if len(dsts) == 0 + echohl WarningMsg | echomsg "No tagfiles" | echohl None + return + endif + var dst = sort(dsts, (a, b) => len(a) > len(b) ? 1 : len(a) == len(b) ? 0 : -1)[0] + var src = "/" .. join(split(dst, "/")[: -3], "/") + if dst[0] != "/" + dst = getcwd() .. "/.tags/tags" + src = getcwd() + endif + var cmdline = [ + "uctags", + "--languages=" .. lang, + "--python-kinds=-i", + "--c++-kinds=+p", + "--recurse", + ] + if verbose == true | cmdline += ["--verbose"] | endif + cmdline += ["-f", dst, src] + if onlyCmd == true + echo join(cmdline, " ") + return + endif + execute "!" .. join(cmdline, " ") + if verbose != true | redraw! | endif +enddef diff --git a/vim/.vim/pack/stargrave/start/ctags/plugin/ctags.vim b/vim/.vim/pack/stargrave/start/ctags/plugin/ctags.vim new file mode 100644 index 0000000..34cde99 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/ctags/plugin/ctags.vim @@ -0,0 +1,5 @@ +vim9script +if exists("*ctags#Do") | finish | endif +command! -nargs=1 Ctags silent call ctags#Do(, false, false) +command! -nargs=1 Ctagsv silent call ctags#Do(, true, false) +command! -nargs=1 Ctagscmd call ctags#Do(, true, true) diff --git a/vim/.vim/pack/stargrave/start/defsplit/autoload/defsplit.vim b/vim/.vim/pack/stargrave/start/defsplit/autoload/defsplit.vim new file mode 100644 index 0000000..8fb89e8 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/defsplit/autoload/defsplit.vim @@ -0,0 +1,97 @@ +vim9script + +# Function call splitter +# Maintainer: Sergey Matveev +# License: GNU General Public License version 3 of the License or later +# +# This plugin splits function call on several lines. +# +# def foobar(self, foo: str, bar: Some[thing, too]) -> None: +# to +# def foobar( +# self, +# foo: str, +# bar: Some[thing, too], +# ) -> None: +# +# foo(bar, baz)[0] +# to +# foo( +# bar, +# baz, +# )[0] +# +# You can un-split it using :Undefsplit command on the line where +# splitting starts. +# +# :Defsplit has optional argument specifying how many opening round +# parenthesis must be skipped. +# :Defsplit 1 on foo(baz(baz(...))) produces +# foo(baz( +# baz(...), +# )) +# +# Also there is :Brsplit command behaving similarly, but it splits other +# types of brackets: "{}", "[]". + +def BracketFind(brsAllowable: list, line: string, offset: number): number + var possible: list + var found: number + for bracket in brsAllowable + found = stridx(line, bracket, offset) + if found != -1 | possible += [found] | endif + endfor + return min(possible) +enddef + +const Brs = {"(": ")", "[": "]", "{": "}"} + +export def Do(brsAllowable: list, singleLineComma: bool, ...args: list) + var skip = len(args) == 0 ? 0 : str2nr(args[0]) + var shift = get(b:, "defsplit_shift", " ") + var line = getline(".") + var prfx: string + for i in range(len(line)) + if line[i] != shift[0] + prfx = strpart(line, 0, i) + if line[i : i + 3] ==# "def " || + line[i : i + 5] ==# "class " || + line[i : i + 9] ==# "async def " + shift ..= shift + endif + break + endif + endfor + var brfirst = BracketFind(brsAllowable, line, 0) + var brlast = strridx(line, Brs[line[brfirst]]) + while skip > 0 + brfirst = BracketFind(brsAllowable, line, brfirst + 1) + brlast = strridx(line, Brs[line[brfirst]], brlast - 1) + skip -= 1 + endwhile + var [curly, round, squar, outbuf] = [0, 0, 0, ""] + var ready = [strpart(line, 0, brfirst + 1)] + var trailingComma = true + for c in split(line[brfirst + 1 : brlast - 1], '\zs') + if c ==# "*" | trailingComma = false | endif + if outbuf ==# "" && c ==# " " | continue | endif + outbuf ..= c + if c ==# "," && !curly && !round && !squar + ready = add(ready, prfx .. shift .. outbuf) + outbuf = "" + elseif c ==# "[" | squar += 1 + elseif c ==# "]" | squar -= 1 + elseif c ==# "(" | round += 1 + elseif c ==# ")" | round -= 1 + elseif c ==# "{" | curly += 1 + elseif c ==# "}" | curly -= 1 + endif + endfor + if trailingComma && !(singleLineComma == true && len(ready) == 1) + outbuf = outbuf .. "," + endif + ready = add(ready, prfx .. shift .. outbuf) + ready = add(ready, prfx .. strpart(line, brlast)) + append(line("."), ready) + normal "_dd +enddef diff --git a/vim/.vim/pack/stargrave/start/defsplit/plugin/defsplit.vim b/vim/.vim/pack/stargrave/start/defsplit/plugin/defsplit.vim new file mode 100644 index 0000000..f01362b --- /dev/null +++ b/vim/.vim/pack/stargrave/start/defsplit/plugin/defsplit.vim @@ -0,0 +1,6 @@ +if exists("*defsplit#Do") | finish | endif +command! -nargs=? Defsplit call defsplit#Do(["("], v:false, ) +command! -nargs=? Brsplit call defsplit#Do(["(", "[", "{"], v:false, ) +command! -nargs=? Defsplits call defsplit#Do(["("], v:true, ) +command! -nargs=? Brsplits call defsplit#Do(["(", "[", "{"], v:true, ) +command! Undefsplit normal ^v%$J:keepp s/^\(.*\)\([([{]\) \(.*[^,]\),\?\([)\]}]\)\(.*\)$/\1\2\3\4\5:keepp s/, \?\([)\]}]\+\)$/\1/e: diff --git a/vim/.vim/pack/stargrave/start/fileline/autoload/fileline.vim b/vim/.vim/pack/stargrave/start/fileline/autoload/fileline.vim new file mode 100644 index 0000000..d5b1d9a --- /dev/null +++ b/vim/.vim/pack/stargrave/start/fileline/autoload/fileline.vim @@ -0,0 +1,19 @@ +vim9script + +# Simplified version of http://www.vim.org/scripts/script.php?script_id=2184 +# that does not replace current window + +export def Goto() + var file = bufname("%") + if filereadable(file) | return | endif + var names = matchlist(file, '\(.\{-1,}\):\%(\(\d\+\)\%(:\(\d*\):\?\)\?\)\?$') + if empty(names) | return | endif + var fileName = names[1] + var lineNum = names[2] == "" ? "0" : names[2] + var colNum = names[3] == "" ? "0" : names[3] + if !filereadable(fileName) | return | endif + var nr = bufnr("%") + execute "keepalt edit +" .. lineNum .. " " .. fileName + execute "normal! " .. colNum .. "|" + execute "bdelete " .. nr +enddef diff --git a/vim/.vim/pack/stargrave/start/fileline/plugin/fileline.vim b/vim/.vim/pack/stargrave/start/fileline/plugin/fileline.vim new file mode 100644 index 0000000..dcb7f9d --- /dev/null +++ b/vim/.vim/pack/stargrave/start/fileline/plugin/fileline.vim @@ -0,0 +1,6 @@ +if exists("*fileline#Goto") | finish | endif +augroup FilelinePlugin + autocmd! + autocmd BufNewFile *:* nested call fileline#Goto() + autocmd BufRead *:* nested call fileline#Goto() +augroup END diff --git a/vim/.vim/pack/stargrave/start/go-gogetdoc/autoload/go/getdoc.vim b/vim/.vim/pack/stargrave/start/go-gogetdoc/autoload/go/getdoc.vim new file mode 100644 index 0000000..6c5555e --- /dev/null +++ b/vim/.vim/pack/stargrave/start/go-gogetdoc/autoload/go/getdoc.vim @@ -0,0 +1,36 @@ +vim9script + +# Popup documentation of specified object under the cursor +# Requires github.com/zmb3/gogetdoc in the $PATH + +export def Status(): string + if exists("b:gogetdoc_job") && job_status(b:gogetdoc_job) == "run" | return "GD" | endif + return "" +enddef + +export def Got(ch: channel) + var msgs: list + while ch_status(ch) == "buffered" + msgs = add(msgs, ch_read(ch)) + endwhile + if exists("b:godocid") | popup_close(b:godocid) | endif + if len(msgs) == 0 + echohl WarningMsg | echomsg "No go doc" | echohl None + return + endif + msgs = msgs[2 :] + b:godocid = popup_atcursor(msgs[2 : -2], + {"wrap": 0, "title": msgs[0], "move": "word"}) +enddef + +export def Do() + if exists("b:gogetdoc_job") && job_status(b:gogetdoc_job) == "run" | return | endif + var pos = line2byte(line(".")) + col(".") - 2 + var cmdline = "gogetdoc -pos " .. expand("%p") .. ":#" .. pos + echomsg cmdline + b:gogetdoc_job = job_start(cmdline, { + "in_mode": "nl", + "err_io": "null", + "close_cb": "go#getdoc#Got", + }) +enddef diff --git a/vim/.vim/pack/stargrave/start/go-gogetdoc/ftplugin/go/gogetdoc.vim b/vim/.vim/pack/stargrave/start/go-gogetdoc/ftplugin/go/gogetdoc.vim new file mode 100644 index 0000000..a93c58f --- /dev/null +++ b/vim/.vim/pack/stargrave/start/go-gogetdoc/ftplugin/go/gogetdoc.vim @@ -0,0 +1,3 @@ +if exists("*go#getdoc#Do") | finish | endif +let b:mein_status_func=function("go#getdoc#Status") +nmap :call go#getdoc#Do() diff --git a/vim/.vim/pack/stargrave/start/mark/autoload/mark.vim b/vim/.vim/pack/stargrave/start/mark/autoload/mark.vim new file mode 100644 index 0000000..a13d7a3 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/mark/autoload/mark.vim @@ -0,0 +1,73 @@ +vim9script + +# Based on Mark plugin by Yuheng Xie: +# https://www.vim.org/scripts/script.php?script_id=1238 +# That one: +# * uses autoload for lazy loading +# * is ported to vim9script for code simplification and performance +# * uses lists, instead of pack of variables to keep the state +# * does not pollute global variable namespace +# * has ability only to highlight the current word + +hi MarkWord1 ctermfg=Black ctermbg=Cyan +hi MarkWord2 ctermfg=Black ctermbg=Green +hi MarkWord3 ctermfg=Black ctermbg=Yellow +hi MarkWord4 ctermfg=Black ctermbg=Red +hi MarkWord5 ctermfg=Black ctermbg=Magenta +hi MarkWord6 ctermfg=Black ctermbg=Blue + +const MarkIdOffset = 3333 +var Show: bool +var Words: list +var Idx: number + +def Init() + if len(Words) > 0 | return | endif + var i = 1 + while hlexists("MarkWord" .. i) | i = i + 1 | endwhile + Words = repeat([""], i - 1) +enddef + +def WinRefresh() + for i in range(len(Words)) + exec "syntax clear MarkWord" .. (i + 1) + silent! matchdelete(MarkIdOffset + i + 1) + if (Words[i] == "") || !Show | continue | endif + matchadd("MarkWord" .. (i + 1), Words[i], -10, MarkIdOffset + i + 1) + endfor +enddef + +export def Refresh() + Init() + var nr = winnr() + silent! windo WinRefresh() + silent! exec ":" .. nr .. "wincmd w" +enddef + +export def Toggle() + Show = !Show + Refresh() +enddef + +def Do(word: string) + for i in range(len(Words)) + if !Show | Words[i] = "" + elseif Words[i] == word | Words[i] = "" | return + endif + endfor + if !Show | Show = true | endif + for i in range(len(Words)) + if Words[i] != "" | continue | endif + Words[i] = word + Idx = ((i + 1) == len(Words)) ? 0 : (i + 1) + return + endfor + Words[Idx] = word + Idx = ((Idx + 1) == len(Words)) ? 0 : (Idx + 1) +enddef + +export def Word() + Init() + Do('\<' .. expand("") .. '\>') + Refresh() +enddef diff --git a/vim/.vim/pack/stargrave/start/mark/plugin/mark.vim b/vim/.vim/pack/stargrave/start/mark/plugin/mark.vim new file mode 100644 index 0000000..3693784 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/mark/plugin/mark.vim @@ -0,0 +1,3 @@ +if exists("*mark#Word") | finish | endif +nmap m :call mark#Word() +autocmd BufWinEnter,WinEnter * call mark#Refresh() diff --git a/vim/.vim/pack/stargrave/start/navindent/autoload/navindent.vim b/vim/.vim/pack/stargrave/start/navindent/autoload/navindent.vim new file mode 100644 index 0000000..961cfa6 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/navindent/autoload/navindent.vim @@ -0,0 +1,22 @@ +vim9script + +# Based on https://vim.fandom.com/wiki/Move_to_next/previous_line_with_same_indentation + +export def Do(step: number, diff: number) + var l = line(".") + var cin = indent(l) + var last = line("$") + var lin: number + while (l > 0 && l <= last) + l += step + if (strlen(getline(l)) == 0) | continue | endif + lin = indent(l) + if !( + ((diff == 0) && (lin == cin)) || + ((diff == 1) && (lin > cin)) || + ((diff == -1) && (lin < cin)) + ) | continue | endif + cursor(l, lin + 1) + return + endwhile +enddef diff --git a/vim/.vim/pack/stargrave/start/navindent/plugin/navindent.vim b/vim/.vim/pack/stargrave/start/navindent/plugin/navindent.vim new file mode 100644 index 0000000..138a26b --- /dev/null +++ b/vim/.vim/pack/stargrave/start/navindent/plugin/navindent.vim @@ -0,0 +1,7 @@ +if exists("*navindent#Do") | finish | endif +nmap [- :call navindent#Do(-1, -1) +nmap ]- :call navindent#Do(+1, -1) +nmap [= :call navindent#Do(-1, 0) +nmap ]= :call navindent#Do(+1, 0) +nmap [+ :call navindent#Do(-1, +1) +nmap ]+ :call navindent#Do(+1, +1) diff --git a/vim/.vim/pack/stargrave/start/nonhumanhl/autoload/nonhumanhl.vim b/vim/.vim/pack/stargrave/start/nonhumanhl/autoload/nonhumanhl.vim new file mode 100644 index 0000000..038b8c4 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/nonhumanhl/autoload/nonhumanhl.vim @@ -0,0 +1,5 @@ +vim9script +export def Load() + highlight nonhuman ctermbg=blue ctermfg=red + autocmd BufReadPost * syntax match nonhuman "[^\u0000-\u007Fа-яА-ЯёЁäÄöÖüÜßẞ]" containedin=ALL +enddef diff --git a/vim/.vim/pack/stargrave/start/nonhumanhl/plugin/nonhumanhl.vim b/vim/.vim/pack/stargrave/start/nonhumanhl/plugin/nonhumanhl.vim new file mode 100644 index 0000000..38a0ff4 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/nonhumanhl/plugin/nonhumanhl.vim @@ -0,0 +1,3 @@ +vim9script +if exists("*nonhumanhl#Load") | finish | endif +nonhumanhl#Load() diff --git a/vim/.vim/pack/stargrave/start/py-importcompl/autoload/python/importcompl.vim b/vim/.vim/pack/stargrave/start/py-importcompl/autoload/python/importcompl.vim new file mode 100644 index 0000000..48c166a --- /dev/null +++ b/vim/.vim/pack/stargrave/start/py-importcompl/autoload/python/importcompl.vim @@ -0,0 +1,75 @@ +vim9script + +# Python imports insert completion +# Maintainer: Sergey Matveev +# License: GNU General Public License version 3 of the License or later +# +# This plugin is intended for quick import-line insertion. +# For example you have got "from foo.bar import Baz" import somewhere in +# your Git-versioned code. In another file you can write "Baz" and then +# press in insert mode. Completion menu will show you suggestions +# of all import lines from your code containing Baz import. +# +# If you have Pylint or Pyflakes output in quickfix window, containing +# unfedined variables errors, then you can you :call python#importcompl#all() +# function. It will go through the quickfix list and find all possible +# imports, sort them and insert under current cursor position. +# +# It uses external "git grep" call and assumes that "canonical" Python +# import format is used (single import per line). +# You can use http://www.git.stargrave.org/?p=pyimportcan.git;a=blob;f=pyimportcan.pl +# utility to convert existing imports to that format. + +const gitGrepCmd = "git grep -H --line-number --ignore-case --no-color " + +export def Do(): string + normal diw + var output = system(gitGrepCmd .. '"^from .* import .*' .. @" .. '" -- "*.py" "**/*.py"') + var suggestions: list + var m: list + for line in split(output, "\n") + if stridx(line, "unused-import") != -1 | continue | endif + m = matchlist(line, '^.*:\d\+:\(.*\)$') + if len(m) == 0 | continue | endif + insert(suggestions, m[1]) + endfor + sort(suggestions, (s1: string, s2: string): number => { + if len(s1) == len(s2) | return 0 | endif + if len(s1) > len(s2) | return 1 | endif + return -1 + }) + uniq(suggestions) + reverse(suggestions) + complete(col("."), suggestions) + return "" +enddef + +export def All() + var output = system(gitGrepCmd .. '"^from .* import" -- "*.py" "**/*.py"') + var imports = {} + var ms: list + for line in split(output, "\n") + if stridx(line, "unused-import") != -1 | continue | endif + for regexp in [ + '^.*:\d\+:\(from .* import \(\w\+\).*\)$', + '^.*:\d\+:\(from .* import \w\+ as \(\w\+\).*\)$', + ] + ms = matchlist(line, regexp) + if len(ms) == 0 | break | endif + imports[ms[2]] = ms[1] + endfor + endfor + var lines = getloclist(winnr()) + if len(lines) == 0 | lines = getqflist() | endif + var result: list + var m: string + for line in lines + if line.text !~ "^undefined name" | continue | endif + m = line.text[strridx(line.text[: -2], "'") + 1 : -2] + if len(m) == 0 || !has_key(imports, m) | continue | endif + insert(result, imports[m]) + endfor + sort(result, "i") + uniq(result) + append(".", result) +enddef diff --git a/vim/.vim/pack/stargrave/start/py-importcompl/autoload/python/unused.vim b/vim/.vim/pack/stargrave/start/py-importcompl/autoload/python/unused.vim new file mode 100644 index 0000000..25ef8cb --- /dev/null +++ b/vim/.vim/pack/stargrave/start/py-importcompl/autoload/python/unused.vim @@ -0,0 +1,8 @@ +vim9script + +export def Remove() + setqflist(filter(getqflist(), (idx, val) => + stridx(val.text, "unused-import") != -1 || + stridx(val.text, "imported but unused") != -1)) + cdo d +enddef diff --git a/vim/.vim/pack/stargrave/start/py-importcompl/ftplugin/python/importcompl.vim b/vim/.vim/pack/stargrave/start/py-importcompl/ftplugin/python/importcompl.vim new file mode 100644 index 0000000..25cf83e --- /dev/null +++ b/vim/.vim/pack/stargrave/start/py-importcompl/ftplugin/python/importcompl.vim @@ -0,0 +1,4 @@ +if exists("*python#importcompl#Do") | finish | endif +inoremap =python#importcompl#Do() +cnoremap call python#importcompl#All() +cnoremap call python#unused#Remove() diff --git a/vim/.vim/pack/stargrave/start/py-pep8/autoload/python/pep8.vim b/vim/.vim/pack/stargrave/start/py-pep8/autoload/python/pep8.vim new file mode 100644 index 0000000..5075c35 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/py-pep8/autoload/python/pep8.vim @@ -0,0 +1,21 @@ +vim9script + +# PEP8 caller +# Maintainer: Sergey Matveev +# License: GNU General Public License version 3 of the License or later +# +# Call pycodestyle utility and fill quickfix window with its results. + +export def Do() + set makeprg=PATH=$PATH\ pycodestyle\ --select=E,W\ % + silent make + sign unplace * + var _id = 1 + for item in getqflist() + execute(":sign place " .. _id .. " name=P8 line=" .. item.lnum .. + " buffer=" .. item.bufnr) + _id = _id + 2 + endfor + redraw! + copen +enddef diff --git a/vim/.vim/pack/stargrave/start/py-pep8/ftplugin/python/pep8.vim b/vim/.vim/pack/stargrave/start/py-pep8/ftplugin/python/pep8.vim new file mode 100644 index 0000000..0115125 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/py-pep8/ftplugin/python/pep8.vim @@ -0,0 +1,3 @@ +if exists("*python#pep8#Do") | finish | endif +sign define P8 text=P8 texthl=Error +map :call python#pep8#Do() diff --git a/vim/.vim/pack/stargrave/start/py-testname/autoload/python/testname.vim b/vim/.vim/pack/stargrave/start/py-testname/autoload/python/testname.vim new file mode 100644 index 0000000..921321a --- /dev/null +++ b/vim/.vim/pack/stargrave/start/py-testname/autoload/python/testname.vim @@ -0,0 +1,21 @@ +vim9script + +# Nose-compatible test name preparer +# Maintainer: Sergey Matveev +# License: GNU General Public License version 3 of the License or later +# +# When standing inside TestCase's test method, type t and full +# Python (your.project.tests:TestCaseName.test_method_name) path will be +# copied to clipboard ("*) register. + +export def Get() + var pos = getpos(".") + var postfix = matchstr(getline(search(".*\s*def .*[Tt]est", "b")), '\w\+(')[: -2] + postfix = matchstr(getline(search("^\s*class", "bn")), '\w\+(')[: -2] .. "." .. postfix + setpos(".", pos) + var base = join([""] + split(getcwd(), "/")[: -1], "/") + var prefix = substitute(expand("%:p:r")[len(base) + 1 :], "/", ".", "g") + var name = prefix .. ":" .. postfix + @* = name + echomsg name +enddef diff --git a/vim/.vim/pack/stargrave/start/py-testname/ftplugin/python/testname.vim b/vim/.vim/pack/stargrave/start/py-testname/ftplugin/python/testname.vim new file mode 100644 index 0000000..e3d8f87 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/py-testname/ftplugin/python/testname.vim @@ -0,0 +1,2 @@ +if exists("*python#testname#Get") | finish | endif +nmap t :call python#testname#Get() diff --git a/vim/.vim/pack/stargrave/start/whereami/autoload/whereami.vim b/vim/.vim/pack/stargrave/start/whereami/autoload/whereami.vim new file mode 100644 index 0000000..ba888d4 --- /dev/null +++ b/vim/.vim/pack/stargrave/start/whereami/autoload/whereami.vim @@ -0,0 +1,16 @@ +vim9script + +export def PwdLoad() + g:whereami_pwdL = trim(system("pwd -L")) + g:whereami_pwdP = trim(system("pwd -P")) +enddef + +export def Do(fmt: string) + var fullpath = expand("%:p") + if fullpath[ : len(g:whereami_pwdP) - 1] ==# g:whereami_pwdP + fullpath = g:whereami_pwdL .. fullpath[len(g:whereami_pwdP) : ] + endif + var where = printf(fmt, fullpath, line(".")) + @* = where + echomsg where +enddef diff --git a/vim/.vim/pack/stargrave/start/whereami/plugin/whereami.vim b/vim/.vim/pack/stargrave/start/whereami/plugin/whereami.vim new file mode 100644 index 0000000..c3c972b --- /dev/null +++ b/vim/.vim/pack/stargrave/start/whereami/plugin/whereami.vim @@ -0,0 +1,4 @@ +if exists("*whereami#pwdLoad") | finish | endif +autocmd VimEnter * call whereami#PwdLoad() +nmap w :call whereami#Do("%s:%d") +nmap W :call whereami#Do("breakpoint set --file %s --line %d") diff --git a/vim/.vim/plugin/bracketedpaste.vim b/vim/.vim/plugin/bracketedpaste.vim new file mode 100644 index 0000000..a80617f --- /dev/null +++ b/vim/.vim/plugin/bracketedpaste.vim @@ -0,0 +1,4 @@ +let &t_BE = "\e[?2004h" +let &t_BD = "\e[?2004l" +exec "set t_PS=\e[200~" +exec "set t_PE=\e[201~" diff --git a/vim/.vim/plugin/buftabline.vim b/vim/.vim/plugin/buftabline.vim deleted file mode 100644 index 24a3547..0000000 --- a/vim/.vim/plugin/buftabline.vim +++ /dev/null @@ -1,26 +0,0 @@ -if exists("g:loaded_mein_buftabline") | finish | endif -let g:loaded_mein_buftabline = 1 - -function! BufTabline() - redir => bufsRaw - silent buffers - redir END - let bufs = [] - for buf in split(bufsRaw, "\n")[:16] - let leftIdx = stridx(buf, '"') - let rightIdx = strridx(buf, '"') - let filename = substitute(buf[leftIdx + 1 : rightIdx - 1], "%", "%%", "g") - let linenum = split(buf[rightIdx:], " ")[-1] - let attrs = split(buf[:leftIdx-1], '\s\+') - let attrs = map(attrs, 'substitute(v:val, "%", "%%", "g")') - let attrs = (len(attrs) == 1) ? attrs[0] : attrs[0] . ":" . join(attrs[1:], "") - let attrs = "%#TabLine#" . attrs . "%*" - if len(filename) > 20 | let filename = "<" . filename[-(20-1):] | endif - let hl = (match(attrs, "%%") == -1) ? "%#TabLine#:" : "%#TabLineSel#" - let bufs = add(bufs, attrs . hl . filename . ":" . linenum . "%*") - endfor - return join(bufs, " ") -endfunction - -set showtabline=2 -set tabline=%!BufTabline() diff --git a/vim/.vim/plugin/chnglstnav.vim b/vim/.vim/plugin/chnglstnav.vim deleted file mode 100644 index e383743..0000000 --- a/vim/.vim/plugin/chnglstnav.vim +++ /dev/null @@ -1,10 +0,0 @@ -if exists("g:loaded_mein_chnglstnav") | finish | endif -let g:loaded_mein_chnglstnav = 1 - -function! s:Chng(...) - if a:0 == 0 | return | endif - execute "normal " . a:1 . (a:1 > 0 ? "g;" : "g,") -endfunction - -command! -nargs=? Chng call s:Chng() -nmap :changes:Chng diff --git a/vim/.vim/plugin/ctags.vim b/vim/.vim/plugin/ctags.vim deleted file mode 100644 index fbc438c..0000000 --- a/vim/.vim/plugin/ctags.vim +++ /dev/null @@ -1,42 +0,0 @@ -" Universal Ctags creator -" Maintainer: Sergey Matveev -" License: GNU General Public License version 3 of the License or later -" -" Create "tags" file in your project's root first. -" Then :Ctags LANG to fill it. - -if exists("g:loaded_mein_ctags") | finish | endif -let g:loaded_mein_ctags = 1 - -function! s:ctags(lang, onlyCmd, verbose) - let dst = tagfiles() - if len(dst) == 0 - echohl WarningMsg | echomsg "No tagfiles" | echohl None - return - endif - let dst = sort(dst, {a, b -> len(a) > len(b) ? 1 : len(a) == len(b) ? 0 : -1})[0] - let src = "/" . join(split(dst, "/")[:-3], "/") - if dst[0] != "/" - let dst = getcwd() . "/.tags/tags" - let src = getcwd() - endif - let cmdline = [ - \"uctags", - \"--languages=" . a:lang, - \"--python-kinds=-i", - \"--c++-kinds=+p", - \"--recurse", - \] - if a:verbose == v:true | let cmdline += ["--verbose"] | endif - let cmdline += ["-f", dst, src] - if a:onlyCmd == v:true - echo join(cmdline, " ") - return - endif - execute "!" . join(cmdline, " ") - if a:verbose != v:true | redraw! | endif -endfunction - -command! -nargs=1 Ctags silent call s:ctags(, v:false, v:false) -command! -nargs=1 Ctagsv silent call s:ctags(, v:true, v:false) -command! -nargs=1 Ctagscmd call s:ctags(, v:true, v:true) diff --git a/vim/.vim/plugin/defsplit.vim b/vim/.vim/plugin/defsplit.vim deleted file mode 100644 index f995c8a..0000000 --- a/vim/.vim/plugin/defsplit.vim +++ /dev/null @@ -1,103 +0,0 @@ -" Python function call splitter -" Maintainer: Sergey Matveev -" License: GNU General Public License version 3 of the License or later -" -" This plugin splits Python function call on several lines. -" -" def foobar(self, foo: str, bar: Some[thing, too]) -> None: -" to -" def foobar( -" self, -" foo: str, -" bar: Some[thing, too], -" ) -> None: -" -" foo(bar, baz)[0] -" to -" foo( -" bar, -" baz, -" )[0] -" -" You can un-split it using :Undefsplit command on the line where -" splitting starts. -" -" :Defsplit has optional argument specifying how many opening round -" parenthesis must be skipped. -" :Defsplit 1 on foo(baz(baz(...))) produces -" foo(baz( -" baz(...), -" )) -" -" Also there is :Brsplit command behaving similarly, but it splits other -" types of brackets: "{}", "[]". - -if exists("g:loaded_defsplit") | finish | endif -let g:loaded_defsplit = 1 -if !exists("g:defsplit_shift") | let g:defsplit_shift = " " | endif - -function! s:bracket_find(brs_allowable, line, offset) - let possible = [] - for bracket in a:brs_allowable - let found = stridx(a:line, bracket, a:offset) - if found != -1 | let possible += [found] | endif - endfor - return min(possible) -endfunction - -function! s:defsplit(brs_allowable, single_line_comma, ...) - if a:0 == 0 | let skip = 0 | else | let skip = str2nr(a:1) | endif - let shift = g:defsplit_shift - let line = getline(".") - for i in range(len(line)) - if line[i] != g:defsplit_shift[0] - let prfx = strpart(line, 0, i) - if line[i : i+3] ==# "def " || - \line[i : i+5] ==# "class " || - \line[i : i+9] ==# "async def " - let shift .= shift - endif - break - endif - endfor - let brs = {"(": ")", "[": "]", "{": "}"} - let brfirst = s:bracket_find(a:brs_allowable, line, 0) - let brlast = strridx(line, brs[line[brfirst]]) - while skip > 0 - let brfirst = s:bracket_find(a:brs_allowable, line, brfirst + 1) - let brlast = strridx(line, brs[line[brfirst]], brlast - 1) - let skip -= 1 - endwhile - let [curly, round, squar, outbuf] = [0, 0, 0, ""] - let ready = [strpart(line, 0, brfirst + 1)] - let trailing_comma = 1 - for c in split(line[brfirst + 1 : brlast-1], '\zs') - if c ==# "*" | let trailing_comma = 0 | endif - if outbuf ==# "" && c ==# " " | continue | endif - let outbuf .= c - if c ==# "," && !curly && !round && !squar - let ready = add(ready, prfx . shift . outbuf) - let outbuf = "" - elseif c ==# "[" | let squar += 1 - elseif c ==# "]" | let squar -= 1 - elseif c ==# "(" | let round += 1 - elseif c ==# ")" | let round -= 1 - elseif c ==# "{" | let curly += 1 - elseif c ==# "}" | let curly -= 1 - endif - endfor - if trailing_comma && !(a:single_line_comma == v:true && len(ready) == 1) - let outbuf = outbuf . "," - endif - let ready = add(ready, prfx . shift . outbuf) - let ready = add(ready, prfx . strpart(line, brlast)) - call append(line("."), ready) - normal "_dd -endfunction - -command! -nargs=? Defsplit call s:defsplit(["("], v:false, ) -command! -nargs=? Brsplit call s:defsplit(["(", "[", "{"], v:false, ) -command! -nargs=? Defsplits call s:defsplit(["("], v:true, ) -command! -nargs=? Brsplits call s:defsplit(["(", "[", "{"], v:true, ) - -command! Undefsplit normal ^v%$J:keepp s/^\(.*\)\([([{]\) \(.*[^,]\),\?\([)\]}]\)\(.*\)$/\1\2\3\4\5:keepp s/, \?\([)\]}]\+\)$/\1/e: diff --git a/vim/.vim/plugin/disables.vim b/vim/.vim/plugin/disables.vim index a412e42..bb39d02 100644 --- a/vim/.vim/plugin/disables.vim +++ b/vim/.vim/plugin/disables.vim @@ -1,7 +1,9 @@ -let g:loaded_2html_plugin = 1 -let g:loaded_getscriptPlugin = 1 -let g:loaded_logipat = 1 -let g:loaded_rrhelper = 1 -let g:loaded_spellfile_plugin = 1 -let g:loaded_vimballPlugin = 1 -let g:loaded_vimball = 1 +vim9script + +g:loaded_2html_plugin = 1 +g:loaded_getscriptPlugin = 1 +g:loaded_logipat = 1 +g:loaded_rrhelper = 1 +g:loaded_spellfile_plugin = 1 +g:loaded_vimballPlugin = 1 +g:loaded_vimball = 1 diff --git a/vim/.vim/plugin/exted.vim b/vim/.vim/plugin/exted.vim index 3911431..e0f0079 100644 --- a/vim/.vim/plugin/exted.vim +++ b/vim/.vim/plugin/exted.vim @@ -1,8 +1,2 @@ -if exists("g:loaded_mein_exted") | finish | endif -let g:loaded_mein_exted = 1 - -function! s:exted(ext) - execute "edit %<." . a:ext -endfunction - -command! -nargs=1 Ee silent call s:exted() +vim9script +command -nargs=1 Ee execute "edit %<." .. diff --git a/vim/.vim/plugin/file_line.vim b/vim/.vim/plugin/file_line.vim deleted file mode 100644 index 45e250e..0000000 --- a/vim/.vim/plugin/file_line.vim +++ /dev/null @@ -1,23 +0,0 @@ -" Simplified version of http://www.vim.org/scripts/script.php?script_id=2184 -" that does not replace current window - -if exists("g:loaded_mein_file_line") | finish | endif -let g:loaded_mein_file_line = 1 - -function! s:gotoline() - let file = bufname("%") - if filereadable(file) | return | endif - let names = matchlist(file, '\(.\{-1,}\):\%(\(\d\+\)\%(:\(\d*\):\?\)\?\)\?$') - if empty(names) | return | endif - let file_name = names[1] - let line_num = names[2] == "" ? "0" : names[2] - let col_num = names[3] == "" ? "0" : names[3] - if !filereadable(file_name) | return | endif - let nr = bufnr("%") - exec "keepalt edit +" . line_num . " " . file_name - exec "normal! " . col_num . "|" - exec "bdelete " . nr -endfunction - -autocmd! BufNewFile *:* nested call s:gotoline() -autocmd! BufRead *:* nested call s:gotoline() diff --git a/vim/.vim/plugin/fzf.vim b/vim/.vim/plugin/fzf.vim deleted file mode 100644 index cd8284a..0000000 --- a/vim/.vim/plugin/fzf.vim +++ /dev/null @@ -1 +0,0 @@ -let g:fzf_preview_window = [] diff --git a/vim/.vim/plugin/ggrep.vim b/vim/.vim/plugin/ggrep.vim index 7b52921..26f3d17 100644 --- a/vim/.vim/plugin/ggrep.vim +++ b/vim/.vim/plugin/ggrep.vim @@ -1,11 +1,6 @@ -if exists("g:loaded_mein_ggrep") | finish | endif -let g:loaded_mein_ggrep = 1 +vim9script -function! s:Vmg(pattern) - silent execute 'Ggrep "' . a:pattern . '"' +command! -nargs=* -complete=file Vmg { + silent execute "Ggrep \"" .. .. '"' copen - redraw! - let g:pylint_disable=1 -endfunction - -command! -nargs=* -complete=file Vmg call s:Vmg() +} diff --git a/vim/.vim/plugin/git-alias.vim b/vim/.vim/plugin/git-alias.vim new file mode 100644 index 0000000..753b16b --- /dev/null +++ b/vim/.vim/plugin/git-alias.vim @@ -0,0 +1,2 @@ +command! Gblame Git blame +command! Gcommit Git commit diff --git a/vim/.vim/plugin/grep.vim b/vim/.vim/plugin/grep.vim index e0878e7..333a9d7 100644 --- a/vim/.vim/plugin/grep.vim +++ b/vim/.vim/plugin/grep.vim @@ -1,13 +1,8 @@ -if exists("g:loaded_mein_grep") | finish | endif -let g:loaded_mein_grep = 1 +vim9script -function! s:Vim(pattern) - let ignorecase_bak=&ignorecase - set noignorecase - execute "vimgrep /" . a:pattern . "/ **/*" +command! -nargs=* -complete=file Vim { + set grepprg=grep\ -Rns\ --binary-files=without-match\ --exclude-dir=.git\ --exclude-dir=.tags\ $*\ /dev/null\ . + execute "silent grep \"" .. .. "\"" copen - let &ignorecase=ignorecase_bak - let g:pylint_disable=1 -endfunction - -command! -nargs=* -complete=file Vim call s:Vim() + redraw! +} diff --git a/vim/.vim/plugin/lsp.vim b/vim/.vim/plugin/lsp.vim index 45f903c..a342e3c 100644 --- a/vim/.vim/plugin/lsp.vim +++ b/vim/.vim/plugin/lsp.vim @@ -1,20 +1,57 @@ -if exists("g:loaded_mein_lsp") | finish | endif -let g:loaded_mein_lsp = 1 -let g:lsp_auto_enable = 1 +vim9script -let g:lsp_diagnostics_echo_cursor = 1 -let g:lsp_diagnostics_echo_delay = -1 -let g:lsp_signature_help_enabled = 0 +# go get golang.org/x/tools/gopls@latest +# pip install "python-language-server[all]" -function! s:on_lsp_buffer_enabled() abort - setlocal omnifunc=lsp#complete - nmap [g (lsp-previous-diagnostic) - nmap ]g (lsp-next-diagnostic) - nmap gd (lsp-definition) - nmap K (lsp-hover) -endfunction +var lspServers: list> -augroup lsp_install - autocmd! - autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled() -augroup END +for d in [ + { + filetype: ["c", "ch", "cpp"], + path: "clangd", + args: ["--log=error"], + }, + { + filetype: ["go", "gomod"], + path: "gopls", + syncInit: true, + }, + { + filetype: ["python"], + path: "pyls", + syncInit: true, + workspaceConfig: {pyls: { + configurationSources: ["flake8"], + plugins: { + mccabe: {enabled: false}, + }, + }}, + }, +] + if executable(d["path"]) + add(lspServers, d) + endif +endfor + +var lspOpts = { + ignoreMissingServer: true, + autoComplete: false, + + autoHighlight: true, + autoPopulateDiags: true, + + # Lint warning only on status line, do not show near cursor + showDiagInPopup: false, + showDiagOnStatusLine: true, + showSignature: false, +} + +set omnifunc=g:LspOmniFunc +autocmd VimEnter * call LspAddServer(lspServers) +autocmd VimEnter * call LspOptionsSet(lspOpts) +autocmd CursorMoved * silent! LspDiagCurrent +nmap gd :LspGotoDefinition +nmap gd :vert LspGotoDefinition +nmap :lopen +nmap [l :LspDiagPrev +nmap ]l :LspDiagNext diff --git a/vim/.vim/plugin/netrw.vim b/vim/.vim/plugin/netrw.vim index a724061..9b71a8d 100644 --- a/vim/.vim/plugin/netrw.vim +++ b/vim/.vim/plugin/netrw.vim @@ -1,12 +1,14 @@ +vim9script if exists("g:loaded_mein_netrw") | finish | endif -let g:loaded_mein_netrw = 1 +g:loaded_mein_netrw = 1 -let g:netrw_banner = 0 -let g:netrw_bufsettings = "noma nomod nowrap ro nobl" +g:netrw_banner = 0 +g:netrw_bufsettings = "noma nomod nowrap ro nobl" -function! WinClose(islocal) +def g:WinClose(islocal: number): string close -endfunction -let g:Netrw_UserMaps = [["", "WinClose"]] + return "" +enddef +g:Netrw_UserMaps = [["", "g:WinClose"]] autocmd VimLeave * call delete("/home/stargrave/.vim/.netrwhist") diff --git a/vim/.vim/plugin/pastemode.vim b/vim/.vim/plugin/pastemode.vim deleted file mode 100644 index 78f42a0..0000000 --- a/vim/.vim/plugin/pastemode.vim +++ /dev/null @@ -1,16 +0,0 @@ -if exists("g:loaded_mein_pastemode") | finish | endif -let g:loaded_mein_pastemode = 1 - -if &term =~ "screen.*" - let &t_ti = &t_ti . "\e[?2004h" - let &t_te = "\e[?2004l" . &t_te - function! XTermPasteBegin(ret) - set pastetoggle=[201~ - set paste - return a:ret - endfunction - map [200~ XTermPasteBegin("i") - imap [200~ XTermPasteBegin("") - cmap [200~ - cmap [201~ -endif diff --git a/vim/.vim/plugin/whereami.vim b/vim/.vim/plugin/whereami.vim deleted file mode 100644 index f3a4f3c..0000000 --- a/vim/.vim/plugin/whereami.vim +++ /dev/null @@ -1,28 +0,0 @@ -if exists("g:loaded_mein_whereami") | finish | endif -let g:loaded_mein_whereami = 1 - -function! s:pwdLoad() - let g:mein_pwdL=trim(system("pwd -L")) - let g:mein_pwdP=trim(system("pwd -P")) -endfunction - -autocmd VimEnter * call s:pwdLoad() - -function! WhereAmI(fmt) - let fullpath = expand("%:p") - if fullpath[:len(g:mein_pwdP)-1] ==# g:mein_pwdP - let fullpath = g:mein_pwdL . fullpath[len(g:mein_pwdP):] - endif - if a:fmt == "gnu" - let where = fullpath . ":" . line(".") - elseif a:fmt == "lldb" - let where = "breakpoint set --file " . fullpath . " --line " . line(".") - else - let where = "unknown fmt" - endif - let @* = where - echomsg where -endfunction - -nmap w :call WhereAmI("gnu") -nmap W :call WhereAmI("lldb") diff --git a/vim/.vim/plugin/zshfe.vim b/vim/.vim/plugin/zshfe.vim deleted file mode 100644 index fd5e5b1..0000000 --- a/vim/.vim/plugin/zshfe.vim +++ /dev/null @@ -1,21 +0,0 @@ -" zsh file completion caller -" Maintainer: Sergey Matveev -" License: GNU General Public License version 3 of the License or later - -if exists("g:loaded_zshfe") | finish | endif -let g:loaded_zshfe = 1 -if !exists("g:zshfe_path") | let g:zshfe_path=expand("~/.vim/plugin/zshfe.zsh") | endif - -function! s:zshfe(query, opencmd) - silent let result = systemlist(g:zshfe_path . " " . a:query) - if len(result) == 0 | return | endif - exec a:opencmd . " " . result[0][:-2] -endfunction - -command! -nargs=1 Fe call s:zshfe(, "edit") -command! -nargs=1 Fsp call s:zshfe(, "split") -command! -nargs=1 Fvs call s:zshfe(, "vsplit") - -nmap e :Fe -nmap :Fsp -nmap v :Fvs diff --git a/vim/.vim/plugin/zshfe.zsh b/vim/.vim/plugin/zshfe.zsh deleted file mode 100755 index 1afcb2a..0000000 --- a/vim/.vim/plugin/zshfe.zsh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env zsh - -set -e -zmodload zsh/zpty -zpty zshfe zsh -zpty -w zshfe "print ZSHFE $*"$'\t EFHSZ\nexit\n' -zpty -r zshfe zshfe "*exit" -print -- $zshfe | sed -n "s/^ZSHFE \(.*\) EFHSZ/\1/p" diff --git a/vim/.vimrc b/vim/.vimrc index ffa302c..433a95c 100644 --- a/vim/.vimrc +++ b/vim/.vimrc @@ -9,9 +9,9 @@ set encoding=utf-8 "set t_kD= set mouse="" " if Vim is compiled with mouse support -set viminfo='100,<50,s10,f1,%,n~/secure/vim/info +set viminfo-=h +set viminfo+=f1,%,n~/secure/vim/info set viewdir=~/secure/vim/view -set history=128 set directory=~/secure/vim/tmp set undodir=~/secure/vim/undo set undofile @@ -31,14 +31,15 @@ set highlight+=sr set cpoptions+=$ set showcmd set showmatch -set listchars=trail:·,tab:>→,nbsp:% ",eol:¶ -set list set completeopt-=preview set diffopt+=indent-heuristic,algorithm:histogram set cursorline set cursorcolumn set colorcolumn=80 + +set listchars=trail:·,tab:>→,nbsp:% ",eol:¶ +set list highlight ExtraWhitespace ctermbg=green ctermfg=blue match ExtraWhitespace /\s\+$/ @@ -50,15 +51,15 @@ set smartcase set hlsearch set incsearch set gdefault -set wildmode=longest:list +map :nohlsearch:call mark#Toggle() + +set wildmode=list:longest set tags=.tags/**/tags; set wildignore=**/.git,**/.tags set exrc set secure -map :nohlsearch:MarkClear - " Folding {{{ set foldmethod=indent set foldnestmax=9 @@ -72,8 +73,9 @@ highlight CursorColumn ctermfg=cyan ctermbg=red " }}} " Statusline {{{ +let MeinStatus = {-> exists("b:mein_status_func") ? b:mein_status_func() : ""} set laststatus=2 -set statusline=%F\ %m%r%h%w%q%k +set statusline=%F\ %m%r%h%w%k set statusline+=%{len(getqflist())?'[Q]':''} set statusline+=%{len(getloclist(0))?'[L]':''} set statusline+=\ %= @@ -82,17 +84,13 @@ set statusline+=%#DiffChange#%{strlen(&fenc)?&fenc:&enc}%{&bomb?'-bom':''}\ %{&f set statusline+=%#DiffAdd#%l/%L set statusline+=%#Todo#%c%V:0x%B set statusline+=%#Comment#%o -set statusline+=%#Error#%{LintStatus()} +set statusline+=%#Error#%{MeinStatus()} set statusline+=%*\ %P - -function! LintStatus() " it is overrided in ftplugins - return "" -endfunction " }}} " View saving {{{ -autocmd BufWinLeave *.* mkview -autocmd BufWinEnter *.* silent loadview +autocmd BufWinLeave ?* silent! if &ft !=# "gitcommit" | mkview | endif +autocmd BufWinEnter ?* silent! loadview " }}} " Windows related {{{ @@ -144,13 +142,12 @@ iabbrev итд и т.д. iabbrev итп и т.п. " }}} -set keywordprg= +let g:tex_flavor = "latex" +set keywordprg=:LspHover let g:sh_no_error = 1 - set termwinkey= nmap f -vmap Igv nmap _ f_l nmap ] "*yiw @@ -159,22 +156,28 @@ nmap p "_diwP nnoremap d "_d vnoremap d "_d -cmap -cmap - map Q gq -map Y y$ cmap ][ '[,'] imap -nmap :set wrap!:set wrap? +imap nmap :buffers:b nmap :registers nmap ' yiwciw""" nmap h1 yypVr=o nmap sc 024i-a >8 24a- nmap :vertical wincmd ] +nmap [oc :copen +nmap ]oc :cclose nnoremap +nmap ZQ :qall +nmap ZZ :wall:mksession!:qall + command! E Explore command! Ch cd %:p:h command! -bar -nargs=? -bang Tmp :silent vnew|setlocal buftype=nofile bufhidden=hide noswapfile buflisted filetype= modifiable + +execute "digraphs Ru" .. 0x20BD + +runtime ftplugin/man.vim +packadd cfilter diff --git a/vim/.zsh/aliases/vi b/vim/.zsh/aliases/vi new file mode 100644 index 0000000..dca1e02 --- /dev/null +++ b/vim/.zsh/aliases/vi @@ -0,0 +1 @@ +alias vi="vim" diff --git a/bin/bin/mktags b/vim/bin/mktags similarity index 100% rename from bin/bin/mktags rename to vim/bin/mktags diff --git a/bin/bin/qq b/vim/bin/qq similarity index 77% rename from bin/bin/qq rename to vim/bin/qq index 250645a..290f136 100755 --- a/bin/bin/qq +++ b/vim/bin/qq @@ -6,5 +6,5 @@ tmux save-buffer $tmp tmux delete-buffer perl -ne '/^([^:]+:\d+:.*[^\s])\s*$/ and print "$1\n"' < $tmp > $tmp.err rm $tmp -vim -c 'let g:pylint_disable=1' -c copen -q $tmp.err +vim -c copen -q $tmp.err rm $tmp.err diff --git a/bin/bin/vimclear.sh b/vim/bin/vimclear similarity index 100% rename from bin/bin/vimclear.sh rename to vim/bin/vimclear diff --git a/wish/.wishrc b/wish/.wishrc new file mode 100644 index 0000000..2fa31fa --- /dev/null +++ b/wish/.wishrc @@ -0,0 +1,4 @@ +font create myDefaultFont -family Go -size 14 +option add *font myDefaultFont +tk scaling [expr {163 / 72.0}] +tk_setPalette grey diff --git a/x/.Xresources b/x/.Xresources index 82e6a07..aec20aa 100644 --- a/x/.Xresources +++ b/x/.Xresources @@ -1,11 +1,10 @@ -Xft.dpi: 96 Xft.hinting: true Xft.antialias: true Xft.autohint: false XTerm.termName: screen-256color XTerm.vt100.internalBorder: 0 -XTerm.vt100.faceName: Inconsolata LGC:pixelsize=16:antialias=false:autohint=true +XTerm.vt100.faceName: Go Mono:pixelsize=18:antialias=true XTerm.vt100.foreground: gray90 XTerm.vt100.background: black XTerm.vt100.cursorColor: white @@ -21,5 +20,7 @@ XTerm.vt100.Translations: #override \ ShiftPage_Up: string("[5;2~") \n \ Menu: string("") \n \ Super_R: string("") \n \ + : string("") \n \ + : string("") \n \ Shift AltInsert: insert-selection(CLIPBOARD, CUT_BUFFER1) XTerm.vt100.trimSelection: true diff --git a/x/.drirc b/x/.drirc new file mode 100644 index 0000000..f9f2fa3 --- /dev/null +++ b/x/.drirc @@ -0,0 +1,5 @@ + + + + diff --git a/x/.xinitrc b/x/.xinitrc index 0e037b9..db58c85 100755 --- a/x/.xinitrc +++ b/x/.xinitrc @@ -1,10 +1,11 @@ #!/bin/zsh -xsetroot -solid \#222222 & -xset b off +xsetroot -solid \#222222 +xset s off b off -dpms +xset m 4 1 +setxkbmap -rules xorg -layout us,ru -option grp:caps_toggle,grp_led:caps xrdb ~/.Xresources xmodmap ~/.Xmodmap -~/bin/xstatusbar.sh & -rm -f ~/.ssh/agent ; ssh-agent -a ~/.ssh/agent -~/bin/cleanup.sh -exec $HOME/src/suckless/dwm/dwm +~/work/godwmstat/godwmstat -xsetroot & +rm -f ~/.ssh/agent ; ssh-agent -a $SSH_AUTH_SOCK +exec ~/src/suckless/dwm/dwm diff --git a/bin/bin/dwm-menu b/x/bin/dwm-menu similarity index 100% rename from bin/bin/dwm-menu rename to x/bin/dwm-menu diff --git a/bin/bin/dwm-term b/x/bin/dwm-term similarity index 100% rename from bin/bin/dwm-term rename to x/bin/dwm-term diff --git a/bin/bin/dwm-term-session b/x/bin/dwm-term-session similarity index 100% rename from bin/bin/dwm-term-session rename to x/bin/dwm-term-session diff --git a/bin/bin/mylock b/x/bin/mylock similarity index 100% rename from bin/bin/mylock rename to x/bin/mylock diff --git a/x/bin/start-im b/x/bin/start-im new file mode 100755 index 0000000..fc2f81c --- /dev/null +++ b/x/bin/start-im @@ -0,0 +1,3 @@ +#!/bin/sh + +st -t Terminal8 -e sh -c "cd /home/stargrave/secure/mmc ; envdir env /home/stargrave/work/mmc/cmd/start" 2>/dev/null & diff --git a/bin/bin/start-tabbed.sh b/x/bin/start-tabbed.sh similarity index 96% rename from bin/bin/start-tabbed.sh rename to x/bin/start-tabbed.sh index f7a0bf9..7fbfe01 100755 --- a/bin/bin/start-tabbed.sh +++ b/x/bin/start-tabbed.sh @@ -13,4 +13,5 @@ w=/tmp/tabbed-$tabname } [ -z "$NOTABSTART" ] || exit 1 tabbed -n tabbed-$tabname -d $@ > $w +sleep 0.1 exec $0 $tabname $@ diff --git a/bin/bin/start-x b/x/bin/start-x similarity index 73% rename from bin/bin/start-x rename to x/bin/start-x index ca17aa2..cf889aa 100755 --- a/bin/bin/start-x +++ b/x/bin/start-x @@ -1,4 +1,4 @@ #!/bin/sh rm .serverauth.* .Xauthority* -exec startx +exec startx $@ diff --git a/bin/bin/xr-external b/x/bin/xr-external similarity index 100% rename from bin/bin/xr-external rename to x/bin/xr-external diff --git a/bin/bin/xr-internal b/x/bin/xr-internal similarity index 100% rename from bin/bin/xr-internal rename to x/bin/xr-internal diff --git a/xombrero/.xombrero.conf b/xombrero/.xombrero.conf deleted file mode 100644 index 30714ff..0000000 --- a/xombrero/.xombrero.conf +++ /dev/null @@ -1,410 +0,0 @@ -## -## GENERAL SETTINGS -## - -# -# The strategy for the config file is as follows: -# -# Boolean values are the opposite of the default and need to simply be -# uncommented to alter the default. -# -# Text values *are* set to the default and in order to change them one must -# uncomment the option *and* change the value. -# - -# NOTE: browser_mode and gui_mode MUST be the first entries in this -# file! - -# Normal browser operation (default). -# browser_mode = normal - -# Prevent tracking operation. -browser_mode = whitelist - -# Classic GUI (default). -# gui_mode = classic - -# Minimalistic GUI. -gui_mode = minimal - -home = file:///home/stargrave/.lynx_bookmarks.html -download_dir = ~/tmp -download_mode = start -# download_notifications = 1 -# window_maximize = 1 -# window_width = 1024 -# window_height = 768 -# enable_spell_checking = 1 -# spell_check_languages = en_US -# default_zoom_level = 1.0 -encoding = UTF-8 -ssl_ca_file = /usr/local/share/certs/ca-root-nss.crt -# ssl_strict_certs = 1 -enable_strict_transport = 1 -# ctrl_click_focus = 1 -# append_next = 0 -# save_global_history = 1 -color_visited_uris = 0 -guess_search = 1 -# enable_autoscroll = 1 -# session_autosave = 1 -# history_autosave = 1 -# autofocus_onload = 1 -# single_instance = 1 -enable_socket = 1 -# enable_js_autorun = 0 -auto_load_images = 0 -enable_localstorage = 1 -# userstyle = /usr/local/share/xombrero/style.css -# userstyle_global = 1 -enable_favicon_entry = 0 -enable_favicon_tabs = 0 -# preload_strict_transport = 1 -# referer = always -referer = same-domain -warn_cert_changes = 1 -enable_cache = 0 -# js_auto_open_windows = 0 - -# See http://www.xroxy.com/proxylist.php for a good list of open -# proxies. -# -# polipo -# http_proxy = http://127.0.0.1:8123 -# -# tsocks -# http_proxy = http://127.0.0.1:1080 -# -http_proxy = socks5://localhost:4444/ -# If you only occasionally use a proxy -http_proxy_starts_enabled = 0 - -# Search engines; uncomment one of these lines for you favorite search -# engine. -# -# Google -# search_string = https://www.google.com/search?q=%s -# -# Yahoo -# search_string = http://search.yahoo.com/search?p=%s -# -# Start Page -# search_string = https://startpage.com/do/search?language=english_us&cat=web&query=%s -# -# DuckDuckGo -search_string = https://lite.duckduckgo.com/lite/?q=%s - -# External editor. -# NOTE: The editor specified here must not fork into the background. -# -# Examples of editors: -external_editor = st -e vim -f -# external_editor = gvim -f -# external_editor = xterm -geometry 177x58+0+0 -font -*-fixed-medium-r-*-*-15-*-*-*-*-*-iso8859-* -e vim -f -# external_editor = emacsclient -c - -# "default_script" points to a script executed by the run_script -# command. The only argument passed to this script is the current URI. -# -# default_script = ~/.xombrero/playflash.sh - -# "user_agent" can be set to just about anything, for a comprehensive -# list see: http://www.useragentstring.com/pages/All/ . If more than one -# "user_agent" is given, then xombrero will use them in a round-robin -# fashion for each request. -# -#user_agent = Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729) -#user_agent = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) -#user_agent = Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0 -#user_agent = Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7C144 Safari/528.16 -#user_agent = Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1 -# - -## -## ALIASES -## - -# Aliases are given in the following format: -# -# alias = , -# -# Where the link part might contain "%s", the "%s" will be substituted -# with the user's input when the alias is expanded. - -# alias = s, https://www.google.com/search?q=%s -# alias = w, https://secure.wikimedia.org/wikipedia/en/w/index.php?title=Special%3ASearch&search=%s -# alias = ports, http://openports.se/search.php?so=%s - -alias = gg, https://www.google.com/search?q=%s -alias = py, https://pypi.org/project/%s/ -alias = rfc, https://tools.ietf.org/html/rfc%s -alias = we, https://en.wikipedia.org/wiki/%s -alias = wr, https://ru.wikipedia.org/wiki/%s - -## -## COOKIE, JAVASCRIPT AND PLUGIN WHITE LISTS -## - -# Add the domains you trust. - -# cookie_wl = .conformal.com -# cookie_wl = .peereboom.us - -# js_wl = .conformal.com -# js_wl = .peereboom.us - -# pl_wl = .conformal.com -# pl_wl = .peereboom.us - - -## -## FORCE HTTPS FOR SITES -## - -# Add the domains of sites that should be only accesed over HTTPS. - -# force_https = .conformal.com - - -## -## MIME TYPES -## - -# PDF, note that xpdf can't load a URI directly; use "@" in front of -# mime_type to indicate to download the file first. - -# mime_type = application/pdf,kpdf -# mime_type = @application/pdf,xpdf - -# Specific MIME type for video. -# mime_type = video/x-ms-wmv,mplayer -# mime_type = video/quicktime,mplayer - -# Default MIME type for video. -# mime_type = video/*,mplayer - -# Default MIME type for audio. -# mime_type = audio/*,vlc - -# Word documents. -# mime_type = application/msword,soffice - -# Ignoring flash can be done by using the donothing pseudo-binary. -# mime_type = application/x-shockwave-flash,donothing - - -## -## ADVANCED SETTINGS -## - -# resource_dir = /usr/local/share/xombrero/ -# refresh_interval = 10 -# url_regex = ^[[:blank:]]*[^[:blank:]]*([[:alnum:]-]+\.)+[[:alnum:]-][^[:blank:]]*[[:blank:]]*$ -# gnutls_priority_string = NORMAL:%COMPAT - -# NOTE: webkit 1.4.x overwrites these values! -# max_host_connections = 5 -# max_connections = 25 - - -## -## ADVANCED GUI SETTINGS -## - -# The following low-level GUI settings are set by the high-level setting -# "gui_mode". - -# The settings for "gui_mode = classic" are as follows: - -# fancy_bar = 1 -# show_tabs = 1 -# tab_style = normal -# userstyle_global = 0 -# show_url = 1 -# show_statusbar = 0 -# show_scrollbars = 1 - -# The settings for "gui_mode = minimal" are as follows: - -# fancy_bar = 0 -# show_tabs = 1 -# tab_style = compact -# show_url = 0 -# show_statusbar = 1 -# show_scrollbars = 0 - -# The following are settings shared between "classic" and "minimal" -# "gui_mode": - -# statusbar_elems = BP -statusbar_elems = BP|T -# icon_size = 2 -# cmd_font = monospace normal 9 -# oops_font = monospace normal 9 -# statusbar_font = monospace normal 9 -# tabbar_font = monospace normal 9 - - -## -## ADVANCED COOKIE AND JAVASCRIPT SETTINGS -## - -# The following low-level settings are set by the high-level setting -# "browser_mode", and shouldn't be tweaked manually unless you know what -# you are doing. - -# The settings for "browser_mode = normal" are as follows: - -# allow_volatile_cookies = 0 -# cookie_policy = allow -# cookies_enabled = 1 -# enable_cookie_whitelist = 0 -# read_only_cookies = 0 -# save_rejected_cookies = 0 -# session_timeout = 3600 -# enable_scripts = 1 -# enable_js_whitelist = 0 -# enable_localstorage = 1 -# enable_plugins = 1 -# enable_plugin_whitelist = 0 -# allow_insecure_content = 1 -# allow_insecure_scripts = 1 -# do_not_track = 0 - -# The settings for "browser_mode = whitelist" are as follows: - -# allow_volatile_cookies = 0 -cookie_policy = no3rdparty -# cookies_enabled = 1 -# enable_cookie_whitelist = 1 -# read_only_cookies = 0 -# save_rejected_cookies = 0 -# session_timeout = 3600 -# enable_scripts = 0 -# enable_js_whitelist = 1 -# enable_localstorage = 0 -# enable_plugins = 0 -# enable_plugin_whitelist = 1 -# allow_insecure_content = 0 -# allow_insecure_scripts = 0 -do_not_track = 1 - - -## -## KEY BINDINGS -## - -# To delete all default keybindings use "keybinding = clearall". -# -# keybinding = clearall -# -# Key names can be found at: -# -# http://git.gnome.org/browse/gtk+/tree/gdk/gdkkeysyms-compat.h -# -# Just chop off the "GDK_" part and you have the keyname. Or look at: -# -# http://git.gnome.org/browse/gtk+/tree/gdk/gdkkeysyms.h -# -# and chop off "GDK_KEY_". -# -# Be aware that the names are case sensitive! -# -# The default keybindings are the following: -# -# keybinding = command,colon -# keybinding = search,slash -# keybinding = searchb,question -# keybinding = command_mode,!Escape -# keybinding = insert_mode,i -# keybinding = cookiejar,!M1-j -# keybinding = downloadmgr,!M1-d -# keybinding = history,!M1-h -# keybinding = print,!C-p -# keybinding = quitall,!C-q -# keybinding = restart,!M1-q -# keybinding = run_script,!M1-r -# keybinding = js toggle,!C-j -# keybinding = cookie toggle,!M1-c -# keybinding = togglesrc,!C-s -# keybinding = yankuri,y -# keybinding = pasteuricur,p -# keybinding = pasteurinew,P -# keybinding = toplevel toggle,!F4 -# keybinding = help,!F1 -keybinding = loadimages,!F1 -keybinding = :set auto_load_images=1,!F3 -# keybinding = proxy toggle,!F2 -# keybinding = searchnext,n -# keybinding = searchprevious,N -# keybinding = focusaddress,!F6 -# keybinding = focussearch,!F7 -# keybinding = hinting,f -# keybinding = hinting,period -# keybinding = hinting_newtab,S-F -# keybinding = hinting_newtab,comma -# keybinding = userstyle,s -# keybinding = userstyle_global,S -# keybinding = goback,BackSpace -# keybinding = goback,!M1-Left -# keybinding = goforward,!S-BackSpace -# keybinding = goforward,!M1-Right -keybinding = reload,r -# keybinding = reload,!F5 -# keybinding = reload,!C-r -# keybinding = reload,!C-l -# keybinding = favorites,!M1-f -# keybinding = scrolldown,j -# keybinding = scrolldown,Down -# keybinding = scrollup,k -# keybinding = scrollup,Up -# keybinding = scrollbottom,G -# keybinding = scrollbottom,End -# keybinding = scrolltop,Home -# keybinding = scrollpagedown,space -# keybinding = scrollpagedown,!C-f -# keybinding = scrollpagedown,Page_Down -# keybinding = scrollhalfdown,!C-d -# keybinding = scrollpageup,Page_Up -# keybinding = scrollpageup,!C-b -# keybinding = scrollhalfup,!C-u -# keybinding = scrollright,l -# keybinding = scrollright,Right -# keybinding = scrollfarright,dollar -# keybinding = scrollleft,h -# keybinding = scrollleft,Left -# keybinding = scrollfarleft,0 -# keybinding = statustoggle,!C-n -keybinding = stop,!C-c -# keybinding = stop,!S-F5 -# keybinding = tabnew,!C-t -#keybinding = tabclose,!d -keybinding = tabclose,!C-w -# keybinding = tabundoclose,U -# keybinding = tabnext 1,!C-1 -# keybinding = tabnext 2,!C-2 -# keybinding = tabnext 3,!C-3 -# keybinding = tabnext 4,!C-4 -# keybinding = tabnext 5,!C-5 -# keybinding = tabnext 6,!C-6 -# keybinding = tabnext 7,!C-7 -# keybinding = tabnext 8,!C-8 -# keybinding = tabnext 9,!C-9 -# keybinding = tabfirst,!C-less -# keybinding = tablast,!C-greater -keybinding = tabprevious,!C-Page_Up -keybinding = tabnext,!C-Page_Down -keybinding = tabnext,!C-Tab -# keybinding = focusout,!C-minus -# keybinding = focusin,!C-equal -# keybinding = focusin,!C-plus -# keybinding = focusreset,!C-0 -# keybinding = editelement,!C-i -# keybinding = passthrough,!C-z -keybinding = :open ,o -keybinding = :open ,O -keybinding = :tabnew ,t -keybinding = :tabnew ,T - -# parse the contents of another configuration file -# include_config = ~/.xombrero_alternate.conf diff --git a/youtube-dl/.youtube-dl.conf b/youtube-dl/.youtube-dl.conf index fb683ca..8418a52 100644 --- a/youtube-dl/.youtube-dl.conf +++ b/youtube-dl/.youtube-dl.conf @@ -1,5 +1,4 @@ --no-cache-dir --youtube-skip-dash-manifest ---force-ipv4 --no-playlist ---format best[ext=webm]/bestvideo[ext=webm]+bestaudio[ext=webm]/best +--format bestvideo[vcodec~=av01]+bestaudio[ext=webm]/bestvideo[ext=webm]+bestaudio[ext=webm]/best diff --git a/youtube-dl/bin/yt b/youtube-dl/bin/yt new file mode 100755 index 0000000..174f043 --- /dev/null +++ b/youtube-dl/bin/yt @@ -0,0 +1,7 @@ +#!/usr/local/bin/zsh + +. ~/work/youtube-venv/bin/activate +url=${@[${#@}]} +args=(${@[1,${#@}-1]}) +[[ ${#url} -eq 11 ]] && url=https://www.youtube.com/watch?v=$url +yt-dlp --config-location ~/.youtube-dl.conf ${=args} $url diff --git a/bin/bin/ytb b/youtube-dl/bin/ytb similarity index 52% rename from bin/bin/ytb rename to youtube-dl/bin/ytb index 47b400f..2754947 100755 --- a/bin/bin/ytb +++ b/youtube-dl/bin/ytb @@ -1,3 +1,3 @@ #!/usr/local/bin/zsh -yt --format best $@ +yt --format b $@ diff --git a/zathura/.zathurarc b/zathura/.zathurarc index 39be0c1..6523573 100644 --- a/zathura/.zathurarc +++ b/zathura/.zathurarc @@ -1,2 +1,3 @@ set sandbox strict set dbus-service false +set font "monospace normal 20" diff --git a/zathura/.zsh/rc/010zathurarc.zsh b/zathura/.zsh/rc/010zathurarc.zsh new file mode 100644 index 0000000..a5bc5f8 --- /dev/null +++ b/zathura/.zsh/rc/010zathurarc.zsh @@ -0,0 +1,4 @@ +[[ -d $XDG_CONFIG_HOME/zathura ]] || { + mkdir -p $XDG_CONFIG_HOME/zathura + ln -fs ~/.zathurarc $XDG_CONFIG_HOME/zathura/zathurarc +} diff --git a/bin/bin/zat b/zathura/bin/zat similarity index 74% rename from bin/bin/zat rename to zathura/bin/zat index 90c2f6b..9debef1 100755 --- a/bin/bin/zat +++ b/zathura/bin/zat @@ -2,7 +2,8 @@ export PATH=$HOME/local/bin:$PATH export XDG_DATA_DIRS=$HOME/local +export XDG_CONFIG_HOME=/tmp/stargrave-xdg export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH winid=`start-tabbed.sh zathura -c` -bin.zathura -e $winid "$1" +zathura -e $winid "$1" rm -f zathura.core diff --git a/zsh/.zlogout b/zsh/.zlogout index 1eff403..99c2991 100644 --- a/zsh/.zlogout +++ b/zsh/.zlogout @@ -1 +1 @@ -~/bin/cleanup.sh +~/bin/my-cleanup diff --git a/zsh/.zprofile b/zsh/.zprofile index cec7998..717b32c 100644 --- a/zsh/.zprofile +++ b/zsh/.zprofile @@ -1,4 +1,5 @@ umask 077 -mkdir -p /tmp/stargrave-xdg /tmp/stargrave-lldb /tmp/stargrave-flags -env | grep -q XAUTH || ~/bin/rem -~/bin/cleanup.sh +[[ -e $XDG_DATA_HOME ]] || mkdir -p $XDG_DATA_HOME /tmp/stargrave-lldb /tmp/stargrave-flags +export DISPLAY=:0 +export XAUTHORITY=/home/stargrave/.Xauthority +~/bin/my-cleanup diff --git a/zsh/.zsh/aliases/grep b/zsh/.zsh/aliases/grep new file mode 100644 index 0000000..aa1d316 --- /dev/null +++ b/zsh/.zsh/aliases/grep @@ -0,0 +1 @@ +alias -g G="| grep --colour=always" diff --git a/zsh/.zsh/aliases/ls b/zsh/.zsh/aliases/ls new file mode 100644 index 0000000..a841bf8 --- /dev/null +++ b/zsh/.zsh/aliases/ls @@ -0,0 +1,2 @@ +alias l="ls -AF, " +alias ll="ls -D \"%Y-%m-%d %H:%M\" -AFl, " diff --git a/zsh/.zsh/aliases/redirects b/zsh/.zsh/aliases/redirects new file mode 100644 index 0000000..5f520ff --- /dev/null +++ b/zsh/.zsh/aliases/redirects @@ -0,0 +1,4 @@ +alias -g 2DN="2>/dev/null" +alias -g DN=">/dev/null" +alias -g DNA=">&/dev/null" +alias -g TO="2>&1" diff --git a/zsh/.zsh/aliases/tai b/zsh/.zsh/aliases/tai new file mode 100644 index 0000000..cdfdc01 --- /dev/null +++ b/zsh/.zsh/aliases/tai @@ -0,0 +1 @@ +alias -g T="| tai64nlocal" diff --git a/zsh/.zsh/aliases/wc b/zsh/.zsh/aliases/wc new file mode 100644 index 0000000..c79427f --- /dev/null +++ b/zsh/.zsh/aliases/wc @@ -0,0 +1 @@ +alias -g W="| wc -l | sed 's/ //g'" diff --git a/zsh/.zsh/env/005functions.zsh b/zsh/.zsh/env/005functions.zsh new file mode 100644 index 0000000..c918213 --- /dev/null +++ b/zsh/.zsh/env/005functions.zsh @@ -0,0 +1 @@ +fpath=(~/.zsh/functions $fpath) diff --git a/zsh/.zsh/env/005history.zsh b/zsh/.zsh/env/005history.zsh new file mode 100644 index 0000000..9feeea0 --- /dev/null +++ b/zsh/.zsh/env/005history.zsh @@ -0,0 +1,3 @@ +HISTFILE=~/secure/.history +HISTSIZE=10240 +SAVEHIST=10240 diff --git a/zsh/.zsh/env/005irc.zsh b/zsh/.zsh/env/005irc.zsh new file mode 100644 index 0000000..743e10c --- /dev/null +++ b/zsh/.zsh/env/005irc.zsh @@ -0,0 +1,2 @@ +export IRCNAME="Sergey Matveev" +export IRCNICK="stargrave" diff --git a/zsh/.zsh/env/005ls.zsh b/zsh/.zsh/env/005ls.zsh new file mode 100644 index 0000000..c75866e --- /dev/null +++ b/zsh/.zsh/env/005ls.zsh @@ -0,0 +1,15 @@ +export CLICOLOR=1 +lscolors=( + Bx # ex # directory + Gx # fx # symbolic link + cx # cx # socket + dx # dx # pipe + Cx # bx # executable + eg # eg # block special + Dx # ed # character special + ab # ab # executable with setuid bit set + ag # ag # executable with setgid bit set + ac # ac # directory writable to others, with sticky bit + ad # ad # directory writable to others, without sticky bit +) +export LSCOLORS=${(j::)lscolors} diff --git a/zsh/.zsh/env/005paths.zsh b/zsh/.zsh/env/005paths.zsh new file mode 100644 index 0000000..4ad8fdd --- /dev/null +++ b/zsh/.zsh/env/005paths.zsh @@ -0,0 +1,18 @@ +path=(~/bin ~/local/bin /usr/local/bin /usr/local/sbin /usr/bin /usr/sbin /bin /sbin) +manpath=( + ~/local/share/man + /usr/local/lib/perl5/5.26/perl/man + /usr/local/lib/perl5/site_perl/man + /usr/share/openssl/man + /usr/local/share/man + /usr/local/man + /usr/share/man +) +export -TU INFOPATH infopath +infopath=(~/local/share/info /usr/local/share/info /usr/local/info) + +export -TU PKG_CONFIG_PATH pkg_config_path +pkg_config_path=(~/local/lib/pkgconfig ~/local/libdata/pkgconfig) + +export -TU LD_LIBRARY_PATH ld_library_path +ld_library_path=(~/local/lib) diff --git a/zsh/.zsh/env/005redo.zsh b/zsh/.zsh/env/005redo.zsh new file mode 100644 index 0000000..504970d --- /dev/null +++ b/zsh/.zsh/env/005redo.zsh @@ -0,0 +1,2 @@ +export REDO_JOBS=8 +export REDO_NO_SYNC=1 diff --git a/zsh/.zsh/env/005sdcv.zsh b/zsh/.zsh/env/005sdcv.zsh new file mode 100644 index 0000000..41ea215 --- /dev/null +++ b/zsh/.zsh/env/005sdcv.zsh @@ -0,0 +1,2 @@ +export STARDICT_DATA_DIR=~/dic +export SDCV_HISTSIZE=0 diff --git a/zsh/.zsh/env/005term.zsh b/zsh/.zsh/env/005term.zsh new file mode 100644 index 0000000..59115b7 --- /dev/null +++ b/zsh/.zsh/env/005term.zsh @@ -0,0 +1,4 @@ +export COLORFGBG="default;default;0" +export COLORTERM=xterm-256color +[ "$TERM" = "screen-256color" ] || TERM=xterm-256color +export TERM diff --git a/zsh/.zsh/env/005xdg.zsh b/zsh/.zsh/env/005xdg.zsh new file mode 100644 index 0000000..bedcce7 --- /dev/null +++ b/zsh/.zsh/env/005xdg.zsh @@ -0,0 +1,4 @@ +export XDG_CACHE_HOME=/tmp/stargrave-xdg +export XDG_CONFIG_HOME=/tmp/stargrave-xdg +export XDG_DATA_HOME=/tmp/stargrave-xdg +export XDG_RUNTIME_DIR=/tmp/stargrave-xdg diff --git a/zsh/.zsh/env/010c.zsh b/zsh/.zsh/env/010c.zsh new file mode 100644 index 0000000..c6dd0e9 --- /dev/null +++ b/zsh/.zsh/env/010c.zsh @@ -0,0 +1,8 @@ +export -TU CFLAGS cflags " " +cflags=(-I$HOME/local/include -I/usr/local/include -I/usr/local/include/PCSC) + +export -TU LDFLAGS ldflags " " +ldflags=(-L$HOME/local/lib -L/usr/local/lib) + +export -TU CXXFLAGS cxxflags " " +cxxflags=($cflags) diff --git a/zsh/.zsh/env/010go.zsh b/zsh/.zsh/env/010go.zsh new file mode 100644 index 0000000..11ef3ff --- /dev/null +++ b/zsh/.zsh/env/010go.zsh @@ -0,0 +1,5 @@ +export GOCACHE=/tmp/go-cache +export GOPROXY=off +export GOSUMDB=off +export GOPATH=~/work/gopath +path=($GOPATH/bin ~/work/go/bin $path) diff --git a/zsh/.zsh/env/010python.zsh b/zsh/.zsh/env/010python.zsh new file mode 100644 index 0000000..7c1ab3a --- /dev/null +++ b/zsh/.zsh/env/010python.zsh @@ -0,0 +1,3 @@ +export PIP_RESPECT_VIRTUALENV=true +export VIRTUAL_ENV_DISABLE_PROMPT=1 +export PYTHONDONTWRITEBYTECODE=1 diff --git a/zsh/.zsh/env/010tabbed.zsh b/zsh/.zsh/env/010tabbed.zsh new file mode 100644 index 0000000..b574aa5 --- /dev/null +++ b/zsh/.zsh/env/010tabbed.zsh @@ -0,0 +1,2 @@ +manpath=(~/src/suckless/tabbed $manpath) +path=(~/src/suckless/tabbed $path) diff --git a/zsh/.zsh/functions/PV b/zsh/.zsh/functions/PV new file mode 100644 index 0000000..b0bd617 --- /dev/null +++ b/zsh/.zsh/functions/PV @@ -0,0 +1 @@ +pv --wait --width 80 --interval 0.5 $@ diff --git a/zsh/.zsh/functions/arr b/zsh/.zsh/functions/arr new file mode 100644 index 0000000..8b3ae6d --- /dev/null +++ b/zsh/.zsh/functions/arr @@ -0,0 +1 @@ +mutt -f =arbeit -e "source ~/.mutt/accounts/arbeit" $@ diff --git a/zsh/.zsh/functions/cf b/zsh/.zsh/functions/cf new file mode 100644 index 0000000..f0ab759 --- /dev/null +++ b/zsh/.zsh/functions/cf @@ -0,0 +1,6 @@ +local dir=$(bfs -L ${1:-.} -mindepth 1 \ + -path "*/\.git" -prune -o \ + -path "*/\.redo" -prune -o \ + -type d -print 2>/dev/null | + fzf --height 40% --reverse --preview="tree -CN {}") +[[ -z $dir ]] || { print -s cd $dir ; cd $dir } diff --git a/zsh/.zsh/functions/f b/zsh/.zsh/functions/f new file mode 100644 index 0000000..265465f --- /dev/null +++ b/zsh/.zsh/functions/f @@ -0,0 +1 @@ +bfs -L . -name "*$1*" -print diff --git a/zsh/.zsh/functions/g b/zsh/.zsh/functions/g new file mode 100644 index 0000000..7900244 --- /dev/null +++ b/zsh/.zsh/functions/g @@ -0,0 +1,11 @@ +local GREP_ARGS=( + --devices=skip + --colour=always + --with-filename + --line-number + --dereference-recursive + --binary-files=without-match + --exclude-dir=.git + --exclude-dir=.tags +) +grep $GREP_ARGS $@ | less diff --git a/zsh/.zsh/functions/mbox b/zsh/.zsh/functions/mbox new file mode 100644 index 0000000..85cf407 --- /dev/null +++ b/zsh/.zsh/functions/mbox @@ -0,0 +1 @@ +mutt -f "=$1" diff --git a/zsh/.zsh/rc/005basic.zsh b/zsh/.zsh/rc/005basic.zsh new file mode 100644 index 0000000..71d696b --- /dev/null +++ b/zsh/.zsh/rc/005basic.zsh @@ -0,0 +1,8 @@ +setopt GLOB_STAR_SHORT GLOB_DOTS EXTENDED_GLOB +setopt NO_NOMATCH +setopt AUTO_PUSHD PUSHD_IGNORE_DUPS +setopt PIPE_FAIL +setopt MULTIBYTE + +setopt RM_STAR_SILENT +export LISTMAX=9999 diff --git a/zsh/.zsh/rc/005history-cfg.zsh b/zsh/.zsh/rc/005history-cfg.zsh new file mode 100644 index 0000000..aa16543 --- /dev/null +++ b/zsh/.zsh/rc/005history-cfg.zsh @@ -0,0 +1,13 @@ +setopt APPEND_HISTORY SHARE_HISTORY INC_APPEND_HISTORY EXTENDED_HISTORY +setopt HIST_IGNORE_SPACE HIST_IGNORE_ALL_DUPS +local history_ignore=( + "dl-magnet *" + "link-for-*" + "sdcv *" + "t *" + "unsafe-www *" + "yt* *" + arr + t +) +HISTORY_IGNORE="(${(j:|:)history_ignore})" diff --git a/zsh/.zsh/rc/005home,end.zsh b/zsh/.zsh/rc/005home,end.zsh new file mode 100644 index 0000000..d39aa72 --- /dev/null +++ b/zsh/.zsh/rc/005home,end.zsh @@ -0,0 +1,2 @@ +bindkey "^[[1~" beginning-of-line # Home +bindkey "^[[4~" end-of-line # End diff --git a/zsh/.zsh/rc/005vi.zsh b/zsh/.zsh/rc/005vi.zsh new file mode 100644 index 0000000..3a6d608 --- /dev/null +++ b/zsh/.zsh/rc/005vi.zsh @@ -0,0 +1,2 @@ +bindkey -v +export KEYTIMEOUT=1 diff --git a/zsh/.zsh/rc/010aliases.zsh b/zsh/.zsh/rc/010aliases.zsh new file mode 100644 index 0000000..7f0a126 --- /dev/null +++ b/zsh/.zsh/rc/010aliases.zsh @@ -0,0 +1 @@ +for z (~/.zsh/aliases/*(on)) . $z diff --git a/zsh/.zsh/rc/010autoload.zsh b/zsh/.zsh/rc/010autoload.zsh new file mode 100644 index 0000000..e253807 --- /dev/null +++ b/zsh/.zsh/rc/010autoload.zsh @@ -0,0 +1 @@ +for f (~/.zsh/functions/*) autoload ${f:t} diff --git a/zsh/.zsh/rc/010cd...zsh b/zsh/.zsh/rc/010cd...zsh new file mode 100644 index 0000000..9fbc4de --- /dev/null +++ b/zsh/.zsh/rc/010cd...zsh @@ -0,0 +1,7 @@ +cddotdot() { + cd .. + pwd + zle reset-prompt +} +zle -N cddotdot +bindkey "OQ" cddotdot # F2 diff --git a/zsh/.zsh/rc/010history-bind.zsh b/zsh/.zsh/rc/010history-bind.zsh new file mode 100644 index 0000000..1a0a9e6 --- /dev/null +++ b/zsh/.zsh/rc/010history-bind.zsh @@ -0,0 +1,13 @@ +autoload -U history-search-end +zle -N history-beginning-search-backward-end history-search-end +zle -N history-beginning-search-forward-end history-search-end +bindkey "^[[A" history-beginning-search-backward-end +bindkey "^[[B" history-beginning-search-forward-end + +beginning-history-incremental-pattern-search-backward() { + zle history-incremental-pattern-search-backward ${BUFFER:gs/ /*/} +} +zle -N beginning-history-incremental-pattern-search-backward +bindkey "^[[1;2A" beginning-history-incremental-pattern-search-backward +bindkey -M isearch "^[[A" history-incremental-pattern-search-backward +bindkey -M isearch "^[[B" history-incremental-pattern-search-forward diff --git a/zsh/.zsh/rc/010mime.zsh b/zsh/.zsh/rc/010mime.zsh new file mode 100644 index 0000000..221bdf7 --- /dev/null +++ b/zsh/.zsh/rc/010mime.zsh @@ -0,0 +1,22 @@ +autoload -U zsh-mime-setup ; zsh-mime-setup + +mime_compressed_handler() { + local tmp=`mktemp -t zsh-mime` + mv $tmp $tmp.$1:r:e + tmp=$tmp.$1:r:e + case $1:e in + (bz2) bunzip2 < $1 > $tmp ;; + (gz) gunzip < $1 > $tmp ;; + (xz) unxz < $1 > $tmp ;; + (zst) unzstd < $1 > $tmp ;; + (*) exit 1 ;; + esac + zsh-mime-handler $tmp +} + +alias -s bz2=mime_compressed_handler +alias -s gz=mime_compressed_handler +alias -s xz=mime_compressed_handler +alias -s zst=mime_compressed_handler + +alias -s html=lynx diff --git a/zsh/.zsh/rc/010popd.zsh b/zsh/.zsh/rc/010popd.zsh new file mode 100644 index 0000000..4952b1f --- /dev/null +++ b/zsh/.zsh/rc/010popd.zsh @@ -0,0 +1,6 @@ +popdquiet() { + popd + zle reset-prompt +} +zle -N popdquiet +bindkey "OS" popdquiet # F4 diff --git a/zsh/.zsh/rc/010zle.zsh b/zsh/.zsh/rc/010zle.zsh new file mode 100644 index 0000000..c132dfb --- /dev/null +++ b/zsh/.zsh/rc/010zle.zsh @@ -0,0 +1,3 @@ +autoload -U edit-command-line +zle -N edit-command-line +bindkey -M vicmd v edit-command-line diff --git a/zsh/.zsh/rc/010zmv.zsh b/zsh/.zsh/rc/010zmv.zsh new file mode 100644 index 0000000..227c5e7 --- /dev/null +++ b/zsh/.zsh/rc/010zmv.zsh @@ -0,0 +1 @@ +autoload -U zmv diff --git a/zsh/.zsh/rc/015completion.zsh b/zsh/.zsh/rc/015completion.zsh new file mode 100644 index 0000000..1eec179 --- /dev/null +++ b/zsh/.zsh/rc/015completion.zsh @@ -0,0 +1,55 @@ +zstyle ":completion:*" list-colors "" + +zstyle ":completion:*:functions" ignored-patterns "_*" +zstyle ":completion:*:manuals" separate-sections true + +zstyle ":completion:*" group-name "" +zstyle ":completion:*:messages" format "%d" +zstyle ":completion:*:warnings" format "%F{red}no matches: %d%f" +zstyle ":completion:*:*:*:*:descriptions" format "%B... %d%b" +zstyle ":completion:*:files:*:*:descriptions" format "" + +zstyle ":completion:*" file-patterns "%p:globbed" "*" +zstyle ":completion:*" matcher-list "" "m:{a-z-}={A-Z_}" "r:|?=** m:{a-z-}={A-Z_}" +zstyle ":completion:*:man:*:*:*" matcher-list "" "m:{a-zA-Z}={A-Za-z} l:|=* r:|=*" +zstyle ":completion:*" completer \ + _mycomp_mbox \ + _mycomp_man:man \ + _mycomp_info \ + _mycomp \ + _parameters \ + _ignored + +_mycomp() { + [[ $CURRENT -eq 1 ]] && curcontext="${curcontext%:*:*}:-command-:" \ + _command_names && return + [[ $IPREFIX =~ ~.* ]] && _tilde && return + local has_files + curcontext=:files:${curcontext#:*:} _files && has_files=1 + [[ $has_files ]] && return + + # MAGIC_EQUAL_SUBST {{{ + [[ $PREFIX = *\=* ]] || return 1 + compstate[parameter]=${PREFIX%%\=*} + compset -P 1 "*=" + _value + # }}} +} + +_mycomp_man() { + [[ ${words[1]} == man ]] && _dispatch man man man "" -default- && _value && return +} + +_mycomp_info() { + [[ ${words[1]} == info ]] && _dispatch info info info "" -default- && return +} + +local mboxes=() +for m ($MAILDIR/*(/on)) mboxes=($mboxes $m:t) + +_mycomp_mbox() { + [[ ${words[1]} == mbox ]] && _values mboxes $mboxes && return +} + +autoload -U compinit ; compinit -d /tmp/.zcompdump +autoload -U complist diff --git a/zsh/.zsh/rc/015prompt.zsh b/zsh/.zsh/rc/015prompt.zsh new file mode 100644 index 0000000..febf80c --- /dev/null +++ b/zsh/.zsh/rc/015prompt.zsh @@ -0,0 +1,41 @@ +setopt PROMPT_SUBST + +PROMPT="%2~ %B" +# A: autoenv +# V: virtualenv +# M: laxed umask +PROMPT+='${(j::)psvar}' +PROMPT+="%(1j.%j.)%b" +PROMPT+='%U${vcs_info_msg_0_}%u' +PROMPT+="%(?.. %S%?%s)" +PROMPT+='%(1S. %B${SECONDS}%b.)' +PROMPT+='%B%F{magenta}%#%f%b ' + +function zle-line-init zle-keymap-select { + local ccolour=red + [[ ${KEYMAP} == vicmd ]] || ccolour=green + printf "\e]12;${ccolour}\e\\" + [[ "$#_autoenv_stack_entered" -eq 0 ]] && psvar=(${psvar#A}) || { + [[ -n "${psvar[(r)A]}" ]] || psvar=(A $psvar) + } + [[ -z "$VIRTUAL_ENV" ]] && psvar=(${psvar#V}) || { + [[ -n "${psvar[(r)V]}" ]] || psvar=(V $psvar) + } + [[ `umask` == "077" ]] && psvar=(${psvar#M}) || { + [[ -n "${psvar[(r)M]}" ]] || psvar=("M" $psvar) + } + zle reset-prompt +} + +zle -N zle-line-init +zle -N zle-keymap-select + +preexec() { + printf "\e]12;green\e\\" + SECONDS=0 +} + +precmd() { + printf "\a\e]2;\e\\" + [[ -n "$NO_VCS_INFO" ]] || vcs_info +} diff --git a/zsh/.zsh/rc/020autosuggestions.zsh b/zsh/.zsh/rc/020autosuggestions.zsh new file mode 100644 index 0000000..4cba855 --- /dev/null +++ b/zsh/.zsh/rc/020autosuggestions.zsh @@ -0,0 +1,7 @@ +. ~/work/zsh-autosuggestions/zsh-autosuggestions.zsh +unset ZSH_AUTOSUGGEST_USE_ASYNC +ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=cyan" +ZSH_AUTOSUGGEST_IGNORE_WIDGETS+=( + history-incremental-pattern-search-backward + history-incremental-pattern-search-forward +) diff --git a/zsh/.zsh/rc/020highlight.zsh b/zsh/.zsh/rc/020highlight.zsh new file mode 100644 index 0000000..53a4595 --- /dev/null +++ b/zsh/.zsh/rc/020highlight.zsh @@ -0,0 +1,13 @@ +ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets) +. ~/work/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh +typeset -A ZSH_HIGHLIGHT_STYLES +ZSH_HIGHLIGHT_STYLES[assign]="fg=yellow" +ZSH_HIGHLIGHT_STYLES[commandseparator]="fg=red" +ZSH_HIGHLIGHT_STYLES[single-hyphen-option]="fg=green,bold" +ZSH_HIGHLIGHT_STYLES[double-hyphen-option]="fg=green" +ZSH_HIGHLIGHT_STYLES[globbing]="fg=magenta" +ZSH_HIGHLIGHT_STYLES[global-alias]="fg=yellow,bold" +ZSH_HIGHLIGHT_STYLES[history-expansion]="fg=magenta" +ZSH_HIGHLIGHT_STYLES[redirection]="fg=red" +ZSH_HIGHLIGHT_STYLES[path]="fg=white,underline" +ZSH_HIGHLIGHT_STYLES[path_pathseparator]="fg=white,bold,underline" diff --git a/zsh/.zsh/rc/020zhashd.zsh b/zsh/.zsh/rc/020zhashd.zsh new file mode 100644 index 0000000..1f51fa6 --- /dev/null +++ b/zsh/.zsh/rc/020zhashd.zsh @@ -0,0 +1,4 @@ +while read w ; do + w=(${(s/=/)w}) + hash -d ${w[1]}=${~${w[2]}} +done < ~/.zsh/hashd diff --git a/zsh/.zsh/rc/025paste-notrailing-newline.zsh b/zsh/.zsh/rc/025paste-notrailing-newline.zsh new file mode 100644 index 0000000..18741e1 --- /dev/null +++ b/zsh/.zsh/rc/025paste-notrailing-newline.zsh @@ -0,0 +1,4 @@ +bracketed-paste() { + zle .$WIDGET && LBUFFER=${LBUFFER%$'\n'} +} +zle -N bracketed-paste diff --git a/zsh/.zsh/rc/025zaq.zsh b/zsh/.zsh/rc/025zaq.zsh new file mode 100644 index 0000000..4d51aae --- /dev/null +++ b/zsh/.zsh/rc/025zaq.zsh @@ -0,0 +1,8 @@ +. ~/work/zsh-autoquoter/zsh-autoquoter.zsh +ZSH_HIGHLIGHT_HIGHLIGHTERS+=(zaq) +ZAQ_PREFIXES=( + "Gg" + "mutt -f" + "sdcv" + "t a" +) diff --git a/zsh/.zsh/rc/050autoenv.zsh b/zsh/.zsh/rc/050autoenv.zsh new file mode 100644 index 0000000..fb17d89 --- /dev/null +++ b/zsh/.zsh/rc/050autoenv.zsh @@ -0,0 +1 @@ +. ~/work/zsh-autoenv/autoenv.zsh diff --git a/zsh/.zshenv b/zsh/.zshenv index dd9c10c..c6e3576 100644 --- a/zsh/.zshenv +++ b/zsh/.zshenv @@ -1,105 +1,15 @@ -# vim: foldmethod=marker:foldlevel=0 +for z (~/.zsh/env/*(on)) . $z -# History {{{ -HISTFILE=~/secure/.history -HISTSIZE=10240 -SAVEHIST=10240 -# }}} - -# Terminal {{{ -export COLORFGBG="default;default;0" -export COLORTERM=xterm-256color -[ "$TERM" = "screen-256color" ] || TERM=xterm-256color -export TERM -# }}} - -# Less options {{{ -export PAGER=less -export LESSHISTFILE=- -export LESS=RXij3M -# }}} - -# ls options {{{ -export CLICOLOR=1 -export LSCOLORS=BxGxcxdxCxegDxabagacad -# }}} - -# Lynx options {{{ -export WWW_HOME=file:///home/stargrave/.lynx_bookmarks.html -export SSL_CERT_FILE=/usr/local/openssl/cert.pem -export LYNX_CFG=~/.lynx.cfg -# }}} - -# sdcv options {{{ -export STARDICT_DATA_DIR=$HOME/dic -export SDCV_HISTSIZE=0 -# }}} - -# IRC options {{{ -export IRCNAME="Sergey Matveev" -export IRCNICK="stargrave" -# }}} - -# Python options {{{ -export PIP_RESPECT_VIRTUALENV=true -export PIP_VIRTUALENV_BASE=~/.virtualenvs -export PYTHONDONTWRITEBYTECODE=1 -# }}} - -# XDG related junk {{{ -export XDG_CACHE_HOME=/tmp/stargrave-xdg -export XDG_CONFIG_HOME=/tmp/stargrave-xdg -export XDG_DATA_HOME=/tmp/stargrave-xdg -export XDG_RUNTIME_DIR=/tmp/stargrave-xdg -# }}} - -# Paths {{{ -path=(~/bin ~/local/bin /usr/local/bin /usr/local/sbin /usr/bin /usr/sbin /bin /sbin) -manpath=( - ~/local/share/man - /usr/local/lib/perl5/5.26/perl/man - /usr/local/lib/perl5/site_perl/man - /usr/share/openssl/man - /usr/local/share/man - /usr/local/man - /usr/share/man -) -export -TU INFOPATH infopath -infopath=(~/local/share/info /usr/local/share/info /usr/local/info) - -manpath=(~/src/suckless/tabbed $manpath) -path=(~/src/suckless/tabbed $path) - -path=(~/work/goredo $path) - -export -TU PKG_CONFIG_PATH pkgconfigpath -pkgconfigpath=(~/local/lib/pkgconfig ~/local/libdata/pkgconfig) -# }}} - -# C related {{{ -export CFLAGS="-I$HOME/local/include -I/usr/local/include" -export LDFLAGS="-L$HOME/local/lib -L/usr/local/lib" -export -TU LD_LIBRARY_PATH ld_library_path -ld_library_path=(~/local/lib) -# }}} - -# Go related {{{ -export GOCACHE=/tmp/go-cache -export GOPROXY=off -export GOSUMDB=off -export GOPATH=$HOME/work/gopath -path=($GOPATH/bin ~/work/go/bin $path) -# }}} - -# Various {{{ export SHELL=/bin/zsh export EDITOR=vim -export TZ='Europe/Moscow' +export TZ=Europe/Moscow export IFCONFIG_FORMAT=inet:cidr,inet6:cidr -export SSH_AUTH_SOCK=$HOME/.ssh/agent -export MAILDIR=$HOME/mail +export SSH_AUTH_SOCK=~/.ssh/agent +export MAILDIR=~/mail export DBUS_SESSION_BUS_ADDRESS=disabled: export MYSQL_HISTFILE=/tmp/.mysql_history -export REDO_JOBS=0 REDO_NO_SYNC=1 -export SHARNESS_TEST_SRCDIR=$HOME/local/stow/sharness/share/sharness -# }}} +export SHARNESS_TEST_SRCDIR=~/local/stow/sharness/share/sharness +export FZF_DEFAULT_OPTS="--color=16 --info=inline" +export AUTOENV_AUTH_FILE=~/.zsh/autoenv-auth +export TIMEFMT="user:%U sys:%S mem:%K/%M io:%I/%O %*E %P" +export RLWRAP_HOME=/tmp diff --git a/zsh/.zshrc b/zsh/.zshrc index 45b63a6..55c0ce1 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -1,222 +1 @@ -# vim: foldmethod=marker:foldlevel=0 - -# Basic options {{{ -setopt INTERACTIVE_COMMENTS -setopt GLOB_STAR_SHORT GLOB_DOTS EXTENDED_GLOB -setopt NO_NOMATCH -setopt AUTO_PUSHD PUSHD_IGNORE_DUPS -setopt PIPE_FAIL - -setopt RM_STAR_SILENT -export LISTMAX=9999 -# }}} - -# History options {{{ -setopt APPEND_HISTORY SHARE_HISTORY INC_APPEND_HISTORY HIST_IGNORE_ALL_DUPS -setopt HIST_IGNORE_SPACE -HISTORY_IGNORE="(yt* *|t *|t|sdcv *|mmfileget *|arr)" -# }}} - -# Vi mode {{{ -bindkey -v -export KEYTIMEOUT=1 -# }}} - -# Home/end {{{ -bindkey "^[[1~" beginning-of-line -bindkey "^[[4~" end-of-line -# }}} - -# Command-line editing {{{ -autoload -U edit-command-line -zle -N edit-command-line -bindkey -M vicmd v edit-command-line -# }}} - -# History search {{{ -autoload -U history-search-end -zle -N history-beginning-search-backward-end history-search-end -zle -N history-beginning-search-forward-end history-search-end -bindkey "^[[A" history-beginning-search-backward-end -bindkey "^[[B" history-beginning-search-forward-end - -beginning-history-incremental-pattern-search-backward() { - zle history-incremental-pattern-search-backward ${BUFFER:gs/ /*/} -} -zle -N beginning-history-incremental-pattern-search-backward -bindkey "^[[1;2A" beginning-history-incremental-pattern-search-backward -bindkey -M isearch "^[[A" history-incremental-pattern-search-backward -bindkey -M isearch "^[[B" history-incremental-pattern-search-forward -# }}} - -# Prompt {{{ -function zle-line-init zle-keymap-select { - mode_vi=${${KEYMAP/vicmd/+}/(main|viins)/-} - [[ $timer ]] && timer_show=$(( $SECONDS - $timer )) - prompt="%2~|" - prompt+="%U${timer_show}%u|" - prompt+="%B%?%b" - prompt+="${mode_vi}" - prompt+="%B%F{magenta}%#%f%b " - PS1=$prompt - zle reset-prompt -} -zle -N zle-line-init -zle -N zle-keymap-select - -preexec() { - timer=$SECONDS -} - -precmd() { - printf "\a\033]2;\033\\" -} -# }}} - -# Aliases {{{ -alias l="ls -AF " -alias ll="ls -AFl " -alias ssh="TERM=xterm ssh" -alias vi="vim" -alias more="less" -alias m="less " -alias -g M="| less" -alias -g W="| wc -l | sed 's/ //g'" -alias mc="mc --nomouse" -alias sent="mutt -f =sent-\`date '+%y-%m'\`" - -f() { - # find . -name "*$1*" -print - print -C 1 **$1* -} - -ssht() { - ssh -C -t $1 tmux attach -t0 -} -alias sshnm="ssh -S none" -# }}} - -# Faster movement {{{ -cddotdot() { - cd .. - pwd - zle reset-prompt -} -zle -N cddotdot -bindkey "OQ" cddotdot # F2 - -pushdquiet() { - popd - zle reset-prompt -} -zle -N pushdquiet -bindkey "OS" pushdquiet # F4 -# }}} - -# Git {{{ -alias Ga="git add" -alias Gb="git branch" -alias Gc="git checkout" -alias Gd="git diff" -alias Gdc="git diff --cached" -alias Gs="git show --show-signature" -alias Gm="git diff --name-only --diff-filter=M" -alias Gam="git commit --amend" - -alias Gl="git log --oneline --graph --decorate=short" -alias Gld="git log --format=format:'%ai %Cgreen%h%Creset %s'" -alias Gr="git --no-pager log --oneline -n 20 | perl -ne 'print \"@~\$n \$_\"; \$n++'" -alias Grr="git --no-pager log --oneline --graph -n 1024 | vi -c 'setlocal filetype=gitrebase buftype=nofile noswapfile' -" - -bindkey -s "OR" " git status --short\n" # F3 -# }}} - -# grep {{{ -GREP=/usr/local/bin/grep -GREP_ARGS="--color=always --with-filename --line-number --dereference-recursive" -LESS_COLORED="less --RAW-CONTROL-CHARS" -g() { - $GREP ${=GREP_ARGS} $@ | ${=LESS_COLORED} -} -GS() { - $GREP ${=GREP_ARGS} $@ | sort --numeric-sort | ${=LESS_COLORED} -} -alias -g G="| $GREP --color" -alias gg="git grep " -# }}} - -# GPG agent {{{ -GPG_TTY=$(tty) -export GPG_TTY -# }}} - -# Virtualenv {{{ -venv() { - . /usr/local/bin/virtualenvwrapper.sh -} -# }}} - -# Mail {{{ -mailpath=( - ~/mail/mbox"?Neue Nachrichten in =mbox" - ~/mail/arbeit"?Neue Nachrichten in =arbeit" -) -alias arr="mutt -f \=arbeit -e 'source ~/.mutt/accounts/stcnet.ru'" -bindkey -s "OP" " inc\n" # F1 -# }}} - -# Completion {{{ -zstyle ":completion:*:functions" ignored-patterns "_*" -zstyle ":completion:*" matcher-list "" 'm:{a-z\-}={A-Z\_}' 'r:|?=** m:{a-z\-}={A-Z\_}' -_mycomp () { - [[ ${words[1]} != man ]] || { _man && return 0 } - [[ $CURRENT -eq 1 ]] && _command_names || _files && return 0 - # MAGIC_EQUAL_SUBST {{{ - [[ $PREFIX = *\=* ]] || return 1 - compstate[parameter]=${PREFIX%%\=*} - compset -P 1 "*=" - _value - # }}} -} -zstyle ":completion:*" completer _mycomp _parameters -autoload -U compinit ; compinit -d /tmp/.zcompdump -zstyle ":completion:*:default" list-colors "" -autoload -U complist -# }}} - -# Highlighting {{{ -ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets) -. ~/work/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh -typeset -A ZSH_HIGHLIGHT_STYLES -ZSH_HIGHLIGHT_STYLES[assign]="fg=yellow" -ZSH_HIGHLIGHT_STYLES[commandseparator]="fg=red" -ZSH_HIGHLIGHT_STYLES[single-hyphen-option]="fg=green,bold" -ZSH_HIGHLIGHT_STYLES[double-hyphen-option]="fg=green" -ZSH_HIGHLIGHT_STYLES[globbing]="fg=magenta" -ZSH_HIGHLIGHT_STYLES[global-alias]="fg=yellow,bold" -ZSH_HIGHLIGHT_STYLES[history-expansion]="fg=magenta" -ZSH_HIGHLIGHT_STYLES[redirection]="fg=red" -ZSH_HIGHLIGHT_STYLES[path]="fg=white,underline" -ZSH_HIGHLIGHT_STYLES[path_pathseparator]="fg=white,bold,underline" -# }}} - -# Autosuggestion {{{ -. ~/work/zsh-autosuggestions/zsh-autosuggestions.zsh -ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=cyan" -# }}} - -# fzf {{{ -export FZF_DEFAULT_OPTS="--color=16 --info=inline" -cf() { - local dir=$(find ${1:-.} -mindepth 1 -path "*/\.git" -prune -o -type d -print | - fzf --height 40% --reverse --preview="tree -CN {}") - [[ -z $dir ]] || cd $dir -} -# }}} - -# Named directories {{{ -while read w ; do - w=(${(s/=/)w}) - hash -d ${w[1]}=${~${w[2]}} -done < ~/.zhashd -# }}} +for z (~/.zsh/rc/*(on)) . $z diff --git a/zsh/bin/zsh-mime-open b/zsh/bin/zsh-mime-open new file mode 100755 index 0000000..990b59f --- /dev/null +++ b/zsh/bin/zsh-mime-open @@ -0,0 +1,4 @@ +#!/usr/bin/env zsh + +. ~/.zsh/rc/010mime.zsh +zsh-mime-handler $1