;;; -*- mode: emacs-lisp; coding: iso-2022-7bit-ss2 -*- ;---------------------------------------------------------------------------- ;-------- This sequece of HYPHEN-MINUS is 76 bytes long. -------------------- ;---------------------------------------------------------------------------- ;;; options: ;;encode-sticked-comment-as-atom ; violate the policy preserving structures ;;ignore-75bytes-limit ; violate RFC2047 ;;ignore-76bytes-limit ; violate RFC2047 ;;permit-sticked-comment ; violate RFC2047 ;;permit-sticked-special ; violate RFC2047 ;;separate-sticked-comment ; violate the policy preserving absence of space ;;separate-sticked-special ; violate the policy preserving absence of space ;;zero-characters-encoded-word-hack ; violate common sense (very tricky) ;;embedded-encoded-word ; violate character sequence semantics ;;separate-sticked-tokens-for-fold ; violate the policy preserving absence of space ;;encode-long-ascii-string-for-fold ; violate the policy preserving US-ASCII string ;;divide-atom-for-fold ; violate tne policy preserving absence of space (defconst test-patterns '( ;;; Section 1: Decoding examples from RFC2047 (decode "From: =?US-ASCII?Q?Keith_Moore?= " "From: Keith Moore ") (decode "To: =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= " "To: Keld J.ANxrn Simonsen ")*B (decode "CC: =?ISO-8859-1?Q?Andr=E9?= Pirard " "CC: Andr.ANi Pirard ")*B (decode "Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=\r =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?=" "Subject: If you can read this you understand the example.") (decode "From: =?ISO-8859-1?Q?Olle_J=E4rnefors?= " "From: Olle J.ANdrnefors ")*B (decode "From: =?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= " "From: Patrik F.ANdltstrNvm ")*B (decode "From: Nathaniel Borenstein \r \t(=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=)" "From: Nathaniel Borenstein \t(.HNmNeNlNy NoNa NiNlNhNtNp)")*B (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?=)" "From: foo@bar.baz (a)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?= b)" "From: foo@bar.baz (a b)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)" "From: foo@bar.baz (ab)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)" "From: foo@bar.baz (ab)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?=\r \t=?ISO-8859-1?Q?b?=)" "From: foo@bar.baz (ab)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a_b?=)" "From: foo@bar.baz (a b)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)" "From: foo@bar.baz (a b)") (decode "Subject: (=?ISO-8859-1?Q?a?=)" "Subject: (=?ISO-8859-1?Q?a?=)") (decode "Subject: (=?ISO-8859-1?Q?a?= b)" "Subject: (=?ISO-8859-1?Q?a?= b)") (decode "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)" "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)") (decode "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)" "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)") (decode "Subject: (=?ISO-8859-1?Q?a?=\r \t=?ISO-8859-1?Q?b?=)" "Subject: (=?ISO-8859-1?Q?a?=\t=?ISO-8859-1?Q?b?=)") (decode "Subject: (=?ISO-8859-1?Q?a_b?=)" "Subject: (=?ISO-8859-1?Q?a_b?=)") (decode "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)" "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)") ;;; Section 2: Decoding proper inputs. (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From: $B$"(B ") (decode "From: =?ISO-2022-JP?b?GyRCJCIbKEI=?= " "From: $B$"(B ") (decode "From: =?iso-2022-jp?B?GyRCJCIbKEI=?= " "From: $B$"(B ") (decode "From: =?iSo-2022-jP?B?GyRCJCIbKEI=?= " "From: $B$"(B ") (decode "From: =?ISO-2022-JP?Q?=1B=24B=24=22=1B=28B?= " "From: $B$"(B ") (decode "From: =?ISO-2022-JP?q?=1B=24B=24=22=1B=28B?= " "From: $B$"(B ") (decode "From: =?iso-2022-jp?Q?=1B=24B=24=22=1B=28B?= " "From: $B$"(B ") (decode "From: =?iSo-2022-jP?Q?=1B=24B=24=22=1B=28B?= " "From: $B$"(B ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r " "From: $B$"$$(B ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r " "From: $B$"$$(B ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r \t=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r " "From: $B$"$$(B ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"ja \\\"a\\\"\" " "From: $B$"(B \"ja \\\"a\\\"\" ") (decode "From: =?US-ASCII?Q?=2C?= " "From: \",\" ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?US-ASCII?Q?=2E?= " "From: \"$B$"(B.\" ") (decode "From: =?US-ASCII?Q?=2E?= =?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From: \".$B$"(B\" ") (decode "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)") (decode "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?= ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b ") (decode "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b " "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b ") (decode "From: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\" " "From: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\" ") (decode "From: \"\\\"\\\\\" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"\\\"\\\\\" " "From: \"\\\"\\\\\" $B$"(B \"\\\"\\\\\" ") (decode "From: < =?ISO-2022-JP?B?GyRCJCIbKEI=?= @jaist.ac.jp>" "From: < =?ISO-2022-JP?B?GyRCJCIbKEI=?= @jaist.ac.jp>") (decode "From: =?ISO-2022-JP?Q?=1B$BAA=1B(B?= ) " "From: =?ISO-2022-JP?Q?=1B$BAA=1B(B?= ) ") (decode "From: (=?US-ASCII?Q?(?=)foo@bar.baz(=?US-ASCII?Q?))baz@bar.foo(?=)" "From: (=?US-ASCII?Q?(?=)foo@bar.baz(=?US-ASCII?Q?))baz@bar.foo(?=)") (decode "From: =?US-ASCII?Q?=22?= " "From: \"\\\"\" ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= " "From: \"$B$"(B($B$"(B)\" ") (decode "From: =?US-ASCII?Q?=28?= , =?US-ASCII?Q?=29?= " "From: \"(\" , \")\" " ignore-76bytes-limit) (decode "From: =?ISO-2022-JP?B?YSJiGyRCJCIbKEJjXA==?= " "From: \"a\\\"b$B$"(Bc\\\\\" ") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: $B$"(B") (decode "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b") (decode "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b" "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b") (decode "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)") (decode "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)" "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)") (decode "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"") (decode "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"" "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"") (decode "Subject: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"" "Subject: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"") (decode "Subject: \" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"" "Subject: \" $B$"(B \"") (decode "Subject: (Re: =?ISO-2022-JP?B?GyRCJCIbKEI=?=)" "Subject: (Re: =?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:") (decode "Subject: =?ISO-2022-JP?B??=" "Subject: =?ISO-2022-JP?B??=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a\r =?ISO-2022-JP?B?GyRCJCQbKEI=?=" "Subject: $B$"(B a $B$$(B") (decode "Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?=\r =?US-ASCII?Q?____________________________________________________________?=\r =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?=" "Subject: $B0$(B $BR_(B") (decode "From: =?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29=22=5C?= " "From: \"abcdefghijklmnopqrst.AN!()\\\"\\\\\" ")*B (decode "Subject: ?= =?" "Subject: ?= =?") (decode "Subject: \" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"" "Subject: \" $B$"(B \"") (decode "From: \"\\\\\" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"\" " "From: \"\\\\\" $B$"(B \"\" ") (decode "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B_=1B$B$\"=1B(B?=" "Subject: $B$"(B $B$"(B") (decode "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B =1B$B$\"=1B(B?=" "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B =1B$B$\"=1B(B?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-8859-8?Q?=E0?=" "Subject: $B$"(B a .HN`")*B (decode "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=" "Subject: .HN`$BNm(B")*B (decode "Subject: =?ISO-8859-8?Q?=E0_?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=" "Subject: .HN` $BNm(B")*B (decode "Subject: =?ISO-2022-JP-2?B?Gy5GG05DGyRCNFg/dBsoQg==?=" "Subject: .FNC$B4X?t(B")*B (decode "Subject: =?ISO-8859-7?Q?=C3?= =?ISO-2022-JP?B?GyRCNFg/dBsoQg==?=" "Subject: .FNC$B4X?t(B")*B (decode "Subject: =?Shift_JIS?B?gqA=?=" "Subject: $B$"(B") (decode "Subject: =?EUC-JP?B?pKI=?=" "Subject: $B$"(B") (decode "Subject: = =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: = $B$"(B") (decode "Subject: =? =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =? $B$"(B") (decode "Subject: =?ISO-2022-JP =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP $B$"(B") (decode "Subject: =?ISO-2022-JP? =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP? $B$"(B") (decode "Subject: =?ISO-2022-JP?B =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B $B$"(B") (decode "Subject: =?ISO-2022-JP?B? =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B? $B$"(B") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI $B$"(B") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI= =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI= $B$"(B") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=? =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=? $B$"(B") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: $B$"$"(B") (decode "Subject: ==?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: ==?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==") (decode "From: akr@jaist.ac.jp (\\=?ISO-2022-JP?B?GyRCJCIbKEI=?=)" "From: akr@jaist.ac.jp (\\=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (decode "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test" "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test") (decode "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test" "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test" permit-sticked-special) ;;; Section 3: Decoding melancholic inputs. (decode "From:=?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From:$B$"(B ") (decode "From: akr@jaist.ac.jp\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\\a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)" "From: akr@jaist.ac.jp ($B$"(B\\a$B$$(B)") (decode "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) ") (decode "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) " "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) ") (decode "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From: (a)$B$"(B " permit-sticked-comment) (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) " "From: $B$"(B(b) " permit-sticked-comment) (decode "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) " "From: (a)$B$"(B(b) " permit-sticked-comment) (decode "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?= ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" ") (decode "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" " "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r " "From: $B$"(B($B$"(B) " permit-sticked-comment) (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: $B$"(B" permit-sticked-special) (decode "To: ,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: ,=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "To: ,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: ,$B$"(B" permit-sticked-special) (decode "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: akr@jaist.ac.jp,$B$"(B" permit-sticked-special) (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;") (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;" "To: $B$"(B:akr@jaist.ac.jp;" permit-sticked-special) (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=;") (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=;" "To: $B$"(B:$B$$(B;" ignore-76bytes-limit permit-sticked-special) (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?=;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?=;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=") (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?=;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=" "To: $B$"(B:$B$$(B,$B$&(B;,$B$((B" ignore-76bytes-limit permit-sticked-special) (decode "Subject:=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject:$B$"(B") ;;; Section 4: Decoding invalid inputs. (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?=\r " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?= ") (decode "From: akr@jaist.ac.jp\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)" "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)") (decode "From: akr@jaist.ac.jp\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)") (decode "From: akr@jaist.ac.jp\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)" ignore-76bytes-limit) (decode "Subject: =?=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI==?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI==?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI?=") (decode "Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?=" "Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?= =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: $B$"(B =?= $B$"(B") ;;; Section 5: Encoding proper inputs. (encode "From: $B$"(B " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= ") (encode "From: $B$"$$(B " "From: =?ISO-2022-JP?B?GyRCJCIkJBsoQg==?= ") (encode "From: $B$"(B $B$$(B " "From: =?ISO-2022-JP?B?GyRCJCIbKEIgGyRCJCQbKEI=?= ") (encode "From: .AN! N! "*B "From: =?ISO-8859-1?Q?=A1_=A1?= ") (encode "From: \"$B$"(B($B$"(B)\" " "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= ") (encode "From: $B$"(B\"a\" " "From: =?ISO-2022-JP?B?GyRCJCIbKEJh?= ") (encode "From: \"a\"$B$"(B " "From: =?ISO-2022-JP?B?YRskQiQiGyhC?= ") (encode "From: \"a\\\"b$B$"(Bc\\\\\" " "From: =?ISO-2022-JP?B?YSJiGyRCJCIbKEJjXA==?= ") (encode "Subject: $B0$(B $BR_(B" "Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?=\r =?US-ASCII?Q?____________________________________________________________?=\r =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?=") (encode "Subject: $B0$(B $BR_(B" "Subject: =?ISO-2022-JP?B?GyQpQrCkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDS3w==" ignore-76bytes-limit ignore-75bytes-limit) (encode "From: .AN! "*B "From: =?ISO-8859-1?Q?=A1?= ") (encode "From: \"abcdefghijklmnopqrst.AN!()\\\"\\\\\" "*B "From: =?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29=22=5C?= ") (encode "From: akr@jaist.ac.jp (abcdefghijklmnopqrst.AN!\\(\\)\"\\\\)"*B "From: akr@jaist.ac.jp (=?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29\"=5C?=)") (encode "Subject: $B$"(B a .HN`"*B ("Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-8859-8?Q?=E0?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-8859-8?B?4A==?=")) (encode "Subject: .HN`$BNm(B"*B ("Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=" "Subject: =?ISO-8859-8?B?4A==?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=")) (encode "Subject: .HN` $BNm(B"*B ("Subject: =?ISO-8859-8?Q?=E0_?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=" "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?IBskQk5tGyhC?=" "Subject: =?ISO-8859-8?B?4CA=?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=" "Subject: =?ISO-8859-8?B?4A==?= =?ISO-2022-JP?B?IBskQk5tGyhC?=")) (encode "Subject: .FNC$B4X?t(B"*B ("Subject: =?ISO-8859-7?Q?=C3?= =?ISO-2022-JP?B?GyRCNFg/dBsoQg==?=" "Subject: =?ISO-2022-JP-2?B?Gy5GG05DGyRCNFg/dBsoQg==?=")) (encode "From: aaaaaaaaaaaaaaaaaaaaa($B$"$$(B)aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa ") (encode "From: aaaaaaaaaaaaaaaaaaaaa ($B$"$$(B)aaaaaaaaaaaaaaaaaaaa " ("From: aaaaaaaaaaaaaaaaaaaaa (=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa (=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa ")) (encode "From: aaaaaaaaaaaaaaaaaaaaa( $B$"$$(B)aaaaaaaaaaaaaaaaaaaa " ("From: aaaaaaaaaaaaaaaaaaaaa( =?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa( =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa ")) (encode "From: aaaaaaaaaaaaaaaaaaaaa($B$"$$(B )aaaaaaaaaaaaaaaaaaaa " ("From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?= )aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?= )aaaaaaaaaaaaaaaaaaaa ")) (encode "From: aaaaaaaaaaaaaaaaaaaaa($B$"$$(B) aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)\r aaaaaaaaaaaaaaaaaaaa ") (encode "From: aaaaaaaaaaaaaaaaaaaaa($B$"(B $B$$(B)aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEIgCg==?=\r =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaa ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaa\r ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From:\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From:\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r " zero-characters-encoded-word-hack) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r " zero-characters-encoded-word-hack) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " separate-sticked-tokens-for-fold) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaa?=\r =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?= " encode-long-ascii-string-for-fold permit-sticked-special) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r aaaaaaaaaaaaaaaa " divide-atom-for-fold) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " ("From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ") ignore-76bytes-limit) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa($B$"(B)aa " "From: =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?=\r =?US-ASCII?Q?a?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa " encode-long-ascii-string-for-fold) (encode "From: $B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa($B$"(B)aa " "From: =?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==?=\r =?US-ASCII?Q?aaaaaaaaaaaaaaa?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa" encode-long-ascii-string-for-fold) (encode "From: ($B$"(B) " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=) ") (encode "From: (((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))) " "From: ((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))\r " zero-characters-encoded-word-hack) (encode "From: ((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))) " "From: (((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyRCJCIbKEI=?=)))))))))))))))))))))))))))))))))))))))))\r " zero-characters-encoded-word-hack) (encode "From: (((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))) " "From: ((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyRCJCIbKEI=?=))))))))))))))))))))))))))))))))))))))))))))))\r " zero-characters-encoded-word-hack) (encode "From: ((((((((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))))))))) " "From: (((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))\r " zero-characters-encoded-word-hack) (encode "From: (((((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))))) " "From:\r ((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))\r " zero-characters-encoded-word-hack) (encode "From: (((((((((((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))))))))))) " "From:\r ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))\r " zero-characters-encoded-word-hack) (encode "From: ((((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))))) " "From:\r ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))\r " zero-characters-encoded-word-hack) (encode "From: ((((((((((((((((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))))))))))))))))) " "From:\r ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))\r " zero-characters-encoded-word-hack) (encode "From: (((((((((((((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))))))))))))) " "From:\r ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyhC?=((=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))\r " zero-characters-encoded-word-hack) (encode "From: ()($B$"(B)() " "From: ()(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)() ") (encode "From: ($B$"(B)()()()()()()()()()()()()()()()()()()() " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()()\r ") (encode "From: ($B$"(B)()()()()()()()()()()()()()()()()()()()()()() " "From:\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()()()()()\r ") (encode "From: ($B$"(B)()()()()()()()()()()()()()()()()()()()()()()() " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()()()()()()()()()\r " zero-characters-encoded-word-hack) (encode "From: ($B$"(B)()()()()()()()()()()()()()()()()()()()()()()()()()()() " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()(=?ISO-2022-JP?B?GyhC?=\r =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()() " zero-characters-encoded-word-hack) (encode "To: l@d ($B$"(B aaa)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (encode "To: l@d ($B$"(B aaaa)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r aaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?=\r =?US-ASCII?Q?aaaaaaaaaaaaaaaaaa?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)" encode-long-ascii-string-for-fold) (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()$B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?=\r =?US-ASCII?Q?aaaaaaaaaaaaaaaaaa?=()=?ISO-2022-JP?B?GyRCJCIbKEI=?=)" encode-long-ascii-string-for-fold) (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa $B$"(B)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa $B$"(B)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (encode "Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?$(C$!(B?" "Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =?EUC-KR?B?P6ShPw==?=") (encode "Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?$(C$!(B?" "Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =?EUC-KR?B?P6Sh?=\r =?US-ASCII?Q?=3F?=") (encode "Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?$(C$!(B?" "Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =?EUC-KR?B?P6Sh?=\r =?US-ASCII?Q?=3F?=") (encode "Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?$(C$!(B?" "Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r =?EUC-KR?B?P6ShPw==?=") ;---------------------------------------------------------------------------- ;;; Section 6: Encoding melancholic inputs. (encode "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)" "From: akr@jaist.ac.jp\r (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" ignore-76bytes-limit) (encode "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)" "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" zero-characters-encoded-word-hack) (encode "From: $B$"(B($B$"(B) " "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= " encode-sticked-comment-as-atom) (encode "From: $B$"(B($B$"(B) " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r " permit-sticked-comment) (encode "From: $B$"(B($B$"(B) " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r " separate-sticked-comment) (encode "To: $B$"(B" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=" permit-sticked-special) (encode "To: $B$"(B" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= " separate-sticked-special) (encode "To: ,$B$"(B" "To: ,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" permit-sticked-special) (encode "To: ,$B$"(B" "To: , =?ISO-2022-JP?B?GyRCJCIbKEI=?= " separate-sticked-special) (encode "To: akr@jaist.ac.jp,$B$"(B" "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" permit-sticked-special) (encode "To: akr@jaist.ac.jp,$B$"(B" "To: akr@jaist.ac.jp, =?ISO-2022-JP?B?GyRCJCIbKEI=?= " separate-sticked-special) (encode "To: $B$"(B:akr@jaist.ac.jp;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;" permit-sticked-special) (encode "To: $B$"(B:akr@jaist.ac.jp;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= :akr@jaist.ac.jp;" separate-sticked-special) (encode "To: $B$"(B:$B$$(B;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=;" ignore-76bytes-limit permit-sticked-special) (encode "To: $B$"(B:$B$$(B;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r =?ISO-2022-JP?B?GyhC?=;" zero-characters-encoded-word-hack permit-sticked-special) (encode "To: $B$"(B:$B$$(B;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r ;" separate-sticked-special) (encode "To: $B$"(B:$B$$(B,$B$&(B;,$B$((B" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?=;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=" ignore-76bytes-limit permit-sticked-special) (encode "To: $B$"(B:$B$$(B,$B$&(B;,$B$((B" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r =?ISO-2022-JP?B?GyhC?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?=\r =?ISO-2022-JP?B?GyhC?=;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=" zero-characters-encoded-word-hack permit-sticked-special) (encode "To: $B$"(B:$B$$(B,$B$&(B;,$B$((B" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r , =?ISO-2022-JP?B?GyRCJCYbKEI=?= ;,\r =?ISO-2022-JP?B?GyRCJCgbKEI=?= " separate-sticked-special) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaa " "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6ShPw==?=()aaaaa\r " permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaa " ("From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r =?US-ASCII?Q?=3F?=()aaaaa " "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r =?EUC-KR?B?pKE/?=()aaaaa ") permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaa " "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?= =?US-ASCII?Q?=3F?=()aaaaa " permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " ("From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r =?US-ASCII?Q?=3F?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ") permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r =?US-ASCII?Q?=3F?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r =?US-ASCII?Q?=3F?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r " permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r =?US-ASCII?Q?=3F?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r " permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From:\r aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r =?US-ASCII?Q?=3F?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r " permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From:\r aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r " permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " ("From:\r aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r =?US-ASCII?Q?=3F?=()=?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?=\r =?US-ASCII?Q?aaaaaaaaaaaaaaaa?= " "From: =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?= =?US-ASCII?Q?aa?=()=?US-ASCII?Q?=3F?=\r =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r ") permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" permit-sticked-comment) (encode "From:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "From:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" permit-sticked-comment) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "From:\r aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" permit-sticked-comment) ;---------------------------------------------------------------------------- ;;; Section 7: Using embedded-encoded-words. ;; ;; embedded-encoded-word $BI=8=(B ;; ;; RFC2047 $B$N%G%3!<%@$O@x:_E*$K(B($B%G%3!<%I7k2L$G$J$/(B) encoded-word $B$=$N$b$N$r(B ;; $B=PNO$7$J$1$l$P$J$i$J$$$3$H$,$"$k!#(B ;; ;; 1. $BCN$i$J$$(B charset $B$b$7$/$O(B encoding $B$,;XDj$5$l$F$$$?$H$-!#(B ;; =?unknown-charset?known-encoding?some-encoded-text?= ;; =?known-charset?unknown-encoding?some-encoded-text?= ;; =?unknown-charset?unknown-encoding?some-encoded-text?= ;; ;; 2. $B%G%3!<%I$G$-$F$bFbMF$,7uF]$9$.$k$H$-!#(B ;; Non ASCII $B3HD%(B RFC822 $B$NCf$K(B =?US-ASCII?Q?=0D=0A=0D=0A?= $B$N%G%3!<%I(B ;; $B7k2L$rKd$a9~$`$N$O4m81$9$.$k!#(B ;; ;; $B$^$?!"%G%3!<%@$O(B encoded-word $B$N$h$&$K$_$($k%G%3!<%I7k2L$r=PNO$7$J$1(B ;; $B$l$P$J$i$J$$$3$H$b$"$k!#(B ;; ;; =?US-ASCII?Q?=3D=3FUS-ASCII=3FQ=3Ftext=3F=3D?= ;; ;; $B%G%3!<%@$,C1$J$kJ8;zNs$r=PNO$9$k>l9g!"C1=c$K$O(B encoded-word $B$=$N$b$N$H(B ;; encoded-word $B$N$h$&$K$_$($kJ8;zNs$r6hJL$G$-$J$$!#(B ;; $B$3$3$G$OJ8;zNsCf$G$=$l$i$r3Nl9g(B(0, 3, 6, ...): charset $B$N@hF,$N(B + $B$N?t$r(B ;; 1/3 $B$K$7$?J8;zNs(B ;; 3$B$rK!$H$7$F(B1$B$HEy$7$$>l9g(B(1, 4, 7, ...): charset $B$N@hF,$N(B + $B$N?t$r(B ;; 1/3 ($B>.?tE@0J2<@Zl9g(B(2, 5, 8, ...): charset $B$N@hF,$N(B + $B$N?t$r(B ;; 1/3 ($B>.?tE@0J2<@Zl9g!"4q?tHVL\$N$b$N$KBP$7$F>e5-$N%k!<%k$rE,MQ$9$k!#(B ;; ;; NOTE: + $B$r(B embedded-encoded-word $BI=8=$N(B quote $BJ8;z$H8F$V!#(B ;; ;; NOTE: $B8=;~E@(B(1998/07/19)$B$G(B IANA $B$K$O(B + $B$r4^$`(B charset $B$O(B ;; $BEPO?$5$l$F$$$J$$$N$G!"$=$l$i$N(B charset $B$r;H$C$?(B ;; encoded-word $B$rI=8=$9$k$K$O(B + $B$r(B 1$B$D$D$1$k$3$H$K$J$k!#(B ;; ;; =?US-ASCII?Q?abcdef?= $B$H$$$&(Bencoded-word : =?+US-ASCII?Q?abcdef?= ;; ;; =?US-ASCII?Q?abcdef?= $B$H$$$&J8;zNs(B : =?US-ASCII?Q?abcdef?= ;; =?+US-ASCII?Q?abcdef?= $B$H$$$&J8;zNs(B : =?+++US-ASCII?Q?abcdef?= ;; =?++US-ASCII?Q?abcdef?= $B$H$$$&J8;zNs(B : =?++++++US-ASCII?Q?abcdef?= ;; =?+++US-ASCII?Q?abcdef?= $B$H$$$&J8;zNs(B : =?+++++++++US-ASCII?Q?abcdef?= ;; =?US-ASCII+?Q?abcdef?= $B$H$$$&J8;zNs(B : =?US-ASCII+?Q?abcdef?= ;; =?U+S-ASCII?Q?abcdef?= $B$H$$$&J8;zNs(B : =?U+S-ASCII?Q?abcdef?= ;; ;; =?US-ASCII?Q?abcdef? $B$H$$$&J8;zNs(B : =?++US-ASCII?Q?abcdef?= ;; =?+US-ASCII?Q?abcdef? $B$H$$$&J8;zNs(B : =?+++++US-ASCII?Q?abcdef?= ;; =?++US-ASCII?Q?abcdef? $B$H$$$&J8;zNs(B : =?++++++++US-ASCII?Q?abcdef?= ;; =?+++US-ASCII?Q?abcdef? $B$H$$$&J8;zNs(B : =?+++++++++++US-ASCII?Q?abcdef?= ;; ;; NOTE: encoded-word $B$K8+$($kJ8;zNs$G(B + $B$,(B 3$BG\A}$5$l$k$N$O(B charset $B$N(B ;; $B@hF,$@$1$G$"$j!"(Bencoding $B$d(B encoded-text $B$O$?$H$((B + $B$,F~$C$F$$$F$b(B ;; $BJQ2=$7$J$$!#$^$?!"(Bcharset $BCf$G$b(B $B@hF,0J30$N(B + $B$OJQ2=$7$J$$!#(B ;; ;; NOTE: charset $B$H(B encoding $B$K$O(B = $B$O4^$^$l$J$$$N$G(B 1$BJ8;z0J>e=E$J$k$3(B ;; $B$H$O$J$$!#(B ;; ;; rule 3: $BJ8;zNsA4BN$NFbMF$O!"(Brule 1 $B$H(B rule 2 $B$G2re$J$1$l$P$J$i$J$$$J$I$H$$$&(B ;; $B5,Ls$,$"$k$,!"(Bembedded-encoded-word $BI=8=$G$O$=$l$i$O:NMQ$7$J$$!#(B ;; $BC1=c$K(B encoded-word $BFbIt$NJ8K!$@$1$r(B($B=$@5$7$F(B)$BMxMQ$9$k!#(B ;; ($BK\$l$=$NJ8;zNs$=$N$b$N$rI=8=$9$k$,!"$=$l$i$rO"7k$7$?J8;zNs(B ;; =?+US-ASCII?Q?abcd?= $B$O(B abcd $B$H$$$&J8;zNs$rI=8=$9$k$3$H$K$J$j!"(B ;; $B$=$l$>$l$NFbMF$NO"7k$H$O$J$i$J$$!#(B ;; $B$3$N>l9g!"(B=?+++US-ASCII?Q?abcd?= $B$H$7$J$1$l$P$J$i$J$$!#(B ;; ;; $B$3$l$O$H$/$K(B Non ASCII $B3HD%(B RFC822 $B$NCf$K(B embedded-encoded-word $BI=8=$r(B ;; $BKd$a9~$`$H$-$K5$$rIU$1$J$1$l$P$J$i$J$$!#(B($BKd$a9~$s$@7k2L$O@5$7$$(B ;; embedded-encoded-word $BI=8=$H$O$J$i$J$$$+$bCN$l$J$$!#(B) (decode "Subject: =?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?=" embedded-encoded-word) (decode "Subject: =?US-ASCII?G?H4sIACqUszUAA8tIzcnJBwCGphA2BQAAAA==?=" "Subject: =?+US-ASCII?G?H4sIACqUszUAA8tIzcnJBwCGphA2BQAAAA==?=" embedded-encoded-word) (decode "Subject: =?US-ASCII?Unknown-Encoding?H4sIAGOUszUAAwtyczYyMDEHAEpvqpIHAAAA?=" "Subject: =?+US-ASCII?Unknown-Encoding?H4sIAGOUszUAAwtyczYyMDEHAEpvqpIHAAAA?=" embedded-encoded-word) (decode "Subject: =?ISO-2022-JP?G?H4sIAGiTszUAA5NWcVIBAhMtaQ0nAGLSaeEMAAAA?=\r =?ISO-2022-JP?G?H4sIAH6TszUAA5NWcVIxV3FTyVbxldZwAgAuIikKDgAAAA==?=" "Subject: =?+ISO-2022-JP?G?H4sIAGiTszUAA5NWcVIBAhMtaQ0nAGLSaeEMAAAA?==?+ISO-2022-JP?G?H4sIAH6TszUAA5NWcVIxV3FTyVbxldZwAgAuIikKDgAAAA==?=" embedded-encoded-word) (decode "Subject: =?Unknown-Charset?B?gqA=?= =?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?=" embedded-encoded-word) (decode "Subject: =?Unknown-Charset?B?gqA=?= =?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?=" embedded-encoded-word) (decode "Subject: =?Unknown-Charset?B?gqA=?=\r =?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?=" embedded-encoded-word) (decode "Subject: =?Unknown-Charset?B?gqA=?=\r \t=?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?=" embedded-encoded-word) (decode "Subject: a=?Unknown-Charset?B?gqA=?=" "Subject: a=?Unknown-Charset?B?gqA=?=" embedded-encoded-word) (decode "Subject: =?Unknown-Charset?B?gqA=?=b" "Subject: =?Unknown-Charset?B?gqA=?=b" embedded-encoded-word) (decode "Subject: a=?Unknown-Charset?B?gqA=?=b" "Subject: a=?Unknown-Charset?B?gqA=?=b" embedded-encoded-word) (decode "Subject: a =?Unknown-Charset?B?gqA=?= b" "Subject: a =?+Unknown-Charset?B?gqA=?= b" embedded-encoded-word) (decode "Subject: =?ISO-2022-JP?B?DQoNCg==?=" "Subject: =?+US-ASCII?Q?=0D=0A=0D=0A?=" embedded-encoded-word) (decode "Subject: =?US-ASCII?Q?a=0D=0A_b?=" "Subject: a b" embedded-encoded-word) (decode "Subject: =?US-ASCII?Q?a=0D=0Ab?=" "Subject: a=?+US-ASCII?Q?=0D=0A?=b" embedded-encoded-word) (decode "From: =?+C?Q?abcdef?= " "From: =?++++C?Q?abcdef?= " embedded-encoded-word) (decode "From: \"=?+C?Q?abcdef?=\" " "From: \"=?+++C?Q?abcdef?=\" " embedded-encoded-word) (decode "From: =?C?Q?abc?= =?US-ASCII?Q?=2E?= " "From: \"=?+C?Q?abc?=.\" " embedded-encoded-word) ;;; Section 8: CR and LF. (decode "From: akr@jaist.ac.jp (\r\\\n)" "From: akr@jaist.ac.jp (\r\\\n)") (decode "From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?= =?US-ASCII?Q?a?=)" "From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?= a)") (decode "From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A_?=)" "From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A_?=)") (decode "From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A=09?=)" "From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A=09?=)") (decode "From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?= )" "From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?= )") (decode "From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?=\t)" "From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?=\t)") (decode "From: akr@jaist.ac.jp (\\\r\\\n)" "From: akr@jaist.ac.jp (\\\r\\\n)") (decode "From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A?= =?US-ASCII?Q?a?=)" "From: akr@jaist.ac.jp (=?+US-ASCII?Q?=0D=0A?=a)" embedded-encoded-word) (decode "From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0Aa?=)" "From: akr@jaist.ac.jp (=?+US-ASCII?Q?=0D=0A?=a)" embedded-encoded-word) (decode "From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A_?=)" "From: akr@jaist.ac.jp (\\ )") (decode "From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A=09?=)" "From: akr@jaist.ac.jp (\\\t)") (decode "From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A?= )" "From: akr@jaist.ac.jp (\\ )") (decode "From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A?=\t)" "From: akr@jaist.ac.jp (\\\t)") (decode "From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A?=\r =?US-ASCII?Q?=0D=0A?= =?US-ASCII?Q?a?=)" "From: akr@jaist.ac.jp (=?+US-ASCII?Q?=0D=0A=0D=0A?=a)" embedded-encoded-word) (decode "From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A?=\r =?US-ASCII?Q?=0D?=\\\n =?US-ASCII?Q?a?=)" "From: akr@jaist.ac.jp (=?+US-ASCII?Q?=0D=0A?=\r\\ a)" embedded-encoded-word) )) ;---------------------------------------------------------------------------- ;;; test driver. (defun report (decoder encoder &optional verbose) (let ((pats test-patterns) pat src dsts opts dst (decode-success 0) (decode-failure 0) (decode-error 0) (decode-giveup 0) (encode-success 0) (encode-failure 0) (encode-error 0) (encode-giveup 0)) (while pats (setq pat (car pats) src (nth 1 pat) dsts (nth 2 pat) opts (nthcdr 3 pat) pats (cdr pats)) (if (stringp dsts) (setq dsts (list dsts))) (cond ((eq (car pat) 'decode) (condition-case err (progn (setq dst (apply decoder src opts)) (if dst (if (member dst dsts) (progn (if verbose (message "decode-success: %S" pat)) (setq decode-success (1+ decode-success))) (progn (if verbose (message "decode-failure: %S %S" pat dst)) (setq decode-failure (1+ decode-failure)))) (progn (if verbose (message "decode-giveup: %S" pat)) (setq decode-giveup (1+ decode-giveup))))) (error (if verbose (message "decode-error: %S %S" err pat)) (setq decode-error (1+ decode-error))))) ((eq (car pat) 'encode) (condition-case err (progn (setq dst (apply encoder src opts)) (if dst (if (member dst dsts) (progn (if verbose (message "encode-success: %S" pat)) (setq encode-success (1+ encode-success))) (progn (if verbose (message "encode-failure: %S %S" pat dst)) (setq encode-failure (1+ encode-failure)))) (progn (if verbose (message "encode-giveup: %S" pat)) (setq encode-giveup (1+ encode-giveup))))) (error (if verbose (message "encode-error: %S %S" err pat)) (setq encode-error (1+ encode-error))))) (t (message "pattern error: %S" pat)))) (message "\ decode %d patterns: success: %d failure: %d error: %d giveup: %d encode %d patterns: success: %d failure: %d error: %d giveup: %d" (+ decode-success decode-failure decode-error decode-giveup) decode-success decode-failure decode-error decode-giveup (+ encode-success encode-failure encode-error encode-giveup) encode-success encode-failure encode-error encode-giveup)))