br_danfe 0.10.1 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -4
  3. data/config/locales/pt-BR.yml +0 -1
  4. data/lib/br_danfe/danfe_lib/infadic.rb +60 -91
  5. data/lib/br_danfe/danfe_lib/infadic_vol.rb +101 -0
  6. data/lib/br_danfe/version.rb +1 -1
  7. data/spec/features/danfe_spec.rb +2 -2
  8. data/spec/fixtures/nfe/lib/{infadic#render-extra_volume_difal.pdf → infadic#render-all_the_informations.pdf} +55 -55
  9. data/spec/fixtures/nfe/lib/infadic#render-difal.pdf +7 -21
  10. data/spec/fixtures/nfe/lib/infadic#render-extra_volume.pdf +43 -57
  11. data/spec/fixtures/nfe/lib/{infadic#render-footer_information.pdf → infadic#render-with_complementary_information.pdf} +6 -13
  12. data/spec/fixtures/nfe/lib/{infadic-with-street-data#render.pdf → infadic#render-with_fisco_additional_information.pdf} +7 -7
  13. data/spec/fixtures/nfe/lib/infadic#render-with_street_data.pdf +104 -0
  14. data/spec/fixtures/nfe/lib/infadic#render.pdf +5 -12
  15. data/spec/fixtures/nfe/lib/infadic_vol#render-extra_volume.pdf +331 -0
  16. data/spec/fixtures/nfe/v2.00/custom_options.fixture.pdf +2 -2
  17. data/spec/fixtures/nfe/v2.00/nfe_simples_nacional.xml.fixture.pdf +2 -2
  18. data/spec/fixtures/nfe/v2.00/nfe_with_extra_volumes.xml.fixture.pdf +51 -51
  19. data/spec/fixtures/nfe/v2.00/nfe_with_fci.xml.fixture.pdf +2 -2
  20. data/spec/fixtures/nfe/v2.00/nfe_with_ns.xml.fixture.pdf +2 -2
  21. data/spec/fixtures/nfe/v2.00/nfe_without_ns.xml.fixture.pdf +3 -3
  22. data/spec/fixtures/nfe/v3.10/nfe_simples_nacional.xml.fixture.pdf +21 -21
  23. data/spec/fixtures/nfe/v3.10/with_footer.fixture.pdf +23 -23
  24. data/spec/fixtures/nfe/v3.10/with_issqn.fixture.pdf +23 -23
  25. data/spec/fixtures/nfe/v3.10/with_three_pages.fixture.pdf +25 -25
  26. data/spec/fixtures/nfe/v3.10/{withot_issqn.fixture.pdf → without_issqn.fixture.pdf} +23 -23
  27. data/spec/fixtures/nfe/v3.10/{withot_issqn.xml → without_issqn.xml} +0 -0
  28. data/spec/lib/danfe_lib/infadic_spec.rb +258 -97
  29. data/spec/lib/danfe_lib/infadic_vol_spec.rb +96 -0
  30. metadata +11 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac0467a09f17108189d7953b5bd67750e809be05d36afe21c826f61fd4f320f0
4
- data.tar.gz: 7fe38cab43ff0bd9d2ecffc13ef01ceb05206a8687bf327336665ab5097bbd54
3
+ metadata.gz: d97bac5f6aa9b52198d4ddcda57af054804435a44c3582657d3bec9b162532a2
4
+ data.tar.gz: c2bece38b4dd7eff84c3dbc272fb37c3039994f41312df48b8dc14c802755464
5
5
  SHA512:
6
- metadata.gz: e0bd82f8bc9ef158d75ee8f0c485f96797bc861aea126f364fa74d0350b5250e0eff248da553428391b2e8c4d4b1e09979cbe7e53d878667d35a33bcd7a602e1
7
- data.tar.gz: 6ae919d97803f63da6cfde193469cdb416bf1790d17eae3678dd7b54c746cb066db4970696b2c3423887948e43cc7c68eefa295f1eba51793b2f18a8a3090d22
6
+ metadata.gz: e40ac5b1850ecf7645bf93a590110121a0b1cc1be6208273e52f2901331bb44b40a0c84baad938d741fa28be2d0e854c039fd4cf3213323945781be405c69d1f
7
+ data.tar.gz: 302f2a36eda72cca8fa454794dd49e845d7d9c5777c947a2ba2ed662d6dd72187443527b017f1609b5a540840293a3f52a7948c7983a6166fba4558de25587a6
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- br_danfe (0.10.1)
4
+ br_danfe (0.11.0)
5
5
  barby (= 0.5.1)
6
6
  br_documents (>= 0.0.15)
7
7
  i18n (= 0.8.6)
@@ -36,10 +36,10 @@ GEM
36
36
  docile (1.1.5)
37
37
  i18n (0.8.6)
38
38
  json (1.8.6)
39
- mini_portile2 (2.3.0)
39
+ mini_portile2 (2.4.0)
40
40
  minitest (5.11.3)
41
- nokogiri (1.8.5)
42
- mini_portile2 (~> 2.3.0)
41
+ nokogiri (1.10.3)
42
+ mini_portile2 (~> 2.4.0)
43
43
  pdf-core (0.6.1)
44
44
  prawn (2.1.0)
45
45
  pdf-core (~> 0.6.1)
@@ -130,7 +130,6 @@ pt-BR:
130
130
  title: "DADOS ADICIONAIS"
131
131
  infCpl: "INFORMAÇÕES COMPLEMENTARES"
132
132
  reserved: "RESERVADO AO FISCO"
133
- others: "OUTRAS INFORMAÇÕES"
134
133
  difal: "Valores totais do ICMS Interestadual: DIFAL da UF destino R$%{vICMSUFDest} + FCP R$%{vFCPUFDest}; DIFAL da UF Origem R$%{vICMSUFRemet}."
135
134
  vol:
136
135
  title: "CONTINUAÇÃO TRANSPORTADOR/VOLUMES TRANSPORTADOS"
@@ -6,131 +6,100 @@ module BrDanfe
6
6
  def initialize(pdf, xml)
7
7
  @pdf = pdf
8
8
  @xml = xml
9
-
10
- @title = Y_POSITION - 0.41
9
+ @title_position = Y_POSITION - 0.41
11
10
  @y_position = Y_POSITION
12
11
  end
13
12
 
14
- def render(n_vol)
15
- @pdf.ititle 0.42, 10.00, 0.75, @title, "infAdic.title"
16
-
17
- if n_vol > 1
18
- render_extra_volumes
19
- elsif difal?
20
- render_difal
21
- else
22
- title = I18n.t "danfe.infAdic.infCpl"
23
- observation = generate_observation @xml["infAdic/infCpl"]
24
- @pdf.ibox 2.65, 12.45, 0.75, @y_position, title, observation, { size: 6, valign: :top }
25
- end
26
-
27
- @pdf.ibox 2.65, 7.15, 13.20, @y_position, I18n.t("danfe.infAdic.reserved")
13
+ def render(volumes_number)
14
+ render_title
15
+ render_subtitle
16
+ render_volumes if volumes_number > 1
17
+ render_additional_data generate_y_position(volumes_number) if additional_data?
18
+ render_reserved_fisco
28
19
  end
29
20
 
30
21
  private
31
22
 
32
- def render_extra_volumes
33
- @pdf.ibox 2.65, 12.45, 0.75, @y_position, I18n.t("danfe.infAdic.infCpl"), "", { size: 8, valign: :top }
34
-
35
- y = Y_POSITION + 0.20
36
-
37
- if difal?
38
- @pdf.ibox 1.65, 12.45, 0.75, y, "", difal_content, { size: 5, valign: :top, border: 0 }
39
- y += 0.27
40
- else
41
- y += 0.07
42
- end
43
-
44
- @pdf.ibox 2.65, 12.45, 0.75, y, "", I18n.t("danfe.infAdic.vol.title"), { size: 5, valign: :top, border: 0 }
45
-
46
- volumes = 0
47
- y += 0.07
48
-
49
- @xml.collect("xmlns", "vol") do |det|
50
- volumes += 1
51
- if volumes > 1
52
- render_extra_volume(det, y + 0.10)
53
- y += 0.15
54
- end
55
- end
56
-
57
- render_info_cpl_with_others y
23
+ def render_title
24
+ @pdf.ititle 0.42, 10.00, 0.75, @title_position, 'infAdic.title'
58
25
  end
59
26
 
60
- def difal?
61
- !@xml["ICMSTot/vICMSUFDest"].to_f.zero?
27
+ def render_subtitle
28
+ @pdf.ibox 2.65, 12.45, 0.75, @y_position, I18n.t('danfe.infAdic.infCpl'), '', size: 8, valign: :top
62
29
  end
63
30
 
64
- def difal_content
65
- I18n.t("danfe.infAdic.difal",
66
- vICMSUFDest: numerify(@xml["ICMSTot/vICMSUFDest"]),
67
- vFCPUFDest: numerify(@xml["ICMSTot/vFCPUFDest"]),
68
- vICMSUFRemet: numerify(@xml["ICMSTot/vICMSUFRemet"]))
31
+ def render_volumes
32
+ InfadicVol.new(@xml, @pdf).render
69
33
  end
70
34
 
71
- def numerify(value)
72
- Helper.numerify(value) if value != ""
35
+ def render_additional_data(y_position)
36
+ data = generate_additional_data
37
+ @pdf.ibox 2.65, 12.45, 0.75, y_position, '', data, { size: 6, valign: :top, border: 0 }
73
38
  end
74
39
 
75
- def render_extra_volume(det, y)
76
- render_field "qVol", det, 0.70, 0.75, 0.70, 1.04, y, :text
77
- render_field "esp", det, 0.50, 1.35, 3.00, 1.75, y, :text
78
- render_field "marca", det, 0.70, 4.15, 2.00, 4.75, y, :text
79
- render_field "nVol", det, 1.00, 6.10, 1.00, 6.70, y, :text
80
- render_field "pesoB", det, 1.30, 7.00, 1.30, 7.00, y, :numeric
81
- render_field "pesoL", det, 0.90, 8.50, 1.50, 8.50, y, :numeric
40
+ def generate_additional_data
41
+ additional_data = []
42
+ additional_data.push(complementary_content) if complementary?
43
+ additional_data.push(address_content) if address?
44
+ additional_data.push(difal_content) if difal?
45
+ additional_data.push(fisco_content) if fisco?
46
+ additional_data.join(' * ')
82
47
  end
83
48
 
84
- def render_field(field, det, w1, x1, w2, x2, y, kind)
85
- label = I18n.t("danfe.infAdic.vol.#{field}")
86
- value = det.css(field).text
87
-
88
- @pdf.ibox 0.35, w1, x1, y, "", label, style_normal
89
-
90
- if kind == :numeric
91
- @pdf.inumeric 0.35, w2, x2, y, "", value, style_decimal
92
- else
93
- @pdf.ibox 0.35, w2, x2, y, "", value, style_italic
94
- end
49
+ def complementary_content
50
+ @xml['infAdic/infCpl'].to_s
95
51
  end
96
52
 
97
- def style_normal
98
- { size: 4, border: 0 }
53
+ def complementary?
54
+ @xml['infAdic/infCpl'].to_s != ''
99
55
  end
100
56
 
101
- def style_italic
102
- style_normal.merge({ style: :italic })
57
+ def address_content
58
+ "Endereço: #{Helper.generate_address @xml}"
103
59
  end
104
60
 
105
- def style_decimal
106
- style_italic.merge({ decimals: 3 })
61
+ def address?
62
+ Helper.address_is_too_big @pdf, Helper.generate_address(@xml)
107
63
  end
108
64
 
109
- def render_info_cpl_with_others(y)
110
- @pdf.ibox 1.65, 12.45, 0.75, y + 0.30, "", I18n.t("danfe.infAdic.others"), { size: 6, valign: :top, border: 0 }
111
- @pdf.ibox 1.65, 12.45, 0.75, y + 0.50, "", @xml["infAdic/infCpl"], { size: 5, valign: :top, border: 0 }
65
+ def difal_content
66
+ I18n.t(
67
+ 'danfe.infAdic.difal',
68
+ vICMSUFDest: numerify(@xml['ICMSTot/vICMSUFDest']),
69
+ vFCPUFDest: numerify(@xml['ICMSTot/vFCPUFDest']),
70
+ vICMSUFRemet: numerify(@xml['ICMSTot/vICMSUFRemet'])
71
+ )
112
72
  end
113
73
 
114
- def render_difal
115
- @pdf.ibox 2.65, 12.45, 0.75, @y_position, I18n.t("danfe.infAdic.infCpl"), "", { size: 8, valign: :top }
116
-
117
- y = Y_POSITION + 0.20
118
- @pdf.ibox 1.65, 12.45, 0.75, y, "", difal_content, { size: 5, valign: :top, border: 0 }
74
+ def numerify(value)
75
+ Helper.numerify(value) if value != ''
76
+ end
119
77
 
120
- y += 0.10
78
+ def difal?
79
+ @xml['ICMSTot/vICMSUFDest'].to_f != 0
80
+ end
121
81
 
122
- render_info_cpl_with_others y
82
+ def fisco_content
83
+ @xml['infAdic/infAdFisco'].to_s
123
84
  end
124
85
 
125
- def generate_observation(informations)
126
- observation = informations
86
+ def fisco?
87
+ @xml['infAdic/infAdFisco'].to_s.present?
88
+ end
127
89
 
128
- address = Helper.generate_address @xml
129
- if Helper.address_is_too_big @pdf, address
130
- observation = "#{observation} * Endereço: #{address}"
90
+ def generate_y_position(volumes_number)
91
+ if volumes_number > 1
92
+ return Y_POSITION + 0.30 + volumes_number * 0.15 + 0.2
131
93
  end
94
+ Y_POSITION + 0.30
95
+ end
96
+
97
+ def additional_data?
98
+ complementary? || address? || difal? || fisco?
99
+ end
132
100
 
133
- observation
101
+ def render_reserved_fisco
102
+ @pdf.ibox 2.65, 7.15, 13.20, @y_position, I18n.t('danfe.infAdic.reserved')
134
103
  end
135
104
  end
136
105
  end
@@ -0,0 +1,101 @@
1
+ module BrDanfe
2
+ module DanfeLib
3
+ class InfadicVol
4
+ def initialize(xml, pdf)
5
+ @xml = xml
6
+ @pdf = pdf
7
+ @y_position = 27.56
8
+ end
9
+
10
+ def render
11
+ render_volume_title
12
+ render_volume
13
+ end
14
+
15
+ private
16
+
17
+ def render_volume_title
18
+ @pdf.ibox 2.65, 12.45, 0.75, @y_position + 0.30, '', I18n.t('danfe.infAdic.vol.title'), size: 5, valign: :top,
19
+ border: 0
20
+ end
21
+
22
+ def render_volume
23
+ volumes = 0
24
+ y_position = @y_position + 0.47
25
+
26
+ @xml.collect('xmlns', 'vol') do |det|
27
+ volumes += 1
28
+
29
+ if volumes > 1
30
+ render_fields det, y_position
31
+ y_position += 0.15
32
+ end
33
+ end
34
+ end
35
+
36
+ def render_fields(det, y_position)
37
+ render_esp det, y_position
38
+ render_marca det, y_position
39
+ render_qvol det, y_position
40
+ render_nvol det, y_position
41
+ render_pesob det, y_position
42
+ render_pesol det, y_position
43
+ end
44
+
45
+ def render_esp(det, y_position)
46
+ render_item_title 0.5, 1.35, 'esp', y_position
47
+ render_item_field det.css('esp').text, 3, 1.75, y_position
48
+ end
49
+
50
+ def render_item_title(width, x_position, field, y_position)
51
+ label = I18n.t("danfe.infAdic.vol.#{field}")
52
+ @pdf.ibox 0.35, width, x_position, y_position, '', label, style_normal
53
+ end
54
+
55
+ def style_normal
56
+ { size: 4, border: 0 }
57
+ end
58
+
59
+ def render_item_field(value, width, x_position, y_position)
60
+ @pdf.ibox 0.35, width, x_position, y_position, '', value, style_italic
61
+ end
62
+
63
+ def style_italic
64
+ style_normal.merge(style: :italic)
65
+ end
66
+
67
+ def render_marca(det, y_position)
68
+ render_item_title 0.7, 4.15, 'marca', y_position
69
+ render_item_field det.css('marca').text, 2, 4.75, y_position
70
+ end
71
+
72
+ def render_qvol(det, y_position)
73
+ render_item_title 0.7, 0.75, 'qVol', y_position
74
+ render_item_field det.css('qVol').text, 0.7, 1.04, y_position
75
+ end
76
+
77
+ def render_nvol(det, y_position)
78
+ render_item_title 1, 6.1, 'nVol', y_position
79
+ render_item_field det.css('nVol').text, 1, 6.7, y_position
80
+ end
81
+
82
+ def render_pesob(det, y_position)
83
+ render_item_title 1.3, 7, 'pesoB', y_position
84
+ render_peso_item_field det.css('pesoB').text, 1.3, 7, y_position
85
+ end
86
+
87
+ def render_peso_item_field(value, width, x_position, y_pos)
88
+ @pdf.inumeric 0.35, width, x_position, y_pos, '', value, style_decimal
89
+ end
90
+
91
+ def style_decimal
92
+ style_italic.merge(decimals: 3)
93
+ end
94
+
95
+ def render_pesol(det, y_position)
96
+ render_item_title 0.9, 8.5, 'pesoL', y_position
97
+ render_peso_item_field det.css('pesoL').text, 1.5, 8.5, y_position
98
+ end
99
+ end
100
+ end
101
+ end
@@ -1,3 +1,3 @@
1
1
  module BrDanfe
2
- VERSION = '0.10.1'.freeze
2
+ VERSION = '0.11.0'.freeze
3
3
  end
@@ -125,10 +125,10 @@ describe BrDanfe::Danfe do
125
125
  it "renders xml to the pdf" do
126
126
  expect(File.exist?(output_pdf)).to be_falsey
127
127
 
128
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}withot_issqn.xml"))
128
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}without_issqn.xml"))
129
129
  danfe.save_pdf output_pdf
130
130
 
131
- expect("#{base_dir}withot_issqn.fixture.pdf").to have_same_content_of file: output_pdf
131
+ expect("#{base_dir}without_issqn.fixture.pdf").to have_same_content_of file: output_pdf
132
132
  end
133
133
  end
134
134
 
@@ -17,7 +17,7 @@ endobj
17
17
  >>
18
18
  endobj
19
19
  4 0 obj
20
- << /Length 2548
20
+ << /Length 2884
21
21
  >>
22
22
  stream
23
23
  q
@@ -40,198 +40,198 @@ ET
40
40
 
41
41
 
42
42
  BT
43
- 23.2598 83.5771 Td
44
- /F1.0 5 Tf
45
- [<56> 111 <616c6f72657320746f7461697320646f2049434d5320496e746572657374616475616c3a20444946> 74 <414c2064612055462064657374696e6f205224322e3931352c3738202b20464350205224342e3839322c37383b20444946> 74 <414c206461205546204f726967656d20522437352e3339342c37382e>] TJ
46
- ET
47
-
48
-
49
- BT
50
- 23.2598 75.9236 Td
43
+ 23.2598 80.7425 Td
51
44
  /F1.0 5 Tf
52
45
  [<434f4e54494e55> 40 <41> 40 <c7c3> 55 <4f205452414e53504f52> 60 <54> 93 <41444f522f56> 40 <4f4c554d4553205452414e53504f52> 60 <54> 93 <41444f53>] TJ
53
46
  ET
54
47
 
55
48
 
56
49
  BT
57
- 23.2598 71.7877 Td
50
+ 40.2677 76.6066 Td
58
51
  /F1.0 4 Tf
59
- [<51> 10 <55> 40 <414e54> 74 <2e3a>] TJ
52
+ [<455350> 111 <2e3a>] TJ
60
53
  ET
61
54
 
62
55
 
63
56
  BT
64
- 31.4803 71.7877 Td
57
+ 51.6063 76.6066 Td
65
58
  /F3.0 4 Tf
66
- [<32>] TJ
59
+ [<56> 30 <4f4c554d45532032>] TJ
67
60
  ET
68
61
 
69
62
 
70
63
  BT
71
- 40.2677 71.7877 Td
64
+ 119.6378 76.6066 Td
72
65
  /F1.0 4 Tf
73
- [<455350> 111 <2e3a>] TJ
66
+ [<4d415243413a>] TJ
74
67
  ET
75
68
 
76
69
 
77
70
  BT
78
- 51.6063 71.7877 Td
71
+ 136.6457 76.6066 Td
79
72
  /F3.0 4 Tf
80
- [<56> 30 <4f4c554d45532032>] TJ
73
+ [<4449564552534f532032>] TJ
81
74
  ET
82
75
 
83
76
 
84
77
  BT
85
- 119.6378 71.7877 Td
78
+ 23.2598 76.6066 Td
86
79
  /F1.0 4 Tf
87
- [<4d415243413a>] TJ
80
+ [<51> 10 <55> 40 <414e54> 74 <2e3a>] TJ
88
81
  ET
89
82
 
90
83
 
91
84
  BT
92
- 136.6457 71.7877 Td
85
+ 31.4803 76.6066 Td
93
86
  /F3.0 4 Tf
94
- [<4449564552534f532032>] TJ
87
+ [<32>] TJ
95
88
  ET
96
89
 
97
90
 
98
91
  BT
99
- 174.9134 71.7877 Td
92
+ 174.9134 76.6066 Td
100
93
  /F1.0 4 Tf
101
94
  [<4e554d2e3a>] TJ
102
95
  ET
103
96
 
104
97
 
105
98
  BT
106
- 191.9213 71.7877 Td
99
+ 191.9213 76.6066 Td
107
100
  /F3.0 4 Tf
108
101
  [<32>] TJ
109
102
  ET
110
103
 
111
104
 
112
105
  BT
113
- 200.4252 71.7877 Td
106
+ 200.4252 76.6066 Td
114
107
  /F1.0 4 Tf
115
108
  [<5045534f20422e3a>] TJ
116
109
  ET
117
110
 
118
111
 
119
112
  BT
120
- 217.2756 71.7877 Td
113
+ 217.2756 76.6066 Td
121
114
  /F3.0 4 Tf
122
115
  [<322e3230302c303030>] TJ
123
116
  ET
124
117
 
125
118
 
126
119
  BT
127
- 242.9449 71.7877 Td
120
+ 242.9449 76.6066 Td
128
121
  /F1.0 4 Tf
129
122
  [<5045534f204ccd512e3a>] TJ
130
123
  ET
131
124
 
132
125
 
133
126
  BT
134
- 265.4646 71.7877 Td
127
+ 265.4646 76.6066 Td
135
128
  /F3.0 4 Tf
136
129
  [<322e3030302c303030>] TJ
137
130
  ET
138
131
 
139
132
 
140
133
  BT
141
- 23.2598 67.5357 Td
134
+ 40.2677 72.3546 Td
142
135
  /F1.0 4 Tf
143
- [<51> 10 <55> 40 <414e54> 74 <2e3a>] TJ
136
+ [<455350> 111 <2e3a>] TJ
144
137
  ET
145
138
 
146
139
 
147
140
  BT
148
- 31.4803 67.5357 Td
141
+ 51.6063 72.3546 Td
149
142
  /F3.0 4 Tf
150
- [<33>] TJ
143
+ [<56> 30 <4f4c554d45532033>] TJ
151
144
  ET
152
145
 
153
146
 
154
147
  BT
155
- 40.2677 67.5357 Td
148
+ 119.6378 72.3546 Td
156
149
  /F1.0 4 Tf
157
- [<455350> 111 <2e3a>] TJ
150
+ [<4d415243413a>] TJ
158
151
  ET
159
152
 
160
153
 
161
154
  BT
162
- 51.6063 67.5357 Td
155
+ 136.6457 72.3546 Td
163
156
  /F3.0 4 Tf
164
- [<56> 30 <4f4c554d45532033>] TJ
157
+ [<4449564552534f532033>] TJ
165
158
  ET
166
159
 
167
160
 
168
161
  BT
169
- 119.6378 67.5357 Td
162
+ 23.2598 72.3546 Td
170
163
  /F1.0 4 Tf
171
- [<4d415243413a>] TJ
164
+ [<51> 10 <55> 40 <414e54> 74 <2e3a>] TJ
172
165
  ET
173
166
 
174
167
 
175
168
  BT
176
- 136.6457 67.5357 Td
169
+ 31.4803 72.3546 Td
177
170
  /F3.0 4 Tf
178
- [<4449564552534f532033>] TJ
171
+ [<33>] TJ
179
172
  ET
180
173
 
181
174
 
182
175
  BT
183
- 174.9134 67.5357 Td
176
+ 174.9134 72.3546 Td
184
177
  /F1.0 4 Tf
185
178
  [<4e554d2e3a>] TJ
186
179
  ET
187
180
 
188
181
 
189
182
  BT
190
- 191.9213 67.5357 Td
183
+ 191.9213 72.3546 Td
191
184
  /F3.0 4 Tf
192
185
  [<33>] TJ
193
186
  ET
194
187
 
195
188
 
196
189
  BT
197
- 200.4252 67.5357 Td
190
+ 200.4252 72.3546 Td
198
191
  /F1.0 4 Tf
199
192
  [<5045534f20422e3a>] TJ
200
193
  ET
201
194
 
202
195
 
203
196
  BT
204
- 217.2756 67.5357 Td
197
+ 217.2756 72.3546 Td
205
198
  /F3.0 4 Tf
206
199
  [<332e3330302c303030>] TJ
207
200
  ET
208
201
 
209
202
 
210
203
  BT
211
- 242.9449 67.5357 Td
204
+ 242.9449 72.3546 Td
212
205
  /F1.0 4 Tf
213
206
  [<5045534f204ccd512e3a>] TJ
214
207
  ET
215
208
 
216
209
 
217
210
  BT
218
- 265.4646 67.5357 Td
211
+ 265.4646 72.3546 Td
219
212
  /F3.0 4 Tf
220
213
  [<332e3030302c303030>] TJ
221
214
  ET
222
215
 
223
216
 
224
217
  BT
225
- 23.2598 56.2485 Td
218
+ 23.2598 61.6343 Td
226
219
  /F1.0 6 Tf
227
- [<4f555452415320494e464f524d41> 40 <c7d54553>] TJ
220
+ [<4c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e73656374657475722061646970697363696e6720656c69742e20446f6e656320636f6e67756520696e20646f6c6f72207365642073616769747469732e202a20456e64657265e76f3a2041> 74 <7620646120536175646164652031313235202d20456d20616e65> 15 <786f20616f>] TJ
228
221
  ET
229
222
 
230
223
 
231
224
  BT
232
- 23.2598 51.2622 Td
233
- /F1.0 5 Tf
234
- [<556d61206f6273657276> 25 <61e7e36f>] TJ
225
+ 23.2598 54.9383 Td
226
+ /F1.0 6 Tf
227
+ [<7375706572206d65726361646f206d61696f7220646f2062616972726f202a2056> 111 <616c6f72657320746f7461697320646f2049434d5320496e746572657374616475616c3a20444946> 74 <414c2064612055462064657374696e6f205224322e3931352c3738202b20464350205224342e3839322c37383b20444946> 74 <414c206461205546>] TJ
228
+ ET
229
+
230
+
231
+ BT
232
+ 23.2598 48.2423 Td
233
+ /F1.0 6 Tf
234
+ [<4f726967656d20522437352e3339342c37382e202a2054> 80 <6f74616c206465204643502d5354> 50 <3a203334382c3936>] TJ
235
235
  ET
236
236
 
237
237
  374.1732 21.5433 202.6772 75.1181 re
@@ -288,15 +288,15 @@ xref
288
288
  0000000109 00000 n
289
289
  0000000158 00000 n
290
290
  0000000215 00000 n
291
- 0000002815 00000 n
292
- 0000003019 00000 n
293
- 0000003117 00000 n
294
- 0000003216 00000 n
291
+ 0000003151 00000 n
292
+ 0000003355 00000 n
293
+ 0000003453 00000 n
294
+ 0000003552 00000 n
295
295
  trailer
296
296
  << /Size 9
297
297
  /Root 2 0 R
298
298
  /Info 1 0 R
299
299
  >>
300
300
  startxref
301
- 3316
301
+ 3652
302
302
  %%EOF