File: code128.font

package info (click to toggle)
ruby-rghost 0.9.9-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,188 kB
  • sloc: ruby: 3,374; makefile: 6; sh: 1
file content (344 lines) | stat: -rwxr-xr-x 15,364 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
%!FontType1-1.1: Code128JK 001.000
%%CreationDate: Thu Feb 22 12:20:30 2001
%%VMusage: 12406 12030
%
%   This Type 1 PostScript font implements the Code 128 bar code.
%   Copyright (C) 2001 Jan Karrman. All rights reserved.
%
%   This program is free software; you can redistribute it and/or modify
%   it under the terms of the GNU General Public License as published by
%   the Free Software Foundation; either version 2 of the License, or
%   (at your option) any later version.
%
%   This program is distributed in the hope that it will be useful,
%   but WITHOUT ANY WARRANTY; without even the implied warranty of
%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%   GNU General Public License for more details.
%
%   You should have received a copy of the GNU General Public License
%   along with this program; if not, write to the Free Software
%   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%
11 dict begin
/FontInfo 10 dict dup begin
/version (001.000) readonly def
/Notice (Copyright (C) 2001 Jan Karrman. All rights reserved.) readonly def
/FullName (Code 128 JK) readonly def
/FamilyName (Code 128 JK) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
/UnderlinePosition 0 def
/UnderlineThickness 0 def
end readonly def
/FontName /Code128JK def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 32 /space put
dup 33 /exclam put
dup 34 /quotedbl put
dup 35 /numbersign put
dup 36 /dollar put
dup 37 /percent put
dup 38 /ampersand put
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 42 /asterisk put
dup 43 /plus put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 59 /semicolon put
dup 60 /less put
dup 61 /equal put
dup 62 /greater put
dup 63 /question put
dup 64 /at put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 81 /Q put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 88 /X put
dup 89 /Y put
dup 90 /Z put
dup 91 /bracketleft put
dup 92 /backslash put
dup 93 /bracketright put
dup 94 /asciicircum put
dup 95 /underscore put
dup 96 /quoteleft put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
dup 123 /braceleft put
dup 124 /bar put
dup 125 /braceright put
dup 126 /asciitilde put
dup 127 /Agrave put
dup 128 /Aacute put
dup 129 /Acircumflex put
dup 130 /Atilde put
dup 131 /Adieresis put
dup 132 /Aring put
dup 133 /AE put
dup 134 /Ccedilla put
dup 135 /Egrave put
dup 136 /Eacute put
dup 137 /Ecircumflex put
dup 138 /Edieresis put
dup 192 /Agrave put
dup 193 /Aacute put
dup 194 /Acircumflex put
dup 195 /Atilde put
dup 196 /Adieresis put
dup 197 /Aring put
dup 198 /AE put
dup 199 /Ccedilla put
dup 200 /Egrave put
dup 201 /Eacute put
dup 202 /Ecircumflex put
dup 203 /Edieresis put
readonly def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/UniqueID 5119293 def
/FontBBox [0 0 390 800] readonly def
currentdict end
currentfile eexec
f983ef0097ece636fb4a96c74d26ab84185f6dfa4a16a7a1c27bbe3f1156aea6
98df331278ddd83a95bfe3721babb069504235a8fca9f8012c70beaa7df68b59
3bd9d4efa3ace1dece221596c4dfc26c5c23e53e56473f4d3d6af6250e05d49b
73f7a3256c4c7009b943617e186e6e406c0452dfa948d4c47a33656eb964cb53
dee08929b0003bd7ddaccd7fa8af1d9d747bfddcfef440f31be75ad6f19c971e
720977e21ff5df9eb46cffc8637d5b56f558338bcfaa175db8707efb880ccfa5
be787a0185c3164b2213ed9d4933bfb0142b34cf3296a02575d97c10fe982329
3233e30900b1b428c0429f1922d7ec6f01b8d1a72d48f3e093a40a00ffa76f47
90cca9a125a321f3d49f5807e4b8695f196628f2e2081982b29f03c5c4fa6395
10535bf50aef9fd0138783f00bb1d2b99506e4c6e6fe9d6577c3e4f903a10fe5
533d1196d530ff419aa476d5e474fd920ebb0b04647e765cbe46ae4e93a7bf50
45995c7c962a57e92102630b0ab96fff3b737b0d57e5ee9b6cdfdce32ab0adee
1ac854838c4fb21bce603a061e7072d03a48efb98d133ffc1e7d79132b096c50
174a516e0b7145ce584628e33128958295ac6f5b06f9751d7f03b1444c64470d
47d382681bfc2918b0861d07ea90e81cbd1d9ef725e4b88f1c85150e50f316eb
b56fde88c50ff4e5c9479e844ad06e8de2afcce6fd03e7281e0594d79b23e845
2fbac623d05371bb457906cd6afa885c65045eedc424efcf8ba0181811dbd285
8822b485615f62ff4ba0386c32846d107668e03dd1b9f53f4bd28eb78357ff86
9310dfc8518971ff0a8b16b5aa0de305d83f13a5efae423805cab7df12b851ad
c2a13b1dbd6e9f3ef1e2b27ca69df8d19424ce0035e9613b16c45ee30fef3fc6
76bd947c8d149b810d4927dc624bf776e10e2e5616a650142beb27737aaec609
37aca050d9a13546a9444f3aeae89d82056bcd749add016985caf720421bc288
ea394632c0bb3c889d0bdfc5bc15f6abf7c7bd816c9f71d15742e5470bbc61f0
ae0e87e4dedd6461e71f2c3f2166517009d8da8aff423960e3bdc22290fedeb6
325b3f6a821b99037f3d343d758aaec9b21e5afc1d83021175f8a3a0b785bd80
7026a2d370b50317ad3396be1a8d702ee1a79eafe6db5373630298e8b38d3c98
87c1352d8f4c582163499c4243b100838d59bab7367db7a543ca3b679412abcf
f521f17f4d736411144fef8a6c391d3820556a59925d3de13e3a7a37875af2d6
6fb27b5a585ead9d9f0c7296ee2ff7ced6526b14e8d4a4221b87854296e76107
b430691e11471a420579f11c9a3276ed4ea23d93e5251f10e615660abb2b5168
ee9e013c76e31fea64b9500e6e64c5f3e8ed6440c1b3dcd6a67dfe2827426962
1a7901c6a70e1390c63b4a53db3f7901a8e0a244c4b4d927cf873935d3887c6e
99b4d001294d514add305b0f0fcbf4f883004037b464b773cd9139411461c790
86c5e2aba7974d17e0171c4540cca82c7e4f828179b5bd23c4db3965aee32475
d73708a52d8acc4a018db0486f3ff59f69a8bd4cca65592de5bcaf5f8c60062d
46e2bd0356f7fb7bd7ffadd8383970bc27bba7954ea88ba0fcf3d79e2beb2e6f
29714ef394273b159f2269994fa69ae72ee276812390c41d663be5656f560ce2
9e26972f6319fa3af0f81ed44ca23651904e3a03030d5089c09bb583111d5f8d
3a6a8343f6a47bbe1169373d25e27ddbfa5faefc24c532868089fa0085780a41
fc35b76c633489fa3be7dc99ce66ef5428adfa6de46d16361d46a6d90b6e8666
b014da9a7342ea17cbc7288b74cff76a03905eb668e21c9f1a3cb52e90794ec6
2b218af5ef8e0d039d69e1c86fb9fc0f1a5c01668ccbbe6a3ddd5e5713eab488
8c370f7e760116172cf35eefefe3d0a9baac42ac42bc31e61d9e3f7362ac4e5a
7fd8852568da61f2956aaaf5460d40040bd93711976aa116014417f1f491aaaf
de2960d087e8f3bbe08bfa41319ab9eb36e16dc09177a779043451d8b53b67cf
d3c9c74f610804736ca3706d8573d8676335075a2ca94784ef99459cb8e296e2
f4fca7464f0e6fa76a2f0100a8c6d401aa2066a451e76a1e4904f5579fee3090
a580971eb6186c176d41f8e7bd30dead82ca568e7f8b1c0ff3b712878ec983af
155bbb7761b5e122fe5436f9e3ec6a424666eb8d938a2d6b24c078da2b2c499c
e613bfdd56f30f0acb08222b1f2d55308f36718e7f9b7e8b708e569982c6ed67
a43626a761774e6e87ba377cfa9cb1bda6dca4278a7c5514244c4a67ec9a837f
a290a6c84be96eb6e8d0cabd0487114ff82e8ec2a0c86e15b3c5a14464dbe55d
58da43feb0444c59e7c13721c54d3a720ab97daec6b553b51fdcb14e87e83c88
6647b6b9c9bc5e4910241c73f49cf869b6849c8c71b132245165c756e82146eb
9859db5aa814f63b94835bfabaccc291828a9c4febad4543d3f5779233ecdea1
c322c013941f8a58b6942cac38691dffbad9b573d5aee40e18df341f3d468638
1cae151661190abdd73bdea31af03af6f736f19eefa7bf9b36066148927cbf17
b1a21b7c2ecd77f85702a2c448ad22c57c9ac263101744133ba2502ce5eb13ba
eaf235f992d84f881f4c372e918f17a6eeba417f8abbe88c3772122655d169e7
4059fb8fd98775952e186202cc34028f4bc12a389d8ada039f397b118c4c02d3
6e0dd822e11b737416b239dc75d034310b89d02a7fc6734bc8a74378c4718c61
d20ee1610f3ed1e7d9e9b1a93dad02f5c9eb12dc9926c1204b45904a78989cca
42ffe78799eb6da798f071ea1bdb34a289e8b5da4d474a8420fbf515de6a9aea
b15dd3d2998f223ea0d931e7648fe1e384a6c8cf506853090da7f1963e852a87
643ae1a28e93d6221e2a9b5e9cd0c68278ff22717fc150b975f478dab3b4d155
b709fea39272616ef1a1612129f703c9a71429fd71832bd4b53e6a4d83612f41
1d3269d5e868fc6f7c47bb6e637990f9787835bf27b23aa5ef882141b7dabb7a
8a416f93218341f0e74396aad64eee3633744d6cb7a7787f2bb0c44810633b16
ba6985f37f05a1f873ff7ec7aa37a0ee4b4ae478a90d8b52bfe9c9953a48ed00
e17b46e8d5d7cb7eebd761abfacaaacf75c82f27e23b08e1d8ce2e915545ffd8
c51e4d84827019386502b4a0c2360c3e057ec766a03865369b30149bddb1b5c1
bef2f64dd2abdd2b5ac2dadcd4d6f3a692b26fb7a5cdec5a89b77955c42aeef2
af421ca47dcc1654df5a15b77e8e9bbf076f0e7baad6cb3ed185f562c24a705a
57f5defcf2f7b6201e8e739847f890af85cc787c82c0958de1f2ab6c532300b2
6b3be03e3e67f50d0c30b468f34cabd2b94715d0bc91ca671571c1b72f1910fb
42256ad5b8d4967f826a1c36dfa72c13975d8794053790bbf47118b0a2150d4f
97ee2ac0c5ab5d37bf0255426d35ee92b5282b710ad6827e17a7b7016a870e65
b1ef58dc5d5fb542c27ef4d761e4439c89b56220e5758fea5089e34795d6add5
a71706adbe05feba1bf1041dc3bb0d1d141a3ee324a15b471fcaced9f0cbaa9b
b6b61adba970da53d86992f6b0ab59215356bc23fe037ded829879983b84768a
aebc5094869f5bd083e72f469dce84338391f96699c05351beed8746355a24ba
8a50318c7d6c41c2309e2107b56d791e3096b5ca865577d31f8814c70c3c8ab7
58899ef40bc8d76449dd5d7d5a06bc496857fc9e3201061912138d28ecdd04fc
5d3902e3706eda79b0cd040d6eecf94f4fb5d1b5dc4166a4fb19ffaf720d9313
0baa1bce912af96b0b16c661f29247be90b0b254ae2d7d8604090be4506afca9
dc64920207d1e31da9b55c350e2de0b4188cc0b621538d367b0e3d226469c0a8
3af984713a2a4d4888f025ba7641d811a7a1d4cc2d8e23f9ccf86e139818e4f3
e22aac025a5414d0feaef22a370bfc28152c6c1bed2b0f701aae3bf88600670b
60996ba47bcc8afd13623902ae566dab0784c6996ddacc6545293b597dc202d2
a5ee0d3569d460a267e5475203a930f2fe134141795ba22aad586fe6e7fa0c78
f7d92c1dcdf3e3dfbb5c3eef3e15310b73ffb6e55b3d8d6c38f8437e8e365a6b
7b62933ce12482fe70852960c8eac18c743ce01bb4e394c8bee5fa600f58c415
10340fd95ecea6d5364c9c936b0bd057795690ded81d0b829249bdeda814bdce
cc7f2ee28ecdce96440e1ec4f69fd9a92e8b6239912cf762e5f3e5a151a41b7e
6877ac01944b600fdd6c3e80e7632c820132d4f5eb9acb76ee509e8daa461bf1
03720f935b0e818a1d9acf55685fcc5bfe3b5980b670ee21ae6de1780ea44094
9d53c17969804aaf8522da7f5cba69367d4b8bd8a9579bf43c166af2042a2902
d0aa5c8971146554b8827eba094d2c2673594608979cb241e3ab7708da24e555
bd2908c97f46ba90e8a03bc7a49e310371860397c0630e0fb6c79118d0787a14
6d3aa44b082c1aceb2e78844efa9fe6fc7ab1c124da3b057843c93bc931e8672
a14586b3341975ec787fae69a46a4150cd80d21bf4f9dec8a5065a648e8fda28
f0489b04bad6f8d9ecb22ca58fecc355a4e3a4dcb76a1ecf5e22197a4575eead
6679ae4fa06bc7ffda0f25acf188f91004affeb9e3345ab787b462f8e809a8f3
177b6e284d4d6deb3d9b47e35c254d7373de4426f268c01eec2309acc595f4d6
88cab764090cea9983842400ec46fa34254b2454cfdbe3291a0475d20eb0f067
bd118797c5b920d63474fec9cb975a54e3d1777a118d5085b63a4f2c3b515537
e5b8292b6de3b7bf9e5d261f538a9cd5de3e95d6921c6f23294443bb73d9fa20
dd36aca93c4c8f48719f905948d64e4f2b6f2f53332fe72bc9f757cca1406f9b
82f58e59e00a62a8932aae06d72924f5c430a5750e5adb4389aebe37a4873214
045f0c3a2e54ad5e8cb8dc5b272e4dd28b763e9c440bb362b5068b3a82774cc7
1cd6ecbcb1dc8a9d50ab87f36c062c4f0c8d31e85d02dafd475293c83b996e9a
04f7b3ee620bd02e74b7e657bc72a1e27a14b9815a101146d6f180af4b4da48e
04f6b11760086f1be3bd5d742292529a7fca0aa930b2769a67e9a2d16fa18f93
8ff3d94a29b482aeb69dd5fbfb3af3d46f58f5ff26ad108e771071be3f3dbe54
0aa62b686f3c153861b5631d73c8c059dcd5feb1b952a49a734fa087a4d1a36e
6d007ff70e99fcf18fda7c17fae7aed58a5e32ddea3e994f10d2606eeb014ade
328dc07691e9fa55a52c5d19a0c9e509bdc31198f8af8944ab28f402b7b20e9f
196e4007ba3ba9d6b171e61528020798ffcc0d620fde50c96765f402d1eac643
4aafe363f756750dd1ffd927677723b555275b3160ed76e86dcd4ca19d508ce5
0dd63793de5e09dfea794532efa2e07463a0bf957d0c05883c40f9bae6a0d35d
ee89496142a0d71c1a691e766122dfa121eb1e6a81373f091e6f7d42d0917698
757a2ebc15110f20808aa48dd363d7ed93c6dcc06978b29f186ae7285bb0705a
057066b41b60e5bbad4c7cfa0b0b2860363c4002d732529000803b3ddcb053da
8f50dac7928f6939df3b40833694edb0d91b9df6317a13d0157da4d9d991cd55
6047440ede3d1bcea7f4364169c8963a02cde3163985d4fe93c944e9506dcf35
2a31b04eb4baaf5fd475c0eafab82df88159844f36e2dae8c09c196c0515aaf8
ba0293a762e82ebb10b85ccf62f5c016dd21865773d78b5f8594f303aa73644e
fa7751b20df636333158ce622bb3b9dad32108f69d420d46108ddd2cbc3d24f3
9f2c942adc1dc04350889217cda72d09bf9111af0099a75542e4c5f0a34b98fb
046eb87e304f86f8f7ae0c4941b7ad12d5adfd40152013b1c9f3de263f2ed8f3
594cf1c905c5d5500163c8edc58280200f11a5898d1de104c60f24976f2d20b2
ce216625af106b21152bab7a5ad102aeae155a65f343168d03c65cceb3d5946b
1315cd5c3772a59b59c73c1b165d2e930e86dab62f1cf93defd8487bd82786b5
97042873a36730324aa2d3dc62b48b4e1e6dd5fa9c1f413b6c0a8272b79dfa95
ba00c0c672da4de34012d91c13c379fcf668ca4e490e236326b5a68b20aa6aed
dfd33db4002079b38bc1aa1a32801bbe200f1d41a9d81d9d4bb9b3fdc2e01dcd
a744e8de7139aa22c2d5b5f5f4f93f2ee71b54acf6db2230459c566cd9b35d21
db618edab38b9c7513b5bd45dc816716a348be8b79d3ce6a258ae4393784e492
b66e2b4e311ac5118f0cbd4481f2ea9ad521c4e9e316e49f3db428f4fedaec2f
d3c0c59a4692296ad243a972cdbad61e7a0542945364cd6f29bd1fce64ba05e6
9909d6782b90301644dcfc14714ebc4ed769a83cc5891bbdd02e8a463b9af76a
3a30291be6b0f5d8450af3d99ee556e8a9966bc45fd83ba478f48462cd61dff3
f4c2be59d52746b9b5c23d5b0a2724a394d41430d4106ef9f1d0d35751f6e67d
c45d4c1018bfc7830fc3c6e33c9739ae275cdcd2f835de731db506a709e55380
96e78f72636ec6998d2f8f23d58632fef95949f1954b57950c8c5d82ccc95fad
0ed7b8805aef4057b2abb75137a339ccba3bf21f20549ee7a49615bad739d180
b55b9e71367ca13211ee2eafd52a46a117e87922717a5129ec57528c4978991d
7aef7291e57eaaa2cbba8a071ac68f0828bc977998705d2dd8dff32b93a2834a
37a806b8ef6ed401a275bf0aac2404ebc9ed3ad5cb3f2c18f7a3a72adbe6406a
9a7a89a8e9f3d4ec2bcc308bffa532da192d347fd673248dd8e45e136fad5d4e
167b8a45cc60137b92bd4fb03bb7598dbb240b0adf96f633346c7fc12b7c5ffc
48c4b2be81f96b654f9ec246679d0adfdde48ac7d857983fb834922e31384147
d79f942782beb20dda9ae7f70b51c742bfb65ffba3e541a616eb66934f0b44ce
73dc024eda022413da78cec0dcb5ebf515bad4eebb64a2b939f3fb1ad5703e81
a5f53b1d242f0efce4df3461953e2f3d3811ee61b72f1805c1b9e84cb79d5542
ea80ed21e3f545fec6bf5444b82a26e563a398e2fefc316b15abc1588fbbf739
ab4f8f7d5beaa1d7e97b6c237c85ae20da23c15bfccf173e3e935b5ab8b5112a
9fa2fd40696a8111a06a7c61f74325095757b036fd87107082aaa735df0a0222
1046fb66bb4e219e5a21a6f8ffe89139ae261264d194f1109bf4b0db112bc67d
7c12656dc2f3108fa9ebf20009fa4c48fddb4508cc0f40649555e11052d49847
7cbb42173a54a6e3f16c6eaa6285520077f6f570265d73e36394e73424d9f4c7
1b39f02f546059f41c330c6293b559aeb2ca1f36805645dbaadec923fc8630f5
f8ce86bbca61c3f826f63e5329ee974fdda89f262ae269c462a43c849a020321
1653928bdd291c7b55e40a4e6caa223495a32c6805164ad46fd06240b3752194
541c160b1e6b12eb54e95da09c0a8bd734c3d166629d964944f2bce49cecf82b
eaa010647b00b7c24476e9c3f44cee5ffa517f9924b0cabfee368edb99979b9f
104976c7368d0b0adb1c18c8074327beee96b698bd45ba15a651f2a96162ff3d
b04adc8ca18aebb71d294fdce5ff7a365d89ee60516889a2d6fc304e6db3b9cb
e7a78e921369352055c025ae17dcfd0c9dea7a5801cfd19288d51695b70fe743
15f82c56666bb7d81d9aba437c9d5d1ffcab05cead3ea60a6eb25c662963bc45
44af13ba96ec92340b196b5e822ce1b7ffa8874b924696b0a70dd6cf09294657
6c605ead55adcf5980ab6dc7755a5ba84f93
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark