kpqc 0.1.0 → 0.2.0

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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/Gemfile +4 -0
  4. data/README.md +9 -6
  5. data/THIRD_PARTY_NOTICES.md +14 -47
  6. data/ext/kpqc/extconf_helper.rb +6 -3
  7. data/ext/kpqc/secure_clear.c +8 -0
  8. data/kpqc.gemspec +4 -5
  9. data/lib/kpqc/aimer.rb +6 -6
  10. data/lib/kpqc/version.rb +1 -2
  11. data/test/kat/aimer128f.rsp +4 -4
  12. data/test/kat/aimer128s.rsp +4 -4
  13. data/test/kat/aimer192f.rsp +4 -4
  14. data/test/kat/aimer192s.rsp +4 -4
  15. data/test/kat/aimer256f.rsp +4 -4
  16. data/test/kat/aimer256s.rsp +4 -4
  17. data/test/kat/haetae2.rsp +1 -1
  18. data/test/kat/haetae3.rsp +1 -1
  19. data/test/kat/haetae5.rsp +1 -1
  20. data/vendor/AIMer/LICENSE +1 -1
  21. data/vendor/AIMer/aim3.c +227 -0
  22. data/vendor/AIMer/aim3.h +63 -0
  23. data/vendor/AIMer/field.h +12 -4
  24. data/vendor/AIMer/field128.c +24 -381
  25. data/vendor/AIMer/field192.c +24 -400
  26. data/vendor/AIMer/field256.c +28 -447
  27. data/vendor/AIMer/field_common.c +98 -0
  28. data/vendor/AIMer/field_internal.h +218 -0
  29. data/vendor/AIMer/params/params-aimer-128f.h +8 -8
  30. data/vendor/AIMer/params/params-aimer-128s.h +8 -8
  31. data/vendor/AIMer/params/params-aimer-192f.h +8 -8
  32. data/vendor/AIMer/params/params-aimer-192s.h +8 -8
  33. data/vendor/AIMer/params/params-aimer-256f.h +8 -8
  34. data/vendor/AIMer/params/params-aimer-256s.h +8 -8
  35. data/vendor/AIMer/params.h +5 -0
  36. data/vendor/AIMer/sign.c +246 -167
  37. data/vendor/AIMer/sign.h +6 -6
  38. data/vendor/AIMer/tree.c +10 -4
  39. data/vendor/AIMer/tree.h +1 -1
  40. data/vendor/HAETAE/include/fixpoint.h +14 -14
  41. data/vendor/HAETAE/include/rans_byte.h +10 -9
  42. data/vendor/HAETAE/src/decompose.c +8 -4
  43. data/vendor/HAETAE/src/encoding.c +5 -5
  44. data/vendor/HAETAE/src/fft.c +1 -1
  45. data/vendor/HAETAE/src/fips202.c +26 -14
  46. data/vendor/HAETAE/src/fixpoint.c +21 -18
  47. data/vendor/HAETAE/src/ntt.c +2 -0
  48. data/vendor/HAETAE/src/packing.c +15 -15
  49. data/vendor/HAETAE/src/poly.c +30 -3
  50. data/vendor/HAETAE/src/polyfix.c +2 -2
  51. data/vendor/HAETAE/src/polymat.c +2 -2
  52. data/vendor/HAETAE/src/polyvec.c +7 -5
  53. data/vendor/HAETAE/src/reduce.c +2 -0
  54. data/vendor/HAETAE/src/sampler.c +231 -47
  55. data/vendor/HAETAE/src/sign.c +11 -10
  56. data/vendor/NTRUplus/NTRU+1152/api.h +27 -8
  57. data/vendor/NTRUplus/NTRU+1152/fips202/fips202.c +12 -269
  58. data/vendor/NTRUplus/NTRU+1152/fips202/fips202.h +4 -113
  59. data/vendor/NTRUplus/NTRU+1152/kem.c +110 -40
  60. data/vendor/NTRUplus/NTRU+1152/ntt.c +50 -54
  61. data/vendor/NTRUplus/NTRU+1152/poly.c +21 -13
  62. data/vendor/NTRUplus/NTRU+1152/poly.h +3 -3
  63. data/vendor/NTRUplus/NTRU+1152/randombytes.h +1 -0
  64. data/vendor/NTRUplus/NTRU+1152/symmetric.c +3 -9
  65. data/vendor/NTRUplus/NTRU+1152/symmetric.h +13 -3
  66. data/vendor/NTRUplus/NTRU+1152/util.h +15 -0
  67. data/vendor/NTRUplus/NTRU+768/api.h +27 -8
  68. data/vendor/NTRUplus/NTRU+768/fips202/fips202.c +12 -269
  69. data/vendor/NTRUplus/NTRU+768/fips202/fips202.h +4 -113
  70. data/vendor/NTRUplus/NTRU+768/kem.c +110 -40
  71. data/vendor/NTRUplus/NTRU+768/ntt.c +50 -54
  72. data/vendor/NTRUplus/NTRU+768/poly.c +23 -13
  73. data/vendor/NTRUplus/NTRU+768/poly.h +3 -3
  74. data/vendor/NTRUplus/NTRU+768/randombytes.h +1 -0
  75. data/vendor/NTRUplus/NTRU+768/symmetric.c +3 -9
  76. data/vendor/NTRUplus/NTRU+768/symmetric.h +13 -3
  77. data/vendor/NTRUplus/NTRU+768/util.h +15 -0
  78. data/vendor/NTRUplus/NTRU+864/api.h +27 -8
  79. data/vendor/NTRUplus/NTRU+864/fips202/fips202.c +12 -269
  80. data/vendor/NTRUplus/NTRU+864/fips202/fips202.h +4 -113
  81. data/vendor/NTRUplus/NTRU+864/kem.c +110 -40
  82. data/vendor/NTRUplus/NTRU+864/ntt.c +24 -28
  83. data/vendor/NTRUplus/NTRU+864/poly.c +26 -12
  84. data/vendor/NTRUplus/NTRU+864/poly.h +3 -3
  85. data/vendor/NTRUplus/NTRU+864/randombytes.h +1 -0
  86. data/vendor/NTRUplus/NTRU+864/symmetric.c +3 -9
  87. data/vendor/NTRUplus/NTRU+864/symmetric.h +13 -3
  88. data/vendor/NTRUplus/NTRU+864/util.h +15 -0
  89. data/vendor/SMAUG-T/src/cbd.c +4 -4
  90. data/vendor/SMAUG-T/src/ciphertext.c +2 -2
  91. data/vendor/SMAUG-T/src/dg.c +2 -2
  92. data/vendor/SMAUG-T/src/hwt.c +4 -4
  93. data/vendor/SMAUG-T/src/indcpa.c +5 -5
  94. data/vendor/SMAUG-T/src/kem.c +9 -7
  95. data/vendor/SMAUG-T/src/key.c +2 -2
  96. data/vendor/SMAUG-T/src/pack.c +8 -8
  97. metadata +17 -42
  98. data/vendor/AIMer/aim2.c +0 -163
  99. data/vendor/AIMer/aim2.h +0 -36
  100. data/vendor/AIMer/aim2_constant.h +0 -74
  101. data/vendor/SOURCES.json +0 -130
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f95c1887b2a5ec7382d85fc701193a27404ba01a3618d69686530a310cd48259
4
- data.tar.gz: 71e65d041b8a9c828db977f7676aaf26c3d7e330278498867a6823b4146696a3
3
+ metadata.gz: 62b5c05c4a099ed480898de92399ea5bc5afcdcd15aef2192773187bf51cb779
4
+ data.tar.gz: aa315f890bf4242423749e2e864b381f91145a6c5ab15d55e3e632495506e556
5
5
  SHA512:
6
- metadata.gz: 6cfa24eef04e809b60842ee49dd858c950797b33a462dcb87eb59c5db46b7df97fc1180f941a55f84e4ccc96a2168bc07c511591fed9b8876089ba2006a6cd6c
7
- data.tar.gz: ee190f6a25021501395dbf6403027521bac354433beb5fa7a5f0d5b9cc4db6f4afc530df309b7a1708c0513d48a77bd9623f32f4ffaf1e431d98028025f49b63
6
+ metadata.gz: cabb4f39af2279d6a0b4f47496e66beb09d6676e041da9be5c1e0e3633c0d326952d7639fe9a1477e05975609dd785546a8d4e35d0bf69e034344f3c79efcdd5
7
+ data.tar.gz: 197e9fd75a10d840a9e53d1ed3f7eaac4941f0470df948ee7fd08443f8d9fc01073aaeb14062b0dd164ed8d77f06dabc553dccb99344e2af1d53d00e553676fb
data/CHANGELOG.md ADDED
@@ -0,0 +1,15 @@
1
+ # Changelog
2
+
3
+ ## 0.2.0
4
+
5
+ - Updated the bundled reference implementations.
6
+ - Replaced AIM2 with AIM3 and updated AIMer signature sizes.
7
+ - AIMer keys and signatures from 0.1.x are not compatible with this release.
8
+
9
+ ## 0.1.1
10
+
11
+ - Aligned package metadata and documentation with sibling KpqC packages.
12
+
13
+ ## 0.1.0
14
+
15
+ - Initial release.
data/Gemfile CHANGED
@@ -2,3 +2,7 @@ source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
+ group :development, :test do
6
+ gem "minitest", ">= 5.10"
7
+ gem "rake", ">= 12.3"
8
+ end
data/README.md CHANGED
@@ -14,6 +14,9 @@ KpqC provides synchronous Ruby APIs for AIMer, HAETAE, NTRU+, and SMAUG-T.
14
14
  gem install kpqc
