patentscope 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.
@@ -0,0 +1,29 @@
1
+ require 'bundler'
2
+ Bundler.setup(:default, :development)
3
+
4
+ require 'patentscope'
5
+ require 'rspec'
6
+ require 'vcr'
7
+ require 'yaml'
8
+ require 'open-uri'
9
+
10
+ # generate versions of username and password with unsafe characters encoded
11
+ unsafe_characters = %q[$&+,/:;=?!@ "'<>#%{}|\^~[]`]
12
+ escaped_patentscope_webservice_username = URI::escape(ENV['PATENTSCOPE_WEBSERVICE_USERNAME'], unsafe_characters)
13
+ escaped_patentscope_webservice_password = URI::escape(ENV['PATENTSCOPE_WEBSERVICE_PASSWORD'], unsafe_characters)
14
+
15
+ VCR.configure do |config|
16
+ config.cassette_library_dir = 'spec/cassettes'
17
+ config.hook_into :webmock
18
+ config.default_cassette_options = { record: :new_episodes }
19
+ config.default_cassette_options = { match_requests_on: [:body] }
20
+ config.configure_rspec_metadata!
21
+ config.allow_http_connections_when_no_cassette = true
22
+ config.filter_sensitive_data('*****') { escaped_patentscope_webservice_username }
23
+ config.filter_sensitive_data('*****') { escaped_patentscope_webservice_password }
24
+ end
25
+
26
+ RSpec.configure do |config|
27
+ # config.treat_symbols_as_metadata_keys_with_true_values = true
28
+ config.order = 'random'
29
+ end
@@ -0,0 +1,318 @@
1
+ require 'spec_helper'
2
+
3
+ module Patentscope
4
+
5
+ describe WebserviceSoapBuilder, :core do
6
+ before { Patentscope.configure_from_env}
7
+
8
+ let(:ws_soap_builder) { WebserviceSoapBuilder.new }
9
+
10
+ it "exists" do
11
+ expect(ws_soap_builder).to_not be_nil
12
+ end
13
+
14
+ it "has the right methods" do
15
+ expect(ws_soap_builder).to respond_to(:build_envelope)
16
+ expect(ws_soap_builder).to respond_to(:strip_envelope)
17
+ end
18
+
19
+ describe "build_envelope method" do
20
+ let(:envelope) { ws_soap_builder.build_envelope('foo', {bar: 'baz'}) }
21
+
22
+ it "returns an XML document" do
23
+ expect(envelope).to include('<?xml')
24
+ end
25
+
26
+ it "has an envelope element" do
27
+ expect(envelope).to include('<S:Envelope')
28
+ end
29
+
30
+ it "has a namespace definition for the envelope" do
31
+ expect(envelope).to include('xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"')
32
+ end
33
+
34
+ it "has a body element" do
35
+ expect(envelope).to include('<S:Body>')
36
+ end
37
+
38
+ it "has an operation element" do
39
+ expect(envelope).to include('<foo ')
40
+ end
41
+
42
+ it "has a namespace definition for the operation" do
43
+ expect(envelope).to include('xmlns="http://www.wipo.org/wsdl/ps"')
44
+ end
45
+
46
+ it "has a option key element" do
47
+ expect(envelope).to include('<bar>')
48
+ end
49
+
50
+ it "has an option value element" do
51
+ expect(envelope).to include('baz')
52
+ end
53
+
54
+ describe "specific operations" do
55
+
56
+ context "get_available_documents" do
57
+
58
+ it 'generates an appropriate soap envelope' do
59
+ envelope = ws_soap_builder.build_envelope(:getAvailableDocuments, { iaNumber: 'SG2009000062' })
60
+ expect(envelope).to include('<?xml version="1.0"')
61
+ expect(envelope).to include('<getAvailableDocuments ')
62
+ expect(envelope).to include('<iaNumber>SG2009000062</iaNumber')
63
+ end
64
+ end
65
+
66
+ context "get_document_content" do
67
+
68
+ it 'generates an appropriate soap envelope' do
69
+ envelope = ws_soap_builder.build_envelope(:getDocumentContent, { docId: 'id50000000125222' })
70
+ expect(envelope).to include('<?xml version="1.0"')
71
+ expect(envelope).to include('<getDocumentContent ')
72
+ expect(envelope).to include('<docId>id50000000125222</docId>')
73
+ end
74
+ end
75
+
76
+ context "get_document_ocr_content" do
77
+
78
+ it 'generates an appropriate soap envelope' do
79
+ envelope = ws_soap_builder.build_envelope(:getDocumentOcrContent, { docId: 'id50000000125222' })
80
+ expect(envelope).to include('<?xml version="1.0"')
81
+ expect(envelope).to include('<getDocumentOcrContent ')
82
+ expect(envelope).to include('<docId>id50000000125222</docId>')
83
+ end
84
+ end
85
+
86
+ context "get_iasr" do
87
+
88
+ it 'generates an appropriate soap envelope' do
89
+ envelope = ws_soap_builder.build_envelope(:getIASR, { iaNumber: 'SG2009000062' })
90
+ expect(envelope).to include('<?xml version="1.0"')
91
+ expect(envelope).to include('<getIASR ')
92
+ expect(envelope).to include('<iaNumber>SG2009000062</iaNumber')
93
+ end
94
+ end
95
+
96
+ context "get_document_table_of_contents" do
97
+
98
+ it 'generates an appropriate soap envelope' do
99
+ envelope = ws_soap_builder.build_envelope(:getDocumentTableOfContents, { docId: 'id50000000125222' })
100
+ expect(envelope).to include('<?xml version="1.0"')
101
+ expect(envelope).to include('<getDocumentTableOfContents ')
102
+ expect(envelope).to include('<docId>id50000000125222</docId>')
103
+ end
104
+ end
105
+
106
+ context "get_document_content_page" do
107
+
108
+ it 'generates an appropriate soap envelope' do
109
+ envelope = ws_soap_builder.build_envelope(:getDocumentContentPage, { docId: 'id50000000125222', pageId: '000031.tif' })
110
+ expect(envelope).to include('<?xml version="1.0"')
111
+ expect(envelope).to include('<getDocumentContentPage ')
112
+ expect(envelope).to include('<docId>id50000000125222</docId>')
113
+ expect(envelope).to include('<pageId>000031.tif</pageId>')
114
+ end
115
+ end
116
+ end
117
+ end
118
+
119
+ describe "strip_envelope method" do
120
+
121
+ context "getAvailableDocuments operation" do
122
+ let(:envelope) { '<?xml version="1.0" ?>
123
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
124
+ <S:Body>
125
+ <getAvailableDocumentsResponse xmlns="http://www.wipo.org/wsdl/ps">
126
+ <doc gazette="35/2006" docType="PAMPH" docId="id50000000162179"></doc>
127
+ <doc docType="WOSA" docId="id50000000125420"></doc>
128
+ <doc docType="ETIP1" docId="id50000000329130"></doc>
129
+ <doc priorityNumber="10 2005 008 395.1" docType="PDOC" docId="id50000000116310"></doc> <doc docType="IB304" docId="id50000000116985"></doc>
130
+ <doc docType="ETWOS" docId="id50000000325635">
131
+ </doc>
132
+ </getAvailableDocumentsResponse>
133
+ </S:Body></S:Envelope>' }
134
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getAvailableDocuments) }
135
+
136
+ it "retains the xml declaration" do
137
+ expect(stripped).to include('<?xml')
138
+ end
139
+
140
+ it "strips the Envelope element" do
141
+ expect(stripped).to_not include('<S:Envelope')
142
+ end
143
+
144
+ it "strips the Body element" do
145
+ expect(stripped).to_not include('<S:Body>')
146
+ end
147
+
148
+ it "strips the getAvailableDocumentsResponse element" do
149
+ expect(stripped).to_not include('<getAvailableDocumentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
150
+ end
151
+
152
+ it "retains the inner elements" do
153
+ expect(stripped).to include('<doc gazette="35/2006" docType="PAMPH" docId="id50000000162179"/>')
154
+ end
155
+ end
156
+
157
+ context "getDocumentContent operation" do
158
+ let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
159
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
160
+ <S:Body>
161
+ <getDocumentContentResponse xmlns="http://www.wipo.org/wsdl/ps">
162
+ <documentContent>UEsDBBQACAAIAIyMOy0AAAAAAAAAAAAAAAAKAAAAMDAwMDA...AAAAAA=</documentContent>
163
+ </getDocumentContentResponse>
164
+ </S:Body>
165
+ </S:Envelope>' }
166
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentContent) }
167
+
168
+ it "retains the xml declaration" do
169
+ expect(stripped).to include('<?xml')
170
+ end
171
+
172
+ it "strips the Envelope element" do
173
+ expect(stripped).to_not include('<S:Envelope')
174
+ end
175
+
176
+ it "strips the Body element" do
177
+ expect(stripped).to_not include('<S:Body>')
178
+ end
179
+
180
+ it "strips the getDocumentContentResponse element" do
181
+ expect(stripped).to_not include('<getDocumentContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
182
+ end
183
+
184
+ it "retains the inner elements" do
185
+ expect(stripped).to include('<documentContent>UEsDBBQACAAIAIyMOy0AAAAAAAAAAAAAAAAKAAAAMDAwMDA...AAAAAA=</documentContent>')
186
+ end
187
+ end
188
+
189
+ context "getDocumentOcrContent operation" do
190
+ let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
191
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
192
+ <S:Body>
193
+ <getDocumentOcrContentResponse xmlns="http://www.wipo.org/wsdl/ps">
194
+ <documentContent>JVBERi0xLjQKJeLjz9MKOCAwIG9iago8P...DUKJSVFT0YK</documentContent>
195
+ </getDocumentOcrContentResponse>
196
+ </S:Body>
197
+ </S:Envelope>' }
198
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentOcrContent) }
199
+
200
+ it "retains the xml declaration" do
201
+ expect(stripped).to include('<?xml')
202
+ end
203
+
204
+ it "strips the Envelope element" do
205
+ expect(stripped).to_not include('<S:Envelope')
206
+ end
207
+
208
+ it "strips the Body element" do
209
+ expect(stripped).to_not include('<S:Body>')
210
+ end
211
+
212
+ it "strips the getDocumentOcrContentResponse element" do
213
+ expect(stripped).to_not include('<getDocumentOcrContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
214
+ end
215
+
216
+ it "retains the inner elements" do
217
+ expect(stripped).to include('<documentContent>JVBERi0xLjQKJeLjz9MKOCAwIG9iago8P...DUKJSVFT0YK</documentContent>')
218
+ end
219
+ end
220
+
221
+ context "getIASR operation" do
222
+ let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
223
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
224
+ <S:Body>
225
+ <getIASRResponse xmlns="http://www.wipo.org/wsdl/ps">
226
+ <wo-international-application-status>baz</wo-international-application-status>
227
+ </getIASRResponse>
228
+ </S:Body>
229
+ </S:Envelope>' }
230
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getIASR) }
231
+
232
+ it "retains the xml declaration" do
233
+ expect(stripped).to include('<?xml')
234
+ end
235
+
236
+ it "strips the Envelope element" do
237
+ expect(stripped).to_not include('<S:Envelope')
238
+ end
239
+
240
+ it "strips the Body element" do
241
+ expect(stripped).to_not include('<S:Body>')
242
+ end
243
+
244
+ it "strips the getIASRResponse element" do
245
+ expect(stripped).to_not include('<getIASRResponse xmlns="http://www.wipo.org/wsdl/ps">')
246
+ end
247
+
248
+ it "retains the inner elements" do
249
+ expect(stripped).to include('<wo-international-application-status>baz</wo-international-application-status>')
250
+ end
251
+ end
252
+
253
+ context "getDocumentTableOfContents operation" do
254
+ let(:envelope) { '<?xml version=\'1.0\' encoding=\'UTF-8\'?>
255
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
256
+ <S:Body>
257
+ <getDocumentTableOfContentsResponse xmlns="http://www.wipo.org/wsdl/ps">
258
+ <content>000001.tif</content>
259
+ </getDocumentTableOfContentsResponse>
260
+ </S:Body>
261
+ </S:Envelope>' }
262
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentTableOfContents) }
263
+
264
+ it "retains the xml declaration" do
265
+ expect(stripped).to include('<?xml')
266
+ end
267
+
268
+ it "strips the Envelope element" do
269
+ expect(stripped).to_not include('<S:Envelope')
270
+ end
271
+
272
+ it "strips the Body element" do
273
+ expect(stripped).to_not include('<S:Body>')
274
+ end
275
+
276
+ it "strips the getDocumentTableOfContentsResponse element" do
277
+ expect(stripped).to_not include('<getDocumentTableOfContentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
278
+ end
279
+
280
+ it "retains the inner elements" do
281
+ expect(stripped).to include('<content>000001.tif</content>')
282
+ end
283
+ end
284
+
285
+ context "getDocumentContentPage operation" do
286
+ let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
287
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
288
+ <S:Body>
289
+ <getDocumentContentPageResponse xmlns="http://www.wipo.org/wsdl/ps">
290
+ <pageContent>SUkqAAgAAAASAP4ABAABAAAAAAAAAAABAwABAAAAqwk...//wAQAQAQAQ==</pageContent>
291
+ </getDocumentContentPageResponse>
292
+ </S:Body>
293
+ </S:Envelope>' }
294
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentContentPage) }
295
+
296
+ it "retains the xml declaration" do
297
+ expect(stripped).to include('<?xml')
298
+ end
299
+
300
+ it "strips the Envelope element" do
301
+ expect(stripped).to_not include('<S:Envelope')
302
+ end
303
+
304
+ it "strips the Body element" do
305
+ expect(stripped).to_not include('<S:Body>')
306
+ end
307
+
308
+ it "strips the getDocumentContentPageResponse element" do
309
+ expect(stripped).to_not include('<getDocumentContentPageResponse xmlns="http://www.wipo.org/wsdl/ps">')
310
+ end
311
+
312
+ it "retains the inner elements" do
313
+ expect(stripped).to include('<pageContent>SUkqAAgAAAASAP4ABAABAAAAAAAAAAABAwABAAAAqwk...//wAQAQAQAQ==</pageContent>')
314
+ end
315
+ end
316
+ end
317
+ end
318
+ end
@@ -0,0 +1,97 @@
1
+ require 'spec_helper'
2
+
3
+ module Patentscope
4
+
5
+ describe Webservice, :core, :vcr do
6
+
7
+ before { Patentscope.configure_from_env}
8
+
9
+ let(:webservice) { Webservice.new }
10
+
11
+ it "exists" do
12
+ expect(webservice).to_not be_nil
13
+ end
14
+
15
+ it "has the right methods" do
16
+ expect(webservice).to respond_to(:wsdl)
17
+ expect(webservice).to respond_to(:get_available_documents)
18
+ expect(webservice).to respond_to(:get_document_content)
19
+ expect(webservice).to respond_to(:get_document_ocr_content)
20
+ expect(webservice).to respond_to(:get_iasr)
21
+ expect(webservice).to respond_to(:get_document_table_of_contents)
22
+ expect(webservice).to respond_to(:get_document_content_page)
23
+ end
24
+
25
+ describe "constants" do
26
+ it "has a webservice location constant" do
27
+ expect(Webservice::PATENTSCOPE_WEBSERVICE_LOCATION).to_not be_nil
28
+ end
29
+ end
30
+
31
+ describe "wsdl method" do
32
+ it "returns a wsdl document" do
33
+ response = webservice.wsdl
34
+ expect(response).to include('<?xml')
35
+ expect(response).to include('<wsdl:definitions')
36
+ end
37
+ end
38
+
39
+ describe "get_available_documents method" do
40
+ it 'returns an appropriate XML document for the get_available_documents operation' do
41
+ response = webservice.get_available_documents(ia_number: 'SG2009000062')
42
+ expect(response).to include('<?xml version="1.0"?>')
43
+ expect(response).to include('<doc ocrPresence="no" docType="RO101" docId="id00000008679651"/>')
44
+ expect(response).to_not include('<getAvailableDocumentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
45
+ end
46
+ end
47
+
48
+ describe "get_document_content method" do
49
+ it 'returns an appropriate XML document for the get_document_content operation' do
50
+ response = webservice.get_document_content(doc_id: '090063618004ca88')
51
+ expect(response).to include('<?xml version="1.0"?>')
52
+ expect(response).to include('<documentContent>')
53
+ expect(response).to include('nRpZsy7ezxU2/8/fk5JM6HIXReMWymXUCmhYcRgUIjjNk2pDAkdlxox7xiSLm')
54
+ expect(response).to_not include('<getDocumentContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
55
+ end
56
+ end
57
+
58
+ describe "get_document_ocr_content method" do
59
+ it 'returns an appropriate XML document for the get_document_ocr_content operation' do
60
+ response = webservice.get_document_ocr_content(doc_id: 'id00000015801579')
61
+ expect(response).to include('<?xml version="1.0"?>')
62
+ expect(response).to include('<documentContent>')
63
+ expect(response).to include('XdDb9Ain4kev61wgZc36X022QPCEZZASS2Rwpcy4Hx7I5GYHhriRwpsDwoX9tgjgZwcEGGEksgthsHsNtkFmyGZYQIGGCCX3dhggRDTgEEDNgVgkvuw2ECDDSYMEF')
64
+ expect(response).to_not include('<getDocumentOcrContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
65
+ end
66
+ end
67
+
68
+ describe "get_iasr method" do
69
+ it 'returns an appropriate XML document for the get_iasr operation' do
70
+ response = webservice.get_iasr(ia_number: 'SG2009000062')
71
+ expect(response).to include('<?xml version="1.0"?>')
72
+ expect(response).to include('<wo-international-application-status>')
73
+ expect(response).to include('MESENCHYMAL STEM CELL PARTICLES')
74
+ expect(response).to_not include('<getIASRResponse xmlns="http://www.wipo.org/wsdl/ps">')
75
+ end
76
+ end
77
+
78
+ describe "get_document_table_of_contents method" do
79
+ it 'returns an appropriate XML document for the get_document_table_of_contents operation' do
80
+ response = webservice.get_document_table_of_contents(doc_id: '090063618004ca88')
81
+ expect(response).to include('<?xml version="1.0"?>')
82
+ expect(response).to include('<content>')
83
+ expect(response).to include('<content>000001.tif</content>')
84
+ expect(response).to_not include('<getDocumentTableOfContentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
85
+ end
86
+ end
87
+
88
+ describe "get_document_content_page method" do
89
+ it 'returns an appropriate XML document for the get_document_content_page operation' do
90
+ response = webservice.get_document_content_page(doc_id: '090063618004ca88', page_id: '000001.tif')
91
+ expect(response).to include('<?xml version="1.0"?>')
92
+ expect(response).to include('+GP0kv9dhgiY7Rb5h2q4RN6Jj9NpDCJjuMImO0l0TfLe7QRO2yFceTvvTu6C6qTH')
93
+ expect(response).to_not include('<getDocumentContentPageResponse xmlns="http://www.wipo.org/wsdl/ps">')
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,298 @@
1
+ passes:
2
+ -
3
+ doc_id: '090063618004ca88'
4
+ signature: '<content>000001.tif</content>'
5
+ -
6
+ doc_id: '090063618004ca89'
7
+ signature: '<content>000001.tif</content>'
8
+ -
9
+ doc_id: '090063618004ca7c'
10
+ signature: '<content>000001.tif</content>'
11
+ -
12
+ doc_id: '090063618004ca7d'
13
+ signature: '<content>000001.tif</content>'
14
+ -
15
+ doc_id: '090063618004ca8b'
16
+ signature: '<content>000001.tif</content>'
17
+ -
18
+ doc_id: '090063618004ca8d'
19
+ signature: '<content>000001.tif</content>'
20
+ -
21
+ doc_id: '0900636180050716'
22
+ signature: '<content>000001.tif</content>'
23
+ -
24
+ doc_id: '090063618004ca8f'
25
+ signature: '<content>000001.tif</content>'
26
+ -
27
+ doc_id: '090063618004ca90'
28
+ signature: '<content>000001.tif</content>'
29
+ -
30
+ doc_id: '090063618006d63c'
31
+ signature: '<content>000001.tif</content>'
32
+ -
33
+ doc_id: '090063618006d508'
34
+ signature: '<content>000001.tif</content>'
35
+ -
36
+ doc_id: '090063618006d509'
37
+ signature: '<content>000001.tif</content>'
38
+ -
39
+ doc_id: '090063618006d50a'
40
+ signature: '<content>000001.tif</content>'
41
+ -
42
+ doc_id: '0900636180078779'
43
+ signature: '<content>000001.tif</content>'
44
+ -
45
+ doc_id: '0900636180078611'
46
+ signature: '<content>000001.tif</content>'
47
+ -
48
+ doc_id: '0900636180082aed'
49
+ signature: '<content>000001.tif</content>'
50
+ -
51
+ doc_id: '090063618007f732'
52
+ signature: '<content>000001.tif</content>'
53
+ -
54
+ doc_id: '0900636180082aee'
55
+ signature: '<content>000001.tif</content>'
56
+ -
57
+ doc_id: '0900636180082c31'
58
+ signature: '<content>000001.tif</content>'
59
+ -
60
+ doc_id: '09006361800827c0'
61
+ signature: '<content>000001.tif</content>'
62
+ -
63
+ doc_id: '0900636180082aef'
64
+ signature: '<content>000001.tif</content>'
65
+ -
66
+ doc_id: '0900636180083c5e'
67
+ signature: '<content>000001.tif</content>'
68
+ -
69
+ doc_id: '0900636180083c8a'
70
+ signature: '<content>000001.tif</content>'
71
+ -
72
+ doc_id: '0900636180083c8b'
73
+ signature: '<content>000001.tif</content>'
74
+ -
75
+ doc_id: '0900636180083ca1'
76
+ signature: '<content>000001.tif</content>'
77
+ -
78
+ doc_id: '0900636180083ca2'
79
+ signature: '<content>000001.tif</content>'
80
+ -
81
+ doc_id: '0900636180083ca3'
82
+ signature: '<content>000001.tif</content>'
83
+ -
84
+ doc_id: '0900636180083caa'
85
+ signature: '<content>000001.tif</content>'
86
+ -
87
+ doc_id: '0900636180083cab'
88
+ signature: '<content>000001.tif</content>'
89
+ -
90
+ doc_id: '0900636180083cbd'
91
+ signature: '<content>000001.tif</content>'
92
+ -
93
+ doc_id: '0900636180083cbe'
94
+ signature: '<content>000001.tif</content>'
95
+ -
96
+ doc_id: '0900636180083cd9'
97
+ signature: '<content>000001.tif</content>'
98
+ -
99
+ doc_id: '0900636180083cdf'
100
+ signature: '<content>000001.tif</content>'
101
+ -
102
+ doc_id: '0900636180083d50'
103
+ signature: '<content>000001.tif</content>'
104
+ -
105
+ doc_id: '0900636180083dac'
106
+ signature: '<content>000001.tif</content>'
107
+ -
108
+ doc_id: '0900636180083dad'
109
+ signature: '<content>000001.tif</content>'
110
+ -
111
+ doc_id: '0900636180083de9'
112
+ signature: '<content>000001.tif</content>'
113
+ -
114
+ doc_id: '0900636180083df8'
115
+ signature: '<content>000001.tif</content>'
116
+ -
117
+ doc_id: '0900636180083e14'
118
+ signature: '<content>000001.tif</content>'
119
+ -
120
+ doc_id: '0900636180083e15'
121
+ signature: '<content>000001.tif</content>'
122
+ -
123
+ doc_id: '0900636180083e4f'
124
+ signature: '<content>000001.tif</content>'
125
+ -
126
+ doc_id: '0900636180083e50'
127
+ signature: '<content>000001.tif</content>'
128
+ -
129
+ doc_id: '0900636180083e51'
130
+ signature: '<content>000001.tif</content>'
131
+ -
132
+ doc_id: '0900636180083ee5'
133
+ signature: '<content>000001.tif</content>'
134
+ -
135
+ doc_id: '0900636180083f14'
136
+ signature: '<content>000001.tif</content>'
137
+ -
138
+ doc_id: '0900636180083f15'
139
+ signature: '<content>000001.tif</content>'
140
+ -
141
+ doc_id: '0900636180083fe8'
142
+ signature: '<content>000001.tif</content>'
143
+ -
144
+ doc_id: '0900636180083fe9'
145
+ signature: '<content>000001.tif</content>'
146
+ -
147
+ doc_id: '09006361800840e0'
148
+ signature: '<content>000001.tif</content>'
149
+ -
150
+ doc_id: '09006361800840e1'
151
+ signature: '<content>000001.tif</content>'
152
+ -
153
+ doc_id: '0900636180084428'
154
+ signature: '<content>000001.tif</content>'
155
+ -
156
+ doc_id: '0900636180084429'
157
+ signature: '<content>000001.tif</content>'
158
+ -
159
+ doc_id: '0900636180084490'
160
+ signature: '<content>000001.tif</content>'
161
+ -
162
+ doc_id: '0900636180084491'
163
+ signature: '<content>000001.tif</content>'
164
+ -
165
+ doc_id: '0900636180084492'
166
+ signature: '<content>000001.tif</content>'
167
+ -
168
+ doc_id: '09006361800844f4'
169
+ signature: '<content>000001.tif</content>'
170
+ -
171
+ doc_id: '0900636180084577'
172
+ signature: '<content>000001.tif</content>'
173
+ -
174
+ doc_id: '0900636180084578'
175
+ signature: '<content>000001.tif</content>'
176
+ -
177
+ doc_id: '09006361800845a1'
178
+ signature: '<content>000001.tif</content>'
179
+ -
180
+ doc_id: '09006361800845a2'
181
+ signature: '<content>000001.tif</content>'
182
+ -
183
+ doc_id: '09006361800845b2'
184
+ signature: '<content>000001.tif</content>'
185
+ -
186
+ doc_id: '09006361800845b3'
187
+ signature: '<content>000001.tif</content>'
188
+ -
189
+ doc_id: '09006361800845cb'
190
+ signature: '<content>000001.tif</content>'
191
+ -
192
+ doc_id: '09006361800845cc'
193
+ signature: '<content>000001.tif</content>'
194
+ -
195
+ doc_id: '09006361800845f5'
196
+ signature: '<content>000001.tif</content>'
197
+ -
198
+ doc_id: '09006361800845f6'
199
+ signature: '<content>000001.tif</content>'
200
+ -
201
+ doc_id: '09006361800845f7'
202
+ signature: '<content>000001.tif</content>'
203
+ -
204
+ doc_id: '09006361800854a7'
205
+ signature: '<content>000001.tif</content>'
206
+ -
207
+ doc_id: '09006361800854f4'
208
+ signature: '<content>000001.tif</content>'
209
+ -
210
+ doc_id: '09006361800854f5'
211
+ signature: '<content>000001.tif</content>'
212
+ -
213
+ doc_id: '090063618008a415'
214
+ signature: '<content>000001.tif</content>'
215
+ -
216
+ doc_id: '090063618008a416'
217
+ signature: '<content>000001.tif</content>'
218
+ -
219
+ doc_id: '090063618008a417'
220
+ signature: '<content>000001.tif</content>'
221
+ -
222
+ doc_id: '090063618008a419'
223
+ signature: '<content>000001.tif</content>'
224
+ -
225
+ doc_id: '090063618008a41a'
226
+ signature: '<content>000001.tif</content>'
227
+ -
228
+ doc_id: '090063618008a41b'
229
+ signature: '<content>000001.tif</content>'
230
+ -
231
+ doc_id: '0900636180084451'
232
+ signature: '<content>000001.tif</content>'
233
+ -
234
+ doc_id: '0900636180084461'
235
+ signature: '<content>000001.tif</content>'
236
+ -
237
+ doc_id: '0900636180084462'
238
+ signature: '<content>000001.tif</content>'
239
+ -
240
+ doc_id: '0900636180084479'
241
+ signature: '<content>000001.tif</content>'
242
+ -
243
+ doc_id: '090063618008447a'
244
+ signature: '<content>000001.tif</content>'
245
+ -
246
+ doc_id: '09006361800844cc'
247
+ signature: '<content>000001.tif</content>'
248
+ -
249
+ doc_id: '09006361800844cd'
250
+ signature: '<content>000001.tif</content>'
251
+ -
252
+ doc_id: '09006361800844ce'
253
+ signature: '<content>000001.tif</content>'
254
+ -
255
+ doc_id: '0900636180084585'
256
+ signature: '<content>000001.tif</content>'
257
+ -
258
+ doc_id: '09006361800845d4'
259
+ signature: '<content>000001.tif</content>'
260
+ -
261
+ doc_id: '09006361800845d5'
262
+ signature: '<content>000001.tif</content>'
263
+ -
264
+ doc_id: '09006361800854a9'
265
+ signature: '<content>000001.tif</content>'
266
+ -
267
+ doc_id: '09006361800854d8'
268
+ signature: '<content>000001.tif</content>'
269
+ -
270
+ doc_id: '0900636180085517'
271
+ signature: '<content>000001.tif</content>'
272
+ -
273
+ doc_id: '0900636180085518'
274
+ signature: '<content>000001.tif</content>'
275
+ -
276
+ doc_id: '090063618008552a'
277
+ signature: '<content>000001.tif</content>'
278
+ -
279
+ doc_id: '090063618008552b'
280
+ signature: '<content>000001.tif</content>'
281
+ -
282
+ doc_id: '090063618008a3bb'
283
+ signature: '<content>000001.tif</content>'
284
+ -
285
+ doc_id: '090063618008a3bc'
286
+ signature: '<content>000001.tif</content>'
287
+ -
288
+ doc_id: '090063618008a3bd'
289
+ signature: '<content>000001.tif</content>'
290
+ -
291
+ doc_id: '0900636180083c2b'
292
+ signature: '<content>000001.tif</content>'
293
+ -
294
+ doc_id: '0900636180083c2c'
295
+ signature: '<content>000001.tif</content>'
296
+ -
297
+ doc_id: '0900636180083c3c'
298
+ signature: '<content>000001.tif</content>'