nano-fast-tool 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/mail-2.9.1/MIT-LICENSE +20 -0
  3. data/mail-2.9.1/README.md +771 -0
  4. data/mail-2.9.1/lib/mail/attachments_list.rb +109 -0
  5. data/mail-2.9.1/lib/mail/body.rb +305 -0
  6. data/mail-2.9.1/lib/mail/configuration.rb +78 -0
  7. data/mail-2.9.1/lib/mail/constants.rb +79 -0
  8. data/mail-2.9.1/lib/mail/elements/address.rb +258 -0
  9. data/mail-2.9.1/lib/mail/elements/address_list.rb +34 -0
  10. data/mail-2.9.1/lib/mail/elements/content_disposition_element.rb +20 -0
  11. data/mail-2.9.1/lib/mail/elements/content_location_element.rb +17 -0
  12. data/mail-2.9.1/lib/mail/elements/content_transfer_encoding_element.rb +13 -0
  13. data/mail-2.9.1/lib/mail/elements/content_type_element.rb +25 -0
  14. data/mail-2.9.1/lib/mail/elements/date_time_element.rb +15 -0
  15. data/mail-2.9.1/lib/mail/elements/envelope_from_element.rb +39 -0
  16. data/mail-2.9.1/lib/mail/elements/message_ids_element.rb +31 -0
  17. data/mail-2.9.1/lib/mail/elements/mime_version_element.rb +15 -0
  18. data/mail-2.9.1/lib/mail/elements/phrase_list.rb +19 -0
  19. data/mail-2.9.1/lib/mail/elements/received_element.rb +35 -0
  20. data/mail-2.9.1/lib/mail/elements.rb +15 -0
  21. data/mail-2.9.1/lib/mail/encodings/7bit.rb +27 -0
  22. data/mail-2.9.1/lib/mail/encodings/8bit.rb +18 -0
  23. data/mail-2.9.1/lib/mail/encodings/base64.rb +38 -0
  24. data/mail-2.9.1/lib/mail/encodings/binary.rb +13 -0
  25. data/mail-2.9.1/lib/mail/encodings/identity.rb +24 -0
  26. data/mail-2.9.1/lib/mail/encodings/quoted_printable.rb +45 -0
  27. data/mail-2.9.1/lib/mail/encodings/transfer_encoding.rb +77 -0
  28. data/mail-2.9.1/lib/mail/encodings/unix_to_unix.rb +20 -0
  29. data/mail-2.9.1/lib/mail/encodings.rb +314 -0
  30. data/mail-2.9.1/lib/mail/envelope.rb +28 -0
  31. data/mail-2.9.1/lib/mail/field.rb +313 -0
  32. data/mail-2.9.1/lib/mail/field_list.rb +87 -0
  33. data/mail-2.9.1/lib/mail/fields/bcc_field.rb +49 -0
  34. data/mail-2.9.1/lib/mail/fields/cc_field.rb +33 -0
  35. data/mail-2.9.1/lib/mail/fields/comments_field.rb +31 -0
  36. data/mail-2.9.1/lib/mail/fields/common_address_field.rb +162 -0
  37. data/mail-2.9.1/lib/mail/fields/common_date_field.rb +56 -0
  38. data/mail-2.9.1/lib/mail/fields/common_field.rb +77 -0
  39. data/mail-2.9.1/lib/mail/fields/common_message_id_field.rb +41 -0
  40. data/mail-2.9.1/lib/mail/fields/content_description_field.rb +12 -0
  41. data/mail-2.9.1/lib/mail/fields/content_disposition_field.rb +44 -0
  42. data/mail-2.9.1/lib/mail/fields/content_id_field.rb +35 -0
  43. data/mail-2.9.1/lib/mail/fields/content_location_field.rb +28 -0
  44. data/mail-2.9.1/lib/mail/fields/content_transfer_encoding_field.rb +44 -0
  45. data/mail-2.9.1/lib/mail/fields/content_type_field.rb +171 -0
  46. data/mail-2.9.1/lib/mail/fields/date_field.rb +28 -0
  47. data/mail-2.9.1/lib/mail/fields/from_field.rb +33 -0
  48. data/mail-2.9.1/lib/mail/fields/in_reply_to_field.rb +45 -0
  49. data/mail-2.9.1/lib/mail/fields/keywords_field.rb +30 -0
  50. data/mail-2.9.1/lib/mail/fields/message_id_field.rb +36 -0
  51. data/mail-2.9.1/lib/mail/fields/mime_version_field.rb +42 -0
  52. data/mail-2.9.1/lib/mail/fields/named_structured_field.rb +10 -0
  53. data/mail-2.9.1/lib/mail/fields/named_unstructured_field.rb +10 -0
  54. data/mail-2.9.1/lib/mail/fields/optional_field.rb +15 -0
  55. data/mail-2.9.1/lib/mail/fields/parameter_hash.rb +61 -0
  56. data/mail-2.9.1/lib/mail/fields/received_field.rb +61 -0
  57. data/mail-2.9.1/lib/mail/fields/references_field.rb +42 -0
  58. data/mail-2.9.1/lib/mail/fields/reply_to_field.rb +33 -0
  59. data/mail-2.9.1/lib/mail/fields/resent_bcc_field.rb +33 -0
  60. data/mail-2.9.1/lib/mail/fields/resent_cc_field.rb +33 -0
  61. data/mail-2.9.1/lib/mail/fields/resent_date_field.rb +10 -0
  62. data/mail-2.9.1/lib/mail/fields/resent_from_field.rb +33 -0
  63. data/mail-2.9.1/lib/mail/fields/resent_message_id_field.rb +10 -0
  64. data/mail-2.9.1/lib/mail/fields/resent_sender_field.rb +32 -0
  65. data/mail-2.9.1/lib/mail/fields/resent_to_field.rb +33 -0
  66. data/mail-2.9.1/lib/mail/fields/return_path_field.rb +60 -0
  67. data/mail-2.9.1/lib/mail/fields/sender_field.rb +45 -0
  68. data/mail-2.9.1/lib/mail/fields/structured_field.rb +24 -0
  69. data/mail-2.9.1/lib/mail/fields/subject_field.rb +14 -0
  70. data/mail-2.9.1/lib/mail/fields/to_field.rb +33 -0
  71. data/mail-2.9.1/lib/mail/fields/unstructured_field.rb +189 -0
  72. data/mail-2.9.1/lib/mail/fields.rb +45 -0
  73. data/mail-2.9.1/lib/mail/header.rb +237 -0
  74. data/mail-2.9.1/lib/mail/indifferent_hash.rb +147 -0
  75. data/mail-2.9.1/lib/mail/mail.rb +267 -0
  76. data/mail-2.9.1/lib/mail/matchers/attachment_matchers.rb +44 -0
  77. data/mail-2.9.1/lib/mail/matchers/has_sent_mail.rb +201 -0
  78. data/mail-2.9.1/lib/mail/message.rb +2159 -0
  79. data/mail-2.9.1/lib/mail/multibyte/chars.rb +318 -0
  80. data/mail-2.9.1/lib/mail/multibyte/unicode.rb +405 -0
  81. data/mail-2.9.1/lib/mail/multibyte/utils.rb +44 -0
  82. data/mail-2.9.1/lib/mail/multibyte.rb +82 -0
  83. data/mail-2.9.1/lib/mail/network/delivery_methods/exim.rb +50 -0
  84. data/mail-2.9.1/lib/mail/network/delivery_methods/file_delivery.rb +43 -0
  85. data/mail-2.9.1/lib/mail/network/delivery_methods/logger_delivery.rb +34 -0
  86. data/mail-2.9.1/lib/mail/network/delivery_methods/sendmail.rb +87 -0
  87. data/mail-2.9.1/lib/mail/network/delivery_methods/smtp.rb +200 -0
  88. data/mail-2.9.1/lib/mail/network/delivery_methods/smtp_connection.rb +57 -0
  89. data/mail-2.9.1/lib/mail/network/delivery_methods/test_mailer.rb +44 -0
  90. data/mail-2.9.1/lib/mail/network/retriever_methods/base.rb +64 -0
  91. data/mail-2.9.1/lib/mail/network/retriever_methods/imap.rb +190 -0
  92. data/mail-2.9.1/lib/mail/network/retriever_methods/pop3.rb +143 -0
  93. data/mail-2.9.1/lib/mail/network/retriever_methods/test_retriever.rb +45 -0
  94. data/mail-2.9.1/lib/mail/network.rb +16 -0
  95. data/mail-2.9.1/lib/mail/parser_tools.rb +15 -0
  96. data/mail-2.9.1/lib/mail/parsers/address_lists_parser.rb +33245 -0
  97. data/mail-2.9.1/lib/mail/parsers/address_lists_parser.rl +183 -0
  98. data/mail-2.9.1/lib/mail/parsers/content_disposition_parser.rb +904 -0
  99. data/mail-2.9.1/lib/mail/parsers/content_disposition_parser.rl +93 -0
  100. data/mail-2.9.1/lib/mail/parsers/content_location_parser.rb +825 -0
  101. data/mail-2.9.1/lib/mail/parsers/content_location_parser.rl +82 -0
  102. data/mail-2.9.1/lib/mail/parsers/content_transfer_encoding_parser.rb +525 -0
  103. data/mail-2.9.1/lib/mail/parsers/content_transfer_encoding_parser.rl +75 -0
  104. data/mail-2.9.1/lib/mail/parsers/content_type_parser.rb +1051 -0
  105. data/mail-2.9.1/lib/mail/parsers/content_type_parser.rl +94 -0
  106. data/mail-2.9.1/lib/mail/parsers/date_time_parser.rb +894 -0
  107. data/mail-2.9.1/lib/mail/parsers/date_time_parser.rl +73 -0
  108. data/mail-2.9.1/lib/mail/parsers/envelope_from_parser.rb +3678 -0
  109. data/mail-2.9.1/lib/mail/parsers/envelope_from_parser.rl +93 -0
  110. data/mail-2.9.1/lib/mail/parsers/message_ids_parser.rb +5164 -0
  111. data/mail-2.9.1/lib/mail/parsers/message_ids_parser.rl +97 -0
  112. data/mail-2.9.1/lib/mail/parsers/mime_version_parser.rb +516 -0
  113. data/mail-2.9.1/lib/mail/parsers/mime_version_parser.rl +72 -0
  114. data/mail-2.9.1/lib/mail/parsers/phrase_lists_parser.rb +887 -0
  115. data/mail-2.9.1/lib/mail/parsers/phrase_lists_parser.rl +94 -0
  116. data/mail-2.9.1/lib/mail/parsers/received_parser.rb +8785 -0
  117. data/mail-2.9.1/lib/mail/parsers/received_parser.rl +95 -0
  118. data/mail-2.9.1/lib/mail/parsers/rfc2045_content_transfer_encoding.rl +13 -0
  119. data/mail-2.9.1/lib/mail/parsers/rfc2045_content_type.rl +25 -0
  120. data/mail-2.9.1/lib/mail/parsers/rfc2045_mime.rl +16 -0
  121. data/mail-2.9.1/lib/mail/parsers/rfc2183_content_disposition.rl +15 -0
  122. data/mail-2.9.1/lib/mail/parsers/rfc3629_utf8.rl +19 -0
  123. data/mail-2.9.1/lib/mail/parsers/rfc5234_abnf_core_rules.rl +22 -0
  124. data/mail-2.9.1/lib/mail/parsers/rfc5322.rl +74 -0
  125. data/mail-2.9.1/lib/mail/parsers/rfc5322_address.rl +72 -0
  126. data/mail-2.9.1/lib/mail/parsers/rfc5322_date_time.rl +37 -0
  127. data/mail-2.9.1/lib/mail/parsers/rfc5322_lexical_tokens.rl +60 -0
  128. data/mail-2.9.1/lib/mail/parsers.rb +13 -0
  129. data/mail-2.9.1/lib/mail/part.rb +119 -0
  130. data/mail-2.9.1/lib/mail/parts_list.rb +131 -0
  131. data/mail-2.9.1/lib/mail/smtp_envelope.rb +57 -0
  132. data/mail-2.9.1/lib/mail/utilities.rb +576 -0
  133. data/mail-2.9.1/lib/mail/values/unicode_tables.dat +0 -0
  134. data/mail-2.9.1/lib/mail/version.rb +17 -0
  135. data/mail-2.9.1/lib/mail/yaml.rb +30 -0
  136. data/mail-2.9.1/lib/mail.rb +65 -0
  137. data/nano-fast-tool.gemspec +12 -0
  138. metadata +177 -0