15
15
  ```
16
16
 
17
+ KpqC 0.2.0 uses AIM3. AIMer keys and signatures from the 0.1.x AIM2 release
18
+ are not compatible with this version.
19
+
17
20
  ## Available schemes
18
21
 
19
22
  | Algorithm | Type | Exports |
@@ -125,12 +128,12 @@ All sizes are in bytes.
125
128
 
126
129
  | Algorithm | Public key | Secret key | Signature |
127
130
  | --- | ---: | ---: | ---: |
128
- | `aimer128f` | 32 | 48 | 5,888 |
129
- | `aimer128s` | 32 | 48 | 4,160 |
130
- | `aimer192f` | 48 | 72 | 13,056 |
131
- | `aimer192s` | 48 | 72 | 9,120 |
132
- | `aimer256f` | 64 | 96 | 25,120 |
133
- | `aimer256s` | 64 | 96 | 17,056 |
131
+ | `aimer128f` | 32 | 48 | 6,944 |
132
+ | `aimer128s` | 32 | 48 | 4,704 |
133
+ | `aimer192f` | 48 | 72 | 15,408 |
134
+ | `aimer192s` | 48 | 72 | 10,320 |
135
+ | `aimer256f` | 64 | 96 | 31,360 |
136
+ | `aimer256s` | 64 | 96 | 20,224 |
134
137
  | `haetae2` | 992 | 1,408 | 1,474 |
135
138
  | `haetae3` | 1,472 | 2,112 | 2,349 |
136
139
  | `haetae5` | 2,080 | 2,752 | 2,948 |
@@ -1,53 +1,20 @@
1
1
  # Third-party notices
2
2
 
3
- The native extensions published in this gem contain code from the following
4
- KpqC reference implementations:
3
+ This package includes code from the following upstream reference
4
+ implementations:
5
5
 
6
- - AIMer reference implementation, by the AIMer team / Samsung SDS
7
- - HAETAE reference implementation, Copyright (c) 2026 Team HAETAE
8
- - NTRU+ reference implementation, Copyright (c) 2024–2026 NTRU+ TEAM
9
- - SMAUG-T reference implementation, Copyright (c) 2026 Team SMAUG-T
6
+ - [AIMer](https://github.com/samsungsds-opensource/AIMer/tree/5f786ccd572d7bc2f92cf9f662e2c6cab2c45fa2), Copyright (c) 2022–2026 SAMSUNG SDS
7
+ - [HAETAE](https://github.com/CryptoLabInc/HAETAE/tree/3130c9e26670a3406af31e2aa73ef73b223acf49), Copyright (c) 2026 Team HAETAE
8
+ - [NTRU+](https://github.com/ntruplus/ntruplus/tree/9b607231246fc2eb8b93634ff4bb94ecf1f62c75), Copyright (c) 2024–2026 NTRU+ TEAM
9
+ - [SMAUG-T](https://github.com/CryptoLabInc/SMAUG-T/tree/3cd19f3c8531a95c06010846a832b0e8ece4f939), Copyright (c) 2026 Team SMAUG-T
10
10
 
11
- These components are distributed under the MIT License. Full original license
12
- texts are included in the gem source distribution.
11
+ These components are distributed under the MIT License. Their original license
12
+ texts are included under `vendor/` and with the package.
13
13
 
14
- Imported on 2026-09-06. `vendor/SOURCES.json` records the SHA-256 of each
15
- source file before the shared KpqC binding adaptations, under its destination
16
- path. Original NIST notices in AIMer headers are preserved; we acknowledge
17
- NIST as the source of the software identified by those notices.
14
+ ## Local adaptations
18
15
 
19
- The SHA-3/SHAKE code is based on public-domain implementations by Ronny Van
20
- Keer and on TweetFips202 by Gilles Van Assche, Daniel J. Bernstein and Peter
21
- Schwabe.
22
-
23
- ## Source and Ruby binding adaptations
24
-
25
- - Production entropy uses operating-system random-number sources through
26
- `ext/kpqc/randombytes.c`. Upstream RNG/CTR-DRBG/AES implementations and
27
- benchmark/KAT executables are not compiled or shipped as runtime components.
28
- - AIMer, HAETAE, NTRU+, and SMAUG-T public operations check RNG return codes.
29
- NTRU+ RNG declarations return `int` to propagate failure. The optional
30
- random-seed branch in SMAUG-T's `indcpa_enc` also stops on RNG failure.
31
- - AIMer and NTRU+ SHA-3/SHAKE contexts use embedded storage and wipe it on
32
- release, avoiding process termination when heap allocation fails. AIMer
33
- signing and verification allocation failures propagate to Ruby as
34
- `KpqC::Error` or `NoMemoryError`.
35
- - The imported SMAUG-T sources include full-vector initialization in `key.c`,
36
- corrected output indexing in `dg.c`, and the correct output buffer size in
37
- `packring.c`.
38
- - Unused HAETAE helper code and local variables were removed, and a SMAUG-T
39
- loop counter was changed to `size_t` to match its bound.
40
- - Parameter sets are built as separate Ruby extensions with their upstream
41
- configuration macros and hidden C symbols. The binding validates input sizes
42
- before entering C and wipes unpublished outputs on failure.
43
-
44
- The bundled implementations are the same adapted cores used to generate the
45
- npm package's JavaScript runtime.
46
-
47
- ## Known-answer tests
48
-
49
- `test/kat` contains the first KAT record for every parameter set. AIMer,
50
- HAETAE, and NTRU+ records come from their reference implementations. SMAUG-T
51
- records reflect the documented source fixes also used by the npm and PyPI
52
- packages. The tests reproduce the NIST AES-256 CTR DRBG and compare keys,
53
- signatures, ciphertexts, and shared secrets byte-for-byte.
16
+ KpqC replaces reference test randomness with operating-system entropy,
17
+ propagates failures across the native boundary, and isolates symbols for each
18
+ parameter set. SHA-3 contexts use embedded storage and sensitive state is
19
+ cleared where the native API permits. The AIMer NIST notice is preserved in
20
+ the vendored license; NIST is acknowledged as the source identified there.
@@ -15,7 +15,7 @@ module KpqCBuild
15
15
  configure(
16
16
  name,
17
17
  [root, File.join(root, "common")],
18
- ["aim2.c", "hash.c", "sign.c", "tree.c",
18
+ ["aim3.c", "field_common.c", "hash.c", "sign.c", "tree.c",
19
19
  "field#{parameter[0, 3]}.c", "fips202.c"],
20
20
  "PARAMS" => parameter,
21
21
  "KPQC_SIGNATURE" => 1,
@@ -44,8 +44,11 @@ module KpqCBuild
44
44
  configure(
45
45
  name,
46
46
  [root, File.join(root, "fips202")],
47
- %w[kem.c ntt.c poly.c symmetric.c fips202.c],
48
- {}
47
+ %w[secure_clear.c kem.c ntt.c poly.c symmetric.c fips202.c],
48
+ "crypto_kem_keypair" => "kpqc_#{name}_keypair",
49
+ "crypto_kem_enc" => "kpqc_#{name}_encapsulate",
50
+ "crypto_kem_dec" => "kpqc_#{name}_decapsulate",
51
+ "secure_clear" => "kpqc_#{name}_secure_clear"
49
52
  )
50
53
  end
51
54
 
@@ -0,0 +1,8 @@
1
+ /* SPDX-License-Identifier: MIT */
2
+ #include <stddef.h>
3
+ #include <stdint.h>
4
+
5
+ void secure_clear(void *value, size_t length) {
6
+ volatile uint8_t *bytes = value;
7
+ while (length-- > 0) *bytes++ = 0;
8
+ }
data/kpqc.gemspec CHANGED
@@ -12,30 +12,29 @@ Gem::Specification.new do |spec|
12
12
  spec.description =
13
13
  "Synchronous Ruby bindings for the bundled AIMer and HAETAE signature " \
14
14
  "schemes and NTRU+ and SMAUG-T key-encapsulation mechanisms."
15
- spec.homepage = "https://github.com/osuolfou/kpqc-rb"
15
+ spec.homepage = "https://github.com/KpqC/kpqc-ruby"
16
16
  spec.license = "MIT"
17
17
  spec.required_ruby_version = Gem::Requirement.new(">= 2.6.0")
18
18
 
19
19
  spec.metadata["source_code_uri"] = spec.homepage
20
20
  spec.metadata["bug_tracker_uri"] = "#{spec.homepage}/issues"
21
+ spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/main/CHANGELOG.md"
21
22
  spec.metadata["rubygems_mfa_required"] = "true"
22
23
 
23
24
  spec.files = Dir[
24
25
  "lib/**/*.rb",
25
26
  "ext/**/*.{rb,c,h}",
26
- "vendor/**/*.{c,h,json}",
27
+ "vendor/**/*.{c,h}",
27
28
  "vendor/**/LICENSE",
28
29
  "test/**/*.{rb,mjs,rsp}",
29
30
  "Gemfile",
30
31
  "kpqc.gemspec",
31
32
  "Rakefile",
32
33
  "README.md",
34
+ "CHANGELOG.md",
33
35
  "LICENSE",
34
36
  "THIRD_PARTY_NOTICES.md"
35
37
  ]
36
38
  spec.require_paths = ["lib"]
37
39
  spec.extensions = Dir["ext/kpqc/*/extconf.rb"].sort
38
-
39
- spec.add_development_dependency "rake", ">= 12.3"
40
- spec.add_development_dependency "minitest", ">= 5.10"
41
40
  end
data/lib/kpqc/aimer.rb CHANGED
@@ -6,22 +6,22 @@ module KpqC
6
6
  # AIMer signature parameter sets.
7
7
  module Aimer
8
8
  AIMER128F = SignatureAlgorithm.new(
9
- "aimer-128f", SignatureSizes.new(32, 48, 5_888), "aimer128f"
9
+ "aimer-128f", SignatureSizes.new(32, 48, 6_944), "aimer128f"
10
10
  )
11
11
  AIMER128S = SignatureAlgorithm.new(
12
- "aimer-128s", SignatureSizes.new(32, 48, 4_160), "aimer128s"
12
+ "aimer-128s", SignatureSizes.new(32, 48, 4_704), "aimer128s"
13
13
  )
14
14
  AIMER192F = SignatureAlgorithm.new(
15
- "aimer-192f", SignatureSizes.new(48, 72, 13_056), "aimer192f"
15
+ "aimer-192f", SignatureSizes.new(48, 72, 15_408), "aimer192f"
16
16
  )
17
17
  AIMER192S = SignatureAlgorithm.new(
18
- "aimer-192s", SignatureSizes.new(48, 72, 9_120), "aimer192s"
18
+ "aimer-192s", SignatureSizes.new(48, 72, 10_320), "aimer192s"
19
19
  )
20
20
  AIMER256F = SignatureAlgorithm.new(
21
- "aimer-256f", SignatureSizes.new(64, 96, 25_120), "aimer256f"
21
+ "aimer-256f", SignatureSizes.new(64, 96, 31_360), "aimer256f"
22
22
  )
23
23
  AIMER256S = SignatureAlgorithm.new(
24
- "aimer-256s", SignatureSizes.new(64, 96, 17_056), "aimer256s"
24
+ "aimer-256s", SignatureSizes.new(64, 96, 20_224), "aimer256s"
25
25
  )
26
26
  private_constant :AIMER128F, :AIMER128S, :AIMER192F, :AIMER192S,
27
27
  :AIMER256F, :AIMER256S
data/lib/kpqc/version.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KpqC
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
6
-
@@ -4,7 +4,7 @@ count = 0
4
4
  seed = 061550234D158C5EC95595FE04EF7A25767F2E24CC2BC479D09D86DC9ABCFDE7056A8C266F9EF97ED08541DBD2E1FFA1
5
5
  mlen = 33
6
6
  msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8
7
- pk = 91282214654CB55E7C2CACD53919604D62D94FED0FFB9282B6BE7963F9B1F0C0
8
- sk = 7C9935A0B07694AA0C6D10E4DB6B1ADD91282214654CB55E7C2CACD53919604D62D94FED0FFB9282B6BE7963F9B1F0C0
9
- smlen = 5921
10
- sm = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC82C588AD58E2D6910A929716C9AA6EA449BDB0941A28770D3F5512C23F7233940E4E4B2DD742ADCCE963870EC61A1BF375DD3095D2708955E126389F7F25D08C5B9BFB9BF4761D821F6F593623FED56C10EDA370669DD2076BAB7FDD10E4CA95CD39F84218C9B6F8E4396A1811567B6CAFFC86494CA6AA389978CC244D4584F9AD95A385E92758F4ACED9782D867A37B6FFBFE30406A6E14B5A31609188BC9A535142D5D87842C8CC58089A8FC3C828BDE32F57311DD2D5A42C8ACD6B57E154EE6D5C336D52634219F0298464F431F0DB1E3258C5AAD99A2DB2F671679DBF22D8212B856DAEF8BB682083B2D14DD4C8BED14BBCA053BE9290A074CB1ADC31C56755B46C040EFB2574018A618347A3839CFE2F7861B417C46C716A0D28E2143DF8F6FA3BDE0543C868504AB1000BA294F60E57AA4EFE5806BB5DA1BDEFCA41F01730FC54961E0D5B268D621BB007CAF69176478CEF96ED1D34659CD92B7745F957FED9A8E30858416FC24776C2B320B44867901DF6EC1EFAC3D54F4857A6AAFE1DCC6F94ED57CAA4A429C788AB8335F95EEEAE720B08384181879FC4EFFFDF38EA6AE45715D6A014D03ACDD3AA14F78E91DD573256B9A76AE626B00CB79BE43C770FBE90C98C1F94250C93B88FCC0E871101BB25C20FFFC7BA17D54C81033888723D92EF8574545C3E907E9F71A60B25F69F8A9651A1ABB01B51972E54ED9589ECC21D8D30DD76CBAA2BD23C0F63B7264BB223450DDD89305C0B5E3D3743C21D1264712AC4BDD9436C51A37BC40F83B376FFD5AA46E706C182B3572ED015A2ADF81590D1EC74C3D1560FE1F5A82D934CA3B1D9E3FE6D27A6222F296BCA7A57BA016699604BE1ADA1529FF14E4B5D39BF9BA7CE10EBAEE2F18228A5B7DC8AB33D7A6AB88B09FAE9BE1B110568B08E6AE32B7238625C3602CE974F9672E47B9C82B292C5A65F50DAFC10F1DBD591225EE9DBF6324A4A1C034E2CD6B951D949D3762197C0B159E866F359A79AF3B7322D33C16C780A8390A46E8EAF57C6F72A1B57E3EBEF97C61215E0245DDE8FFCA50C4CA7FFEA5AFF9FD59A70ACD79BE022A8ED397A7D2653B13D94C36705162F263B611485D4E0B3D2747EA95FD8BA65C0768430C65660568B404551D0A8268E06304C68A740BF404FBDE2595F54E92B98F08248CC08B8B07E7CD60B6891FAD7D7B603910C7EBC36DA0D8DFA629FAC75B12FD5B489CCC695A95D10F2E1A2215F7595756CBBA117AF7E0509DBAFBA4247FE5ECAE050DB80D143B5C6997E87A480880B849D917FC4B886CE2937975A0B67D5DCC1553C0A62F10BF1B79F425965BFE15D8862C982F5D5193C3A238A5996EC0E57706D81742EF7C2162790CC12C11B979EBACC89157CC1FC675E92DCE6FBB052A71624E1AB5595995F3B722E968E1D620FBB6AA486A3D32B640D0CD185958EE02ED7EB4DE111E350AC38C7E5EA499FDF234971F4007AAA6FC4BED904EA1ABCC50BFFB24C1DC13CF298E985BFDFDBE3540D5E3E7C3F8470B7EA37547C63FF231BD40BFD49641B9152FE92A30B8ADC19732BBF247006A86A69001EA09AA22094800C768C15F26D47C82DA530BACC604676CBE3A55E508D608389EF0A969359FE2970B54D9CCA2C9900A49B438C9370082484F9642A904838A345117EF3E1F27250366CC01B8C74935B4BFC9B04BC44F52582F3753F5D2C03024D72710AE0A8C764D7EDEB5C5FA39F24D0FA38D96C7654BB4DBBDBEF480DB88AB2DB5CBA950E42AE32856699D9EAC3CE53181D16B12BD67BF0D7555C9CBB84A131448A0D35199FD58B29A03A25C3B69B68CDC7542EDD66F4687FBA6AD8732560593F82D27DAF0CEB31EC32CB99D5FD8F82FDB6EDF34E974828AF58AF718AFA816E0431195D72D34AC85D097B28B386B9E7F8223DB32B2776B3259633E97FFC891A0D30E4ECD67CBBFE44B0F98809F197CAEB46BFE692CC3C3A0AE7CBDF4DED6180BB61B41C87FA23744972A950F460DD84A186478AB5D51C6018A32CA4E9270A8CE8A48F89359EC50E7C4791943527E46B5A0E7F5835CE390CCCB5A6D5EF8C48B2FFE9EF87218E75F023BA9D0F4114E7E15DA4065485A6176BCB5331AC1FDF69AE1DB89A54748BF5551379642F9AA42BD32C67F24392D00F7B2DABF192074F1BB47C9A9093F16323CCC8F58328C97EE6366CD9F1335DCF0F6F373436D13FE6AE0BCCFA50B2B01427BB0E4878839F5304F7108FB6A9DCD0C6E10573DB98B2AD57BEADDE779F721763539C530009EF1003056542A26389617F79C477452F17B9A00C93CC93644F6B637ECB21B6B1901E20CF6F67F15520B2B55717B2A6FDAA419C24B63066D8FA9D9C3A35D9FEAF095E4779D0EE6F26EB40B1BC56A4ACB00A5DE16827B389C7387A7FFFD52766210421CD9F3223671794EE16572B5ACD4D4E03F4412A08C87EC0A8E60A0AC60E507EA11AE1D174BE4C43BB9B24F1C91EB9305FA3F3B03966776C7691790AF1331E4497CC45578FFCCB42F1C2FABB4D89EB06940B543903F7E85830CD96CD0E7E313D01E6F308BEE0DE9FB8D3E5898EA548D3989CDF122599AE78E95329C00BED611D47F2A50C6816F571360002E674205AFE0B467F3EADAA762CB154D1B8BDA3F0DF175A08841CB1B90B5293E4C6C3BC4FC2FE9C309996A4EE65457811A651B89F57324BA815DA49DA35798A0D9138ADBF94A479ED30034FB3F6119F56CB904C4B8585AC7A720B16AC36179896C0C152D1A14230348036889A31EED6DD0EFB9B9DE29E52435902915E5C85ECAF915593C9F9EA960CC661EF2C6467A7D43EA5AB651A459D4C00ADB8463C8044B704D0336C28950CCE8C62371406164AE7B153DAE2F698C75C37A8BDE0E086E56CC8809F642287466C462DAD48B4FB8CC9965DD21B854FC12179AAB0D63A50B4CEC97F79F66A15B56BF3FC6E990143418160C5FA48E780641047F904D488F18C35895C035F5B5F24EE888CA38922D2E71C93BA412FE170400267043A548982D9714BBB58D47E50DE8D37F80EF5C57D1B45C8F78A12A0DE0C174686577C2ADC8305B36D99412EAC9954DA9D1E10916458A98B102EAFC8B2F184F31B6CF1F7606DF7467438E30E345FCED813C4FA7C05D3A647E51571E25185447CCFE23E194D072D2189AAFCBB275AE308DFDA0DD0C0B4BEBEC011E23A7F5ABC959DA5C27869AED2E510BFC492954A2B0A493DEA2924AF20CC27D28096248D1FB1E7E35A2109652200F0B44422A6D3E7B47A59E2FD3526A4709898C225DE29D6CA9E1A411AF3AE7C0BEE8CC86AC77CBA0243E6E7EB9D4005BE037FDE0A47FBF98B11FFEFB973AC177C5CD50A969E2D29014F39EEE2EF2F2F9E011C27464C87588E2B92A921CFF176214A2EC721E4A60327561385DD1A0967034C768591FB16D6DD77329B42241B5834ADFE11F3BCC5F6F72888D2D4EB9E91E7E81B16856FB03D847AD41DF2AD7D762D6948E859A6E63CDBB2303E9F9C3C4E892DE991E2F2FEF4C93D6AC8F66ACFE5B0C560E0670C71D4C4CC5D9F8F8E8D9487A492AAA83E5676EC89FE208A1C39493E3DAFB1E48A4CF20B0274E15EAC697A9C1D0219F134515AE4074B0BAB3280EF3C05651448ACBEC25370810BF1D99F3E811A3EE041271D7E5C5E4E6A4F25510D48958F24C2283F9F5CCDAC6DE419D0DC3D5E70BB5C93D4D68CBBF83CF35B31116519AADA82040E8842F5C26E474A62D3F82F6F58D7628FB53E8B534728FBDB5BCFF8EB92CA6A214FED1EE1020F6CC5B68C3780EAFB0EE70D0E6F66A8C420E0E1BD88F35C1B20172177DB4CB7F40779E080A7350254E3E685A39E3FA1E5F6309C0047390117386F2EC0534D13BA4E045F206B5E96FFA4CE9510360C94FF68A961D0E773F00CD4D46D2FD5B2BB19D49009379741782BC859B03A833C5A702BFA10775909606E5BD2271897EFC23A8EAA0431B8E74B717C40A677F75611F67E63FDBDD126297732F40009AB84F846615ECD9233D573A4745E98F6BFB63183A7D045462CF4706BC0E0143CD1889FB711CC454D6B2DE41C699786CBE6442DFF67DFAAB825C44974AC142841D93FE9D3CBBB22F43D6BF7595ACEAAA68C946F96E6989D1E8EF95BE6287B249535C77F4384B8B2653C050CCF1205DC72667A6A433842CE6DC3D61CB09FE11340115AAE6DC7553E9EAE50EA676D8E2E92ACEBB5336F9B94DB252C0416A4C2DA97E4CFCE826647D5FAFC5CD100AF7D70A876C67F4E6E2D6EA0B5536757FD5E0EF6E53A24FA1C882AA94FB62A3D974D351F21E1B6D4107C43739385278E34A00193A2D9E72BB75255F7CD2DABA8D1563CB10E91148F84C1A71796D88D7A20D0659F78D5405916175F5FE5606C62C5D4BF9093425A9AFCD6AF626FFAA6E46BDA05DF4D3E91DAE481C88AD5452E32212A099E95E384FB351688FFE7C04ACF3408FF9CF0CF1F26AC4918680CB22364FF4800E7F93758F1F946E6F9859B3DF982436F9B84B63DDD63595212B0641BA74E2CDE0EEB43F904337C5D1E5EC176E14DA0BDEFAEC7D08FD4DF4B8998896A3A92ABB8C7C7CD23565AD2E169D6E1E4ACD564A6A9F1DE84C08FE3E7ED8C1496D31EBC6A3596FF78961E55C7332A6C8705689775094658A783D5F74E0FF09AF24A3293BB02909F25F33D8FA4A740EFC4015C0D4BF18C6698F79411BC7EC04244320E7E9B085FD5D8A4C5BEDF18D4BE59B8ADEB88EC97D8D481E3D40203A22BED04663A938282899F95CF294553D6DED17D9E7EE7495C83A29387D3022EE47C70D5B3495BDCD4088B67634E47AE178216B628F8EA38650A351141D525A6DBA357DFDD638C86F04A9FB991916D2C253DF441E466DAFB859167C5FF2D023B0492E016835EE51904F29A61FA8E5D84C90CB5BE396393A24725B8BF74036BA1CCAE4B8816DF1E5D99FE6BC88E2970E7EBA230077DF27FAFB8852B488ED5A3FFBD10108E8DD278FFF6233ACF6C1A0ECB92F2A34C7059DE7E14CDB4BA2C8BF40EEF3730260FD42C4589CFF55976EC9736D4FD53A79ED39015F86FEEC6748309FFC52B5D4FE648BCB0134C32699BB9EFC979FC2AFDE9C18DB88DE118B84732BAC0776967DB365FD541E6270C0F6104E86B0CDB4F43E0501C0F4017E622234CA645DD9769DBE775F28D4049AA4E04724EB606CC58207E80E87FD99BBD92FB7BEA0CF6BDAD63A72ADC6F6E52BBA944687532144DC226FC1F9EF71AF2A7DED106A7ABE24517F2F20E981F5E3B836D40F94519EA1B7E450317FB16E5ED7C79C0B370A3585432121D997B3B347FF42C188E5BB3D9B65A9AA7B1FE8F6D407620562D67BD75BDB828A48107026E0D3681E45251B160F607A487C92AF6A739D3EE67F36F040A16B66D0836588630D948C2F6C5D670AB398759B1080AE972DA3887B7D3689816811F8F23A399526FC367F1631506470D4A7B34722CEF488491261F56FEF44A7BDA0D1675142E0F044CD027572965CD0A1B0EB5CCF1E07D035EDAF90477C7C5087B84122B470C3C283E3C4EA822E27AF6AB788E99F4C43279E73C9CB02263888B028DEED5D77410E7ACEE33120CAEFF956B7D914D5F2A8DCED53EE8E370F6B3028A8E9A13E8E40EC2E16F418C1D64B547FD9B9B8682418FFC45E58421EBD51AFDB9F412AAE7B82CB4802724953BFC6F45F5C682A0368686112B0F43BC1DAFCFB4A0748402979BD1F50881AC979461ED7A3D7AD883CAD01DD7BE78B62B6F973708C04A0BEEAA232F09C794C1B63C3DC82626120632F87118C48B5E2725B65414E1F175F89DEB84803A7F78ECCD0FCB200D668F08E4D944A46CE9A294FE86CF4FBEABC59F98B07105A6F077A578DFEF7A01A90C753D3A91D678AC3E1D0F17B5D3D4F1DE1B93D661E57B39D074E5C71BF7A6AF00CA1F596A6625D4991D587ED6AE238CF3BDFDF081EAF01FA0D484D2072D0A07A44CA85600E101CA82008B454F391F8A06C4057121F66DF3FFFB9BF09E75BC48A3760AEBC1A2CAEFF9C1144FC2FD643C7DE3713547A49510F136F23B7D4131FD679E3D147205EAD610071195E9FA86E10F21AFA4300D6CBE836BB41315990606A527E5E9F60CA5B66E12B9C8CEEDE3628AE551710F659F3C3C064E8BEE407919ABAC4819DBDCA5E8877BC0C54106DF679957BBEDE9A3D2E1F673018D975C90B0C63F68D43B3D49E79644EA87B651AAF4FCDE837967D362B84A1CB50D4CE757802E191FB20A0CE1ED9B11CBA31DFCFDB3B8E7D3D466341AB55685D9BF8F2355E89A4E3E8109FB6D4D3A83AD69C4F9B3D7E51ABA2FF8A35FF83719F8A62DECA60FB339E648A75A73E6B176F27D5C48F4B7182B8F5BD55C689E19E09B4132A4C393990D8B435BAF87C0273BD1E8705729448B8C70E8AF6F696A6099928DBCC242FDA36CB8DE4A9C38D6055BDE0A9F5D4767DC8085D1B9266FF64FD80B4B15327EBC6DA715ADB4D426DC8BB4C4F946041B5054B80631213C52607C9A7FAB0463A8C7037891621DC6AE06E798DF9ED75970612D69BCAB5ACB05AEAC3B0608D6D1D79FE3143A634A4D953003F4B1D08D7BDF9732590EC0235DDE9B4761C226DC8D82ADC647F2B5BC3DD3B3694308F51D5881B53014A60515B82D67B9897CFC95FD78C3CAB3003514CF694E7B5E6B041B4D94B46C797BD67F9E3093F12643AAEE8BF1953F2119992272ECEE1E61C473FA9815ED3C10B75D688D86D5B45E581CF1CA5755DD012A3377421AB27DB6656D1429E57CA4EB83BAADEF6A26042C239E42174DC9386F184D35F9ADA3547F4B6EE2395BD9F96BC335E133B7903E1EFADD7EAE1D5AF23DA84A7CBA302E826CBCA06AB526335C530DB676E5869294425EFF7915E187718D8A2FB9D819B0C348A7C8CAFAD55F58CFF3CD753F02041C8B98DAB1EEE83BF5059EDE752C4A34C0B5EA4F6C2662F2B6BAFC588B363040A28B821BAF245734DEF504910F78DF8632E451537B94DCB34200046DB428F004CE4516D6607DB002A7B58B3770DAB552EF33A59A52F8C39DFF536183A2CA83329D8E8EC38ED45F548A8939451EFACA49D76D87B0DF826999282161E976963C0F5F7FCEAD8E734589A6977EB7CCA8426381F0495FC838F7A6C074629070C10C5980DAF3412A50074D5C05FE4519C830AC07B7A07BA8CDE82195C4A76EA46A508490379ADECB7F560E7D552D21C6123A01001C21C2864B8C4D6CCF222F7EC451649E35DDC07CB2A88759F8F216E4A355B080295B4DFE92144748A3272C44105A896F9D788472C294FAEC195A33C7F25E2B65108D2E190BEF000007D4AC9EC87A3C1000DBA836C8FD894C238598CFE802A75F5BC2812F82F693BF0CC5F6E39B7AFBE5FBBA8163BAB5014C98314757B6E4448D82953051F8DD173502E7342F2690A6D0C3724B3F59EFF79B7F12A3AE401A81CDE4189EA65C36B9AC381D613AFBDE99D12285AF5F5B68BE01290A5DEC2C4C3B0283DC99DC0B25674DB054FA399714A9DEF8423B99ED78B1AFAA9BA3B08509CDA74C3D3C519A6319BE69D92B53D8C99D0E48D0A5C933AC2F0CA74A19FE52935C8DE01E26D89C909C2AE8CC255070562B08E8F167C1ADB07D1213D7C6E3D7DC1E74BBC0EBE3620B3327E2D7BC04F4DF6FFB3DA92D0A151518EFF3209627C98582741C9451EB139C41A07121593FC61EF81F6E3FB380994B4860A4C4DBFB5B7FBFFD27D1829F4B0AEC2ADAB59285910EBB59CAD420228CA9A2B19E9C030902ECC4D01EB4DF9E8E95A4A156A1B298A2FE84295F2E092CE0C9BF4616EA4DB0CB080D1EED8990F26639CFA2287D1BF757816EB9EBC73072F54D2B3F592FB0A62A96846FF8A9295D468AAA16AF89E32F1FF14488AA44522D709DD4119C0A2E078CDB64F6E6983DEE8CF9705698F8FD3D6F07191328961A806CC2DD4FED562FC4787519749914525252493229683A3F358EA56E42E3185F76397B15C9146B19507E5C81E377E6D4E4D777068269C4AB3AD9D9CC7DEA66033A98D960865BFD0F3831690AA09F253F9EA6CCD412DA935B54364CE9AAB836985C9CF847C808B1C630BFE2CBEEF7C9243A5A15BB9BD97D1B74AC0EBC4F304BFF69D016805C1B58D5ED01079E34CF52D61AB8EBCF1550A0F64E8A03204AEF2657743438DFA2FA6BE08F83DE54149DD79F49CEDDB45B7D8EDCA8A9D921804FBDCFD78DE25B303594CB90D76710140B586F23E663BE18B4419CFEBF1CA50AB3A5EC15DBCF6052106820E6D2E178DD976928A08855106A8F1D0D095A9DF9E9E78BCE7CA792343545B0A4238607B5C2D3BAFC71AFFAE6B99030AD8AF538CCB6CD38B2A0CDC0C2898CF38489F447999E760972857E72C70885BE7BEBCCC09D72B8E9E4A547F2CF0E095D776E6F48EF5AA369C8558A23
7
+ pk = 91282214654CB55E7C2CACD53919604DABB10EE9A41327038D96E972BF656CD4
8
+ sk = 7C9935A0B07694AA0C6D10E4DB6B1ADD91282214654CB55E7C2CACD53919604DABB10EE9A41327038D96E972BF656CD4
9
+ smlen = 6977
10
+ sm = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8317610369FC624C90130EBF96567E4E9DEB5F3AA9B3C5FD207B0E55492D97F20C23AD8F56EFEFEE4154A6CBA51DD7BC6E2BC2689B082C09DB72778872FAFB08D6A4D4057154C4A2BFA7F1A8D002C153E5CA45AD86903C9E2600B3E425EEDB1937A41653481AE48A0E03D176D6B68880F083C92BD8AA9ECAE1E7961F0C3EF6BB829A0192D56656B07CB32F498C16704BE63E73CA6A6E0DA84600D220FB9CB4112E3AF6D3ED3913EA0518C67245278DA6DD6028A2E74D6EE96B9A53A26E9C7E5CC8CB8BD5E59F5A9ABA28C334745E11610B54C266AA0B645CE861A015E32BE955C7425F79E63D8154D665C7796B61ED0BB792465ADE46559F833994815904254DEC0DE0C36AB1D8809F5ADF041BE34C74205CD2858BA0DD9D8F96C2E230FB3A156853081B55D5FCF7E8B5605E170297A8E643B582A86EC94ADC87C43C255C509D202B3BA6F17AAD24DC359A0474DED68E5EFD084D8D38915008B285DCA0A8396D0606317ADA55B83E74CD64CB09D1B6986C7C3624D4B3A3A6AB2F0CDAFC51CD20282874F297B32526AA922C8700968237CB83C77E1FCA9A202CB6541494E4400ECF3C09CC3FA9CF93604E78A00B6C684B7E467A9D3B6BA14EDCB976DFBABA8939F4387E5A8813684EA5A4D8F7B5AAE24288902DF0CB38C1BA734A3DD639580442FD29A93276432F7132444B724ED385C7368F0044C98E980205F038A8F2E3399D286CF21D78EBD803A414E8FDB9D70D44FB1D082075275ED1EB3B0C0BE084062CCD81196F7CBD79BCCD0AB662408A923278494465710E049E0375F991F2824722BFB82D9B13668CE489CDC067882759F28B767249D2182F8C16248F2355931EDE7D0C5DAF3619D99530A6F90BF692048A0D241814370E008F989266595F219A1B57B3A755DC7E07EEC962FAD293E35A935B2D4D99346874314050D880AAE86F4180E19FB8BFFA2AF7DECD1498B297305564418662B086E380573DA969AB7ECEC519E5DCF484FFC6E671341610114528005F15FA91E4EB91C9ED92207F5D16826F3368DE0D851791F29B8D1394C3670C3F0413C21A0C8AB73EBC31EBC807D8F81CB8F667F95AEE689D7B1F4C62652539D55837E01884402D32FE9F7D0EA82A6D5A6DFB5EFDF4D43280B4D7537278902013812896887A2A9F089B33703207C56AC011B9154148EF470776C5E785EF945E2964E4CB96496A3E549FBFA2CD5CDD9031BB90A55857D5785621F9E98A483AA1415C5B14303CD22542E1FFB9213671489C284D1D3A3FFE880853DD9394F691918414E42CB073F71E0F7ABB05BF8199130580E2ADA83DE08C2829BDC0559710D942B68CDF9D90323803EFE69C31F59253F44F3EE603E9769B318AC01014114B6A120DE98AA759E043C29FFAC81756CF5BBB7863EBD2508C56541C2479DB50962C7E1C1EFAFFC9E07CDB27E141744B42B78EF1301D66EED69F8477A8452663114B83DFE8110FB8AE735582BA4D854612B28E894AD4093ED636875F807CA82C09608019E3393928E21175A8F907376E2392CE1FBDA147F1132F2474B3B4B583FA58D8F509E8F2F2856A615FA41F41EAC332FC198B1913FC5B52026D4CE88F6EBD5863C55F71659DA5AB76FFEAD9CD9C69B1B61B81F80A3436CEFA65BA0AADF1ECA71E7021CD7B5E1C17EC9FB56C71124333B9101BDA17E79E59CB25A446CA4AE7A3207562B3B501E497D1977669BF0038225489AE350BC78F634A9199BCCB35CF9DCEB353347857A844C100DBDA44EB8EE13544DA5D1A6DE1FF28F87F4BF1AFE771031072F17D579B9FBC1AA98AF31EBE8F4E4A55AF3F5538458931F612CB467460FE67B8B4D9B21DFF3706B266A52E053278401E4E67E4B58AF681CB80BD81CAE3FD6A588B902747AC32CEF9F1F575D96A478E0A343CCA99D6FAD36998F0C2B47DE13D08804FDB2BD61F8A9F632FCAF1E840A763E2E3088F2F0267CBC786A639ADCFDA9DB0DF724F8997FA1893FEA0B65A08B9C83D4A161F9FE947626485898E6C72892CE77A9143A217919B8C6EAEBDC1807B5E81329BB4FB3F0B1BEBF889E89974672F116EB4683C1D312E59779F4EE356C42F5994FEC603F3FE3106D80FB50412D5E5D4F5D84663E9793EB9AEEE01A01032F9866546972FA9C167FD96F0FAAD9386AA0E3DD72F4D4EE81004720A1C69C8691AFEF8B8E2D05579E5D472418BD64570E63ECAE0B0E809A06FDC2CAB0DA41C43D030DA14C74C1B107183397C5059B1BD82B2AEAF987A8BB40F59CDFB1131A859C2EB4256096AB4C18E360A05CA69904DE09EEC6EFB897FF4D9AD1E9A599D10434054B89EF93B98FFCE0825BF73B989EE867ABA95C3C34B84E66F427DDC50DB59D6EDF8B50B7E65B94B1A3828B032BEBE8973B9534CB82E57DCDFAE1D80B51B7A4895866FF4702F7D1085A385DC1ED406FCA15384AD6E2C915DA21CEA9D1A3FD6E800C11804DE607980BEA7EBD7EAA12A91906E29D56C25F86BB4F448512230721375635BDA2A3F9CADFBEDFE013DAC2551A26E3B6C5A28A052B482DEE22B453C224AE33D79572ED966D79ABE16F99FF1050CD3CDD1032CAC5F8EB900C0906DB5C864A5BCA621464EFE06355B16C3143BEBCA092DE13C433B80298D3FA18E0F35C88079D3C1C204E96E31AB48B052669211C9F82389062DC6A3F0F778BBB6EE3B45C4DC408C103B33EA8F46660A7464A7EC4EEEF769B5AEC15164AC4BAC4E1CFA4BCA4BFD8B12EEC1DFC6A15283A16BE9540BB2F7BEDA5D3FF6392EE03A2B78E941656587AA5F39B4B52F9FD7A2578CCCA63E823930AD5EAC0CDFCB9F7C4E35F5854422600068AFC128B57484EDE8AA2E5848DAB7721E4BF8968625507B912B57629790B0BADC0E47BCDD4B1EDD59250705A29467C47663DBDA4FC860BEE8E805DC5EBFF0695DD29C42B8AC7C168E21A85B461CB51EB9FAFBF6A0324040E2E2167E23589722968E34BD961D7135D8E8EF94B59A2B13F8632FE4B8EBCA48135F040CEB84A50F39CE9A64A1C038A3F3311E91EB1C75B703C0BA52DB9B1BA7C1897B5F1C026B1CC9CACAF4E407C47ABFD0766A5E8916BB129DEDC470B58BF16CFAD5C9369A922F5D5D86D9808F53CDC4D7425973333B144FF61AB307326646E19B2C563EEE681B3447C69EBCF864DEC33C078300FD35EBCB3367577869ED6599B9D2AFD32BDC0E7730CAC796075111C50FE9F93677A1E43FAC4C418839FC9C3CA330D2789E6B9505E791A79B17A434FE181243A5556545138066ABF3EF8E7277EB706C2FBE894A1428B911BDDAB7529973CFD14A8A207D1126E34E27D6499A6E4DB5A674C9C53B27BF188CF50B0B87600CFF7835CE6E1D32307FA0304D4973E55BF7160E41FB87A23F2C82F789A6A6C7299B0CC0DF4894E09820A294CC5B08F5DB4AB52D063C64896EBA33E1931AEAD93F570E13225545BB5DF4F97CE045279CB779DB7ABA65BB595E30750774B78CD9DA7B07121A0B7D220BA6279511043E383DD0D2ED6F4E608359A0EDCEB288F72EA3D8A009172B05B9B1732C3CA763C7FAC01ECCD6F0D6BCF486AEB68E8FA13544B506937F936C90DC5CD826808822E6621DE8CB71D8258FB19F0EB4590A1AD270055292F2A48E4333E87F4F3AB796A4F436AECC22138BB3B843310D287A0B5807B92F100A1EDD7F555B9794B7A480D2CE3525303BF4033BA3A4CF8F394C41AC2044F8FE77DBCE6DF3F203880DC3EEC01253519BCF4F0F43605FA471CF08A4FBC1895C68BD073BC4B57DF55A5A52053CC98780A8BA80A9AFDDAE389C9176E83AFA2BF2017A67FEFBDE6D56937994AFE204AD99B548EFB223E110697ED57CF92243C83F24196735BF7036DE1798ACA239C2AD7CF0EF8FE30D5B97AB30BFF65E5C452E49CC2B1F9DA8E3AD79EBB3B137BB3628AE78DCE4DC09298E7328844B7332B14EA47A7590C3073D56855475523720F5E4A8B24CAF894FCF79B9532DADA129C92BF1EE7F4900FE4916F294DAFF34DCB3DDD55F0D063DD3E6C033D9DB75A38FBFC9719BAEEA451EEB81F42606F4B7EEB14BF8F2234F59D50707554C9A857586F5E4C65CFF1DBDFE1DB57D81E49F07CCF0508B61603A2FF29CBE2968D47B40E0C68C510135FB7111150D937C2DA3F01C7A5FBA33DC63CAA8303357091CF15BBD0D86C7F325E5BDF2A5AA843C698FA4AFC2CBDA3167E294A66B2FA2BEBFE85B2068B0C4AFEE9E1931FAF51332AAD00B435D74689D832BCA765DCEBE26D4A392407FCA53D63278D12058F6DAE699CF0E9894C727C588E4F7490423FAB28816B8D739C0233BEEA6DC7816129E10951E3DACF0ACD5C890F01E9757C650F4EBCEB7EE25631F0072EC64BA024A814ADEE2AA5CAC251A647589B7EE5B92C006ABD37DFCDDAD5996AAFADE7623B197D72F1FF40190A635D5911F0F4AA09952D059E710BBEDE6BE1EB0AA0FC6A05280F579E72103BFE5561CD57BE50D71D2A7C7115C2428A48F4708CA149AFC5634BCE3A0DDFE5075977AE2C79D1235BCABF60DB0E1432654F6DB73A7C176FB8EB0D135A0B17CA2A2FF7CF90177CE225871ECB64AECBECD074324360780932171EFFA8C57A0C21E30971AFBF4D7A3831F7CD14258D23CBFC17E30868C651BF8A4B1B31C6CE34443870EED0A4A1427FD2922518D719A5DDB41DAA457C87D1D5BA3D636D3B9DDA8112299576F08E72C69FB4FB47BA71565E1892765AC658D46E7EE985A7B03385724AEEC1CB908EE99335CDF3692247D36FD774D6B2AF5BCEE8A4A339D7389EF9F40C9DCBE696733C0D9F79F8F4A72554F627E6B036A3DDFE31CF64C6D0023B952D12DB934E90656711BC26965929F3887EC47A1C0BB3A0EB800C9C9208C5D52EEECD4E67B6BF718039599CEEF5732A2D10AD535A2616317EBF2B85B7AE62DAEA48D4AC5D1E920B8E030205293E063EF8B515B801CDB1450FA334EDB7C9334720B60520A20AAB30F0780D15F7840A9E0E4B201664C93AFACF90C58E112E93D2699C26F204FA46CFDC23EA0BDACDE735C9E3C212A264439D7A9EE4E90E57EC0C8733428E08CFB01F53E3DF7847A4CCE7BEB5A0E63CD93612A2BA8C40EA9F842293F9059330084183C6E994CB2E2C259FA3020CBDBD99B5F2C866E8C72BB690A59CB5E0BD934586317157E904DE5E44AC4A6D8229ECB27D25BDE1A57C1C824FA0DC015D5E8AEC6873F8B2F78093BFEB663C2E18AFA922A139F9BFCF62709227B37B4C56846B67644C8FE5BF3577CFDA296F211CA6E4AEEAC2AC25B6CD9C11A5DAB5AF703237758907F8EE66E7D054CF57E63F0500C9E2EE0B32C94668E2A419779385FEE6D41B7F23136171DB487825299D454D33717AA1200CE8E9B4CC41D753EBF6A487124D37C81A2EF9E8B8E88F35D7955C3AD8CBC99AA112AB9A56ACB13B102CF31EC01722DC1BE6078C04ADA5EFB6E9E9B10AF7D696A85C61AAE7DC167A164AF4799E097008933AC9D546E570C134D2D72E25DEF7715536FF188AF87EAB49D2AFF7B74B020A291B2035EEBD700E3BE0B365267A8815F0896E356B54A6F08E641E3278E30788B57A040397CCAB2C2A23CB0B7679D7E99ADBD263BE3DCD246F9DFADAB9074560BBAE94BFCCA155EDCB73666860DD807E05CCA11C4761C58A51C7580BE9AA0B8A678777E77CC391CB211D38B6D17A3F22ECA131968EF2211679ADEA00DCDADE52571D2F4A76827A0F5063646CA550DEEF75599310C75334DA1D186264443CDD73F565E90956F7E6E8574E9CCE14402141B53433A4877F02DDA0C47CD657E266147B8E73ECC6AB57891F30E15A017B7F7D6BD4AD9CE1AD480EBDE51554C3366A1976AC059F8734F8DBE0ABC63A470C4E11926263F085B88E7F483AB27D0D15FD7D9585D16A25E93778B81B48D57D2C1B9AB037EF855FB823B31D8B072A57C3BD4452B3514C16A2C7B734FD684DC94D2251271D74A23CA53BA02F9A136DAB9E677F4FC02F8C92F3E150CA458115B8E893DF5C25AA1428514213F01510931573DC3554E0A9FA6FD97CCF3DC8E18B23AC689B38C3E46ABEE1AA5678A44DA25E0D6B5C8E172E7DE1B1C7D48D4B52A6400FA5DF42F99F0A8B081F9D6A272A9C90D67BFD7FEFA5B199E1EBB6FD1FD2CC79A27B57B97F4C122B5563F9FA7A9760F6131C2EBA86ADFA5D300B0A5011010DE78A5EB282B157402193641B329A3DFA2CEEAEB3ED7A92A763FDE1CF6085B97EAAD848E43C89B4E26EEA4189A2918FF8051AF6661CDAB19593F0E88FC1F07BEF955A67C690D4CCA76C89A50C2004747E01BE12AB3C9ED0AE5C6722C5918C640C7554A730934A0DB3096E8E2E659DA8B2F09B4ACFB4D9AB07CF0C0FFD36845E3A9D4B4B9093043DAB32FB56719ACA8755B2657345214677196391F434A1DA7135895B5652AB5C25FECFCF7BFFE6C2B6A41825AD4222C35AB3CDE5374B716D7562D12906FEEFBB3665E2CE3393B53E9D158F789F72F85E0DA6F4C668CE1B79686D7D946F8177E42258B781C4F13F1FF3424E47689A38BBB2C3B689F02979DCB11BD6DC7F2205C0326E95A17C2A4E13F6DE4FF3F47F6B8098A9867FB23382A14A174F913C0A930879D77A3A9D6C9B5E5081E7D0E617AEDE8E7C7862E32F593CCCAA6EF5FE64450BC9990CDBA9AFA5478B5E14199B309784CFC3D3CADB737C64F9817EEDA3903FC0F24FF97A35EBF4D56E5F47B58E43EC1BD2AEDF2523E57124893E25D934DA4C95523EA6388DA4330658E3FD0A70FD53E4EE20BFA2AF0C4A25724FF6A2866D405B3CF76DD9CC8C3301ADD267842A6A960AEC0B175F283B72F73FC24AFC05F188A3748009F5097332A2A1D51FBE959D71BC18A18307B5DDA83615EDA76814416B599920BF64C0B785ED05678020576B03D5FB7971A8850EF5AEB9F7E0589F24072F25B6FBAD0494D2EB3D3CB23B4533385CAAC5116DAF32899D1ACD500C9081D07E5D7A7C60DE93D2E15F3B649811CF4E01CDA1CEDE17248E103EDC20110B627298B23BF1A992FA18C468C7C4E83CE29DE068AF10CEDD78E8B060ED48175630587D279E5FE8F2E4F2A27F82D36D9959A4E9D69596512135E6F1B351B8E8FAE562D8D62FBD3F2D857D2DAF5D22B02AFE5AC7BD7D6D8AB2E039105F27B36A3EA029FE835F580315CF8C8BEF6380E68E7F37FFBA330130C601095B860A8A0F053D6D8D36EC9D5FF22D488B1C8E7C6DC2AF5A38C4926B09F521FA24CBD13866BE6C1319F5D02C07131585EEB90FC23910B1663A15305B33C6D04BD4AB3510142C4A4B28E12244803A0AC9E9EF1CDC5EEA99998CE78386C5F00F0C7B9C3AF44D2C3A3A5FD50B44EBDAEDCC7F38412147EF1C315B8DD66A6E93CA2E9988C846068CE9938EF3828913BE636EAE4FA63F149A3753EAB4F038A7C8CA60EE7163DBD225B1531FF5271B8E3DBB6D8C5048A252EEE0D91013C0F5DC4D2572A94ECCCF5A0857E3E181B4238B0B84D6593010CDC722518343FD177C706FB85C78ABAB728C38D852A0E720100D6F4AA2B4AE3018756984AF83EF3985669FCB4211668CFACEF5BA532035F0B9FEA075AD3FDDDB44F9B54C75E364038AAF8A3AC3737D253DC116E0DDF10538DC0A2B18EBDE997BA2622277D5F7E2850C5446B46BC8A3DCBABF9206225F6CFB77E5E8C66831CF3281304352B651E66DB53BEF5A656FD5295F411BA3901E53F56F141C53E74DD5E7882118E4E321FBD2376EC57146BC56A5BABB5A5B89715E95EBF5084C9E3BF7BE6947581375943D18CB3C2C33ED44435099457565FB979FCC7E9751AF4C4DF84567FC59CA7929A57584F0B48C3539C7758921167A45C347DD56DA1E4D9A111D2361D0C399440E0F7C1A822CB1FADC8A7669777B16925EBA4DEBC0853723926DDD85AD6DAAE71E8BF453DF965118BAB364D02B48C65B3064B5EF4B8EF88854FED20A198F8FFCF1A09498F29F68B18093D81ED7EDC4AFB603A7B4A72D1789DCD4541EEAAC9859E78D8DCB096AB785017E1CDDB8AAB277ADB6FA8DCA3BE270B2FE9F2D7AD1D4972C139601B6B548259217EE42F446C22E854FA3EF143AA24174BE933CD23EDBAD73422718F73FE999A5DA52756F919B9C1382DF6A96460844DA4DDDCFBD3A5371CE28B9094B54A48B70BA7900C33A74BAE973666E2D0B2A635F9EEAFAE3CA638523C7248033C8C13523111C26EB8C7AFD64868911EF5458F546131B07DDA71948C446CCCB767190523D424402981669B4EB064D10199B8CC0EEC8C961E657AB2145E6617F8FA13B82E0FE51CDBE359474D765E6C863ADA8DEAFEC7AD239FBE96631819787AD7822B2B7D0C0D09D4DBE9DD7480C8E0CB8A2094AC9AF1FF2370D19744D54F939C01FE921B91D40AA3E5EAB3D0BAFA674F2F42ADEF35AD7CD7079AFD1B314ACBB1FC252293155C39DD2B15D9C980C189B3FDBC84833382265EE919452D8568B81A6E89B4674AC0A064850464D6F0794340E863D6B4EB5B2A6B833CEE88EEF85476D87BA9370A3666AD7A95348967083F6E882E557CFD05C987A6AD23FABD2B0DAD3E11211A5F3435677DEE6F73B1C174D97F80FE42B8E05904C2DAA473B162201517B769E81F70F92C5D6AE0F9D2EEF675F2C4830C3DE240AE876A784C9B1B19116BDA26999791BBFD307385C594A11714F1326A2E6B31A0DBD5C5D1689383F08A1DCCBC68AFE33D14EF4B27921ECCCD27A7BF772486D17AEE87E122FE7B14884A2C797FC6BC0DA35FC4484678008B2648A9EBDE0B79E12A3EA1FC64474B5F783A8EDF78A33CF2A69A54740882C6BDE082616A4336401A005BA19C643BDF757BBD34796622C92A6A0EEC782D94EB914A2155A072C93F11EB98F13E10226F99556E8BE5B7F64ED2E22C7CABB0A38F45E43AFB7D9042007957C6A82B3A7A7A7A7B8568811D0CCAE4DD651EBD003E03E7C2A1725C28D06AD1414000FD95FD45CAD32E75AEE75B09981D95FAAE60C708838FC12B4FC1CA41BE189CCAF5759F11F0163BC51A6AA53C875C1F5431AB657039C2D8463F68E6CD72EF07721F1BEB188D8A38F85F9B8ADA0A385C2B9F08F0FB51F176D1003223AA270B4BA9D0EB0B83AABA9B40202ED949D884288BF4BB38F833C8E04C4FCACDA071DFE47A18A92897CC91CDC316F2407381BF2FB05465E6F213686361F05FA8E5BC9BA6EE5C2CB1F49B84013C7AC12ACC27547DAA4E619E536C6F78D88342F38D23B3A5D2E45A26A0BCE1A1DA68571C8A0A5D654E33FD01A7F7B488EA3021E6A4F84BDEC8067778996C9B5A5B43DA9763B5DC48878F8A437201CB9E018BB908BCE9F4D2D348AF8E9550A447772DAF1252E47FDF92A6E67640E52E55450742D0B448BA260ABC8FADF3A3881CFC4ADBEB2B3AF5A42C42EA9A96840FD2727F5BA1AB8DC1C7069D5AAF7D6DAC50487AE85C6368CBE3B4CCCB237FDF31C6D9D12E9F0B8DFBCD1EC504713204294F62F32BAD16BDC75AE68593CE0274E49E817ECEADE8D2785880B89948D2AF041AA82BD11C3C663F1737107A977F18A6F730AC38CEBDAE5752BD3FE442E1705222DBA4DEFD05DAFD8A45527A453DA576767542BD46235B8BF3E26745B8E3F5BADEA5BBC7DADDA8034F755489222F4F5DD991F172CFDC978EFB3C41A712B0B03DC7550F439E341494C36F59F21D2F89934714DBB5AE9F41AAAB8F71F1015CD6AF4820215B6AFCC3CD9E3ACF0CA7F6AC10300E5BFC8701329AEA4DD6952802A9B97FDB744E3A656081F43ADA761ABAF57BAC149D4BEB972C87D97C818170677BDDFE1D6A369C072B5B031E04A7CE72962EE557290835D67CE683E5B68033E245AFCD806A2F774D5460BBD8ADBD3C96FD4E82AA2D4D19DDE39D5B8BB2D29DDEB50C32FD8D3B148690F6F2F2AC6A9CD09C6B95762A99FE65B48
@@ -4,7 +4,7 @@ count = 0
4
4
  seed = 061550234D158C5EC95595FE04EF7A25767F2E24CC2BC479D09D86DC9ABCFDE7056A8C266F9EF97ED08541DBD2E1FFA1
5
5
  mlen = 33
6
6
  msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8
7
- pk = 91282214654CB55E7C2CACD53919604D62D94FED0FFB9282B6BE7963F9B1F0C0
8
- sk = 7C9935A0B07694AA0C6D10E4DB6B1ADD91282214654CB55E7C2CACD53919604D62D94FED0FFB9282B6BE7963F9B1F0C0
9
- smlen = 4193
10
- sm = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC800113A6C0070BC486CDB1168441D1F4CE68AB837E249C7493C436558B87864B8682E4FA26B4E48031813BEBCC0F6EB9211846CFC7092C9841A1B1F6E68647AE31353710FD412C2CEFAC91DCAE0176B33C55D385ABC097F283FDA7C630A2ED4ADEC1EB1CB592E44A3845D2A125BF4D4BFABB209C067E29BBA03CAA74E3BDCD727529F81FB5CBAA82AF81BF34B3E0B0C3F35AB57CECE4E72DC383F22C0F8E4DCA2DCD5FA1928C50F251226B6C5A4C6E953A71F2E8422F5EF8472A1643B79B31A96029EF8FB61049B6DC9A03350FB19CA9667ADBC4C5DA3F1234D3C517F7B05C18079F5A113EF807A31559CBD77CB90D38EB7F706C73C67B63F307B93E03085456262654D15CDE48F1C26CB365E72BA58C7F1FAE26261DBDCAF42BE31E99608AC21EBD926BA344777262E98452A9462771549431A5576184C3D5A261C34AC2B6EF34E199226BB6900450B7638A2CDAD4D704CD130DC86D15980616BAD72F2760CFBA3741CE4A5C8FB86597B5AA2AD5A3EBF34193C1EE43B27EB048ECF1DA40873CA26041E158E1493E8D0C08AE59E73DC34D408027E3CE4D5E2DE3A739E71DD96FA50D3364C92344C532F457BB0C28BAF7AF584781AD8220F53BC0F33CA58236A60EBDC99A4FC32F601D14867A7698AED777B98BABC31F3F422D8FDA672EEEB98A8E8337ECCC5329497190394C24069877028367E10EE772BDA1455353DDC3800FB1555E657B040F375F8A6353AB5E54B5E0FC8F6296CBAFC6B5D12DC362B7CD9D40A2D9D06A50A6E529932833155C59764705A8D31922F54C181D309CAED37EC6450B0FA6E9C48134AC531F080D6ECE44272C4D09FF65F9184CDAEE0E13F3FC460BDF16CD0C446A2D931A5546614152BD53AABF96D5604F1E89FD396382FD189A4A52B2FD4194A3C2470DE12C9598D2D72D523DD02708B34E45260AB5AD29BA3F6DA5302BC5BA90A6AE2C722FF1DBAE2502D1C4BF968A1ED9C722A16808C8A46A0EA26FB7FFF012DDF226714ADE7DE100AAED8D18CB274E892091504A18E8053BB3AA0C67D1FB565EF38824F793409F43E4FCED1C6779F51EAAB2D55DE0BE86846DC8C8DBB77913D61234CB90BF660482E173DDC2B52988F47225938D5052F3E7EE7797A6CF68CC291FF3CF3A08A576ABA7B3E1CB04193267E223D592043BC6AB093093E4E1A85D09DC1EC291EF217F87E5A4A8D0D8CB6B633A49638499AF2F4FE50A5040C36921DE59A48EE86BB81FE022FCE255A26C7DDF3D130B8C4E4E24F37AC9A5DE6D2E0E971BD861D4FDCA3F617CDB20BAC1A21C0C0FEA37242D6CE1D4D70A8CD4C6FC3B23AAD2B1EE499D278E227AD9AF76420207175858172511692828A7313B6D3C8577242A1653698E87D02B8219776E0064D0E7534CBE307265DD61208E4B6EC943931A20999D73C0CE655019866FC62B0ED745C10B42FF923B1550F16DA174C4DD21D3DC4384892AADFBC9BAC3E8811EAE4D2C6685BDECC1631C21C9E193942480A6A3904DC288309F54FB7B6DDE9E591E069A80D0B28E32935646895BF37D7781D50E6A971417EC50633C1323E5F317021F58B2EA6541B7B6C0F8AF5281B30BDBB299DA278FDC9FD4ED1C87F28D5A6EEF4B00991171FB578DA2F472036EF2EE85956232E7BDF7B98E608EDCF9942DB2A9F964109D5B4481A23A122150E6342786BC770129367B6B9B2888D7E72E818E3EEF54D01A14E4B6A4D18E6179D6D9063ABE4ED573582ECC8C77063813B8EC781C4DB5849A8813763D3408B8229144EBCA51155AE94B8317414BF8AE325161C03913F033880B251A606CBBF5F9F743F0452061E4837E9181A835094231CCDBF8EAD943C58DACCC8D034FCCC204BED95139BFA76BC6325835FF3D79EFB46B9694A412F507F7C9FC3363AC881E6340C4FA1D37ADFD60E50A282BC8CB06F4AF03403FAE04A6629E1AF1AAB63B9878BA3C152EC8EFA536E17FF9C508498F123FBA85E1E8AFF3D77BCDE6BC0168747F9A47A16F623DE68E6076ED6108785B3163EC837AB26F3977D73D9A0B2CA9F1BBA8C9F61B8595FB126A1449AFBC885D66FCF47228AC6AD2994BFD4C228C7B42E6B3BD7957399B525D9D0181EDB17B16D10240352FA795FDB9FDC749E7768BD340D6444712CA49D37001B97E4CECF6684ECFE152124A8795E98942A105478211B84064D104D0D19BFC67A0F3732C3457EC176C8FC8FF8089A9769341A3B5F8C07E29A3449A25CA8EF5D95209111ACE81C4713F3A180A8ADDAF01A3F4EF2B1EB4FA20A1A41B6505BBFC5155E5CBA7C8475A0F9CB31330250424956EDB9F614A2B0117267B1A6779D0CADB08606CC17FC935A023872A4947E2C650589CF59F6AED2B6FF4D6214E97233088779F78C02227282F0CA79A6D387599CADA26967DB3B518B4653C1380C6DD3AF5EB1D1A6361C614C63A6FCE50CEE9C1CF368816250339244CF618F2E25D0152AA80EDDFD5F12C1A222BC72E991AAB29554FED2BAB2F98EC57EC9153494CF1FE80B136CAC070047C3C3C417F71CF482F361AEE8FE1DD3ED15937F73F978196FBBD426C353A30BC1BE290135E927EE5D5889A94C2A2F4C0EE5B16317B722D07B4A4BE6E4A7A6951D49EA0AA6BACC67CEDE39F9F1028E603F43275DBD738AD6DC11CC73017F0857F622674D32D172B14ED99257BB6D807AE434E02A94C96595140E03A6841E71F553ABF3B76EC09F7869C7447DB21FFB6F6FFB361FD1473ADB005260C4DA0F61AAB0A2AA05560AFBF044B6A268BCEEE1C22AAE6D71D88F664FF27751889DBD750991D4C49F6787108100D20BA6E9017C3205A58E072FE4BA0DAC2B2BC64807CF770778C5292F8FBFF8540C1F96EB4B2B1B7080D5EC985051A79E0D0D4508F48A52C0B163E4C75D80EF1AC415E16EEBF9784A0D4893DE8916CEE12E6217BAF30803D8EE9B57714D17DDD47101D9A2C66C7FC2CB63DFB489E80C58AF0A0BA0E8762E5388FA6516E8135F68B35F58C4957D498EE0F723066AD3A5A8D386FA29A4C5BF219E607EC21D26AB168E1F6BC8C17845DC4521443425E40469CB9D8B87F44359C193DEAE1613AA44CFA417CCA073C716597BE64FE5A4B13D983A10C2AD3097E6FD00A59790CBEBEF6B8C4ABBA19237EE004DEE8186A436415E5782EB461904E07CA9FCDBA507906F2A9774DD2AB37147261988887AD676F9409D59AE70C82802C0674B791793B924B55484FAA4EBD60EC58EBA1A215D70B56D5400D005FD484331CF596E7BE8213EF5E314B6C1BBD62A55872DD9D406F26E167B5DBC32B3702BFCA749E5B910A7FA44B0F3F7E306F47BD2417878142BA94160EC687AD21EAE988F237474FBB9C2ED8D45336BEB7CE1E3BF91C0FC99D2F4DCFF21E38EA1B03F16C20190BAB471FC31A245160AAF0A45C711EEFA5FE1C36953C28375D8154B18CDD5DC5CFC547F4BA0352589158F940470013C11FAD7EC01BD0C9BB7E96ECAD84CF73B0325084DF96B1B5D869A9ECA0D9522EF397A98B2477FD5E1E4522E0EB8B0787CF3E68EA4C762298C987C4C34FCE6799900B4CFD1B96797FDFD2B43A5C9AC88983516A484177416ED521302A8EA092EF3229FB3885A430F0DA2745CC07BB2F6A86FE9423E06FDD2EE509C262FC6A0E9925EC91E71592179860FC505DBA6F2F94281D1F8366BB4AE5B66F632AC15924F54BC1767D0D1E00056EDFCAE38A39314235FE98C8A9C20C0F36BFB9771605DB3A965F629348ABF4217AF0295B45B2B3F45DDE07911D8B4AD6BC339AF7ED54EB338533FA7716056B74B315EBEE19D0A1BD1105C777AE74D3861796516A22A1B8273868E82559B86C05766D1DD1E9EF1470B0AB6E92D82626DA20FDE326DF597C6664C4867DF07D6D47D38CD7502A3C182404D1A6C8DCECB1842514702C2491DDCEFD76572AEBDAE63545DD4D696BBBFFD7C054EA2A04A3B5FB05A37CC0D71AD9D5E60CFFD1D526D2626C5979E152B120603A360263E715D9A7DD8F8AD687CFCC31D6988C9701A2CD38E695EC2E789B4CB2E634D4E5F6A4F3FD326DE5A73EC3D6A5F5330A10EA89BAE029F8C7E7507557F698D768205745BAA609A2271E0463923B28FE741449B64E168B2D942343FEF1C09D9AAB2512FD0D1A1C60D2F6C4530C6FCF228F5476936C9BC93F2C6239458EFD38E596AAEF8F2EF28DEA8F9F5F286FC3B43C8E1F956BC1DDD84AFC6BBE2B057C731CAC4A1A05DF9116779ADFBE4DB8C4B938ECFE5D1337BC9EC4AFD94ACD7C9481F440312D5612879E15652AB5762EF23F2CE26AC8640BE8DF8BBA92B40FFD982C2D15CD2A53994A32FE9C2B6BFE3B8FEEFC22E106456110715E34567EC8E10EDB27EF0050F64F96F1D844F68C645590DBCF1CD2CD5F70489B1DED57A468D4A3E6E652021D4BEC4E6CAD2A2581949B37CBC089D1251FABFC75BEB38F4CC7201D5BACA6E49EDC7A6BE332BDFEFD4B79EBBE7ED28421B94453FCE31958BADCA8591ABC017312FC553ACC6A536AFCF9EBD4CB4188FA65C92AC039DB110F24F9A926A3DADBA553661DE525D12270217C8939702C933596E6C73A9151F3E7EE86870AA7F36D260102C35F1A7ACDE8E9C197C76A3430E390F07A8BD21C4D3C0759CF92FA2C6BB315560985BE95AEDEEAF2664C86A0AEDAE93C38F6D94F0AD9DCF36DD71351AA2AE11A3BF90CBE582FA53AD1775B56DF7585D25127B744FC1D4267B81710E438C5FC3A4D9BB3E0AD92AFFE82BBC0926954DC45E4CC8896E88F5DA2B6349CA6590075FF028798EDF3B18F1E73AD2068730046517F2EB2BE69B50EF2A31635FFDFD91B9A6D35D65CB2AFD3DD3425D6981D284E6CCC71B817D4B768F81333CAD9F7B7D90173D7B64A77D5525D0FB9B133C57C62CB8B15760C2514E21BE34AED1E92B6719C3E2400CD29804E43B1DBDA3014A99D3455CF1AF55B0E8B9D6E9181E3AB5F2367C5B2D35B30E77A3FE64FE7461BF97DA556DDB97A34E5FC27D704171CEDA3DC66384346055B903751D03F373AC3F56C933E30A19E639C986591CE4784B0B3B587FBF0299BA09673AE59B4C345A44A0AD7C812B9D1BE591B525FA68383F591A47B2E6CA96C1853B373C3A5A42E816643DF3CE489F92916E948D5F15F9C5A72995866DABAEED5244962815380E36A3A5617E93367E849959E5F7BFB910E8F4E0AFBB6BEB0B9BE869C6943341FD0D5C07E6AD0A5C7A56881045F73523D29350B4E7B7EEFD26751215CB109A22859EB5FDA681D3A1C072E450F5508AD50A5E9C81F3254A96C02702EB96D86E50A3776FE698319D3C9A87C70D369B14C73B259F43C7782A5744F5D1251E94C6FC61397027B7DBED6CB96BDD764FC43CDD44990177BC662D8ACB2D293ADFB5CF22A0BA6F29B4D843577D99D9AA7A032F2E453AD7D4FF5DB5A93DF91371820E8601A9E984FE108CFA479F4808D284FD41327CCE9BD8FAE8A02336F993889A68D3442643C9D6DF5287E76411E7B43B3A397AC0AD5982DE9AA9A8787D86CD543FEFBEC19675724F3343A843D9A0C0C8C6A94D0FF2976B96977308ABBA6607B66ACAF17C620F5F79150FC5B0677BF54314F35C03CFC360F0F0D371C545A56B95F55A41A13467E81BA621A9A27836AD4022913C1C73E9C22C8941BA8BC8D56BA65671BB72FDC02E9C9410E6A1C46D7BD06982DA148A47499B75571FDDEE8BD355C0F927198C0CAB09E2F4C12FD49A30BFEE68996DF868EB7F7A407D927BC0E6C930A09DE5DAF147A4FD36E3E798EF2C7723A621F3B5177675A515D1918B7EDE35997B6DBACE3C31ED6FFB7FEDBF1A3ACAA53F3055B2CD9D4359B76C08BF038E714A8FEF58A78A1116C944FC2654348C199567F2F3213CF8350D846464C9707D1D66307D6E403FF223F1CAA52643C863975C3E5F248E37CE7F2E07D900E0202FA7
7
+ pk = 91282214654CB55E7C2CACD53919604DABB10EE9A41327038D96E972BF656CD4
8
+ sk = 7C9935A0B07694AA0C6D10E4DB6B1ADD91282214654CB55E7C2CACD53919604DABB10EE9A41327038D96E972BF656CD4
9
+ smlen = 4737
10
+ sm = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8FA511E353C77F8DF97B5F7C0D503BEF1385C34F878F3C4B721CA6D6CF564C248FBBC3936537B5BD87EF18DCC4F69851A3E91DA85F865E59FC48531713E7C87289C181C032A0BCCE4239C5B35498BFB3E78521028303A6EFE3FFF3FC86F13410A0E4F4BF9D94790450C2E6ACC38F7E7D85A227A374BFD2961E6B2D892D42032159BB7FA3304A843E54C5FDFC63B6E1E944572D1317A29658649E54D0C903507156796BAA3EEA1CCAC55390F47927F34168C175F30E080BC15CB00625EE42E25E260FA44E976979557833FBECC01AAC012EF5A7A4952C4CE9A41CE221351751C324D1BD41AA31BE740369FC43714684885C49DBC12B58B682D1BA060B1EE66830FBD652838C5C72E001792034215F6A09AB743B40075EFACA9A7AE66F85EC7136B5F76EC1C33D96C95B31AE7B2455B74DFBE7E8ED61F2CC39505A36F175B2784C03ECA0FDBFE2434BEE3C1830C5B1B48C2E0170868BE497071C4C145ECC89DDB12155A661EADB8F574D307B13A8671073CB7EAB4500848C9D1C08CFAFE2271141B9CF84257A5A14AB1BDC42E46142C0D6BD8A3CB3FBD9F19CCD63F4EA6E9678145D0480AE4F2754C96126C1895FAAD34DAEEC98BF2500EA79DA0E69AA2409D2D15E6BE5CB166F4B697F2771B6C347D0F48C24033643657A7E09651D1F1949093355608221D0F819F437E0FA6804CF921C113F1AF09A261FC18EC359714A1AA4627AA5626825E0962EAFBA392A8245C6E4CB0B8F1EEA6125188BBD9081328A0EDC7BC64575D94425F3A4283D70A70A0514160D4C784DCB08F780EDA9FB7479A5992302062A8EA78C78E3A3E2F12F1A09E782606A479B0CDE036F22DA375477CB5411DD7D6014A329E51728709CACC6513FDF45DEB8E3229F6FF4A7A3B0E140D6A8EE9372C2D3C4DF29D970EF40C0214E4C70C39A4242DDE5A17204FB677182B8F54ED72B78CFF538BCAE3C1E63B73154F850EC347FC1241DF86E8E3E99D3D0405AA7844E6EEE1F16B9CA834FC98CF23CD72CC17522B554A282CF26362CEF2BAAEE84F1240D4796B1E2A278037177331DDB6DDC889ADE922134576637A962EF61F7276A9B6930C225F774151437A83BC650CC72B2191E2C9CAAA7C554C13AD292880CF8A3D16A3537715038E31B97C652EAEE35824623F72ADBB24FA69CB0C1F03B7335FCAD80488BFF4B6C6C90431A83F125814E3B9070F7551E9B7AFEAFC194E420AA58442171E4E515215F0C18E3C299ED28ECDF3C9D6B69A42CC67C2915F9F3945ABE798240968555035828EDCC07C6DCF56132EFAEF4F5669761A61814E8AFBF467C1CB1497E2B22C461559037407D9DA58A1B6B21A348BCBD377BDEC0895DA10C955BA9570A75B8D0142F87828FA5C165F8EAEB6D3C343F2E823332EBEB810CEAE908386ADA49009DC8050E3641738899604A657D4297C35529E9EA81E641A0A01D3EF2FF1F8914F2F71F191221E48BAB7E1AF005BF0DC33371B281FBC93085C45890B1032EA00EF28090B3482231AFAAE46183F90041AA53B59E0E9F4AA87DD8B62756EEF51B370A7448EB7DC956FE18B5E3800C68DCE15C517CB604A272162245AE56A48F8C5A69CD5BE561FE2DA072CF5FDC7BFC5BA20A789C5084D32AB127739332749C1CD2EBA022CECBF3A4F2A0ADC96CF7613A8992510A83D0EA6757399892BBEEC3436565A9E750D110501D0225AEC133534F1D72DD0CF7A5E285DD32FF0DE0D33A0A8F9CA309C6BFB001EA692B6AEA1076A10DD8BFDF649C12939FD9EB99009725EB5DDF71E61BE8CF593E2A14FBF9FA9A647075347127F48FD180D72424FBFF43CD162EF3B0B26414C243561C78CA63110057B886516478824B62BABF3166A84590497566BC840F02A6E32BCA9FD26FAD417FA9FC1F75779EDA08FA92989240AEB8C1F9A0EF81F2CA87B48363FDD06EC394AE63A47B795090379071899F1AC3A6AF4C80E8E34D3AB9058B216881235209FB4C89B1EE1566F6FDF893002915FB32D822445087B7247F1B8B01F17DE98E50B2F7F6424F60A3E9AF3B7F47BFA3CF4AAAC10AAFF515AD3165D50D6383510D7D54749CCCC71B2E5F60A69BE345B8D2C07A95414716198980B9BBF2E97447C6D1F3F0B5DB848A30FA0CFCC7AD029175C42478E961077C03FF06620AC818900B319CB9AE887D51B58ED3A28A73EB6EEDB4A085C6853699585EA20889EFEF84DF5EEEF94C23377C74A8C1DB025D633D25EB1A42D8197ABE3EA88DE1428288B809ECC778C3CB2E5FAD452F88725763ECDE52F63BDFD14FB2E954920C4669AEA33D2D8B1F99E47F7172E020A97714C3B3F0963710B6E5FF5D0A712D40C310BB5BC917CB5363CF382089F362938A81F3E9BB13F8959B54BAF363A3C29779A145823ADC9B40CA3CE6F908AF229012B43BC4781D1FB1D6D7781ED1D51A05B955AF9988F0569CDF7FA4C84FBCC074E151ED4B897B37CA093D8D7F9A02681AB0420FB2FF001ADD2538D083994896697DC3E9DBDFCA7F362BF16CC2AAF28D469703766B698F16C10F71BCC8A3E7D5DEFF38F14D94649299B61F274E85B99D363D8516175B124703C784FD053BF22E4B1D69C53C5EBC5F17D859DFDFF6D9B888867C85ADDA9F38036F4B6CC0926223AF413636FBDEAD3530680F2ECBA3C2EA9BFB4C5A6B3278F6CC1FC39D5258F947B03597744251205B1B108E82735724B51F0090AD33C95DD35F1F0C2985B4C72CB738BA24A0FBFD49C499620D95668F7C0B70961F28D5C7FC6F19E34FFD90F4D735CA21495E6A225608D4FEE3678B5EF8A6D624FC8220DA7EF4501F15B343F5FFFE847A9349554BF2C833117328AA2361A1E2AF3E99A7F871DEF89A4204FC94BB3272785BB25B9BD177807D69FA2C9CB0937F5DE92C0D6C281916D1F82C5BCCCC8753064A1E97FF11EC0396AEF5AA5F54A8236C863C053065BA15F8B6D5BE0C1191CD0B955611E6024203627545E8E1201357E7092D3491E8A6A7E285CD1C455A5C2584A17AABA88033B09524C0D2DB4FA62F6FEE82801D92A2AF230141836D8BE90D58292757FA5D0FB9E731FE4A4B1FC1796DBC52A02A32C8B042E3C1B9136D597E0B7D15DB41F4EB93245C98653B0B8DF53B2973D257003D1B56BF84D4B47971089200554CAA7EE2894C916A81AECBC242493D37333EF9965410D272CBCC1AEB27D9F1D7B29C2A99883EF8FE2CF4589B5AAB6562B624FDA20B9017050EFAA7F370BBB7277D1AC374A45E4B4CAC93BFABEDBBA6FD975B1D6FB01DEEA3FF8CC773836403705D57D6B888AD43E3693BD9F244867BD184141BB0117CAD7FCE90F32E08BE5CF983AEED0FC5B5F5FB4E5FD38ECEDC0589479100C469E69927F7A8D141AE4641863D073EA81025B8090A34DE483491F7D5F6753039A3C889CC59CEE7888EE833C85A46247815E7D7AC79EE8459148FA0F73479527D094586EFFB3A3B29C09E916881AFC891087622CB0CF0643A1C793CEE7DD13D5868B6D9CD21AC7B62898469FBEF3EE241B5599634EA051936BEEF1F9715C4F6FFA37C8B4E1859E661D30D0B9FFDCBFC352E2613C3E1597976B66DEFD7317D2F386D336D858E53CD16ED986C2C8D66F977DE572EFB61DB0CAFC1CBAA1DB55D85CFDE7F50E3FE2D017146B8F884F409354D1E177ABFBA31A45882E3B9F80119AD084EC2CE43DEE6788DA2F45FF6DDB81E10D0A81750BDED6C51D6C345F4E26CC943E448E0540892189FC707BD016D5D5FC444205DCB98D09E6FE96BD0602DF20FFFE2829C2B49710D2B7A85DD222E7E1C1A63945D5C2399584A748EA36E2CC719A4976BF08B572A63C133567117CD75CD77225111F50AF5E24154521A77E3423307B36807E9C844F1944D13929943A733EA3D543F09AC1B7DBCDAE1E00E24CF2BA68ADB72D793BB4A1265E74A28F48E58FD4374FC654481DC0C547D0D9EF42A8244C965704F38123BB54214100959B1C28E0F152A157CF940185FEC7DF3658565C612DE569C019129F6B501B4B88F637CE63BB7049FBD93067A3E367039D1E341F7325772A0643FDFCBAC96A7FA3D648E56CB6C300AA8CF8D1FD6040B6CA57402C27FDAB3B06EBE8A61824710B6BD150DD0220AC72734CF5FA6B9525A9591F953D374BAC1802283B7536085E92C8A5DD3FC457750C1DDCA6E8F83255C5B146E6ECC738D5E8995E76DC9F374B73141403A690A5DE06FFDBAFA13A7C77BCB1FA8CD7C82790C8D1481D0DE4694133C9C174706D4F7F6ACBB66FC87B7DC5D06D2679FEDAF6AB99B18056C1598EBC17F04C710C5D79EFD1291A62087701F809ADBCBB4B99A54298B2FEA32D9FA42C40690159538DD7C6854C68C881F11BE9EA2CF37963F3959CABA1C03692C0528616C0B9A85E5C96143CDF3139FE05C1F5A76C4A290551A6D58B6A341BFB6B57B53F60EC729E19249A6EA62A7E1CB87D577D5241668948CB5578003D8A23835360534F07D7D753D3073350EF587A168D73AFCA3458F07F028A1DEE44DE441392049943D4C27642C683E7794CD7D723F243417A268E39AE4220D30BB14B31EE4BEC9A4769A8F17FC68033739B5C85FA4842CA6ACE7AB27F9C00D9EA802E5316C0ED431B0CC4B7979CE963BD34A85B8390DE83084A3F3F746AC3EE9B79C4E5DC7B4512C796EA8A089A28EC79A4BAF6D1B7EEBC9B81CE077785C8ADF73D9511CF31D60E7EF62A90728217245C733A2F4B97D8F2E65CB9EBCC45C6C917C81384221C11497B77EFB654BA07F8C672D613D335DB05210F6C7327BC0A91222BC2DED06D013BFBC5C27795BBEA5AC25021CF6849B78C2E1EBC40DE552C5D4A2853D10048F0A7C8BEBC34987360AEE2D3634E45176A4078D77EF780F2BC5C3C0F979CBFF43C9C225BC82700135D58B697E1DC25ED025C532EE8E36FC6CB62A656CE2877DD20F3578B9B83D37E4FBCB64473CE990281D48203320BE8E19819A925AABA6962D040E0113AFD65CB0BB1C5D0928C6FFB6AF1B1D701E1B01BB3F10B8551E2FAA6E1B35FF8ABAD2D2591E1DA556DD782F63EF7063BEA0F5B5E9FE9B82D2DF574919DC86D95AB5707F9FE635D672F35C586D2B2EAEAF0FADCEAB5EAD57A938E1232E522EB803CF486EA9A924C808334454DADEED3F431450BABFD54F48FB2BC70FF7E9D57AC99249496342A1C7F1A17BB10ADD6D446F334DE10CE35996FDEA44F3BC609481E5E0E4C7742C015B56C68AB614F405561A01E7AA8969AC9525067A40E88F0E2856A9A47BC04E80DEA21B310221B40D6A74ED2C1BB52F69A87CDDBD482909392BF29ACF981A6C433B73AE11D36D6334497390B8FF0110CB952021B32104B4F88D344717E5802A3D5CAC90BF25C6003981C8201DA6DF2AACEF03CBBABF263D468CDEC6F2FCC744D65E605EB2539BB6741E55F683340E230EBF263EB74AD11404474BBB5598D4721860D4086FCF8F652CE4D2F6B9EBB232D31666FB07E3F2A8DE90EE166A5E179D1CE3719546BC1FBBAAFFB6C221F351B22A6BB3A6E054DDA736E64E4E902F3EC75C0E6F6172A9620A50B421201C55A8142789E6244EB1EC882598B929407D0B5BCD9451DBE653FE909B633736F8C9D9F02D1334F7C2C32E0A376F9306601CF8A0480CA3B67BA7F67BCFFC78D79482F7D031AE6835F1D4418BF487E417D3A3436B76921A417DD3DCDE6FE56E582681F6C723938056B38DDF193A67B3AD0E35B73A7A7EEFE2329B3E50300AAF08E21EB6EA90F81122DF8BC43B5B4675E00BCE05AD0175846CDCA2424163D6EF17873FA11182288AC089633B522CE9CE2CECAD3624DA2127896C7509D6606962F6AB13AB9E9E6D55C4D896FB7BF3A70DD03B4D958E273CA98F792C99E72FF869855FADC90F7D2911355F4A1D41AF72595498092DB22611066E540B6067ED78F5EBC83F65EA696089F3D7EC6C63F5BE7A18F141253753750C95FEB03B4E8FB385C0EDE98DF4E829251C9775AEBD584864AAAA36AB7E6DE2703ABD26930362271068D00B19E256F9FA409E31C49FC47A79B5853FD161E6F57444FA1C22CCA8B144200D92985E9A6388EE9FE713FA8BB59B9DECD6F8C6DDF87938BCDAAE69522084819D3156376C5C53B348679539ACB313293C73BFBCE41E54B856E2ACA1B0A2C9AFED366A8C37BB46BE2CE93BB14C27588C7125A8DC8BC81F0F5B5AF9B95DC782781F557A0A60D16154CAE0663BEEAA0BAF712DFE21411249B6053A0869B5F40EE3845728208BDD10DDFF0C3FA33F100BE071BDA04C70A5BD2E4D27640F2F9F38192B5A97712B3D5E424B518C663EC27FA7CCF1CA06D4F02E2F9676CD864E8E1DC828706E7A8133D43CDEF8DA2AFB7F7FBAC7E1B36CA159C27B00DCE8F59E371428AF9F1C99B432B2D0CCC538282FC87493BFA980B85642210332DCDCF256603DF1FEB73F47F34835AB33B02A970C6F0096A4C667EA24B8E0AD1FEB097F831B728F8CB7E9C507E4D42A855A82ECC069506750D9753D9376116D700CB8B4C78E5E96272916DF543D71B03AB13475A4AA454C167C1D8C9CF61014DEE927384108F6A84FAED71253A17D89981B3393B8288017A722B65F8A68FA39825EB5CB00C51D6607F28183908F9F8DC271B3816FA3EF77DF2ECEA371089B47F2BD8A3F23372DF03D6893E43D0DA5C71A218AEA84AF15A5C47BA42B2C6AB542E647AC0D358745DDC803897500B434E29
@@ -4,7 +4,7 @@ count = 0
4
4
  seed = 061550234D158C5EC95595FE04EF7A25767F2E24CC2BC479D09D86DC9ABCFDE7056A8C266F9EF97ED08541DBD2E1FFA1
5
5
  mlen = 33
6
6
  msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8
7
- pk = 8626ED79D451140800E03B59B956F8210E556067407D13DC01A19CF92B6AA9B013B7C1D3DAD0F3EEA69F90411E364BE5
8
- sk = 7C9935A0B07694AA0C6D10E4DB6B1ADD2FD81A25CCB148038626ED79D451140800E03B59B956F8210E556067407D13DC01A19CF92B6AA9B013B7C1D3DAD0F3EEA69F90411E364BE5
9
- smlen = 13089
10
- sm = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC89D71FD4A092BEE3274A2DCB347798C030FD4DC57F2049683382EA2E4C2EA764F9E1CB18FE831BD4D070B215500369520ABAE5837BF93E5F1DD35D01F0C3C08F40F8049642379EF39DFA0CB31A92BE2EBC1BEE41679E9BA2F48800DB468E6D9EB5C82FE82AC9851483323DBCB0B8C3DA5505215B6D5E622B8D6A343548903231CEAA60B3843040BCEFB35B81B7830F5012DD9BF341910D290F237E8A3FB5AF241CC4BBA97B4A8021687EE212E8B788CDD31A58BDC74E171289BA581438DF38973DCD6D21552402D7F53736F820288B794915260B08A5696825AE5A9256F865A2DFC5ABFF9A47D71E1AD85946B3C8909A90DE75AD6E004E4878C0AF466A39A2F7CC92F6CA401E79901CB39E524B00BE18226DF451847B9D548C841772B156924804DE363CD78139C4BF0B69C955E891057E1747D47FAD59AAF5C19F703F3173F9B874B599BB5273E70F3C273A942C7B56AD4E3A600E7271DCD95CFB761071999B726BE158BDB2294DB70594D7A1D91D25926CD9685841A28D9E6BF1E65387E1AB96ABD57D6E3E895B41DE62940B0E5EEA2F874952EC983B45D2401E0020A0F68591E94266F67CE46427F434C6937AEE8B1E0224E39496680CFD8FCD722093212C8450409AC12BDD8C3B02484914A3FE47CF54FEA329D40A188D70816AC1BB2315BD37E1DB1CD12FA4EB7C6F9664355FA8A68EE48751BED3C68FA7B8D8FCF6BE3F4659412E9B9295A67A6EAD3261BC5B7F95A945ADBA8AA711680BB2B5EC8F99524A1FA74BE1028E440D8129CF18F6176F45DEC52D9C31B3B3AE0E4903C9935B3BDED2BD20C0F5605C6EBAC6E18C1176028F41A82E0E0B8A23BC4943ACF4FB506E1B50E2D5D334C7F2943C6824785A5444D00DABC9475AAC75EA70C946E7C91CD132AB4311C079A3B143ABE179F4A1972D3CFB9AB91C9210ACF8B6C09CB5F5567CB064D354AD138E59B39F3969C2E97DD0C37F8897CE5413C1F85D8982EB61331863733315CA4FDE6430993E777D9193BA91FB979C52FCBD340AB5DB0CA6BBFAFE9E622867CFAA3962AB4E8341700260D42A33C77870769A728355E427A16E5C3318934CC8B190A5F82BB2C01451D8FA0FD4CF7352DA2A92517C36CAB2B6FC460FB00420C7B2BF6DA2B557BED7CF2D070CE525B89E12766D0CF919DA153418D89F65EBFEA0A06834AC1D1D486628423A174B5B8E02C685FE92DF0240DB363357C5E1D3E22A137BD9950E4ED9C744E5F25D6BF571E11B52A217594B37ABE5FDA70DCBEA5C9D2730D6EEB352A180926572386221B0DD13BBD4755B3F94732C36A426C945E26CADF862F66AA54360A5DA689A371DBED475E4C2D8F38E9866EF1CC6E509066A973CD51EB43313C72F99DAD9629B5B79A00EE0C10060F9C9EBB131A1EAFAB0BF2B06BEA3AB5D631C95507C5BC2BD4C0B5A6574B9E171BBC7BEC1B327B0963D83A4E491D78AA4E43E851EC01C5DEE8127C87507338C21D150A93E9A1EA3345652544F4787652E08C1ED449AD8A665CEC34B01B0210F0DFA8B9D03A1CED14D3661B7F1CE0E476DAA985852D537110C15ECE5C33D43A7EB5B294642537E3309AE2CCA899608F71775653D6CED18879F18BAD6A78D61A1D2BE659DECEEFDA43BA67058CE2FB1A6F0BAFB10E4F23AA918FCF79E9910236748824915FC277E3BC205BF29A51791AF770429F7C341473334EFF8348B8625ACCDE7077660BE525E50249D2502DAD0AB7398425C70C9B0765CDE52BAE6F90D79ACF0D611C7D5858DF608EFDF0EF985E575F287570DDEA5F1EF7CF701F5B045802DAE5E31B13E49120B16BC67F77CE54C6E7FF0B310EF6DCA7695C99FCCE6A90BEFD36FA5A2564950D1E51E7E6BBF39D032077E5C00F7258E5251A84C3E1A9DCC78F88275A302AA87C31A118AAF2785F218D2AFC961F81CB2E65269283E5CC26AB01E2CE65FB7EDD78DDCFD53595B99E9EC28062D5E9903CFE094F02FD99BAAE1E4C10C613F1AC1C18CCFAA38782DCEA7C29826C3B6D136E23A19C35FB19C95AC0E8D09BE7580CE8A017209A74D16C71A5642D6BADE1389D34FA4051AFF6DADCA5693A6CED4539A7CBDDD4DD1913D3285677AE79EFF20D09BA8B1616432C54F6E56151A478F552A1BD13DBB62590EB9D1EFAA1CBA918EEF8562951C62238C04041CEB3EC8FD6B4BE5FF3555C259AC1C563718C6F8DCA8C256B202DEE26A16EE61312432D88AA3B72BEABD1E5577E79F206FDFAF551AEEBE4054A6B1193696CB951FC910CFA6551498C6A323E8EF77B4745E8879FE499B6F5916046B21D02B99E030952790FB5F3BB2DD8418C3DD5467DECCA497CA7A45ED27A7908BB5851157A2CF6247BB4137A98C07D00DCC2EA7EA8AE6DCFF3A824F438C958D88EA256E41212A82CB27B43C05571D084D2C484AB769E5F5D8BD7037D7F413CDAD68C39227B3FE8007414478A96023F2BE9F2A0F0A0ACE0CB4E2CB9A0EBF841C911CEFB5883005B0EB31CA9D012A6F4EADA0B28BDD60CB1B0AF3F84032183226B5C75863B936F52D60B37711F9249B0F2FF8EAAF3F092FC63F9BCD81C1125DF7A401628FEA3AFE2E99F1736D39268376E3D3FF2BAB075D10AD8CD2B5D9363DDC68AD56644887AE25CDDCB49A2D6ED5B37CDDC2EFC758AB072B0C60038F273F6EBE674E6C6E09E668CFA27CD2B7AF39CA52026BE023EE6955E50DD4EECEED862761D450CBF150EDB6CCFB6B2732335335845208401F2EBA26CA8A36CCE4A5F95C50E003CCF6FB913CD805EBA877F181A12A4A494C88AA59F41F35C18D45B61F2DFE2BCA82E636F2A0FA31E6D61B3B6557C5F8BD91C37777BFF3D098C24D86308C829D7C0136074D39B9A8FE8CF57B9FE0BEEE2459D4B7A90746A0B386A7DCA70CC49C0F351BB3FB22841AC40FD961F7D411A651DFBDFA75BB44FC6BFB3AFD2186F73ACB90B37540C8DF2EF4A064A48CCF8E080D6086556F8164B7D42411F16B524D40B5D3500B6377C70E9113712E0CD4C178309B44C324DCB8492E74E3B6D50E81B38F5090AC3D305846B0B6F2F762AEFB3563F45F7BF661AA576920641B81359B96E620A5DA7532E01E2154E904FC6C80D7FD9F1E4641FC55776A20124586E926BBF2E15A1D313A1CD089A84097FDCC04E4D8244369808C9073622D89FD1ABBD54C3A5CAFCD13C5DA7F19A491C8566CEE6E1E8F7A008EF5DBF54E79644F771D4616FF29349F57C7274402BB03FCD2B3E8F6117A7B2C52571613410C148850E8ABD1CBC9C2DF4E101DBBAC51D5733788451D40325228CE806B8EA2AC51F498D303C381F3422A51E4B7109FA909D46353FB13ACC9D4CB1FF1F097EBB7EBBE0CD9810ECB285596176B882A3E95B95D21D2785F55AE9E8F567148BA4CD045126B8EDEC0E230C0F035BCA34C6F0CCD3ED337D8ACE45278C7B5866902B558861B7C106531AED1491D918997AF1F4D23D67D6B8C27A20386FAAB4496AF485B98BB6C0E03866AFA2345FE7B7D93F2945A331FC72C22916A82B70319C7097D24EB572C5937C5159412C4A44C4A585AA8A1F05760822649A8ADDB883DA12EB12BC508C9CC12DB262830169589C276F050A40AD40D3143C38A7F487449F2AEF2EEEAEE35DB512B606A669DFE5A5FD3D6227AA96045D336D52C6A2156DA32A7E1B56F17D7CD0461C291507C6CC7BE619695991D2379AD23493D690B881AB0808804B02E537E5235E7ED85870C9664035EFCEA37D80381F1B136209D84D9EEEE5278339136075063A0CA35BE84A008C91C6669B54E912E2E62FC61EA3AC148A3DDE7514BD09CDEB30DD4DD367B04CBC8F8CC229395A5F8D4D1119D3BFDAF4EB85D54CC397F5C01B51ABD7A60BA7CE934E9A79F43E6E757818768C93F64BD0FD5A042D99A47D0FA30A3F52F47879E6BB813A0BE06C0F7D799C699621923298EE9BCB4FBB8896FE49F0E558DF796BE28FB75FE30F85B8287E81AD0DA6F0EA9DA296F888A27EFD1BE190CD82A92C1CE813FAA0DA26AB6B77DD73FA240E9262E3A7B4227203FD01131378E91EBCFCDF86C3868FB2EF15AFDF5ED87736A2109DBB5916D52E038DB9A3431B559F77AEDBE32D4E10EE66461D102B20B7D90D9A9CDE5794EB2D4823D6E1BC8D5A4C0390EAFC740FA60D38B3D3E3DC6B5C535D93984B41EFEBE716E88F459DA2120F9CF994F95F2A6743FF3D91043CB245256D88D6C1629103376DE79764011BBD12736872C9C7D1A3FA7160997F1B166BBC3042A279C60BCD5F2161385A70B2A0FF64EE5FDBE7C322D418BC0844307232B15B9CA7ED0A2E9F372CFB2F3EDA1194F70DF1143A8C93E5B98DEE002714E2FB2C1EF24EFCFA0CFD6959C1305DD91C4A82AC115871B6C01EC72235007D3149216FE5F5625037CFC961C7BC634482CFB2DC67932F9C0D378B0E54BC31BE02707A074CE02AE3B26BDAE5370B39980442DBADCF615728C3C3E7A8DA08662F82279AF673FEF8D3CA6F2C92DF9C9284463051C8AC89314620A230951B89280FD290198C623E236614CC3680CFD35405367C93429CC654158FFD865CE6AA27DE16C81F8D71751C90D890BAA65C3C5421C3EE8AC4053CDF25505B8DE433F399BCB8A2583B1788712AD88AC837CF15304C2743571D9C37352CC774F6F07E73193DDBD9D585B55B4857A0917645DC8F2FCFD3A5067EA2244E93E80ED50F3A0F0F59D0C1DA669D0B9C3647A808CC3C5A9FA1E9D5DD28E7233CA4D30275FDE02754AECA8140F4F16A95EC833A50E4631AF8D84271EFF7EAACA43FEC79342B5CA5B46D7FCAD973963199E18C3DABACDD31B4D56FA32BB329AE38377911B571F15417D889826213B4CDE2A20A15B6E166B99EB6157ABD9589784E232457AB144F315E2474CB676A4F1D97BD1AF1C7A833405AA048A498FBE17167EBDDA2B24103492630649589B6265B66CD6BE2BDDF8F962F727CABD88783B4E7DD500DE0D96EC545812A9AB4906F90916F9C684DD6CB235616E462BFA72DDF7A708E332935FFF46D09164839725DB18CEDBDF2EA8C2D481A1BE55C212D5E7FF68CB189C8D7261DDCA693D3F32784D88937047F9EB11D759F36FD013FBB93FA70EAC68885B636EC173A23145DF58B66599905AC89ECDAA4BD9148406791E4D9DD141C806833D17544E8FD67939FB516B50627F54BDF99C0143A0EC4B7FA45660FDC7C470EF03CDE359806CAC90E9B8245E5709246B98B5F6F889A9B2848585AF5B9A22C298212040925B0C7991DD28E2A94FE240655F3A95D39536A1B57D222559771C2CF5222B7199D8D599136B0190E9D6CE251A6F274C062564009521034EF887C87E14658647BB4B7AEC0C94A71BBBED592578FFE1525EA1D25AA018137038177E8ABB7553065CA1CE7E6BB2C653BEC4B81AC12328F92600C7E3635494D79FFC9F553C14BDB12C7A52CDDEEF8D6457A03178EA1BDEB2CD6B2018E48DE95C7531595C1892961DD57267158E649AAF7103FEE026FFC80D8F5C72020444702514AF0D580FBCABA16EC04F86C06AD0410DB578E4DB53335FD0CDFA5847B7360601863CC8E6691444D3BA2827C56CDAF1BBD82CF1AD54E584634EAF6A9FD209D85EA3A19204402E7EA4F0118A3DB4756102F6ECD2571A817033D2B2AA317F55A26FF3FB0B45F812D7923E66601EE7A97F3ECBB248E8EF1FE88A51788CA3CE9EA55C20CA2E5657ACDEB600C22C09F4A10239D3218EC9A5CDBCCA2EC8582DEB22334C396989AA66A55E53349DDD794C351FD5AA853F871D835F2298FBF88F779100074C2D26E07007FDECF087C32716569581FCA02ECFB749AE3D0B65C9036FDC776BB4679ED0ED5EC398C5269D251F0F7E2E00945EA0AEE86F5F9C16A69BE29661D6B4E95B2F1A14F078E7D821B641FAE8A44F3E64A9598322017DA43B63FA2CD10E56068EE2EE9CE3655D4A063E682587AB4651BF051BF04F4E042ADF64FA93CE76555083575CC20FB5D89A91C906B3E3CF04406DFF8ED7E2D73EEB5F1DAEB2D550FF3E4A9DE12283F912A765357EBE1535BED0E4E86CC8E7E81B6A825A51BDC23D3404CF3F44B905077A7FD5FB562445C4A4DAC71DCFB85EFD6C10CEDF7110100B5E9CFA6F8E95FF0481B662AA54572317A7BAD285DD810FA3168DC888B7CE67E4DB82A56FC8BBE16092D88A6512AD5032B375445D3E660AF35CD47DA1D9B2283DF7D3A39CA36D803B76877DE8B448723939C0F8A3C10A3BF928E348C68BE493CB7AB8C6FB9F62F0929B3386536989D60D430B124D793D724429BA7AD9E625AC2F7F3917CDDAC2EFC0E4E3FBC9008765D3C52F7A1F274561B312E19B1E8420B3DC5FFB69EFEB623935B217FC46B6E6B8AEB6CBC8218816B8ACAC4FCF01D1BDF1B3CB64D228D840BDA58C986DE67E914AE94671CF3DB97D0BE40B8FC85810D89742BF3006F9C032A2221DA3EB42A5AF4F0DFC10D01AFF2D7DBE674F176E12E5E089225C8EB48DF4885A5C777541FB9385A10CDB26074D6A9200677F41B951D4CAD60AC0D1F09273C065EE36F3C0BDDD0636CBC4C47E3B5197C15A3A58CD304166C42070AF77F66E7AE7932E16B9645EDC45A48E72C294875EC8913DFAF3F41336AB20208C850E15618B656047A633631759B8A1E848EE98424D7905C2AF8B264EDBC9C297DA70545779EF70217A3A503FA754CF188C6DC50DFAD459F6808DC1D82DA57741C806269F57314D32041574AF0893EF26FD082F82A96411193AABDF72E7B629CBB3923298F97937A49D78B2726EB584B97C344E9D4F02574D61A624F5671B9C39E143254663032A3EA9BC049539EBCDD9F1676CCF7921CC31A081B0908B00FB569810421196670B7D6DF441E0B0BEDDAD2C2B3A9FD66D78DCF78B690DC25C1C43CF2A2A9A48833BCF086F4062770B384B7FEA4D529A5EE4FE51B5A0536B60A3D8CE95AC2B3C7C5C5E51329F02181EA819A50E8C0D241C581C67365EAB21CF5121A8C03816CD11801990D140646AF74268D5D86C25FF5DE8C2E534DF5247BBE63DA3FE0E98A4DC6FA66B11A8E7636BC47810750AC6CF826CB1DD502510B0245A156C7780C13188EBF9E566349D8EE80AA209A5F92E20553C90500439749EADCAB94B85E7B89506A8AED9F2FA382046E679716702A212BCA58BDB23771A8B67017D8F8D68CCCEC6607139DF6F8DF0F6F2313E07C8158FEF7345FC845ABBD046C0E4ABAC7761315A5025869445DDD1B1648B7A3EDE6E337C64E6BF161FB018B69D69C1979C03A2D84F3E68BEA02EE6EEB67CC7EEC19F67E0B334B5F02A143CDF7979A56E2E63584434938BFB9F181E5E8A25F69ED333D7CD327809B22CEFAEE2E02F2AF8944390D63B3AEE121E0AD0D869813ABEEF00A320EC8B16B999541308688234858BB2512FDFDB94EC577E1F605FBDDBDA20CF355A92FC0D92C0808FB978D2FB1806AE2812725BF2F894BB296F00E9EC37CC5F14CAAB053EBBDAEEF330E52C9AF32B7DF53EFA5718810EB0390B5592EE73F904B9792F0693971C071A5C714C604D73F990389CD0EFEC5E37186EDE9F93C4DEBC5466C06A1AB9E02AEC64ADAB1D64642F8C9E44FBDFC554E30FF34E32B09490E3878DCB1ED389E36AE0D2E8A05D296068007ED44650CEEDCF649099E0FCA7B82D0AE6A8F2240282CDA80DB4D2E0420462D70CCD9A58DC3237EEE1C09B95FD2E668B357BB9D15E3D13DF608F2AF1EB0D784EECB06429ED0D9034E412233A5FCF23457439A0AE73F5909E17158DC551F5274AB4A0796701AFDBCCED1944F417EB01289C7BDA88C3EE98938E211BD9FB6F9C051E789DFC6BA5D05F391E2B3204C914406054DCB0D984B055502AC0A16EE442652035D8A3B97326B8044F00D385477F68E8A17F73483FE551F5DC80823F1878CE6ADF0B83AC15C0DA30E7597805FD56675D8D70C90C3DC684D77D031C82DA319C848A079C46FEDB47B078AC0E800D8F772E4F538EF3CAE01840FB4FC00D7AE50FEC80F51BAAC2686C9BFE8E2C6B47E6358448218F8E2A7F75EBD8EFDA089DDA356A4D220DA37416A1C0EF7668D8318C711B4433EC4D6660EF4337CE5D49A7AE5C3132ECB7A40060A9327E0E1E7417A944629AF214DCAD17D96B02BCEDB79664D0C8588CD8D93CD838CE3614BDF522024E076BB7DCA365D86059748F8B8431F2EE08866F25CE763FDD73DC975C400CAB98BB47058831AC0C89C46EDBB34F312443465C43ABCB269E8C254B7FA32D2EA186821C53B3C7EA92D93154C2E848262C1B6EC4950A68532E46A115007CB200E791F40B012DA9053EF7B00E0E9927A3D33C358CC9803C3353FBE31B3655DF68A2CE76001924A80479044D3C6B4AB16D98C9ED7F5C4944646EB05759EFC8DD032146BBB978164D5FFAD40BB5EEABB2325309DE50B04167873D203231EF6FA91CE16685DD1BACF317ACB16EF354328E421BDA5EBFC63FDD8C5DAA282C25AEFF77DD3ACC4C5AF218FE0663051495FE41DCD95B4724A5CD680F1969DCCC2DBD774C258A1D3907B26FBCB838E5127A236BDED9F74AF2CDF1F665F16A3D3C5DE82A14DF2CD20BAA74BD3ACFC2A04EA9B4FD028D6BF7019E42C27F161B7921ED2BE9E3A8B23782CC0AB4D815FBBC447E74D3C4A9CBDB4E7D4AA1D64039A9CABE14A9230FDBF5243B2185089F647C9FFAEA5CF5191854B724BB1DE61AE94F499BF43E557DB728DF06F874703D8D6306FDA2848696F71A0C0208CFA3DA0DCBEEC88609ACC461B02AB5C80D3FFCC433283FF9495CA5B88A0EA69F2BA4A376482883A1A592F00312342ECD34CD437E5125867452477C47F09200511513C3C6BB9AA18F84173F568A120A70CC1B49B4EB3773FB6BF222E7D378B9A4408F4E44228812E8F42A901F8425768D39AA524CEAB55899BB237E9761838A39330AE55CBF93CAC425F5A7856BC243F30C5F877BED9F74628A504A41B59C2FC5F18217AED95D2AB529F166D35AE2D2762D39AFCD97F28F1A99C382AE1DB81CD7C78471AD455AC6D5552FAF67D58FCC8683D23CBD82D72FC44C183F762F778B4E5F141E268EB2CB8F223A24EF4E8846FF467F548AE0B0F4D958A22B3DC8819B9AD228C6BD8551AFDAD5EB9BA78F60C6B1ABD9E6FA1423B709C2542758B1213383BB7AAE52A0B2A5E430AD2E50F09AAA8A5CACCF0FD872251081AAFA50D1694133F4588F0E37F8D6F35399BF1700B97B35A7127C104C531B2BFA4EDE3DC1AB18EF93EE2F322CAEE1A792AAB2F58BE19D1B11F5CA16F660CE0FB78570675281283B4BAD1D41511226143F5E5768962069080F44755CE4169B369AF759DA61AA52F8C914278202B468A57DC0D1D00B45A2072F29964873BF358883AEC4A32BED3CA9BD60C6CE5DC44B5BE03CBBABA51FACD4832C7C9EC177B767CC0B9819B614650FB1FD67AD49E62B4A3627159570140C34C8960EF028F0B5A53487232243B22025F4E4377334BB7371F21BFAAB52534F6E450D739CDE63EF8BC5DB0C08F54C139E4A77A694DA498AF592949482325940A666186BE2C3CD1EC27ACDD4B8FD77DAD68887CB6D96091D6DA436D89B0A1BD0D46B3FE3CD723393B0BAE6C99B681518E2675AAE12A0001B08ED9EC3D14694D74A0C6FE0CD4C62DE5BB92CDDD3001B514806BD27B2BA44A90889E298F8A590E686BCC7CA57000F18B7C0347F90784DA4EAA980ED95C056523EB66145ECD2DEB3D22706ADCCC0CF62B1175C2D3FA762B0CCC788C4B01E0A90A3A8390E7649945C820EE3A8AF9EF5BFE5D680F89F8176D0BD2CBB5A030BA1BB620CB658B5399A8BC3F6BC0949720AF7425B82A8B26B799A5FE725C50347C4D48468DC4408CEB25B0C03C35EECFA0B6FDFD211F0404F084AF7F1FFA16AFCC9812BF3CDAFD1867C32DD722D7F9FE1E954197D19DEC38F3EEEE78C25064EF12C38C8306B3DE1F25E674A33B529667DB7DC44F15005F767D46643A59FC21C65F2FDA68986D59678499F0DB2C30BFB50E1ECD0ECF0A6A5B1B174A7151DD99CD595E80007F5DD34450B81A33108630ACE04972D439D64E8B3D178E7DAD756B046183A36A60D74972A526EA47790C697108FC11F87E775BB83AFE2A3228C314BFD7F2EE189BF87CEB394E4529D985AE4F600DF45FB3EF963E996917CA5A9E1CB8F9AB72D41037E92F9D23CE21C6FEDCC857CADE8B47C10CF24455BB17DD194F93B7A0D7AE5F720BB17AFD94DBD7995226AA1642EEDCA57ED9446767EC83786C616564C2AF3CE06BDC716F9717E7F8567F0165989E9AD114B4F1135388950FA767AF785A4BF569D965FAEAAFA06F88A85F184AF466E9AC1E2FEACC586A13222E59BDE0E5C2002CEF7676E78D5CBB770639C9EBF619177CEF6DB54CBA7124F25BF98A370C2A8C84806B2763A420248908B9BBC62D7A0E627DC790CD0A53E2ADD1CBA97F55AFC78012B09162B106BD651F8C57CCC2A6F87097A0F242F666963D1FB715C4A2BDAA7982A4BB5238636A6A8E6557D7624D1F097C4443E9B2CFA3EE92380191D79BE8B47D384C48321FBB55BDF857B635A950E13FFFBD76FD2D687801E569F58B24E863FF34D3A55E39D9BFC8DD68DDEEF8ECD35E3D7AFD72BE38F7D81A7BF3BD089452C421C44476726BC86D1502AF7AEBD4A5136084419840F65651AD40CE883CF02A14FBB158BCA626CF1999BCEB5802E0E264E78DB5DC03C8BEDDD38324424B9A19FC2A9E20D8B98F7C6980D3B6E1792F0C6F2B7C890E75095A083EA63A3C0876277C6E78FFA0CCB3146A3D95631A5EF15C5CE98ED48262F51E29212F61DCB6609D4E824EA24D4358439E964F48A1DD19BF5612B1BD100098D91B89520A0EB954DE2C12C91EF07472C73FEB597F4BFA0259D3271D95F79F3C71618095472D59FEBD3591ED9D0CF0A8CA979BC5BD8933857DEE9F56479662552E4C2323522AD05EE04CF1689E5782BFF552BA94ED28D9C9E87DEFC6DCE9AAFE4D6C04B5BAE7E1BEAD4DA6190C6D48104FB7388401ACBC9224FEFECE6919A73C10844226D1F04DE1D087C57EF8312A8ADA8ACB879CD75F25C8A5C58DE912F289D62EA329517F1D93AFC2FCFBBD47F40928E79FEE63701B306E364CF9EC8CB0FF2EE25E0D713C5C8AE5D9CBB8B7CA7E24D586410CF10CA0A7C64132FBA43220635031F8E561B29C01BC0A0A22DED7ABAFB4C687C19D6A2E3AA6E472CB0ABA5A14581C7C00F946C341F516832A94101A4326EAAA0603324993CC6A725695E7A595B66E9597587454F8B17304B08C3EB97EFE98BFCD74DCB3E0EDC7DDBA55C00064731A1897F89FA699C70FABB0CFEAD6973822E80BCA66DE64369ED1E31D4BC318C8E2B4D499216E0039E5E64AB8DBAD232A9026C807AC2249DE43081EA9C177641A36A92ADDCCC7419AC6D2E3BDB2A419EA6B38D5FEF6BC9AFB51C1C9D3ED89023E46E8E41AC2079EFEE04F9CDC930F553300A0946657D8A7661E75B0854E774ED694AB7B8BD31063FBCFD8F1A484A224CC0DFA5AEEB381146F0706348E9AC9B076EA098D37BB91EEC22995D3223208E37D60EBAC5D2DACAB39248E5E6289513A2F5A8F5A5A49B1B11AE3DDD409DED1D0698F097376E6F5B91BBB596B11DE75F7CE7905599344D8D0CD81EE7C5C52C3D29747EED6906914A37DCEA8F4CA316D81AFDAD735A81C48CB71758D5B100A005EFC9159149A906FCF7F58CC67C54E106CE91B555AF16E95C851F68184F2505A26A47E334FA10051E2289E98D1D9E3E4FFC538E739A4C04BDB88EF2D80C7F56A77EDB90C680DC60FAA13985F93AA7B2B95C38923B2137AEF3E224ED21E361388B4E081F4F639CD6A339804F06C01EF3470D88DA33AC509DEF8897594BBAEAFA400423B66FF0D93C7B919598BFC5BFD20C3B90708FE2B28C984F933DBA4ECECA07156FE3871338B0BAF23A68FB5197B54B3216276D3431AEB138E06F00A44C650F2373EED13DA51816C54B8E56B9D7D5EEB8D07B0134C292D8A2830279A8C8DAA50CA7F738A8E295A2BB961F80B24C97D48FDDF9965584931C18D6F13E1B68C7E31A7015AEB6D234E0363429D8F850369EC948CAD0154245879523F312D1B23FB3EB53C76E2757C7F35F5E592203DAC48618EAA016825D9759040EA2796D7B4457A66AC35D9E5F077E6E4472F3204CD0BBF05DD153476CDE76B839D560DAD5FFF22E7B77154762F6E1F15425BC8995211BA6E30604BC016DAF56C14661236EA326151ECC6569E8059A1FEB7B76946E21417FA5BF6CC0035625203ABBEE49AB24F2E162B93DB96DDE60A6D55FF872C018781DB514DF8A97961C5C90F8A38A88DAAA9A33EFAB66E425089332FFB94FC289BB677D0A9936966ED3D9CEB23C2910BD60968E05680055ED906025F15B85353E82989B7E3DDEDBD277E5B5957244357F95C0D3A36A44FA0C5C7DDC1753A49BB6AD709E8CE5ED8880A928FD9754AF37A16ED900F3DEFFDE517302C7B8C1DF8198B4A0A1D9993157F712747C16872CF91B01B0DA75B7C95C5EC9FEFC52F5AAD806586E75D50D0E0D48340E3346CF499F356B956C36B8A95CFFFC9D871691DE68CA23F58658ED42E1F33C98BDFF7F80175D532AE82B60239AA014C912DBDA3F8C2F3845CAE71317BCED638C7BD628B903B447A03C0CC8D370664796D7EC65A7B6772C93BDEF7C9566A1C29D7BE01B55256781BB3CF3F8379E3D3EBAA154959DFA112EF99CE6418421B70002B593AC7765C91C460A223DAB600CD2723DC10B65A440E50270C2F834729534AC166BDBF96E2A6A071B32AE617ADDA147258A227BF6FFB37F5A9C4B988B5BA863F738AAB5319177974F13B1C46D2518597DAC939D02EBB8CEC93CAAD52B07C4FAD1E8FFC7A80C3547D279BF72F10AACE7022048864EC3B7894C8395144F4174D9D5C00AF92F5B4BC38643226022BA90F8257B376C1FBFA9E91B3FA9BC763D276849DA57A8211F90910F748A7061D0692C1DF1E06F3DA61C8FE74EDE8D1359F5EC2F1DF4041426E3A4D20F69E1E50A4D219BD746B0C74C39D6BE412DA05D35A44E2364EF6BA387DFE780FEFB46B6B49577B8990ADBD44A0DF62526AB621C0E7E5A3FB6CDBED46BFA9E6765DCA697077B086D26CC21D484837EF8BC090A3C8E4AB18C5EC2068635F43F43DC0854D0ECFE7226A6CD6F0C54BF27771F5732D36540755B93EB399BCB431286A0B8A7B58531C335B91BE5E765F572E2E9F05BAB1697E0AC690E408EEA481EE8977244A5EAA21E2C45C7723D0995000AD5BD1395F89918DEE1D9BE804784CCEE6DE9C2AA74B561A8D446624E9077A5DFB4EF2DD3DD25C864A8C4655F2032942CB386779612F60F50991CF9FA0E8F37DF67918CEB07227FB33DFC085D102230D7EE02785CD9D89603FF232B8F41CE05D720C8A4C218EA05756892A7A7B3EF579751D998A5F3DA47DD5E2FFAAD0E60A55B15B1157113905B0509E57DFD06F5FF9C4597BAF66D9D195AB5AA44E22E17A935D97E5F859F92CBF8F27E6F5B63F36045C0D3D0072E4C96F109CE213D5D7B463FFE1584C84F6F2EBA978108DB5D938AF235BBE3930961CEA0F0B06DA43CF07D27C1BC50BB0FBFC72E7A8D2535B7D0DE64D92A053E1C96BB34FD5A402A36A0DB39C097CB20BB45D3A8E5C521D436C93C2AB92AD93821F43031168BF475422250AB8D65590B0083D6B12F64BE26FC3C9FD332540B68E618E362680913F432E9F80CA8DCD635AB5916E599165F44093911226A30A3F2ECDA7DAFFACD3EEADF4BAC3260D062C684CE0B0A7091CE84793B7221D55A4F4724973175C1EE84543230B9A873EA90CFE4F1BEFEE12906ADCDE3833EF48D0DD070EEE1EADF4A129755BE7A45C2ACD609B52EF23C047ABA39C2B4F27806BD8FF3D7279241DE0A2C54DECBE1E711007FC553B5E324230689A347934D515AA0A12F2C902262BD018EAB5B8C64142992250BE707557E8CC9EB089BD13A20C02598A5B06BAB1996BF73C3D67960841C60755B4E695EBFFD37D1175018CBC9B9A95ECADC1822F098E65B2ABA705640AFCC0A84211BA20D75CFB7BE378C45DE5FF8C20F476CB65CF23AA4567A742826B0DA25CE6230E30527E93429B4ED0ECF2CC65DA713C1A57A91D22EB24D43C9824513C6932F1CF46920CCA206ADBEECCF2F30368FC6AFE20265C9A4D1D774B8F5220211BA1704EAA0FECB34C674EA27D7EBF10068E3F730EE707107DB96B6B7AA258DBAAE51F358CA85AA1AAEE234489D63E7F0DE14A90FB3D16E8D76C45DB7B473B37F20E5034377F1342CB1FF85AAC7D579D232E508802DE182C9F63F980144EDA11F4755BFE80DCD676CE83E6B9811CDBA8B2461D45F75430573021D8B7C234DD0B1CAD0A1ED90396DBFCE5E23F47EF2EA4E063A7FD0FB83628972AA564F7EA91F576EE5E0F603D7CE7329244E5591244DE33A590A0924498741F06E84F584D741B541275D721ECB421E96FEE8001CFCD538CD59E5BD7FC54DE4E185D5B32265AE506C7AF8759235DD297FB024C610DF1F364934F59E895590B18DB2AA377388AFB47534CC6A7F8FAD62CDD353CBD3F04D73370895FD9AC8C7B8BF0B731DEC7872599FFD3CEC306F1365F9346DCFB228144EDC274FE991AC90A5052711B5C85A56B30D032EE3AFA99615D78AD76E2EB92EF7126D406D293769A305A03479467FEB73F19A6BEB5A306EE088AFF06CC0C3150295A822A43C638B87C44808A71091126BDE69CE759760A289E7000219BF7BD3683139AEFC8A18B6A0C08990DE59CF40E06B4085B65D016E2EE82738824044AACF4E3046E0EEFAD51F866B3C5BA2D6A5985596CAA1689EA56D433B06ADDEC92DC366BADECC6E292543F1B2F0817B66506068ACD7FDD77547F00EB55710E218935A5C58570219BA9382D5305114BAEDCC000BC91F92080D5BD004443FF90379C14180AAE69C5CB1347C14008456FAC1960A66D7FA60110844C835B5D36FCC2DB94230B541AC90138DF03B74D1ACC665A68F799971DAE381E7B5588A8F0950FC1615851CA7123A08FFB15ABEB523388FE97EFC7B685C17296AC355965E745B709FF878559A5D2E40D13DE39E36B3DCDFE56646002EDB1345269AD990DF6159DABB1F243FD666F015A129DDF51B1D355E3C81C9CB200F5D51611D8ED27B14AA7B9758E475E063A8CB111B4390B04566E56EAEC3B85EDE72131C978963ACD9FC4677542C066426A196CF8DB176312DBCE82DE61969F1BD67BFCE12B8B42569A81FD3624512A4E81822188B34F2EAD21CACEA80A88421F4985597FDA833E9F7261C3FAE175A1898153743B173F4CFCC5E50931BC84714EBDEB3C6E0F12D83CC013E5A0178164591C18C29E8CD85ECAB530164709AB66457FEB44478A5D20C280285E4C68D229086EBAE64D3CEE8D4CFC40D43A443F127C04E4801C45CF6A566F64CE27B641DBB075B314FEEE7DCD510D0F037C13001896B3BD213852E3AE5ECB59FA1D7D747AA60D1226ED18C0C14FD09E4631174E6C3B3B68B65789E072E4C53F0E7BCF586217F3B39BC116740E576E160E62060AF0A7553E6E942CCA46B8151FD5E0C6170FAE5853A53884264EA48DDFAFB56D0A481817B39A05F3EDA13DAF103DC222E293516ED310F4F831FE510481786AC72B4E6C3270B08116335DB342C0B56C02CC8CEEA39FF3AE9218B600F3C7E7068D98B9A1AAB61B624D5B54FE4E728BEA803DADF9AE67706F5D0A02ADBBC71F910E12AC70D590DFFB975A6D3BF13E82797C526944F832305410CF10A1BD2C674CAFDE724FC421678882F9E197990DFB23B254DFE79582BA7872B4EC2603717B0F67124CECDE6C5F02CD74D3B6B4BC1928F9A2A6E8FEED5C92A3FD1934A2902D35B7E9E30DAD623C6305E651D67FCACD31FABC809AC7BB167FF04F511198D43C8986659954CEF5BAF9FE957BB6CD6E785A0D1DC99CA2007CEDD337040A22A060CF23FA270002CD43400BE0D227ACFC4B8E06B338C43088F7CD7E3501BFDA1DF5D9BFF6C585D902F215431C0A7CA8C54E96F184789CFE3BEA7D90E24DFF5ADCFE3057EACD856592438D24228E7C6A442C5566AB796F3CCAA3029C87D03B20C0526105104E775CC89BF1A96EE03C1A7A8ABB8467EBFB3AB804164120104DF4F4846F0DCB9624E5D900FEFD9359C2891575424E1D1BCB2CD1FEEB2D54EF7A2332CC11482836636D091BF4802000E2760073174DCA056ED59F2EFBB4F092C9464E4E17F4D28D27BA0FFE6A0276A588546515C7A784B9B9FF2BB7FA48337E60AD9D72A6C95E27537F4E543E934C27AF028E150D0D043089765FA2C184D1E09F585F0F28C2818427667D130225A9D5EEF8D0236A9F2E9AA12B67E393786BF188C8EE67BDF56F7475C574E2C3760A342FEBA59E69A6188C4010122E462C9987457511511705986CFD6AD066A99AB43AFF7646A60D04FC3BAAD7F4D25553CA0E81ECAC1DE7FBCF66040606B2492A9688295CB6D9437F091E3890E4F2FE14773847BD9B82C66ADB96D4BA6365367E460012F83C24CB6CD0AF0F705666F20CFBFBD1DC598CA51C029CFFAA33DBE4CF4F63819EF677B198C0DF355AE25729B497B445EE5FEE46362B2924B2C210BE48274861EA09A1CB29CEEA691F89394E62EA9E59155A4C68571BFC69D40C0ADDC9F4D280477C4931FED9EA0C7C99B2CE8C5C3FDBB45CC2CF581B6267E96A8C91AB86BB7D50D7001A1440C2548C8550C4ABFDABAE862C7DFE606380D8A7163E62C3A6F1489ACC4A1E1D23D0EC43F84644CDA917000BB273F1B736B3BE88A392852778A55CD843A74A3ADF828E7DEA51A010A83E074654311AD085B31FC345841E7ED9E8B2AE24EE1970CCC504EE2E08C2A386E0748453C293EE32EB50ACFB0694FAC31A92E0E3D7F9B30B190619801A81C707E3DC48403799225DDB9AB79552B8A35C7F673870300AD239643E0DA15872519D9D72DA5E12AA97B03CB9A069DE49C301C3A8CA2F84ACD00F93BBEDE7E5F3B03B45C814805FB541B94E75B43A332ADD4BE0661B26FB951E0E7431FB2C9D3645FEBCEB019304E1FFF309F706D3BE143A805EFAAF79693A0205073C823D10F5F8849F889B3DC6D7B8AA9CFB424FCC2BF11E3E2126F899EED44E4630F9A2C198D91454C7A9463AFD0A26D0069A803C5214870BB5F1F6AF03AE587A9474FCAB7038778BEE5FD97F9F431EBFD365E0B7D193CAE87457887C0C5C830DD06983B4B1E805FF3DCECFD133D5506B47641D760889B54BDB6ED68952CB7CCB6102BBFA78C7CDFD20C8901CC1547F71B630126D7FDA7DE5A456065EA0484F41DF85EFE2F974FCE1275D22C76D2BD0A8484AC743BCD20881BB2E9F94E572206819BBD40EFCC4EFE9057AA338CC9AD63EE48C016E607D3DA9AA823AA6263A61285622B294AC75A39B02617A3EE8D5B5E33FFC0CA7A7014E8C798BBBB47791B4973A16EC3B06D2962691D9FB0F699A3A4A3ADB786EB2E2707870F7A30ED37B8E7E1C5BDA35BB10682D2CA9C6001AF747A9A9580CF8704CBFEE4840A87F34364FC968A1584F223E934F5510903D9BB230C74962F8A0495EBD5FF3A2EC91BBDA2EE8FEEAF54E01BC63654CF41A32E1683C154E5C52BDB3128BF629C12D4CC49A1EFBB3D420342FF8DA7A624DE0B42B52EF2C1EBEBD8D5878D8979A0057B16612A7F0419B2C4C4E4DE5A18F04CF51841104380602224341FA5E51BB21C2EB4D2C10CD0A37FF9C2269612403722138402E103E1E7358CB099A0A882495591E2869D24B1D9F9DDC856A4451B32573DF9EC045698AB8F481BA58EEC015DA370550B45D92C5C657FB7F668C54BD1A595348B2F4BD9451DABD390D6D22214911400C5322D8AEA0E2BC9950C0DB2493D7AD28E0540A27E1A0193E04D775A436EA8D23E8F7E3F71C8E8F05D4330961B3471BFA225E374FFB9525EE3428AFAA1A957B5D3D36EEF816B17E6B275CC597F672DBD9322558F3BB94B27EED0454B7B5A5803D2BF8223592746DE0203ABA4209B080849694273378B8FD3618C00161BB992AC8129D145176BA47E6FC22C5B08A5BD2FC435D5FF10DC6D10379B22BAE19EC1A0FF07726D14685484F7A8E9E579C4855681DEF93E526914B2394DB29D7D029D8C2D0D8E33C88307EE8968F7ECE8D53CD20F64712BD7600C64A83B644D1DE4F6A4C473B25F698CB7F407FBC3CF657F6195A95CE163A9428F6200945ED8953BE9423B2D581751BDA74082C59BDBC33D13E236DAE40CD6EB756B023DD782CC4FB5D2D94184A2167B7DA9B5A6966E1D2D1FE68B6EC594D109F28F95F951425F076FDB0FC62B4D031E75099BD7123B240155B9CADF5895416F0A8FB43911A679996D7E8366A5C5D4BF7BFB9D40316C76A72266EEAE5878EC3E48FBD3E27DF42178A2059B93AE68B542F7AAA0E164E55C876360E1AACCA00C6B23DCE9CA3D94D8FF8DADD835F2097E9C3030A00E29CD638EDC553D3DEF12D619E50C9B5CAC68F6A040AAD4CD1261DADED8AC86352953E1186A7979A0F081C0A7F3BBC34DBC912438E3031563CC84381E4335B1FFD75672A81DDA0C09028801C38B00C9F3803D7D956BBC94A2B0749126A1D4EF75FD80792D2869AA46649CCB143878C9665217F9CE0BEC176777577E6
7
+ pk = 8626ED79D451140800E03B59B956F8210E556067407D13DCDDD1A41E6A1338462DC5B854BDF7409D6E4C20D607E198A1
8
+ sk = 7C9935A0B07694AA0C6D10E4DB6B1ADD2FD81A25CCB148038626ED79D451140800E03B59B956F8210E556067407D13DCDDD1A41E6A1338462DC5B854BDF7409D6E4C20D607E198A1
9
+ smlen = 15441
10
+ sm = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8AF849BC494F38824A567B24246BA1D6FADE7AC5A253F99AC25A4868FB1D834F3728EF97ECE460229AB5BF3DC7DCB1D1EB4D94A61FE3849A113C3477CDBCC7E3DF1B1911A1D6D437BB994E82FF4A1B3A5F4893544821F2CF996806D840CC14C31968EF9F88EED45DA67DAD3BB41A867E66AC3E8D3DE2D5A67D663A9D29E3ED3BCA881DD3A122118C091A0EF07691FC976D7FCD6441E734F10B0C70132DE9F8635B0149E7843EFACEBDE91458DA1A8A707E40E2B7C30F598D32E0042E84E571FD016C2A823C86A2FDBCEC1B757686FE517ADBCFB7448396178F7D4B5D89FCDC48512E0F6A766D3AD8BF649B28021C1779D667B00ED058A69E6A57E6DA70533616195612DEC006DF8EB8C65D2B036E82A541E00B1744B987268005E4CA9133A6FAF5D1270BDA10B4A673422A90A6B3A621F7A6286851CA77E3BE2EB0CE7B9E959A5F837D029788611019E835F2EA9392D1BF945FAB14D261E65027AEA97A6F2767C6E9814D9847B7CAFEA1069114628F6C0A3D9D2F40F76D5DD8B4C238C5ED0671433CFB6344FB8ADEB37326366D9C7C6104C7CF34C98E4D0BB44DFD0C70B1A4D47D9C60979D28E23D6F8DBEE1F35660494E67891E0CB3F7B92EB5E1C9C846B42D0468FE7C4AC97F656A2384BC38E301DE366FFC31398EE01421322C4995D8760E589F75A05451E6B521CEE097E0F9626AAEB3991CAC136214BC37B344D7E1A1E3785428C6D80A78DBCE47EEA6CB3097D0465CDB2109C4A70C64B04BFA7C4A5D09C55E66ED5B0B231DD827B48D6C9D5D744F00410CB6D2EEDD10C5A764D2E14A231704FD29D7DB967E305FAF370CBA4541E3D8F23F64BC1FA417A16088FEFFE0DB6E6D956A6CB744AFFD4603CD02678D5930063D1A91028ADC337CEE1D63F87CE3E29D4F60A84E7F44704D68A6FB263080D40FAFDF147830F53F274F7B885B100FF5E40C104CA7F395C9AA5FD44A2D62A160D47FA7D1CC4A1F959FB9A74885BAA9D058D3827EBB5D1CE836E5FDBF5FAEC341BEB8E2503050C2B1C74546BA87142A7D128313313675AEA8409CACB5D225712AD441C3171B77784D89EC8BCC41396A6C2D1B612CDD028DC4F019006886F6937E3203EB38117FCC28B9B86E349A32DF5D3561B1D2C2D47859B041980C9963F85D3602F512306718F02B34BEA32D6582FEEE22B3E5C86BF8BADAF54531EF971482884E6581DC785466C4631DC38741D019EDCF72BB99324D9C279FDFD111CCCB0F12536DD353B2CF1FD56AA5FD3B1AA7244CE124E7B4312871FBCF07E319501653D4640598FB2400892AEEA8B91BC3E444CAF21DF0F95A125E89064704FAAB29D491838BC9F8860B2E4A6A591E419C2105A0EE98562018F36E4663358F9B6B26E8B7AB8D15644BB57019F0CBEEAE3DB7D770DB27D567E10CE2D00958469A678F9AC09DB044FEB52138DBF498F892840ACFAAE9A176ACEACE47CD38E107B8A85796E397CA81A2E71C8867ED35BDA41AA093BA930DEF753377D992C3A5C98716302EA150F6CA24C61BB411A106E671256AA8CBB2C24B53DED1F16E20F4675E0143F406D5B225F4A303E488EF38D6345E8FEF1B083C6235D8DF9318377E2A803A6C4CDE9F7829E282312E8634A1E21BCB6D3A77A78ED7D376A78CE680F2E8347D8C25820A02FA01745D0FDE0D81888B7DBC13FD1058C4053EB2C54093A4894C37F70CAB0C66FA0AB5AE2331641EC5AB053568807C8B3BC84E7C657FA2900DAAE69E30CE52C9E23C9557AA695453A43D2AF7D6C8F62A606A70FFA303EE004712E5D75C50275D5776428C9C927761D1729F2A8C520478B2B6151191ED44E35A3B31ABD5EF4F874DCC468C340265082002CEA79055A609B39746F83D20AB1161DC16CC9C6BB942D074E99401323D2635638519E7CF5210155F33299D249176A8D8C4B0340C7307A9CD997D69209489DD90F3A9BF2ABFA018DF95458C6653C0617E0823C2B7773CC7D55501A4B4B734046A0D565B9AD5E33EA46472E7B9C7F3863806371D3973BA1D7C6BD67FFBFF1D71FE78556D2AB80E5E561E52D8614C0C1EFE29CE300AD0CE42827E6A90CA1875AC6CF7137E815EE98CE4F9B13D3F49B273C90EE910F728EAADC2D0143C72A4873858C18258687F6B45E1DE4270DD93FADC4E38FDC15D71DBD2878D425AA94016E5ACCB0DB9EAE018E255DCC1ADB12CF9FAA70BFF362E481ACF6A129928A7B4919FBF6E8CCADCADBB21BC04627E80BE789CB2CCE145868D4F675F85B050DBFD6AF9F0707E5C275620D9AC681170EB5B64735E76658DFF179CCE439E09DEDD133A7F7E7F6F50852E7764DD8E14A2C7BBF8012561A9341B560088EF676EABE7F8DFAFCA09C15938E05C81B9F0CC8AA7481B0693D3B4B7BDF245388D718382F3DC2DDF8CE48E05FD90C610CBDEB212F358D44D26E8BB9B1B095FF3335431B11EEAA07CAF20951EEA516A738159961A0F689F7098A280E8B8C7960CA6EAF9FF904F263F9563B5EEF7265900C6FD0DB3BEF5917424E97B149325950A5E8D3A317737FD665517C3EA033616ABDF3FED02E1596347381882D867B51A9BE558020C16E4DDDB8CCE245472D7B2218A2A3FAA49EE9F5DEDEA83ED5970D86A96E8B9D492CB4AB105C35D4D35538C9E7B5DBD22198A0BA30307FBD6894488B7B6C1994EECFDB1D411771FDF92987650A1890F49A2856F9549A2EE26FE01E74995BA9544EA526404D9435D956963B24867412C2B324316765424D03C999D4A95BDCF84D805E21BFAAE9B4943182E67AC3C4AC27386ABCA9C5D63AF019F8EA2614F92AAE6F890FDF8BF69C2D8AE4B94889B8388542E152C09810E4E2AD5FB43705502E7B9D66A2568B708BE53D6DBDA05C368F86F167884B1FD6A6FCC4F747C75D3716B06FF3505B1E9C8B72AB2CF929E93053DD4BE62391592AECF79F965E3C7B538E56868ABAAD492F592BF51CF1B6E493E2593B4F7658891DACC041C0EFB06F3D0A70404654F8454E822A37BFD6340BE241E38A0AF116CFD31CE966F9453F4CF7E84E66E86F88370F29DB7750354088CE443A0EF26772398B0B283BC1842877C0E22B498A81DD67D5123C4E87DA4B705AFDE4CCE8AAF42C783087889291BDDBBEC0D4FB66C180DC57FF900F2523835918CE08264D6229169315615CAD2E51E7406A2C0501A51E0443C8266D5D3EC7F1A563EA65166BC62022034C5F5C9E5E05C6C65E0C104E44C4A9ADB016D558FE1C3E25F3BF1FA3F8DECA82CC774D7298548372C4C6AB0CAFB388F4EE3BBDF569DE9DD9B96BB7AA122D13BEC722E4A1921A1EBC5906B584919FCA440F1CA879524CBED0951FBA34FB87560BB1EDA5943D757CC1A280CBB6A3829D564919F2FB6CCFED54BAAB681E73470ACCF207B0CDBED7430328C78CF5233C290B80D613D5BF1CF9F5F117BC016B1CA8B7008BC1E8453C3D215C29E89E573E69F73C585563D40901B8FBD909E95BB5297B0BDE97C5AAD261B738C5884E5627361A9E53371A70A69A71B5B294E0E0F3263B6CECFE3D7ABB9D063527FE71AFEFD2323D6713C4885530CBE7F5FFE0CA031BDA2A445613F069EAA6E43693CF37E6D9997958A76D0E8C328F2A979AF862E441F3F4138F16AF4552483C23EA2D1137C141528F01E70D17B4839746514C46DB4D4EED5C1CC24D49672602E65389019C6B20F5A1F83D893E432B35C4AFB99559F3F2107F2E9BABA522933C442DB9F32FFE6F8092094522D705ECDC59CA54620E42B643A6C2368B174198BB96238EBC3BCCA4554986F2C187848E71CCC87FA1E0CE15193F31D99BAADAC286422F33318A9C9D40346023410A3B14CD05E134186C7920D44C438F6495762AB194F7B74043AE7F687929A2E106B9BB3CA980CB459B3E2D0519D3C1657643410ADA830132803D0EA8B233040968E61DCF882D137E6AD8D82A76296AB44F7738464E0CF2BB53D09C9A406EE60068A99297AAF647F7FD5B4704BC004046D8F64D71B52236BDD5392B28ACC770E1540B14E349167CEEA150B3C04DB526A9129DD471615D963D2A2D9DA86712D0EA8F6AFCC222E60D40B2E00C96F09AA996641843F3D266F5D970CFEF859CD807AC27564E9E21743F90CED7BDFF42C19BD99FC01CF60BC7735680C69B7D7E3B0C3F0B61A902FD4DDD2BA02CF64FEA7EE8DB2CE59F30E8306CB72AC8F3EE19CE39776D093DE5F414A897ABAED577AB9FF7D86E7DB2794C42A6F1B814DF478B5F41981E85ABD6E258FE41D4098129650006875133A371A2B94F99C774EC212DE594AEAA62FC0F921FCE83920669965A857C6FD47667C57C740623B38776BBE8FB1D84F3B13B23235E7E5989D1FDA6098F70EB212101E628833DD9A28AD01016F8DA86C3FD68D57D402F0EC8755A9FC15BEC6CEAFF81FBA6AFDD49A31A5BE8395677791BD29B1863788A5FE0E81E9F7508D745C0901249D213887EEC3F093481179645D7462C745745299AC38A801DBE21A7B1EBFA0F4F34380F3B3D04B1F94A0048CAB314DD7230D54FB603DB138701CF57C55FDF0E0C1B6E2543329A5EFDB05CA7B3F20BA457CABD920F5F64B90DBE670948048F0904923827EA7D9BFE3CBA78DF5FDDF23B3B83F0BEEF1F2FB5CD6330839FA95704F35C1CFE49FE5293C077BAD73BA7C175B935A9DEF4FCAE24ACCE4781B8A958AE048C08268C853706E45E83E3D5AD24A9F648568D6B8045C2DD595D51B0D4D91671CABC74AB385EE1DF579652203F662385615FDC1384350E39FCBF24859D2DB944D81B58C9F5E16D123C65930C2EC5E2F4D0FEFD2E42774C8F5BE5528AB552279BDCB7C032C136E1E9538D3930E48E33359D78BEF0CC959B52A1BE79AD0F372986F3154DF7C74161653E8A4FBA358D6AEAE7D5F4BCABA17DD2DEEB8CCD11C0750F1BB6E59789A7279068D246686266CD8BEF0A381E847B4F2F4C4C4B7B87A8ED8384F7DA09D5F482E5A8C185A23E54C898039E1CC30B3F1336458137BF74FE7950B4BD80B8F48D87750AAA188769BDD46CD5312760ED36D47C48363B825619FFC6F4F8B5F543F1ECC0BCBF38630A3123D481B87CDF6D44103355719FEBBF5126071FE5E89D4DF3696ABDF59D93461220047774053B12F54C8CE7FAD12DD2C36C10435DFF748DF3610FC04F46776F3F05EC144F56F9E56458F43C260C2B83249367F387B19E4A55799B243F889A3BF906C4470DC61D2415A9DA6ECF32D05FBA218FCDBF4A2EF79B574A72178D6921F0E7A48179756B2EEBEF7B853C0BFAB9C5ADAC346C4D8D60C51FFBE2B6AF2429991ECE46BA1AA34047159330207B7E89E10951C285955B614C5371DE74BDE9C6D1348852A504C35EEE757168F03CCC0CB5866BD31F5483C42430CDA5D2FF25D8F13DB81838F9D1F91824787B2F0FF92EE800C814DEEC98ABC4E7F8F872F69D106917314B129EEDC32AED5CF9CA95C964EB077DD881D03FB3A2AFDD72A8D0BB12A6388A04F6681B83CA348FEB5E8C8A43DF00789C7BC5653F471EF16A8914ED1681E276EB1312B3E904283AB099E6EE3075D97DFA8DE9D3780D4B2355D5E93FFE08105221479FB0230641D60344C9F10C9223B0FB7BD1B771E78A8E82405903E7027FC97694A4209A883C8E02CC4B8B93CED3644C3B1A5D168537FBE410A3096B514E0B34F72113D1250D0441B00FD309ABD2687BEA72A9CC96705A0B2E857E2595B0AC65F0393C201858D64268100C9D6A53B426A39A0CD09D2D1FA7D52D3FC4E5B94F8916FE2B89A9B48AE69534D15F46C43077071FB08426D7947FBF7D89F6322248B7F2A4C2787A45D86FF37458F776DF48800177B42FBC8FDB5CA99D40ED3E2A5F9A7B076BEDD3121C41EFC398035625A3D9578CA5956A0EF7EA72105840D460D67852854A3E65F0AA82AC066883B9434182F2894335FF2FA1DE4144BE377BEB859370720430F27A0CD6CC07C70F549BAED96BA622B095CD0D9E7013418328C20D38EFF433785FD54ACB027527C6E6702B43E2533BFA23F493C7FD1E98558EEF8382DC00978E59263ADFC617C98C7ED6F5BCA8288536CD3A93703CA8EA51FBBB154E91EE62984AE95961F5BF43781F7FCD866AD218B15F9FE65BF0D0C30E30737AFFAAB38A966F490AEA26224861072A16A6AEFA6501871B6CFD8EB5E79B2DA854E82ACFFA3C8E4E07C57A80557F25F96316BAE1085759CF8E9BA1A2DF8E639763BAF508A92B9D72A840971F5A92264EE843B7E364879D8B4291A0D6EDED7684B50EFECE87BFAA9C75AC805AAFF0DC033591B8230F24B7441E0E27EDA8E68E878DA10DD609D4EB2CA22175726B176B96A5B91F176F413240DE6150F5FE1784DA7ECB8DF69147038F0D07F724546595818975908DACE14890CE7C953ACC89BF9EA93D3070613F773000E33A646FFD3D8BD4F1D1DC23B88F14772B15B8D0AE157FD3F62E11FA80BD0869D7B7A94621D3B7B3637718735B1833FA2BD4687D26154893D658D0314304F86B608F792496095802FBC8925F8085113BE1C74417DD53DF1F9AC45EF661AD59BDA3B1B14AD1587437DCFA86B6CC55D544F46E08DB1B28C4B86991FC35170DC91735164D19AEE7AB57A0B03BBDFA080FC834BF68E8145EF4B07476CADC283C256352CDC2B390C8A5A22DC343DF007DD3946B36D7FD86B59F05D8967A4987026347C43AC1E08FFAE6FA885F5EF04C40EAA992F817F9C868CFDADF10A349B11DB0EEB3A2DC851556D44A343C94F46AF4854144962C5FBFF59443268B8E85CBAA0174098680906132FB798E56CA70A779C4774AB8EA4B1535761462546CB5D455DB38B6A0168D98E4A413F19968B66C38EB916FD8FFAA4A612B0769B0190EE96C7E8A61C58BD82FD4C6674E4E48205558915D34442E875C001F8FCEFEA8941441344DA9E904F866B88A299D5F0B8E0867539AEA99C22ED4F2C2A80050CF302C6A7CCB05F77EAD43D0835ED6F0759D8266250C1DC3B5D878642F432CB51A56012B4C6F4FC6F9286C5BD71BAB8E94DFC3EFA794568A6A8737386FF736F266115503B8C5788E8EB1363938E0949EEB745D00F8F95AD8C32F3EB0AC42D5ED9F050F840CD6FF386440B34452530DED3C2033E6F7E76A06915150E433E9D4F5FEB68FCDFBB06F95858B3877BB49547A464E4E6EDFA0CC171505EC052CE8545CF0005E2633447A68F9C082EE4EBB77DB47E635B39646DDB8AFFFC099BB9018BFE3BDEB12D5729B7E75C7D4D3211623D9579939B06117BFC66429DE842B1B3B5306F1B2B47B073E2D2C8D90CB8006519F4EEB9F1D160090B3D818BE01AA1EAC66255A7B8FE449DEFD80389AD1F7EE689BDC7EFE24A1F5467060D66D6255BDF8273462170E3467E01CBEB1E85A02296A7CF43367C0E9E20F115DF7851AD4C60D13F2ABC033D130802FC0F2DFAF0B78CB76344D5F2EB3AA418EAF90AAF448FF6036D6EA058F4F7F34A26CCB112B4EBEB9B43AA93002FA641D6BA80F16165BD836CE612D80E1D1AB350001DBCA33EB9E07D3C053CD167DC5B4D02A4969F37B7238F53F6072368364D358EFFA775DE2263806FDC6059A21B369B0BD7A71F0318343156620F86CFE636C8F29298BD54B36DD35994448D79AD7DA6F52807D625D974A5A59685CE5049613CBE395BBE655F4198D61D7ACFE38C206C4F8D8270842DE55EED9810B9975A72274E481F4C98043ECFF59211688BCD41688F5CFB77B2A5F1380571AD94632CC0C67616B930805D160D2A51E013B60CA09FCE383B99B982555CED6A34FE4DBDDB894616D5B8C14854ACBCEB5E4782AD4BE9218B1E9D6835B50F215429643832B28CA8C1ED3219548916B77360AEFEEDA57D4C7C612362F9F044C72564F3910CEEB67D71AAF34890890008FCDFCDB018F8DB62BE611701E90861E79E038ED0277F167D868706A88E7854A889110EE559EC1177AFD864BE72937144F2CB9642A7B5C70C91996DADB87D4B20B5FDCD6F85FEB1E8CB27A4600B157292B61F73FF485BBB5495A2449B005CB539CEC1EE3A07D67FAA06F5BF92EF1583EEED2E3C0950FA9442B78A368F0A7967EDBE935F4B8F1879FC422680B4A457F0889EC9CC1E33423E2FB2ED1EF135AC10AB9FDAAC2CE246F6616594E8AB2D08EDD8DC6D620B309284264ED9C45101E9AFAE35583BA52F2421690A278E822632A7012EC003717142D52F7B9DBB0ED655A6C5AD54D7D3A3FC2DB14EAAA92D6412593AA21F6628736448A291630BA2C652035FDE24E86A2A6D5C13487413F0111AF8271B1309BEFEB5242E18E091AFE9596E6916AF388BAEBE6C64C64CDF5AF017DB0C8948D99A1CA77FB22E0A2E32864ADE387F68F716B156B4EC5B0BB6605415EBEBE590A2D6F8DFC1BED61B3323B92CBF4D1D99A6DAE8B30950A99D7CAFF1445B4F7E33A12E36C2BA094D8D2CA0E46F7CB6873FD328E35CE8F6BB24A7A2C4044E76B643325DB93B2D74D35E6EF3E95E79B6FA26B72219963A3717F3BC5E9D38CE0CEAA93006B48F57CC3BC0268EA868ADEA52BBA0FEDC55C7FEC8CB59609F9BFC549AC8504081511C1DD425C7893FCE564FE7CF82F4D0265C4F42159F68EF51A5174B086CC94B873A48620B9F22D1B0621D32786E89F41DF8B9F527B87D1E028A5E7ABC9554E63537C901A6B604960A8061557424CD69B03D11CF5B39B8DF7F9B205A8A1377DCB29DF50451B088E4853B46A1A6E1797A35AE34204C3EE292FEE18D939C7991C3C1A68144B2AB133546A84ED7FF1F23F201BC541E1A47661835EF04C1015D41A67F09074DE335E19F6741A4256B6F5FBDEAB1EEF7AD9D07A1E0CF133B87DC0C7920C5A300A3D977BCB90386F5101BE1FCCA3B426DF5519D62123061DED4E4482749124DAFCCE474618263CF8B1C900D1000B8F5E1E23204316D85520EBF6992E4631BEBCB351E56C32231E584B3FD2D732DFF16D9680CE118A821D04EC723F8B2F405632F3C065727FBEE92807D148CE7681C88F41193DF4DBFD369D1C02AB839BBC13A8F50996E4BCA81A4CAC61D6F88A776C06AC1DF166C3DADE3DB70823968A22F57520874F47DE031651991096E3460830CA4D189B4E371D4960E227A600BD50951A4A97F3143C193BDE94092F2639BC2062FA77486E37D077A533AA22890405081AB427C829D01F745A69B8A6C7E9B75B5BCF124004416D96E6B476EDE3459A364A08B92D1B2F77D704B3D498AD80A8E4794AC3EA2A0D972B7BDE6D9327F877DAB0E52DFE44CDD0F8FB92D15E2B3B7548B7D2EE4DD06FBA48E23BB0822DBC3842296303B2E8559052A1CC0A8C5AB66A4938A670A5119F20CF35683A149FC8DFF8C12CCE22DDB9A4DB48AE965C7AD3129199E7141F8DBCF299C1076807F0BBFE4FBF4B950F4BE64A5DC304C1ECE61CCEC34A7A7934071AF39FCE1EB317649D54A0F4361A717FD143B470BF3DDF107131AB3F4F0B7F7120E8A3CF01E0BA85301E5CF0C0B0082E3E390E341F2F4ED9E362781970A057A4DE45C7CCA8B1322CE8E58DD21915084905BF2B53DCDA4100183B2688C5FBFE3FC48ED3E8D0C5B216930E16DDDFBA1FD5C747E88F63BC81A5ACF0C125F9B55FD378BB06153EB0134B7EE312A641F9D96DAACE9D31C3C61B96AA8F6F71EE7013A3013C11CFAE0A896DD308106DB28EB54FFBD476FBA47AA782D0726467D912AE199E6467D6DCF1E0311E45C543F0E816E2851A1037C02E4D70AC4384E3D57015997D24AEA918805E06759E0D72724AFACBF4CE51297E829E8F53ADBB580BA7A95ADB42062A0BD7B0B3E6003A544DD3CD7CEEE8F0A3A101CF5A89FA044484FB4978E3433F1AEC9B737179BDB78ED3773BD0A61545D416AA935645DCE37C8A0090C62F2844791F79D7C9AE8C3C949A9226EE5320704AF86292A63635FDEDAE92D619F78E759BB92D57DAE118CB955D3FEC55C821B85EE8D47207FA8A14485518F31F29B41C1543FB86D06342A5657A7E59E6CF2AE07CCF634B893F819444B0F4C65329CD968180E2EAEC3C62CE883FCBA43B3236C39CCA4C5B7E3D37F819F6FFA367AB528633BEF39E801923ED1B9BDA5486EF288BB91C2207B11E96CB81F0C7198C74C697433CC47B36390D2B12DD3690F0ED03803A358ABA77EFE71AD13E4CA640DD78DDA56365D0EBB44FF87398F9CA82B0845C527F8A1B292B3CD288D348380B479ECF0077C1D0D641C8398C37C9B0557B4593EBA644C62B4DDA1A967D278CE9BC6011D75AD16B727F9EEA5DE0D4621FB6EC2338931BA35EBB827E733A2318AE05B8B0919874305145309FD8C47B05DF74367D6D848FD4B7B10477F9EC1F60D02D41D10CBE22833E2E651352CBFC6A9DCCC68DFD6E03B08B7B1FDEA50466187D0B1CC554D46401E79666F8E42F067B46536A50D603DCB593731F66B824ACFA4A5D36C882C70F7220A4685E2E8EACC9D340D75B0CAC04BA068FBBC63F7D6F71B621B78754B860EB2921A55980C032E738352F39AAA11901307A8B40C1B4EF510C2FC842A0C7A3589D1B688E2E89FEC75DEA87D023ACD37D46D1A664D4D05FF8DF57506562331A7AC2928C743EE32D9C592BA3F68EA51B74FFA52E84F808B2F22628F776F3290A8C58F433049B9067F05A2B7FDDED8A9313344C08DF6A2588C3C8B1545F8175757E1C73498A90ADC29B44CCFD395BB46D70FDCFE07764F4ACB4B4FB30CDAF7D9F61418094B8A15DC21575734083488B325DAF59D8BB79E193F8D4E246C9A2FC3BBD25C69524D24FF922511FA34E24E15B57489FD21484A10541C04913CBDC9CE0AC0C684F81DC46EF7CC90946C912CD0071DA0D9E86A7B0CA0F89F899BF0AD9D60381D840FDB6C801BFC4A1B66F34E57D0EBAABE8ADA185BE79913759B9F53384BE898802D68DC7F50AD0488E6CF1E91968F89AA283B58741FE37017A99C1AAB1BC38D898F16DC80620A12CC7AD2DEA769033E03420AE4AD7E3E2F5647E8844F63050230927A1F002B86DD1C89B1119C2800E279BB408A7DA4E74C4CBF02E29D6894B18130F9F842235F0B1537C609FBF64E4C673EAEDD351090BE5534A26C60AC669F6B64612085F736DA48EE57CD46579E0C86CA1FF5247C6477E9E8F0068F67C211CAD5BA70C81BB6BA8F3B5857E5804AE9BED73528CAA4A5F8289BB65F5A71244858AF8FC4EA5DFD1EF7A6DA4C04FD47780BC76753CF2F452070752B99B8D297D4EDE6F78F010FC447F3ED9F05F6D3362BE7CB471749DAC8AEF597C6C09966375DBB472BA3E34A7BBD0D7A36E698003240E45E5E3F16E16D3ACCAC0BCA81F12C2AACE4B61B2916E7DDB50CD8DB2932B18E735C8C037A03EED0CB94BDD6269AD353A233397A0DEBBB15C989833ECD160BEEF0F83F58CDD041051D8A202E6928BB14129AEE4F4618560A62EBC0A7A403BB55674533AC842CA390C69051F866E6C0276498F3C2E415DDA7EB188CF56B40BFE139AFA3124AD8C8E2BC3B8EE267E9D13374DED3E3B8F380E967D57F5EF6C8B6FF6E6AA3911AD20FDEB5213F504AC822FCA3B83939E7CCEE6692EB89297712B1F4EB63BB341870EB79B7370DD9990E3B036462D1A7987BE4F09669521B8DE0346CEE8DF5EB84D9AF6B5BADE450AD68557D00B7DC9212A9D07511FC659E8B8517D000A8FE42D2E8C6034A6CFDBF20F3CA72FF0B5F16142DCEB886B34770EF06E805E6E7843782093C43B5FDB935F921CAFDE13C6BDEF2AF3E68E236C249CC7B6E85C535F51DFF9FEC9707A9238013D09EC095A78AB42F4E76652675E7A69DBF7FAED7AFB81394EE8A74E493FE6B82D740C0655DFBAE3F2612428FF2B9635FAC4533E3A9D6044C310C5A949ADCA0A20870247E3D86D2EF98428184C83D9A543FCD3AB9C16550EB6C947B44CBCC1839FC424BE1C3ED63281DDFD233733E604C2500A16DC9309BE6C83078933B52675D6FCC806970EAF7AD4D8DC45A2E9AF7BFD129B4BA059021ACCF31A32AF5201658823FCF7644599D414D48C6D36338450E77291CDAD4379DE9D6D1CD19E6B16B2927C98169CB4851F87EFB34F280A20F77714C8F540639BB9DCA827F8FF352692C0B3D37978275DE55FAC4DDEC42A66CBA6FE73E30E4B1695637500D358EAB297E875EEEF9229B1CF7EB8728A27172F7E2301B9249699514E955AF90C0C0B5E8B95ABB7DF007840382D13D29A6EB1C055FEF6EBF7FEA84F133C564ECB3C0E1E367053E83C53D8079FD9A5B92A2E7016562F62CCC860927CB49E2EDC9E4CAF34D42A7861C9D519C5045602CADEC679F3A519496CF37EE8CD642E31C72A51A4F4BF55DB0438DA2FF7A9B5860F2E370984E33AAFF2DFF4A97482309F98E8824302D375BAA85638C76F9DC0020EDF7C509A9F9528E7B097CC3897FF746EC73F09181D978C869F742F01A74D5375F17C2135DACF440E8D39D35D5C4BE27993FFA52107B0533FD2C477D06DB0ECF1D6FD25F3D748FF478C5FA1EF91A9351D6087D05B9DE56B3F6AF98ABDDB7F18B97009C4DC905EE2A42A60835A5CE5A9EC4848CA57A31ED68A091671FE9DE41C2DE247A1D76D8488E80AB3BFDCA56FD79DF66FAEE9DB31EAD8D36352BF68731AE729A2A4EBAF5DFED2CB65C84816112D3F120DC3B56E2CEBF67569F64CBFD00F206A7487E3A30CD434151D6E3DBBE818670D0AAA926655484598F9256885BDEAFC777A6E09598E2DB5A10D4FFA9429C8A05EB40C015A997C1C4CB52B5CF20ACF933563DC392B5230E057D45B43C4208FD1FBA42A2D9BF45482D64FD38AF5DCDB14BB0FCC2A891B14C413755121D0C67594419894B32EA57A43AAD0E90B633E35A08E6EC6A785C6F8B65BF02F207F796426232240F19F5511C8466BDE052BEE2174121DCD85C7BFBC7EA5559BA25D708D8CF6F48871A53263104343F4142D16BF02D8A15BB21431EA94A88C1850301ECF5A26014BD4A3500DFEF28E068047AEDA10789AC6FB915B1A6D13FB08EE9F5DACA929298C1BF12B981A2428DF5FC8B5C2EC81B0FD405CD74A0A638F42E1283E80991010D1DB02CCC43E10882655E9F0E45B80B13CAF2BADC7550FFBEACF09EAAF52855F1E6E5E0F9A7401AD65ED22D14CA3FF712A5AF0298E17EEED06710315EA2B66FA5F25025F7131D76D700591C63DE5BD31791978027B4FEEA0DD6E31BAC8605761859D94B6572B2884039F9ABF168AF88DB94B37E07951266B460729F84D8F3BD1F827B16B0AFDB7F5B1D7CACE1A0C33BC1EF84BA70416DD082353E3787C9FCCE476D8281564193B3068E3439BCF2CD2FE53983E33356D1F8EE260EEAFEDAEA1FFFFF7CEAED22DBEC3D4A7CC294A07BA0402F2EC03B85A39D0E79D6E33FB73BA1ADD4CA6EC6BE1DDAD2D67241B4DBF7EEA0840440530E12273F0AB28053B41C4DDDD40B06ADC83C2C110B4D339D0729F65D7A57BA7DACA1863D4DEB9FD87313CFC832144B47133A9FE0E52761B580DAD4741F5C6ADC30B8F6364C22839D8330AFD5B99E8B2DAE8AC5A348F449101BBAFB225F1EC2F878A8203E36D740CE2B5C1D31311A12BA62820021B7D2CC778DD60300782224DDD03491FB72A51E71757A6CF44A53C5B98F7B4AC6EF82B805CC6C098489C9447341DB3B39DED1E53EE6628DD5E2DF8A8EC668DB26EBE67D645B5D7559C815C6029D9AD6EEB29B99E31B8DB0FC2EC87BB6B95616625C10D624939D165CA04F1504B06E97F890818BD9B207A8A45A4E9F6DEAD6FD92E01019F08F76C3C608FF7F1905F3F802F3FA767849B14312B498381286DE4BD8F06F26C466C2A161EE026E3984F81F19A1F5A71789CF9827A5DC239045A6C5CC73769D50A20B854D5C35B7375F564DAA456918F2D9F4251D2E16380C09F6A381ED8A7987E9F6493D73ABABA5AB985F066FDE49F66E5C029AC4B2D517A38B7BC7786818A50FBD82C7177E863EBEADD4B1C59FCAE5F03BB84E4CD4F1FDAE270CA0136261B2C1DB900917D25A2694F797CDA7B93FBE8BF16C1365240A70702E14ECE3191A60AC509D675B255B69E64C2F0FEECEBACA0E3AAAF819BD5FE88A6B38C885246594684D9DA35844DF33F529A6DFAD89DACFE6BBDCA4B4A792B3F7CD2B592B991D6DEAF4514E0F4E2FED557B336F439274A6D8ABEA2C97615509C8BF82A70A75285DFBC6D054133C95D6396B0C1A9C8CB50514EB3E329F0BB8CEED07569400626B950D4DE94C2EC0F7ADE2024B37507FF1688C053BBC64C1887390C319683361F2EDAB0B3A9DA461524D978167A00A06224E796F58EA6D694D390377B43CE788A6C72CBE1AC59F066C43EECA45B1BECD81F8CE77F203043FA07EEAB51378D4E16117D424CACB660303DD8ED68C04CC80AA951156883AF5BC080A816D82D494D3F311A43B29EFECDF3F2EB602023566B693BBA69E6BE74714096D47233751D1BDA403328FD495BEC790480FBEA7E10B15AE8C0274BB69D9030DF28C5EC58B7093BA3C4FFB5712CCCAC9D1E538CAA355407B62F29B97FE855F773E679327DA4C2231C6F9BE5F70318B290EE185FB640A815E45697D22C5DA9E070FEF25AC0FC44E0421CA910E4D5C1DB9BFE943A2CC70C4C3740A2BC7BE54AE9F4E2B1FAE0C66DDB18DF86CF440FA06A84E8314F88EB8B5307FB2EBC786B7BCFA4F3DF6FB85CB9E55164AD9FADA0DDA1F41EAED245E7B484C4E8A89C56072B800300125960DBB23A7B226FEBBE1BD8C19BF1D7B30014D28B5D12BB471525BDDFA8B160123F78FC5944CDB9D78B94A389C12845DFE4FCCFCC492971F5F3CA73C0A8136D1F6E10C3AE4110093EB6E04D3FD3E23585F4BB375900A6017E934CD84F9513DF6BA5A4D9229E4F5195BEBF0C05E14D1614DE03C247855F46A5E2DDE28642A501CD95A019B8156031541EB5141607FA664760F04E56A0421A00DB594B82DBF2A282E9524C2EDF71833C119148070402EF32019C781698FF5FEB342EDCA4267503FE6BFED0E49CCB28CC75E64CF1D17A0972628265C2AB8B45BF7C3CEA7F867188EA337984BB6A77FEE704A9E54E8EA33B38F9F1459BB063A82009202B610C5B84E61192C6C17004049FB59047FE96F6FE466E09DDDC6D9B08D192C436A86F96F421E08A528657FE1FDF38FA125511328D6B053AE63876D435D8E43E266A196C1509B814106E0215DF8070066FFB1C02F5F04B53F837C5253203D078634C9FD7D6B07BAD5A7E98FDB4F9B647DFB99F8CBB390EC6FE14889AF9F3CC546E228E28A5E31757F4EFE82A439581FD947CFD388D8A958D24C7C427CC69D6E4C1230C236BFFDDF5503E027490DB286E44C7F9CF8E8BC01270CFD7F0DCF4CD1E75270C789133EEE81C6E213DA48A0FDFC37E4545950EE52109823A2E287F81EAD3A4045EA5201AC220D401007C7F3D992FF36BC0D4D317F433B78CC6BC1AAB816C4E1BEBD3BEE5C2F14573ED183AEE0E3305048F100F6244D6D2D75757A1714E680A38235839FE1E113645227A0AC02C35DA24C25B3A147B0E6E670FF543F9AB1925DEBF89938D4E85DB257C3A6A2A4EFE61316CCD5C6EA57531F475DAFBFDAB2F03DE138F18B9CA86B948950D4205E948F926AE59BF6746B3D8AF396129209056E33613901A2667B79BC4985485C71D41F586345B1DDB53BECFC81689FF285C68FB1A138193B2DD613162FC33A01820EA437B5259D002CE2426E066D7415E35E22CBDEB9B37BCD949D255DC9F4B631C2A9C24BDFAED21D0D05F150F342291FEDCABE4BD341BBC984CC44FC17D2BEBF2DFCF1831B17A53162B11AE2079B5B1D5F6750D3AFF1FD4250E1830BB10F1005A6D391568CAFC4D416FD18543C83529CA7FBFF1FC06F6DAABAEF194597B6AE5BB8CC5C1D8C41EAF497403377D4E40C75BA52F68E6B9303E00A0075399DC8C53CD70F05BEDC7235DC7C9125535228CCD4F62E750E6F1DFDDCF88DF3AA042DA35F22755797A6F49FDBE79F420AB31E8A9B9713483A689702112457B12E943D63EC65C21D9B87BC53500DAE3A155615795AA5052217579059A8A0125CA92A44A264E6DE87D29A945E105497FCFBB22BC38FF0EC90B8BC4A6A4D5A6B9D1B30E2019959924A9913107AC5DB32B631EE80DF5DDA15497C14A1637E577BFD63A625510B33C9AD22C8B8FF2EA14C09E2C424D4ACA7DE86C0C4DB888C1C4ACCDB4A4761C14A9E402D6E4B78E688EADDEBFBFAB54535C01331095C65BA3BDF86B736EB24ABE3723382F8212A466F971D02EA45AB7DD2EA5136F07976EEF6F6CEB4A86CC399FBD4D32024FFB53D806938C7F564BE5C8CA91EB3C1C5811AE76058334010A0D4CC129EF7AE372A334B403B0F7CA352AE7082674ADD7534785AD7A37DB38C37F32C683D8A18C0A55D4E0EF2D11D1FA75E1271D4F5BD2FDADDD78BE18AB43E305CAC0AF51C9CAA1F8497A2F6CF806A9D6BE275C239DF7E6A2FDAFCD974D00617B994CFAD14756624C84A10799B517D73312AA8D341B809551052E92D2C13C8C1A1D64FCEF67E13F4DAF29E22C8325C0A4710A7AAEC9AD481E5B9F398396312F30E8F645D5F0E11BDE9F016BCC3A7824432A9A5DBF831E6FB0E960ED2A64B7F90954439666162BD9C22C30025365A4B5413B214F5DB651B1062AF2BE3F6D4750DE202B1ABF111133F894130123E0A3C3151435D5634BA4CDBDBD4F9540A340C1F292C3ECAEA3B870C65031C44AACE3B444881F7F7FE2A357F42A3AB41B58BDB3B08BDE287BF5F87A5B589F0925A6F7CA2E68C7F3D6DA3D74B0F2441794A0B1CDA61930ACA67B8DCEF4A69A1330810BD7FFE93217A3FAD339A2F9504F2E7752B13CCDD1CE4807CEF30A0D88839A44B313E0000FFEFC6D4DBA68D85856CD729F9EC6181248A5CDF5599C0082138CCB268F953684483DB720A796EA462B1A3A17FA4099402AF603719954F8831F8DD48A338D716C0CEC60045F07CC90C14A36B3CA5CB2C3D2B8F55BF8010C22AC41EF2CB38A469E3E9B842F8920C1D8A47EAAED5BAF6FE710CE4F286D6378D2FCAE76888C426C63980B32BF5CC94B2828224B4B7695B12361208D69CC9BA7AF033C1A6CCBD4F847D73C3FB1D5DF1C110CA65C9F101196A0517E67FBAB92F8B306A539988586081412BF6D5CD53B7831A446A2F1F584EBDC59AD176981CC17E3BC10AE2D6F3970AF357FEF226791BBD5B68C83FA3E4FB6AE0140BFAE6F33CE4DDCC99479A6F797425B1A83CCD6F34E281F57CDB6C2C4240256FDADB30BBB4221A8E6ADFA27742005A7C22EF40C112C7F327B5B2D7BF14932DA23AA092A580FCC0055E731109FD28F240FAECD2DEEEB468A8DF00EE65EBDD9876A3B4152E62BCA9EF8FA50B6BB4E7FA4B794B7E23304B6D09C3920F87E16986871149C983BBCF6A2E5098084CFD261BF3CF86F16C4E00BAA1CCA6F450C12C3B77EAC82B9A9A957207536141DC3EBA9BE7F5A816AC91049CDF2D9442B38F7546F62DF0EA7F4603F22695414A192A91292C6B61289B6F0CA7E68FD86CF0363B9D6E894F93C66B98B8538866EFFD71F3050782641C4CCD0E2DDDD1F51684626C10C4ABF3D5961E5251D3BDF8929C85B737E2B8ED0B085902A8F45A263E35AA2ACF210AC72B586838D01982E7CB2C917157A5DB0451761EEAB128C00276991155E68DD015C4B0716C163390CB486FB4AE75685EDF18B08AED9CD5AB53A6D87E8B6500934C8A973337932017E42401701328DAA75020D199E08AE11C2244C42E78278B5700878B57EE3B6C233A385385742CCA9A2E20A20FE45EEA826F08604671A6645831F22D8F9282F9408B513A2E0504A302ADADB39309CC4B7AC271F8944E76FAD7DE9CBD790CBE8EE03A7CBE9AE0D07ADA79088278821AF86026F37AE734B5EBD47EAD46814E00691EEE264A181F48A0C9D57C73269A2EC9884474FAA4426E06695437878B23AC5929FE7ABE1ACB2088E80BDB3CA52C53430232D45898AA99BB0126794767AB7E9AF477EF6E3E4518F0A86457A63D8A94F2A29C881B24CD94F78BE4F04FBA1CE17A8F04E0C4F20DD4145FA49B36261D84EB93077CB2E2713679DC29A208FE446E7308F0615509E5A9C1572FBAAAD54B028B36FE77C2FCEA0F4F9DFA3A7E8150DB3CC402BA718C537E1FD2FAA91679C07E991B225284919DC931FF45A7E2E6C39D76E9BD0489FF6F1D36D378C84B81D7B416EC5B0FB4CCF4148282E883B2137C2367B50E7290AD1B93E6CA21E8A576414CBF35AD8FE3CF89B3191E0CC6497A9324D85B44BCAE451E72596811A078FF95D676FBC27F0F23AE968BDE705EB817CA3D69D5D0FF9ED1DF943F6A7FFBC16841DDE5F19310AEAC641305C51A12612A2783B2527660DB6235F138CDA9DEC7D69C15231235D00217E5929ACA6114519821E17E416EF41F4EA4D1B2B52D07BBBA6210E14DEB8F1734A1370FFA94C6B15D901E3932BA5366BE43264CFBA3DC292A2515B75A4F8D1E61021889CB559031107038DF75CF6B75B469981B5DA2437321D505F506BE6EB536F5ABB87D867F688200D479E2569A1E1D32D3847C4EA7288E2007BEEE2B83284F06BD4B7B647F160628AA55CE59F6D0C176A584D0B2D779BF0BAC8FDF713D2D153B395B725A0018DA4676FFDDF786441BFDD1B795F6798E3495E4924C7BAF04BAF3A829743FF2565CFAAA62441B25609FD799DF2E6FC5D4FCBF083D8024939DEF18E226414AAAC694DDD02136218330B07E96D74B98F67AFEA6720AF24691ABAF5D8A954F9848EAF365A2DE2E9B8690F7A4161C0BE8B0470B325EE83E1AC9394DA6D5F5FA49DB1E01E2E04E02132F80141EF4D16DAA4B2CF461A44E0590F101EB6623CA1BF0B220A96AEA33AE1264A9F4BA9B360102C249397930B8643C5AEC646EDE4A02C25F3BF10DB0D14187865398E122C77B37D94BBCD1967C499D390018E50C93C83A6A66DEF7F57D3E3CF6B0D1BCB404ED87C98D0ABD0E4E5214A3393728A5A148CF07F931C357D68F075E0938EC5A8D64D684BCFA7779D4EA685D17DA674024E4190D11F1494E5EC86183D636BD1131E828F65F9ACBC7467CF964FD12F4DB1607DD82A8019FF68EC6B8C670381197DC4149DA3551D3D940FDB01801F542ACF3EC13B8BDA80B56BD60E50F22E4B8B0F4908629479E4D1BCF31D76F521BD3521CCA6B73328082EE11B39AC85D0F623999AF4BB075E63CC89A1EE074C807CA33327FD85E4348C962C5E024B3943441BD2072A6937E2835CF3F37980630092F8A2EE29939EE89773EAB89EB29E83911C62D0A5B75C9D9D17C9A036847F2A3738ACC3437D7523C5A8E32E13282490A0D6DD5143B01B96FCD5A79A77B6353B8251AC952929DE5BB2549C16EDBB1B97F46289C723501229F0EFAF3AED9FE88688267C430132559834F2AED78D69F03E768C97218DADC58B057A458CDC8D7FA26085D0B4FFB30EC3434EFE0E362F1AB244AFAFD8103164751396B388306BB68B1BF4084DDEAE07D6A1C87CFB47A3E59CA4598DCB2C382D83714B8FEDF1867A1F4C8DF1D1483CCD9AB08179AF66ECF4675C9F18D1A453FB73DEE71BCF20269CC0CBC8D5EFB7B4D293B79E23663C986C826309D6559A4EAA8ABAB325C8A8C9936BF83629603A200DC73E48EF9B5742D8F0DB5970A4649A14B49E9A1711806321EB5D774D4305E3071AEA3D627CDF09F5062918BBF2B7270A7ECA0C8538C6BF0179686E723A6B83D6576BDD1E93A669A2F2DF444FD670DE3F93CEC861786B407F8B5A3524EE7ED0E9702C385316B79F710C5412304B4D354099B3FA0E1F3ABF86ACA6EF54368077B7CC08A5E68CC8C1F9A72EFA80AF39E47BA05D8B02EA2325D8163344C4CCD1A9DF021A33B39248EF33B063FD8FF9034FA934354E14E1484986FC15981F6EE470C3E9A338B64A478AB28679CF1346E2622D75C8B2E793EFBDB66F2D4A5A8CD0042870243A44704F5050897DDEC421133A81E5BB9242229A9242143526C43064528E3C227A0FB62466A62DF32F6BE1DA7F356E8F2974A1C24E3E2F906639189A88619775832DA9FC5A0BCD99D47E4F2CEE91E55D24D869D139CAFF160BB74F6CC357E6B4E4A73CACFFBE4FDED3A171C9C3C86399A11A1A308C3CDFE3CFA98119D6520B7B4AD7E0DD0730FEA27B6406B8354F5D15335381AB97393266D0D83C5EAA725817978E0B9886835BEF30E1ED2A01248AC36DD517668A08F2BB98156ED365F575EE16DB14313FB3607B989B02D9E73C6D172A7441ED0AF7BD1149F38DC28AED8B0F6203F1EDFFA9720EDBCA38609B3E9B0F521A8B7CEA619D3B9A35DDF3E2E315D1AF9F5C313766AFDCF2F1E2EAA2CCE8C5AB2648352719049730532C0B8F7DB7EC65260C26FE3A250D9F4487C962533D1CF672F7C80C4FE667A2DA6D782B8B91E2ECBCB0A51D3F767916C22989D19988E09C786886D6BAF54933F943044B9D24EF2CC1F3D0B0A169CED7540C37B4D7BA8F7BEB6CA51A77F0ABCA8324007BFDF18D5DE65CD1973747F28F0F9B89AFC89D20E93096872285A4C93B9EBB68BF876C64DDFA5F2FB2A9471B7898E769C52B41F98641859D08B99B5F0B1D49BC548F8A021BAB964930582BDA870930C9A57255E7236533F5C1D9717E482C9D9B2D53F6299B91D0016B4ACA4A54E2EF7AEF6C088A5C13E27DA41A006ED556B90C94E286845707B285605D29B152AC34A4451792D1B27089443D682562E8AE9D4242D62A91AFAC7903346D23AD25F6A15B76ED6FDC9CBC65D99D0962BF0257953AF349905C256038F0801E19E567FF82DDEA500C42ED9D0E648B4D710ACD830F6E7B75934F95C60ADFB9C474E90BA3D03346CB09A058EC8DD7ECC978B895CA49D796A53FB53C19E4FBC43441F0F7B3C175E8937639FC7FF0CB7D1E1816F77971192D7D3842A468102D21612765AE6C7BC6925464AC87FB7A808D68AF34F02313F04BAEF2AE6C78D6A6514B67D2E19EB02B914D697D88606A68016B1AAA076869E835482E9679E7FA2BC06A6C31DBAB968413E49E2B82A468CCC48EBD978BD39C64DACD5FF5FE3EF61241B9ED55CE2BFC95ED30BF146892F3F39D7D85B5F2877734E5FB09177544E27AEE44318158B4754881A08F57D76DDE508A5EBCB698D8627BE081FF892FE17538072CE6CA7C17114BDF813CF8F3EA07453BEF928058D497723B64E29F931EEE729DE4E71D8846154872089202CE934140C0B20746B2C57D62954707269E2B24C87F0349F5F2AFD078DE670E0CACE569BD52CF0CAA8987A6A5682647E0A5121208ECCA0DF1F70C2C0A5761A949C04DD7AE0064811BE35E15BA6A3C7841F85253564952406D073DB422F958B85A644744F1D5672E97681EEAC129A210A60D89027B1074CCCB2B1DCE32A8F7EE8B212CB255B5F90CF4ECD17449C542B050E1E8A29E549D3F9B7FD1CEC863C02A3B7EC227DD431A5B464BCB330693DB07F836447BC2E83038EEA9246AF1337E133949F1336DA1157DD5C28C57C8A41FCDB91DEBF9FB802C9393DDC5ACF90064E1A0773FA51059316F4241C59D12997DC5AA2233B541D335B2C369A46B10F5F93E54E2E0AE62461CCF3B5C02D130807424607518DC584C5F953A143A7D841542F274C562944302C508A589E4A288C0E4A8A36F1235417B95F7AC2465E204466D0117BB338A906097FF020DA78D4EEA26D6C4AAC58DFFA0983CCCE152FBC68E740E05AF6ADFF75FC857F92300BD95B580D1CCF6686FA4FECA6610315B830BA7AB99159FA6ED2131A245DF82FB6ECEE95FA294E1E0BD0E7F61D27B8821859002545973F078E12482D0D1E7B93AE2CA9B2FE77CADF3899B09A074324FEF26DB333F6F6D0E6280628C1AF992110915F1C9D03B7F8C0475F05590E133C70B99A977F81ED0E889AFD7991D84069F9477963FFA86291E1B5DBE643F113B887D0689796BAF489A606273845D8C609D8A74E098C3D8D13431152DC32B794B4578282A6468E46E041CDE21B0194F1D6000911EF75EBB861296F1A2F51D5BE5FCCA035420B6