;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301\302\303\304\305%\210\306\307\310\311\312DD\313\314\315%\210\306\316\310\311\317DD\320\314\321%\210\306\322\310\311\323DD\324\314\325%\210\306\326\310\311\327DD\330\314\331%\210\306\332\310\311\333DD\334\314\335%\210\306\336\310\311\337DD\340\314\341%\207" [custom-declare-group pgg-parse nil "OpenPGP packet parsing." :group pgg custom-declare-variable pgg-parse-public-key-algorithm-alist funcall function #[0 "\300\207" [((1 . RSA) (2 . RSA-E) (3 . RSA-S) (16 . ELG-E) (17 . DSA) (20 . ELG))] 1 #1=""] "Alist of the assigned number to the public key algorithm." :type (repeat (cons (sexp :tag "Number") (sexp :tag "Type"))) pgg-parse-symmetric-key-algorithm-alist #[0 "\300\207" [((1 . IDEA) (2 . 3DES) (4 . CAST5) (5 . SAFER-SK128))] 1 #1#] "Alist of the assigned number to the symmetric key algorithm." (repeat (cons (sexp :tag "Number") (sexp :tag "Type"))) pgg-parse-hash-algorithm-alist #[0 "\300\207" [((1 . MD5) (2 . SHA1) (3 . RIPEMD160) (5 . MD2) (8 . SHA256) (9 . SHA384) (10 . SHA512))] 1 #1#] "Alist of the assigned number to the cryptographic hash algorithm." (repeat (cons (sexp :tag "Number") (sexp :tag "Type"))) pgg-parse-compression-algorithm-alist #[0 "\300\207" [((0) (1 . ZIP) (2 . ZLIB))] 1 #1#] "Alist of the assigned number to the compression algorithm." (repeat (cons (sexp :tag "Number") (sexp :tag "Type"))) pgg-parse-signature-type-alist #[0 "\300\207" [((0 . "Signature of a binary document") (1 . "Signature of a canonical text document") (2 . "Standalone signature") (16 . "Generic certification of a User ID and Public Key packet") (17 . "Persona certification of a User ID and Public Key packet") (18 . "Casual certification of a User ID and Public Key packet") (19 . "Positive certification of a User ID and Public Key packet") (24 . "Subkey Binding Signature") (31 . "Signature directly on a key") (32 . "Key revocation signature") (40 . "Subkey revocation signature") (48 . "Certification revocation signature") (64 . "Timestamp signature."))] 1 #1#] "Alist of the assigned number to the signature type." (repeat (cons (sexp :tag "Number") (sexp :tag "Type"))) pgg-ignore-packet-checksum #[0 "\300\207" [t] 1 #1#] "If non-nil checksum of each ascii armored packet will be ignored." boolean] 6)#@16 Armor headers.
(defvar pgg-armor-header-lines '("^-----BEGIN PGP MESSAGE\\(, PART [0-9]+\\(/[0-9]+\\)?\\)?-----?$" "^-----BEGIN PGP PUBLIC KEY BLOCK-----?$" "^-----BEGIN PGP PRIVATE KEY BLOCK-----?$" "^-----BEGIN PGP SIGNATURE-----?$") (#$ . 2336))
(byte-code "\300\301\302\303!\203\f \303\202 \304\"\207" [defalias pgg-char-int fboundp char-int identity] 4)#@15 

(fn STRING)
(defalias 'pgg-format-key-identifier '(macro . #[257 "\300\301\302BBB\207" [mapconcat (lambda (c) (format "%02X" (pgg-char-int c))) ("")] 5 (#$ . 2705)]))#@14 

(fn BYTES)
(defalias 'pgg-parse-time-field '(macro . #[257 "\300\301\302\303D\304BB\305\306EE\301\302\305\307E\310BB\305\311EE\312BBB\207" [list logior ash car (8) nth 1 2 (8) 3 (0)] 8 (#$ . 2880)]))#@22 

(fn &optional POS)
(defalias 'pgg-byte-after '(macro . #[256 "\300\301\206 \302DD\207" [pgg-char-int char-after (point)] 4 (#$ . 3093)]))
(defalias 'pgg-read-byte '(macro . #[0 "\300\207" [(pgg-char-int (char-after (prog1 (point) (forward-char))))] 1]))#@15 

(fn NBYTES)
(defalias 'pgg-read-bytes-string '(macro . #[257 "\300\301\302\303\304BB\305DEE\207" [buffer-substring (point) prog1 + ((point)) forward-char] 7 (#$ . 3356)]))#@15 

(fn NBYTES)
(defalias 'pgg-read-bytes '(macro . #[257 "\300\301\302DE\207" [mapcar #'pgg-char-int pgg-read-bytes-string] 5 (#$ . 3537)]))#@13 

(fn PTAG)
(defalias 'pgg-read-body-string '(macro . #[257 "\300\301\302E\303\301\302ED\304BBB\207" [if nth 1 pgg-read-bytes-string ((pgg-read-bytes-string (- (point-max) (point))))] 7 (#$ . 3683)]))#@13 

(fn PTAG)
(defalias 'pgg-read-body '(macro . #[257 "\300\301\302DE\207" [mapcar #'pgg-char-int pgg-read-body-string] 5 (#$ . 3891)]))
(defalias 'pgg-skip-bytes 'forward-char)#@13 

(fn PTAG)
(defalias 'pgg-skip-header '(macro . #[257 "\300\301\302ED\207" [pgg-skip-bytes nth 2] 5 (#$ . 4074)]))#@13 

(fn PTAG)
(defalias 'pgg-skip-body '(macro . #[257 "\300\301\302ED\207" [pgg-skip-bytes nth 1] 5 (#$ . 4196)]))#@24 

(fn ALIST KEY VALUE)
(defalias 'pgg-set-alist '(macro . #[771 "\300\301\302\303EDEE\207" [setq nconc list cons] 11 (#$ . 4316)]))
(byte-code "\300\301!\203 \302\303\304\305#\210\306\304\307\310\304\"#\266\311\312\313\"\210\305\207" [fboundp define-ccl-program [1 30 14 114744 114775 0 161 131127 1 148217 15 82167 1 1848 131159 1 1595 5 256 114743 390 114775 19707 1467 16 7 183 1 -5628 -7164 22] defconst-1 pgg-parse-crc24 nil put ccl-program-idx register-ccl-program defalias pgg-parse-crc24-string #[257 "\301\302\303\304\302\211\211\211\211\211&	\305#\210\306\307\310\311H\312\"\310\313\314H\315\"\312\"\310\314H\312\"$\207" [pgg-parse-crc24 vector nil 183 1230 ccl-execute-on-string format "%c%c%c" logand 1 255 ash 2 -8] 11 "\n\n(fn STRING)"]] 7)#@10 

(fn C)
(defalias 'pgg-parse-length-type '(macro . #[257 "\300\301\302BB\303\304BBD\301\305BB\303\306\307\310\311BB\312BB\313BB\314BBD\315\316BB\317B\320BBBB\207" [cond < (192) cons (1) (224) + ash - (192) (8) ((pgg-byte-after (+ 2 (point))) 192) (2) = (255) ((cons (cons (logior (ash (pgg-byte-after (+ 2 (point))) 8) (pgg-byte-after (+ 3 (point)))) (logior (ash (pgg-byte-after (+ 4 (point))) 8) (pgg-byte-after (+ 5 (point))))) 5)) ((t '(0 . 0)))] 10 (#$ . 5092)]))
(defalias 'pgg-parse-packet-header #[0 "`f\300\211\211\211\301\302\"\303U\203V \301\304\"\262\304U\203  \303\202$ \305\306\"\262\301\307\305\310\"\"\262\303\262T\262\303\211W\203R \311\305\312\"T`\\f\"\262\211T\262\2028 \210\202\275 \301\313\"\262`Tf\314W\203m `Tf\306B\202\262 `Tf\315W\203\211 \305`Tf\314Z\312\"\316`\\f\\\314\\\316B\202\262 `Tf\317U\203\261 \311\305\316`\\f\312\"\304`\\f\"\311\305\320`\\f\312\"\321`\\f\"B\321B\202\262 \322\262@\262AT\262E\207" [nil logand 64 0 3 ash 1 15 -2 logior 8 63 192 224 2 255 4 5 (0 . 0)] 10])#@13 

(fn PTAG)
(defalias 'pgg-parse-packet #[257 "\211@\211\300\267\202\230 \301!\207\302!\207\303!\207\304!\207A@\203+ `A@`\\A@u\210{\207`d`Z`\\d`Zu\210{\207A@\203K `A@`\\A@u\210{\207`d`Z`\\d`Zu\210{\207A@\203k `A@`\\A@u\210{\207`d`Z`\\d`Zu\210{\207A@\203\213 `A@`\\A@u\210{\207`d`Z`\\d`Zu\210{\207\305\207" [#s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (1 8 2 12 3 16 6 20 9 24 10 56 11 88 13 120)) pgg-parse-public-key-encrypted-session-key-packet pgg-parse-signature-packet pgg-parse-symmetric-key-encrypted-session-key-packet pgg-parse-public-key-packet nil] 6 (#$ . 6142)])#@44 

(fn &optional HEADER-PARSER BODY-PARSER)
(defalias 'pgg-parse-packets #[512 "\206 \300\206\n \301\302\211d`TV\203?  \262\303\3048!\210\211@\212!)BB\262\211A@\305U\2037 db\210\202\f \211A@u\210\202\f \207" [pgg-parse-packet-header pgg-parse-packet nil pgg-skip-bytes 2 0] 9 (#$ . 6780)])
(defalias 'pgg-parse-signature-subpacket-header #[0 "`f\300W\203 `f\301B\202P `f\302W\203( \303`f\300Z\304\"\305`\\f\\\300\\\305B\202P `f\306U\203O \307\303\305`\\f\304\"\310`\\f\"\307\303\311`\\f\304\"\312`\\f\"B\312B\202P \313\211A`\\f@SATE\207" [192 1 224 ash 8 2 255 logior 3 4 5 (0 . 0)] 5])#@13 

(fn PTAG)
(defalias 'pgg-parse-signature-subpacket #[257 "\211@\211\303\267\202\311\304\305\306`\307`\\\307u\210{\"\310\311@\312\"A@\"\310\311\3138\312\"\3148\"\315E\262B\207\316\305\306`\307`\\\307u\210{\"\310\311@\312\"A@\"\310\311\3138\312\"\3148\"\315E\262B\207\317`\320u\210fB\207\321`\320u\210fB\207\322A@\203| `A@`\\A@u\210{\202\210 `d`Z`\\d`Zu\210{B\207\323`\320u\210fB\207\324\305\306`\307`\\\307u\210{\"\310\311@\312\"A@\"\310\311\3138\312\"\3148\"\315E\262B\207\325`\320u\210f\236AB\207\320\207\326\327\330A@\203\337 `A@`\\A@u\210{\202\353 `d`Z`\\d`Zu\210{\331#B\207\332\307!\210\333\305\306`\313`\\\313u\210{\"\305\306`\313`\\\313u\210{\"`\310\311@\312\"A@\"`\\\310\311@\312\"A@\"u\210{`\310\311@\312\"A@\"`\\\310\311@\312\"A@\"u\210{B\266\202B\207\334`\320u\210f	\236AB\207\335`\320u\210f\n\236AB\207\336\305\306A@\203r`A@`\\A@u\210{\202~`d`Z`\\d`Zu\210{\"B\207\337A@\203\227`A@`\\A@u\210{\202\243`d`Z`\\d`Zu\210{B\207\340A@\203\273`A@`\\A@u\210{\202\307`d`Z`\\d`Zu\210{B\207\320\207" [pgg-parse-symmetric-key-algorithm-alist pgg-parse-hash-algorithm-alist pgg-parse-compression-algorithm-alist #s(hash-table size 16 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (2 8 3 47 4 86 5 94 6 102 7 138 9 146 11 185 12 196 16 198 20 239 21 323 22 334 23 345 24 385 26 421)) creation-time mapcar pgg-char-int 4 logior ash 8 2 3 0 signature-expiry exportability nil trust-level regular-expression revocability key-expiry preferred-symmetric-key-algorithm key-identifier mapconcat #[257 "\300\301\"\207" [format "%02X"] 4 "\n\n(fn C)"] "" pgg-skip-bytes notation preferred-hash-algorithm preferred-compression-algorithm key-server-preferences preferred-key-server policy-url] 12 (#$ . 7385)])#@13 

(fn PTAG)
(defalias 'pgg-parse-signature-packet #[257 "`f\303BC\304\211\211\305U\203 \306\307!\210\310\311`\312`\\\312u\210{\"\262\313\211A\262\242\236ABC\244\262\314\315\316@\317\"A@\"\315\316\3078\317\"\3058\"\320FC\244\262\321\322\323`\317`\\\317u\210{\324#BC\244\262\325`\304u\210fBC\244\262\326`\304u\210fBC\244\262\202\327U\203\306\330!\210\313`\304u\210f\236ABC\244\262\325`\304u\210fBC\244\262\326`\304u\210fBC\244\262\331\310\311`\307`\\\307u\210{\"\262\315\316@\317\"A@\"\211\262Y\203\344 \214``\\}\210\310\332\333\334\335\"\"\244\210db)\210\331\310\311`\307`\\\307u\210{\"\262\315\316@\317\"A@\"\211\262Y\203\214``\\}\210\310\332\333\334\335\"\"\244)\210\325\236\211\262A	\236A\241\210\326\236\211\262A\n\236A\241\210\207" [pgg-parse-signature-type-alist pgg-parse-public-key-algorithm-alist pgg-parse-hash-algorithm-alist version nil 3 pgg-skip-bytes 2 mapcar pgg-char-int 5 signature-type creation-time logior ash 8 0 key-identifier mapconcat #[257 "\300\301\"\207" [format "%02X"] 4 "\n\n(fn C)"] "" public-key-algorithm hash-algorithm 4 1 10000 cdr pgg-parse-packets pgg-parse-signature-subpacket-header pgg-parse-signature-subpacket] 13 (#$ . 9154)])#@13 

(fn PTAG)
(defalias 'pgg-parse-public-key-encrypted-session-key-packet #[257 "\301\211\302`\301u\210fBC\244\262\211\303\304\305`\306`\\\306u\210{\307#BC\244\262\211\310`\301u\210f\236ABC\244\207" [pgg-parse-public-key-algorithm-alist nil version key-identifier mapconcat #[257 "\300\301\"\207" [format "%02X"] 4 "\n\n(fn C)"] 8 "" public-key-algorithm] 9 (#$ . 10387)])#@13 

(fn PTAG)
(defalias 'pgg-parse-symmetric-key-encrypted-session-key-packet #[257 "\301\211\302`\301u\210fBC\244\262\211\303`\301u\210f\236ABC\244\207" [pgg-parse-symmetric-key-algorithm-alist nil version symmetric-key-algorithm] 6 (#$ . 10768)])#@13 

(fn PTAG)
(defalias 'pgg-parse-public-key-packet #[257 "`\301u\210f\302BC\301\303U\203\\ \304\305\306`\307`\\\307u\210{\"\310\311@\312\"A@\"\310\311\3138\312\"\3038\"\314E\262BC\244\262\315\305\306`\313`\\\313u\210{\"BC\244\262\316`\301u\210fBC\244\262\202\231 \307U\203\231 \304\305\306`\307`\\\307u\210{\"\310\311@\312\"A@\"\310\311\3138\312\"\3038\"\314E\262BC\244\262\316`\301u\210fBC\244\262\316\236\211\262A\236A\241\210\207" [pgg-parse-public-key-algorithm-alist nil version 3 creation-time mapcar pgg-char-int 4 logior ash 8 2 0 key-expiry public-key-algorithm] 12 (#$ . 11022)])
(defalias 'pgg-decode-packets #[0 "\301\302\303\304#\203G \305\224\306\307!d|\210\3101 \311e\"0\202! \210\202A \203A \312\313!?\206F \206F \314\313\315 !!\230\206F \316\317!\266\303\207\316\320!\210\303\207\316\321!\210\303\207" [pgg-ignore-packet-checksum re-search-forward "^=\\([A-Za-z0-9+/]\\{4\\}\\)$" nil t 0 match-string 1 (error) base64-decode-region fboundp pgg-parse-crc24-string base64-encode-string buffer-string message "PGP packet checksum does not match" "PGP packet contain invalid base64" "PGP packet checksum not found"] 5])#@18 

(fn START END)
(defalias 'pgg-decode-armor-region #[514 "\214}\210eb\210\300\301\302\303#\210e\304\305!\205 \306\225|\210\307 \205# eb\210\310 )\207" [re-search-forward "^-+BEGIN PGP" nil t search-forward "\n\n" 0 pgg-decode-packets pgg-parse-packets] 6 (#$ . 12194)])#@15 

(fn STRING)
(defalias 'pgg-parse-armor #[257 "\300\301\302\"r\211q\210\303\304\"\216\305 \210\306\307!\210c\210\310e`\"*\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] buffer-disable-undo set-buffer-multibyte nil pgg-decode-armor-region] 5 (#$ . 12473)])
(byte-code "\300\301\302\303!\203\f \303\202 \304\"\207" [defalias pgg-string-as-unibyte fboundp string-as-unibyte identity] 4)#@18 

(fn START END)
(defalias 'pgg-parse-armor-region #[514 "\300\301{!!\207" [pgg-parse-armor pgg-string-as-unibyte] 6 (#$ . 12937)])
(provide 'pgg-parse)