@@ -0,0 +1,904 @@
1
+ # frozen_string_literal: true
2
+ require "mail/utilities"
3
+ require "mail/parser_tools"
4
+
5
+ begin
6
+ original_verbose, $VERBOSE = $VERBOSE, nil
7
+
8
+ module Mail::Parsers
9
+ module ContentDispositionParser
10
+ extend Mail::ParserTools
11
+
12
+ ContentDispositionStruct = Struct.new(:disposition_type, :parameters, :error)
13
+
14
+ class << self
15
+ attr_accessor :_trans_keys
16
+ private :_trans_keys, :_trans_keys=
17
+ end
18
+ self._trans_keys = [
19
+ 0, 0, 33, 126, 9, 126,
20
+ 10, 10, 9, 32, 33,
21
+ 126, 9, 126, 9, 40,
22
+ 10, 10, 9, 32, 1, 244,
23
+ 1, 244, 10, 10, 9,
24
+ 32, 10, 10, 9, 32,
25
+ 0, 244, 128, 191, 160, 191,
26
+ 128, 191, 128, 159, 144,
27
+ 191, 128, 191, 128, 143,
28
+ 9, 40, 10, 10, 9, 32,
29
+ 9, 126, 1, 244, 1,
30
+ 244, 10, 10, 9, 32,
31
+ 0, 244, 128, 191, 160, 191,
32
+ 128, 191, 128, 159, 144,
33
+ 191, 128, 191, 128, 143,
34
+ 33, 126, 9, 59, 9, 59,
35
+ 9, 126, 9, 59, 9,
36
+ 59, 0, 0, 0,
37
+ ]
38
+
39
+ class << self
40
+ attr_accessor :_key_spans
41
+ private :_key_spans, :_key_spans=
42
+ end
43
+ self._key_spans = [
44
+ 0, 94, 118, 1, 24, 94, 118, 32,
45
+ 1, 24, 244, 244, 1, 24, 1, 24,
46
+ 245, 64, 32, 64, 32, 48, 64, 16,
47
+ 32, 1, 24, 118, 244, 244, 1, 24,
48
+ 245, 64, 32, 64, 32, 48, 64, 16,
49
+ 94, 51, 51, 118, 51, 51, 0,
50
+ ]
51
+
52
+ class << self
53
+ attr_accessor :_index_offsets
54
+ private :_index_offsets, :_index_offsets=
55
+ end
56
+ self._index_offsets = [
57
+ 0, 0, 95, 214, 216, 241, 336, 455,
58
+ 488, 490, 515, 760, 1005, 1007, 1032, 1034,
59
+ 1059, 1305, 1370, 1403, 1468, 1501, 1550, 1615,
60
+ 1632, 1665, 1667, 1692, 1811, 2056, 2301, 2303,
61
+ 2328, 2574, 2639, 2672, 2737, 2770, 2819, 2884,
62
+ 2901, 2996, 3048, 3100, 3219, 3271, 3323,
63
+ ]
64
+
65
+ class << self
66
+ attr_accessor :_indicies
67
+ private :_indicies, :_indicies=
68
+ end
69
+ self._indicies = [
70
+ 0, 0, 0, 0, 0, 0, 0, 1,
71
+ 1, 0, 0, 0, 0, 0, 1, 0,
72
+ 0, 0, 0, 0, 0, 0, 0, 0,
73
+ 0, 1, 1, 1, 1, 1, 1, 1,
74
+ 0, 0, 0, 0, 0, 0, 0, 0,
75
+ 0, 0, 0, 0, 0, 0, 0, 0,
76
+ 0, 0, 0, 0, 0, 0, 0, 0,
77
+ 0, 0, 1, 1, 1, 0, 0, 0,
78
+ 0, 0, 0, 0, 0, 0, 0, 0,
79
+ 0, 0, 0, 0, 0, 0, 0, 0,
80
+ 0, 0, 0, 0, 0, 0, 0, 0,
81
+ 0, 0, 0, 0, 0, 0, 1, 2,
82
+ 1, 1, 1, 3, 1, 1, 1, 1,
83
+ 1, 1, 1, 1, 1, 1, 1, 1,
84
+ 1, 1, 1, 1, 1, 1, 2, 4,
85
+ 4, 4, 4, 4, 4, 4, 5, 1,
86
+ 4, 4, 4, 4, 4, 1, 4, 4,
87
+ 4, 4, 4, 4, 4, 4, 4, 4,
88
+ 1, 1, 1, 1, 1, 1, 1, 4,
89
+ 4, 4, 4, 4, 4, 4, 4, 4,
90
+ 4, 4, 4, 4, 4, 4, 4, 4,
91
+ 4, 4, 4, 4, 4, 4, 4, 4,
92
+ 4, 1, 1, 1, 4, 4, 4, 4,
93
+ 4, 4, 4, 4, 4, 4, 4, 4,
94
+ 4, 4, 4, 4, 4, 4, 4, 4,
95
+ 4, 4, 4, 4, 4, 4, 4, 4,
96
+ 4, 4, 4, 4, 4, 1, 6, 1,
97
+ 2, 1, 1, 1, 1, 1, 1, 1,
98
+ 1, 1, 1, 1, 1, 1, 1, 1,
99
+ 1, 1, 1, 1, 1, 1, 1, 2,
100
+ 1, 7, 7, 7, 7, 7, 7, 7,
101
+ 1, 1, 7, 7, 7, 7, 7, 1,
102
+ 7, 7, 7, 7, 7, 7, 7, 7,
103
+ 7, 7, 1, 1, 1, 8, 1, 1,
104
+ 1, 7, 7, 7, 7, 7, 7, 7,
105
+ 7, 7, 7, 7, 7, 7, 7, 7,
106
+ 7, 7, 7, 7, 7, 7, 7, 7,
107
+ 7, 7, 7, 1, 1, 1, 7, 7,
108
+ 7, 7, 7, 7, 7, 7, 7, 7,
109
+ 7, 7, 7, 7, 7, 7, 7, 7,
110
+ 7, 7, 7, 7, 7, 7, 7, 7,
111
+ 7, 7, 7, 7, 7, 7, 7, 1,
112
+ 9, 1, 1, 1, 10, 1, 1, 1,
113
+ 1, 1, 1, 1, 1, 1, 1, 1,
114
+ 1, 1, 1, 1, 1, 1, 1, 9,
115
+ 11, 12, 11, 11, 11, 11, 11, 13,
116
+ 1, 11, 11, 11, 11, 11, 1, 11,
117
+ 11, 11, 11, 11, 11, 11, 11, 11,
118
+ 11, 1, 1, 1, 11, 1, 1, 1,
119
+ 11, 11, 11, 11, 11, 11, 11, 11,
120
+ 11, 11, 11, 11, 11, 11, 11, 11,
121
+ 11, 11, 11, 11, 11, 11, 11, 11,
122
+ 11, 11, 1, 1, 1, 11, 11, 11,
123
+ 11, 11, 11, 11, 11, 11, 11, 11,
124
+ 11, 11, 11, 11, 11, 11, 11, 11,
125
+ 11, 11, 11, 11, 11, 11, 11, 11,
126
+ 11, 11, 11, 11, 11, 11, 1, 14,
127
+ 1, 1, 1, 15, 1, 1, 1, 1,
128
+ 1, 1, 1, 1, 1, 1, 1, 1,
129
+ 1, 1, 1, 1, 1, 1, 14, 1,
130
+ 16, 1, 1, 1, 1, 1, 17, 1,
131
+ 18, 1, 14, 1, 1, 1, 1, 1,
132
+ 1, 1, 1, 1, 1, 1, 1, 1,
133
+ 1, 1, 1, 1, 1, 1, 1, 1,
134
+ 1, 14, 1, 19, 19, 19, 19, 19,
135
+ 19, 19, 19, 19, 1, 19, 19, 20,
136
+ 19, 19, 19, 19, 19, 19, 19, 19,
137
+ 19, 19, 19, 19, 19, 19, 19, 19,
138
+ 19, 19, 19, 19, 21, 19, 19, 19,
139
+ 19, 19, 19, 19, 19, 19, 19, 19,
140
+ 19, 19, 19, 19, 19, 19, 19, 19,
141
+ 19, 19, 19, 19, 19, 19, 19, 19,
142
+ 19, 19, 19, 19, 19, 19, 19, 19,
143
+ 19, 19, 19, 19, 19, 19, 19, 19,
144
+ 19, 19, 19, 19, 19, 19, 19, 19,
145
+ 19, 19, 19, 19, 19, 19, 22, 19,
146
+ 19, 19, 19, 19, 19, 19, 19, 19,
147
+ 19, 19, 19, 19, 19, 19, 19, 19,
148
+ 19, 19, 19, 19, 19, 19, 19, 19,
149
+ 19, 19, 19, 19, 19, 19, 19, 19,
150
+ 19, 19, 1, 1, 1, 1, 1, 1,
151
+ 1, 1, 1, 1, 1, 1, 1, 1,
152
+ 1, 1, 1, 1, 1, 1, 1, 1,
153
+ 1, 1, 1, 1, 1, 1, 1, 1,
154
+ 1, 1, 1, 1, 1, 1, 1, 1,
155
+ 1, 1, 1, 1, 1, 1, 1, 1,
156
+ 1, 1, 1, 1, 1, 1, 1, 1,
157
+ 1, 1, 1, 1, 1, 1, 1, 1,
158
+ 1, 1, 1, 1, 23, 23, 23, 23,
159
+ 23, 23, 23, 23, 23, 23, 23, 23,
160
+ 23, 23, 23, 23, 23, 23, 23, 23,
161
+ 23, 23, 23, 23, 23, 23, 23, 23,
162
+ 23, 23, 24, 25, 25, 25, 25, 25,
163
+ 25, 25, 25, 25, 25, 25, 25, 26,
164
+ 25, 25, 27, 28, 28, 28, 29, 1,
165
+ 30, 30, 30, 30, 30, 30, 30, 30,
166
+ 30, 1, 30, 30, 31, 30, 30, 30,
167
+ 30, 30, 30, 30, 30, 30, 30, 30,
168
+ 30, 30, 30, 30, 30, 30, 30, 30,
169
+ 30, 32, 30, 30, 30, 30, 30, 30,
170
+ 30, 30, 30, 30, 30, 30, 30, 30,
171
+ 30, 30, 30, 30, 30, 30, 30, 30,
172
+ 30, 30, 30, 30, 30, 30, 30, 30,
173
+ 30, 30, 30, 30, 30, 30, 30, 30,
174
+ 30, 30, 30, 30, 30, 30, 30, 30,
175
+ 30, 30, 30, 30, 30, 30, 30, 30,
176
+ 30, 30, 30, 33, 30, 30, 30, 30,
177
+ 30, 30, 30, 30, 30, 30, 30, 30,
178
+ 30, 30, 30, 30, 30, 30, 30, 30,
179
+ 30, 30, 30, 30, 30, 30, 30, 30,
180
+ 30, 30, 30, 30, 30, 30, 30, 1,
181
+ 1, 1, 1, 1, 1, 1, 1, 1,
182
+ 1, 1, 1, 1, 1, 1, 1, 1,
183
+ 1, 1, 1, 1, 1, 1, 1, 1,
184
+ 1, 1, 1, 1, 1, 1, 1, 1,
185
+ 1, 1, 1, 1, 1, 1, 1, 1,
186
+ 1, 1, 1, 1, 1, 1, 1, 1,
187
+ 1, 1, 1, 1, 1, 1, 1, 1,
188
+ 1, 1, 1, 1, 1, 1, 1, 1,
189
+ 1, 34, 34, 34, 34, 34, 34, 34,
190
+ 34, 34, 34, 34, 34, 34, 34, 34,
191
+ 34, 34, 34, 34, 34, 34, 34, 34,
192
+ 34, 34, 34, 34, 34, 34, 34, 35,
193
+ 36, 36, 36, 36, 36, 36, 36, 36,
194
+ 36, 36, 36, 36, 37, 36, 36, 38,
195
+ 39, 39, 39, 40, 1, 41, 1, 30,
196
+ 1, 1, 1, 1, 1, 1, 1, 1,
197
+ 1, 1, 1, 1, 1, 1, 1, 1,
198
+ 1, 1, 1, 1, 1, 1, 30, 1,
199
+ 42, 1, 43, 1, 1, 1, 1, 1,
200
+ 1, 1, 1, 1, 1, 1, 1, 1,
201
+ 1, 1, 1, 1, 1, 1, 1, 1,
202
+ 1, 43, 1, 30, 30, 30, 30, 30,
203
+ 30, 30, 30, 30, 30, 30, 30, 30,
204
+ 30, 30, 30, 30, 30, 30, 30, 30,
205
+ 30, 30, 30, 30, 30, 30, 30, 30,
206
+ 30, 30, 30, 30, 30, 30, 30, 30,
207
+ 30, 30, 30, 30, 30, 30, 30, 30,
208
+ 30, 30, 30, 30, 30, 30, 30, 30,
209
+ 30, 30, 30, 30, 30, 30, 30, 30,
210
+ 30, 30, 30, 30, 30, 30, 30, 30,
211
+ 30, 30, 30, 30, 30, 30, 30, 30,
212
+ 30, 30, 30, 30, 30, 30, 30, 30,
213
+ 30, 30, 30, 30, 30, 30, 30, 30,
214
+ 30, 30, 30, 30, 30, 30, 30, 30,
215
+ 30, 30, 30, 30, 30, 30, 30, 30,
216
+ 30, 30, 30, 30, 30, 30, 30, 30,
217
+ 30, 30, 30, 30, 30, 30, 30, 30,
218
+ 30, 30, 30, 1, 1, 1, 1, 1,
219
+ 1, 1, 1, 1, 1, 1, 1, 1,
220
+ 1, 1, 1, 1, 1, 1, 1, 1,
221
+ 1, 1, 1, 1, 1, 1, 1, 1,
222
+ 1, 1, 1, 1, 1, 1, 1, 1,
223
+ 1, 1, 1, 1, 1, 1, 1, 1,
224
+ 1, 1, 1, 1, 1, 1, 1, 1,
225
+ 1, 1, 1, 1, 1, 1, 1, 1,
226
+ 1, 1, 1, 1, 1, 34, 34, 34,
227
+ 34, 34, 34, 34, 34, 34, 34, 34,
228
+ 34, 34, 34, 34, 34, 34, 34, 34,
229
+ 34, 34, 34, 34, 34, 34, 34, 34,
230
+ 34, 34, 34, 35, 36, 36, 36, 36,
231
+ 36, 36, 36, 36, 36, 36, 36, 36,
232
+ 37, 36, 36, 38, 39, 39, 39, 40,
233
+ 1, 30, 30, 30, 30, 30, 30, 30,
234
+ 30, 30, 30, 30, 30, 30, 30, 30,
235
+ 30, 30, 30, 30, 30, 30, 30, 30,
236
+ 30, 30, 30, 30, 30, 30, 30, 30,
237
+ 30, 30, 30, 30, 30, 30, 30, 30,
238
+ 30, 30, 30, 30, 30, 30, 30, 30,
239
+ 30, 30, 30, 30, 30, 30, 30, 30,
240
+ 30, 30, 30, 30, 30, 30, 30, 30,
241
+ 30, 1, 34, 34, 34, 34, 34, 34,
242
+ 34, 34, 34, 34, 34, 34, 34, 34,
243
+ 34, 34, 34, 34, 34, 34, 34, 34,
244
+ 34, 34, 34, 34, 34, 34, 34, 34,
245
+ 34, 34, 1, 34, 34, 34, 34, 34,
246
+ 34, 34, 34, 34, 34, 34, 34, 34,
247
+ 34, 34, 34, 34, 34, 34, 34, 34,
248
+ 34, 34, 34, 34, 34, 34, 34, 34,
249
+ 34, 34, 34, 34, 34, 34, 34, 34,
250
+ 34, 34, 34, 34, 34, 34, 34, 34,
251
+ 34, 34, 34, 34, 34, 34, 34, 34,
252
+ 34, 34, 34, 34, 34, 34, 34, 34,
253
+ 34, 34, 34, 1, 34, 34, 34, 34,
254
+ 34, 34, 34, 34, 34, 34, 34, 34,
255
+ 34, 34, 34, 34, 34, 34, 34, 34,
256
+ 34, 34, 34, 34, 34, 34, 34, 34,
257
+ 34, 34, 34, 34, 1, 36, 36, 36,
258
+ 36, 36, 36, 36, 36, 36, 36, 36,
259
+ 36, 36, 36, 36, 36, 36, 36, 36,
260
+ 36, 36, 36, 36, 36, 36, 36, 36,
261
+ 36, 36, 36, 36, 36, 36, 36, 36,
262
+ 36, 36, 36, 36, 36, 36, 36, 36,
263
+ 36, 36, 36, 36, 36, 1, 36, 36,
264
+ 36, 36, 36, 36, 36, 36, 36, 36,
265
+ 36, 36, 36, 36, 36, 36, 36, 36,
266
+ 36, 36, 36, 36, 36, 36, 36, 36,
267
+ 36, 36, 36, 36, 36, 36, 36, 36,
268
+ 36, 36, 36, 36, 36, 36, 36, 36,
269
+ 36, 36, 36, 36, 36, 36, 36, 36,
270
+ 36, 36, 36, 36, 36, 36, 36, 36,
271
+ 36, 36, 36, 36, 36, 36, 1, 36,
272
+ 36, 36, 36, 36, 36, 36, 36, 36,
273
+ 36, 36, 36, 36, 36, 36, 36, 1,
274
+ 44, 1, 1, 1, 45, 1, 1, 1,
275
+ 1, 1, 1, 1, 1, 1, 1, 1,
276
+ 1, 1, 1, 1, 1, 1, 1, 44,
277
+ 1, 46, 1, 1, 1, 1, 1, 47,
278
+ 1, 48, 1, 49, 1, 1, 1, 1,
279
+ 1, 1, 1, 1, 1, 1, 1, 1,
280
+ 1, 1, 1, 1, 1, 1, 1, 1,
281
+ 1, 1, 49, 1, 50, 1, 1, 1,
282
+ 51, 1, 1, 1, 1, 1, 1, 1,
283
+ 1, 1, 1, 1, 1, 1, 1, 1,
284
+ 1, 1, 1, 50, 52, 52, 52, 52,
285
+ 52, 52, 52, 53, 1, 52, 52, 52,
286
+ 52, 52, 1, 52, 52, 52, 52, 52,
287
+ 52, 52, 52, 52, 52, 1, 1, 1,
288
+ 1, 1, 1, 1, 52, 52, 52, 52,
289
+ 52, 52, 52, 52, 52, 52, 52, 52,
290
+ 52, 52, 52, 52, 52, 52, 52, 52,
291
+ 52, 52, 52, 52, 52, 52, 1, 1,
292
+ 1, 52, 52, 52, 52, 52, 52, 52,
293
+ 52, 52, 52, 52, 52, 52, 52, 52,
294
+ 52, 52, 52, 52, 52, 52, 52, 52,
295
+ 52, 52, 52, 52, 52, 52, 52, 52,
296
+ 52, 52, 1, 54, 54, 54, 54, 54,
297
+ 54, 54, 54, 54, 1, 54, 54, 55,
298
+ 54, 54, 54, 54, 54, 54, 54, 54,
299
+ 54, 54, 54, 54, 54, 54, 54, 54,
300
+ 54, 54, 54, 54, 54, 54, 54, 54,
301
+ 54, 54, 56, 57, 54, 54, 54, 54,
302
+ 54, 54, 54, 54, 54, 54, 54, 54,
303
+ 54, 54, 54, 54, 54, 54, 54, 54,
304
+ 54, 54, 54, 54, 54, 54, 54, 54,
305
+ 54, 54, 54, 54, 54, 54, 54, 54,
306
+ 54, 54, 54, 54, 54, 54, 54, 54,
307
+ 54, 54, 54, 54, 54, 54, 58, 54,
308
+ 54, 54, 54, 54, 54, 54, 54, 54,
309
+ 54, 54, 54, 54, 54, 54, 54, 54,
310
+ 54, 54, 54, 54, 54, 54, 54, 54,
311
+ 54, 54, 54, 54, 54, 54, 54, 54,
312
+ 54, 54, 1, 1, 1, 1, 1, 1,
313
+ 1, 1, 1, 1, 1, 1, 1, 1,
314
+ 1, 1, 1, 1, 1, 1, 1, 1,
315
+ 1, 1, 1, 1, 1, 1, 1, 1,
316
+ 1, 1, 1, 1, 1, 1, 1, 1,
317
+ 1, 1, 1, 1, 1, 1, 1, 1,
318
+ 1, 1, 1, 1, 1, 1, 1, 1,
319
+ 1, 1, 1, 1, 1, 1, 1, 1,
320
+ 1, 1, 1, 1, 59, 59, 59, 59,
321
+ 59, 59, 59, 59, 59, 59, 59, 59,
322
+ 59, 59, 59, 59, 59, 59, 59, 59,
323
+ 59, 59, 59, 59, 59, 59, 59, 59,
324
+ 59, 59, 60, 61, 61, 61, 61, 61,
325
+ 61, 61, 61, 61, 61, 61, 61, 62,
326
+ 61, 61, 63, 64, 64, 64, 65, 1,
327
+ 66, 66, 66, 66, 66, 66, 66, 66,
328
+ 66, 1, 66, 66, 67, 66, 66, 66,
329
+ 66, 66, 66, 66, 66, 66, 66, 66,
330
+ 66, 66, 66, 66, 66, 66, 66, 66,
331
+ 66, 66, 66, 66, 66, 66, 66, 68,
332
+ 69, 66, 66, 66, 66, 66, 66, 66,
333
+ 66, 66, 66, 66, 66, 66, 66, 66,
334
+ 66, 66, 66, 66, 66, 66, 66, 66,
335
+ 66, 66, 66, 66, 66, 66, 66, 66,
336
+ 66, 66, 66, 66, 66, 66, 66, 66,
337
+ 66, 66, 66, 66, 66, 66, 66, 66,
338
+ 66, 66, 66, 70, 66, 66, 66, 66,
339
+ 66, 66, 66, 66, 66, 66, 66, 66,
340
+ 66, 66, 66, 66, 66, 66, 66, 66,
341
+ 66, 66, 66, 66, 66, 66, 66, 66,
342
+ 66, 66, 66, 66, 66, 66, 66, 1,
343
+ 1, 1, 1, 1, 1, 1, 1, 1,
344
+ 1, 1, 1, 1, 1, 1, 1, 1,
345
+ 1, 1, 1, 1, 1, 1, 1, 1,
346
+ 1, 1, 1, 1, 1, 1, 1, 1,
347
+ 1, 1, 1, 1, 1, 1, 1, 1,
348
+ 1, 1, 1, 1, 1, 1, 1, 1,
349
+ 1, 1, 1, 1, 1, 1, 1, 1,
350
+ 1, 1, 1, 1, 1, 1, 1, 1,
351
+ 1, 71, 71, 71, 71, 71, 71, 71,
352
+ 71, 71, 71, 71, 71, 71, 71, 71,
353
+ 71, 71, 71, 71, 71, 71, 71, 71,
354
+ 71, 71, 71, 71, 71, 71, 71, 72,
355
+ 73, 73, 73, 73, 73, 73, 73, 73,
356
+ 73, 73, 73, 73, 74, 73, 73, 75,
357
+ 76, 76, 76, 77, 1, 78, 1, 66,
358
+ 1, 1, 1, 1, 1, 1, 1, 1,
359
+ 1, 1, 1, 1, 1, 1, 1, 1,
360
+ 1, 1, 1, 1, 1, 1, 66, 1,
361
+ 66, 66, 66, 66, 66, 66, 66, 66,
362
+ 66, 66, 66, 66, 66, 66, 66, 66,
363
+ 66, 66, 66, 66, 66, 66, 66, 66,
364
+ 66, 66, 66, 66, 66, 66, 66, 66,
365
+ 66, 66, 66, 66, 66, 66, 66, 66,
366
+ 66, 66, 66, 66, 66, 66, 66, 66,
367
+ 66, 66, 66, 66, 66, 66, 66, 66,
368
+ 66, 66, 66, 66, 66, 66, 66, 66,
369
+ 66, 66, 66, 66, 66, 66, 66, 66,
370
+ 66, 66, 66, 66, 66, 66, 66, 66,
371
+ 66, 66, 66, 66, 66, 66, 66, 66,
372
+ 66, 66, 66, 66, 66, 66, 66, 66,
373
+ 66, 66, 66, 66, 66, 66, 66, 66,
374
+ 66, 66, 66, 66, 66, 66, 66, 66,
375
+ 66, 66, 66, 66, 66, 66, 66, 66,
376
+ 66, 66, 66, 66, 66, 66, 66, 66,
377
+ 1, 1, 1, 1, 1, 1, 1, 1,
378
+ 1, 1, 1, 1, 1, 1, 1, 1,
379
+ 1, 1, 1, 1, 1, 1, 1, 1,
380
+ 1, 1, 1, 1, 1, 1, 1, 1,
381
+ 1, 1, 1, 1, 1, 1, 1, 1,
382
+ 1, 1, 1, 1, 1, 1, 1, 1,
383
+ 1, 1, 1, 1, 1, 1, 1, 1,
384
+ 1, 1, 1, 1, 1, 1, 1, 1,
385
+ 1, 1, 71, 71, 71, 71, 71, 71,
386
+ 71, 71, 71, 71, 71, 71, 71, 71,
387
+ 71, 71, 71, 71, 71, 71, 71, 71,
388
+ 71, 71, 71, 71, 71, 71, 71, 71,
389
+ 72, 73, 73, 73, 73, 73, 73, 73,
390
+ 73, 73, 73, 73, 73, 74, 73, 73,
391
+ 75, 76, 76, 76, 77, 1, 66, 66,
392
+ 66, 66, 66, 66, 66, 66, 66, 66,
393
+ 66, 66, 66, 66, 66, 66, 66, 66,
394
+ 66, 66, 66, 66, 66, 66, 66, 66,
395
+ 66, 66, 66, 66, 66, 66, 66, 66,
396
+ 66, 66, 66, 66, 66, 66, 66, 66,
397
+ 66, 66, 66, 66, 66, 66, 66, 66,
398
+ 66, 66, 66, 66, 66, 66, 66, 66,
399
+ 66, 66, 66, 66, 66, 66, 1, 71,
400
+ 71, 71, 71, 71, 71, 71, 71, 71,
401
+ 71, 71, 71, 71, 71, 71, 71, 71,
402
+ 71, 71, 71, 71, 71, 71, 71, 71,
403
+ 71, 71, 71, 71, 71, 71, 71, 1,
404
+ 71, 71, 71, 71, 71, 71, 71, 71,
405
+ 71, 71, 71, 71, 71, 71, 71, 71,
406
+ 71, 71, 71, 71, 71, 71, 71, 71,
407
+ 71, 71, 71, 71, 71, 71, 71, 71,
408
+ 71, 71, 71, 71, 71, 71, 71, 71,
409
+ 71, 71, 71, 71, 71, 71, 71, 71,
410
+ 71, 71, 71, 71, 71, 71, 71, 71,
411
+ 71, 71, 71, 71, 71, 71, 71, 71,
412
+ 1, 71, 71, 71, 71, 71, 71, 71,
413
+ 71, 71, 71, 71, 71, 71, 71, 71,
414
+ 71, 71, 71, 71, 71, 71, 71, 71,
415
+ 71, 71, 71, 71, 71, 71, 71, 71,
416
+ 71, 1, 73, 73, 73, 73, 73, 73,
417
+ 73, 73, 73, 73, 73, 73, 73, 73,
418
+ 73, 73, 73, 73, 73, 73, 73, 73,
419
+ 73, 73, 73, 73, 73, 73, 73, 73,
420
+ 73, 73, 73, 73, 73, 73, 73, 73,
421
+ 73, 73, 73, 73, 73, 73, 73, 73,
422
+ 73, 73, 1, 73, 73, 73, 73, 73,
423
+ 73, 73, 73, 73, 73, 73, 73, 73,
424
+ 73, 73, 73, 73, 73, 73, 73, 73,
425
+ 73, 73, 73, 73, 73, 73, 73, 73,
426
+ 73, 73, 73, 73, 73, 73, 73, 73,
427
+ 73, 73, 73, 73, 73, 73, 73, 73,
428
+ 73, 73, 73, 73, 73, 73, 73, 73,
429
+ 73, 73, 73, 73, 73, 73, 73, 73,
430
+ 73, 73, 73, 1, 73, 73, 73, 73,
431
+ 73, 73, 73, 73, 73, 73, 73, 73,
432
+ 73, 73, 73, 73, 1, 79, 79, 79,
433
+ 79, 79, 79, 79, 1, 1, 79, 79,
434
+ 79, 79, 79, 1, 79, 79, 79, 79,
435
+ 79, 79, 79, 79, 79, 79, 1, 80,
436
+ 1, 1, 1, 1, 1, 79, 79, 79,
437
+ 79, 79, 79, 79, 79, 79, 79, 79,
438
+ 79, 79, 79, 79, 79, 79, 79, 79,
439
+ 79, 79, 79, 79, 79, 79, 79, 1,
440
+ 1, 1, 79, 79, 79, 79, 79, 79,
441
+ 79, 79, 79, 79, 79, 79, 79, 79,
442
+ 79, 79, 79, 79, 79, 79, 79, 79,
443
+ 79, 79, 79, 79, 79, 79, 79, 79,
444
+ 79, 79, 79, 1, 81, 1, 1, 1,
445
+ 82, 1, 1, 1, 1, 1, 1, 1,
446
+ 1, 1, 1, 1, 1, 1, 1, 1,
447
+ 1, 1, 1, 81, 1, 1, 1, 1,
448
+ 1, 1, 1, 83, 1, 1, 1, 1,
449
+ 1, 1, 1, 1, 1, 1, 1, 1,
450
+ 1, 1, 1, 1, 1, 1, 84, 1,
451
+ 85, 1, 1, 1, 86, 1, 1, 1,
452
+ 1, 1, 1, 1, 1, 1, 1, 1,
453
+ 1, 1, 1, 1, 1, 1, 1, 85,
454
+ 1, 1, 1, 1, 1, 1, 1, 87,
455
+ 1, 1, 1, 1, 1, 1, 1, 1,
456
+ 1, 1, 1, 1, 1, 1, 1, 1,
457
+ 1, 1, 88, 1, 89, 1, 1, 1,
458
+ 90, 1, 1, 1, 1, 1, 1, 1,
459
+ 1, 1, 1, 1, 1, 1, 1, 1,
460
+ 1, 1, 1, 89, 91, 1, 91, 91,
461
+ 91, 91, 91, 92, 1, 91, 91, 91,
462
+ 91, 91, 1, 91, 91, 91, 91, 91,
463
+ 91, 91, 91, 91, 91, 1, 84, 1,
464
+ 91, 1, 1, 1, 91, 91, 91, 91,
465
+ 91, 91, 91, 91, 91, 91, 91, 91,
466
+ 91, 91, 91, 91, 91, 91, 91, 91,
467
+ 91, 91, 91, 91, 91, 91, 1, 1,
468
+ 1, 91, 91, 91, 91, 91, 91, 91,
469
+ 91, 91, 91, 91, 91, 91, 91, 91,
470
+ 91, 91, 91, 91, 91, 91, 91, 91,
471
+ 91, 91, 91, 91, 91, 91, 91, 91,
472
+ 91, 91, 1, 49, 1, 1, 1, 93,
473
+ 1, 1, 1, 1, 1, 1, 1, 1,
474
+ 1, 1, 1, 1, 1, 1, 1, 1,
475
+ 1, 1, 49, 1, 1, 1, 1, 1,
476
+ 1, 1, 94, 1, 1, 1, 1, 1,
477
+ 1, 1, 1, 1, 1, 1, 1, 1,
478
+ 1, 1, 1, 1, 1, 2, 1, 95,
479
+ 1, 1, 1, 96, 1, 1, 1, 1,
480
+ 1, 1, 1, 1, 1, 1, 1, 1,
481
+ 1, 1, 1, 1, 1, 1, 95, 1,
482
+ 1, 1, 1, 1, 1, 1, 97, 1,
483
+ 1, 1, 1, 1, 1, 1, 1, 1,
484
+ 1, 1, 1, 1, 1, 1, 1, 1,
485
+ 1, 50, 1, 1, 0,
486
+ ]
487
+
488
+ class << self
489
+ attr_accessor :_trans_targs
490
+ private :_trans_targs, :_trans_targs=
491
+ end
492
+ self._trans_targs = [
493
+ 40, 0, 2, 3, 5, 27, 4, 5,
494
+ 6, 7, 8, 43, 10, 24, 7, 8,
495
+ 10, 24, 9, 11, 12, 41, 16, 17,
496
+ 18, 19, 20, 21, 22, 23, 11, 12,
497
+ 41, 16, 17, 18, 19, 20, 21, 22,
498
+ 23, 13, 15, 41, 7, 8, 10, 24,
499
+ 26, 44, 2, 3, 5, 27, 29, 30,
500
+ 29, 46, 32, 33, 34, 35, 36, 37,
501
+ 38, 39, 29, 30, 29, 46, 32, 33,
502
+ 34, 35, 36, 37, 38, 39, 31, 40,
503
+ 2, 41, 14, 42, 2, 41, 14, 42,
504
+ 2, 44, 25, 43, 45, 25, 45, 44,
505
+ 25, 45,
506
+ ]
507
+
508
+ class << self
509
+ attr_accessor :_trans_actions
510
+ private :_trans_actions, :_trans_actions=
511
+ end
512
+ self._trans_actions = [
513
+ 1, 0, 0, 0, 2, 3, 0, 0,
514
+ 4, 5, 5, 5, 5, 6, 0, 0,
515
+ 0, 3, 0, 7, 7, 8, 7, 7,
516
+ 7, 7, 7, 7, 7, 7, 0, 0,
517
+ 9, 0, 0, 0, 0, 0, 0, 0,
518
+ 0, 0, 0, 0, 10, 10, 10, 11,
519
+ 0, 0, 10, 10, 12, 11, 13, 13,
520
+ 14, 15, 13, 13, 13, 13, 13, 13,
521
+ 13, 13, 0, 0, 3, 16, 0, 0,
522
+ 0, 0, 0, 0, 0, 0, 0, 0,
523
+ 17, 18, 18, 19, 18, 20, 20, 21,
524
+ 20, 18, 18, 0, 22, 0, 3, 10,
525
+ 10, 11,
526
+ ]
527
+
528
+ class << self
529
+ attr_accessor :_eof_actions
530
+ private :_eof_actions, :_eof_actions=
531
+ end
532
+ self._eof_actions = [
533
+ 0, 0, 0, 0, 0, 0, 0, 0,
534
+ 0, 0, 0, 0, 0, 0, 0, 0,
535
+ 0, 0, 0, 0, 0, 0, 0, 0,
536
+ 0, 0, 0, 0, 0, 0, 0, 0,
537
+ 0, 0, 0, 0, 0, 0, 0, 0,
538
+ 17, 18, 20, 18, 0, 10, 0,
539
+ ]
540
+
541
+ class << self
542
+ attr_accessor :start
543
+ end
544
+ self.start = 1
545
+ class << self
546
+ attr_accessor :first_final
547
+ end
548
+ self.first_final = 40
549
+ class << self
550
+ attr_accessor :error
551
+ end
552
+ self.error = 0
553
+
554
+ class << self
555
+ attr_accessor :en_comment_tail
556
+ end
557
+ self.en_comment_tail = 28
558
+ class << self
559
+ attr_accessor :en_main
560
+ end
561
+ self.en_main = 1
562
+
563
+ def self.parse(data)
564
+ data = data.dup.force_encoding(Encoding::ASCII_8BIT) if data.respond_to?(:force_encoding)
565
+
566
+ content_disposition = ContentDispositionStruct.new("", [])
567
+ return content_disposition if Mail::Utilities.blank?(data)
568
+
569
+ # Parser state
570
+ disp_type_s = param_attr_s = param_attr = qstr_s = qstr = param_val_s = nil
571
+
572
+ # 5.1 Variables Used by Ragel
573
+ p = 0
574
+ eof = pe = data.length
575
+ stack = []
576
+
577
+ begin
578
+ p ||= 0
579
+ pe ||= data.length
580
+ cs = start
581
+ top = 0
582
+ end
583
+
584
+ begin
585
+ testEof = false
586
+ _slen, _trans, _keys, _inds, _acts, _nacts = nil
587
+ _goto_level = 0
588
+ _resume = 10
589
+ _eof_trans = 15
590
+ _again = 20
591
+ _test_eof = 30
592
+ _out = 40
593
+ while true
594
+ if _goto_level <= 0
595
+ if p == pe
596
+ _goto_level = _test_eof
597
+ next
598
+ end
599
+ if cs == 0
600
+ _goto_level = _out
601
+ next
602
+ end
603
+ end
604
+ if _goto_level <= _resume
605
+ _keys = cs << 1
606
+ _inds = _index_offsets[cs]
607
+ _slen = _key_spans[cs]
608
+ _wide = data[p].ord
609
+ _trans = if (_slen > 0 &&
610
+ _trans_keys[_keys] <= _wide &&
611
+ _wide <= _trans_keys[_keys + 1])
612
+ _indicies[_inds + _wide - _trans_keys[_keys]]
613
+ else
614
+ _indicies[_inds + _slen]
615
+ end
616
+ cs = _trans_targs[_trans]
617
+ if _trans_actions[_trans] != 0
618
+ case _trans_actions[_trans]
619
+ when 1
620
+ begin
621
+ disp_type_s = p
622
+ end
623
+ when 17
624
+ begin
625
+ content_disposition.disposition_type = chars(data, disp_type_s, p - 1).downcase
626
+ end
627
+ when 2
628
+ begin
629
+ param_attr_s = p
630
+ end
631
+ when 4
632
+ begin
633
+ param_attr = chars(data, param_attr_s, p - 1)
634
+ end
635
+ when 7
636
+ begin
637
+ qstr_s = p
638
+ end
639
+ when 9
640
+ begin
641
+ qstr = chars(data, qstr_s, p - 1)
642
+ end
643
+ when 5
644
+ begin
645
+ param_val_s = p
646
+ end
647
+ when 18
648
+ begin
649
+ if param_attr.nil?
650
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
651
+ end
652
+
653
+ # Use quoted string value if one exists, otherwise use parameter value
654
+ value = qstr || chars(data, param_val_s, p - 1)
655
+
656
+ content_disposition.parameters << { param_attr => value }
657
+ param_attr = nil
658
+ qstr = nil
659
+ end
660
+ when 10
661
+ begin
662
+ end
663
+ when 13
664
+ begin
665
+ end
666
+ when 3
667
+ begin
668
+ begin
669
+ stack[top] = cs
670
+ top += 1
671
+ cs = 28
672
+ _goto_level = _again
673
+ next
674
+ end
675
+ end
676
+ when 16
677
+ begin
678
+ begin
679
+ top -= 1
680
+ cs = stack[top]
681
+ _goto_level = _again
682
+ next
683
+ end
684
+ end
685
+ when 8
686
+ begin
687
+ qstr_s = p
688
+ end
689
+ begin
690
+ qstr = chars(data, qstr_s, p - 1)
691
+ end
692
+ when 6
693
+ begin
694
+ param_val_s = p
695
+ end
696
+ begin
697
+ begin
698
+ stack[top] = cs
699
+ top += 1
700
+ cs = 28
701
+ _goto_level = _again
702
+ next
703
+ end
704
+ end
705
+ when 22
706
+ begin
707
+ if param_attr.nil?
708
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
709
+ end
710
+
711
+ # Use quoted string value if one exists, otherwise use parameter value
712
+ value = qstr || chars(data, param_val_s, p - 1)
713
+
714
+ content_disposition.parameters << { param_attr => value }
715
+ param_attr = nil
716
+ qstr = nil
717
+ end
718
+ begin
719
+ begin
720
+ stack[top] = cs
721
+ top += 1
722
+ cs = 28
723
+ _goto_level = _again
724
+ next
725
+ end
726
+ end
727
+ when 12
728
+ begin
729
+ end
730
+ begin
731
+ param_attr_s = p
732
+ end
733
+ when 20
734
+ begin
735
+ end
736
+ begin
737
+ if param_attr.nil?
738
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
739
+ end
740
+
741
+ # Use quoted string value if one exists, otherwise use parameter value
742
+ value = qstr || chars(data, param_val_s, p - 1)
743
+
744
+ content_disposition.parameters << { param_attr => value }
745
+ param_attr = nil
746
+ qstr = nil
747
+ end
748
+ when 11
749
+ begin
750
+ end
751
+ begin
752
+ begin
753
+ stack[top] = cs
754
+ top += 1
755
+ cs = 28
756
+ _goto_level = _again
757
+ next
758
+ end
759
+ end
760
+ when 14
761
+ begin
762
+ end
763
+ begin
764
+ begin
765
+ stack[top] = cs
766
+ top += 1
767
+ cs = 28
768
+ _goto_level = _again
769
+ next
770
+ end
771
+ end
772
+ when 15
773
+ begin
774
+ end
775
+ begin
776
+ begin
777
+ top -= 1
778
+ cs = stack[top]
779
+ _goto_level = _again
780
+ next
781
+ end
782
+ end
783
+ when 19
784
+ begin
785
+ begin
786
+ stack[top] = cs
787
+ top += 1
788
+ cs = 28
789
+ _goto_level = _again
790
+ next
791
+ end
792
+ end
793
+ begin
794
+ if param_attr.nil?
795
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
796
+ end
797
+
798
+ # Use quoted string value if one exists, otherwise use parameter value
799
+ value = qstr || chars(data, param_val_s, p - 1)
800
+
801
+ content_disposition.parameters << { param_attr => value }
802
+ param_attr = nil
803
+ qstr = nil
804
+ end
805
+ when 21
806
+ begin
807
+ end
808
+ begin
809
+ begin
810
+ stack[top] = cs
811
+ top += 1
812
+ cs = 28
813
+ _goto_level = _again
814
+ next
815
+ end
816
+ end
817
+ begin
818
+ if param_attr.nil?
819
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
820
+ end
821
+
822
+ # Use quoted string value if one exists, otherwise use parameter value
823
+ value = qstr || chars(data, param_val_s, p - 1)
824
+
825
+ content_disposition.parameters << { param_attr => value }
826
+ param_attr = nil
827
+ qstr = nil
828
+ end
829
+ end
830
+ end
831
+ end
832
+ if _goto_level <= _again
833
+ if cs == 0
834
+ _goto_level = _out
835
+ next
836
+ end
837
+ p += 1
838
+ if p != pe
839
+ _goto_level = _resume
840
+ next
841
+ end
842
+ end
843
+ if _goto_level <= _test_eof
844
+ if p == eof
845
+ case _eof_actions[cs]
846
+ when 17
847
+ begin
848
+ content_disposition.disposition_type = chars(data, disp_type_s, p - 1).downcase
849
+ end
850
+ when 18
851
+ begin
852
+ if param_attr.nil?
853
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
854
+ end
855
+
856
+ # Use quoted string value if one exists, otherwise use parameter value
857
+ value = qstr || chars(data, param_val_s, p - 1)
858
+
859
+ content_disposition.parameters << { param_attr => value }
860
+ param_attr = nil
861
+ qstr = nil
862
+ end
863
+ when 10
864
+ begin
865
+ end
866
+ when 20
867
+ begin
868
+ end
869
+ begin
870
+ if param_attr.nil?
871
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
872
+ end
873
+
874
+ # Use quoted string value if one exists, otherwise use parameter value
875
+ value = qstr || chars(data, param_val_s, p - 1)
876
+
877
+ content_disposition.parameters << { param_attr => value }
878
+ param_attr = nil
879
+ qstr = nil
880
+ end
881
+ end
882
+ end
883
+ end
884
+ if _goto_level <= _out
885
+ break
886
+ end
887
+ end
888
+ end
889
+
890
+ if false
891
+ testEof
892
+ end
893
+
894
+ if p != eof || cs < 40
895
+ raise Mail::Field::IncompleteParseError.new(Mail::ContentDispositionElement, data, p)
896
+ end
897
+
898
+ content_disposition
899
+ end
900
+ end
901
+ end
902
+ ensure
903
+ $VERBOSE = original_verbose
904
+ end