@prosopo/keyring 2.8.35 → 2.8.36
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.
- package/CHANGELOG.md +16 -0
- package/package.json +6 -6
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -848
- package/coverage/coverage-final.json +0 -17
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -161
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -210
- package/coverage/src/accounts/getPair.ts.html +0 -274
- package/coverage/src/accounts/index.html +0 -161
- package/coverage/src/accounts/index.ts.html +0 -133
- package/coverage/src/accounts/mnemonic.ts.html +0 -220
- package/coverage/src/accounts/testAccounts.ts.html +0 -268
- package/coverage/src/index.html +0 -116
- package/coverage/src/index.ts.html +0 -133
- package/coverage/src/keyring/index.html +0 -176
- package/coverage/src/keyring/index.ts.html +0 -130
- package/coverage/src/keyring/keyring.ts.html +0 -1318
- package/coverage/src/keyring/pairs.ts.html +0 -217
- package/coverage/src/keyring/testing.ts.html +0 -442
- package/coverage/src/keyring/testingPairs.ts.html +0 -268
- package/coverage/src/pair/decode.ts.html +0 -280
- package/coverage/src/pair/defaults.ts.html +0 -151
- package/coverage/src/pair/encode.ts.html +0 -181
- package/coverage/src/pair/index.html +0 -191
- package/coverage/src/pair/index.ts.html +0 -904
- package/coverage/src/pair/nobody.ts.html +0 -280
- package/coverage/src/pair/toJson.ts.html +0 -169
- package/dist/accounts/getPair.d.ts +0 -5
- package/dist/accounts/getPair.d.ts.map +0 -1
- package/dist/accounts/getPair.js.map +0 -1
- package/dist/accounts/index.d.ts +0 -4
- package/dist/accounts/index.d.ts.map +0 -1
- package/dist/accounts/index.js.map +0 -1
- package/dist/accounts/mnemonic.d.ts +0 -5
- package/dist/accounts/mnemonic.d.ts.map +0 -1
- package/dist/accounts/mnemonic.js.map +0 -1
- package/dist/accounts/testAccounts.d.ts +0 -4
- package/dist/accounts/testAccounts.d.ts.map +0 -1
- package/dist/accounts/testAccounts.js.map +0 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/keyring/index.d.ts +0 -3
- package/dist/keyring/index.d.ts.map +0 -1
- package/dist/keyring/index.js.map +0 -1
- package/dist/keyring/keyring.d.ts +0 -36
- package/dist/keyring/keyring.d.ts.map +0 -1
- package/dist/keyring/keyring.js.map +0 -1
- package/dist/keyring/pairs.d.ts +0 -9
- package/dist/keyring/pairs.d.ts.map +0 -1
- package/dist/keyring/pairs.js.map +0 -1
- package/dist/keyring/testing.d.ts +0 -14
- package/dist/keyring/testing.d.ts.map +0 -1
- package/dist/keyring/testing.js +0 -76
- package/dist/keyring/testing.js.map +0 -1
- package/dist/keyring/testingPairs.d.ts +0 -26
- package/dist/keyring/testingPairs.d.ts.map +0 -1
- package/dist/keyring/testingPairs.js +0 -14
- package/dist/keyring/testingPairs.js.map +0 -1
- package/dist/pair/decode.d.ts +0 -6
- package/dist/pair/decode.d.ts.map +0 -1
- package/dist/pair/decode.js.map +0 -1
- package/dist/pair/decode.spec.d.ts +0 -2
- package/dist/pair/decode.spec.d.ts.map +0 -1
- package/dist/pair/decode.spec.js +0 -13
- package/dist/pair/decode.spec.js.map +0 -1
- package/dist/pair/defaults.d.ts +0 -7
- package/dist/pair/defaults.d.ts.map +0 -1
- package/dist/pair/defaults.js.map +0 -1
- package/dist/pair/encode.d.ts +0 -3
- package/dist/pair/encode.d.ts.map +0 -1
- package/dist/pair/encode.js.map +0 -1
- package/dist/pair/encode.spec.d.ts +0 -2
- package/dist/pair/encode.spec.d.ts.map +0 -1
- package/dist/pair/encode.spec.js +0 -16
- package/dist/pair/encode.spec.js.map +0 -1
- package/dist/pair/index.d.ts +0 -11
- package/dist/pair/index.d.ts.map +0 -1
- package/dist/pair/index.js.map +0 -1
- package/dist/pair/nobody.d.ts +0 -3
- package/dist/pair/nobody.d.ts.map +0 -1
- package/dist/pair/nobody.js +0 -40
- package/dist/pair/nobody.js.map +0 -1
- package/dist/pair/toJson.d.ts +0 -9
- package/dist/pair/toJson.d.ts.map +0 -1
- package/dist/pair/toJson.js.map +0 -1
- package/dist/pair/toJson.spec.d.ts +0 -2
- package/dist/pair/toJson.spec.d.ts.map +0 -1
- package/dist/pair/toJson.spec.js +0 -33
- package/dist/pair/toJson.spec.js.map +0 -1
|
@@ -1,904 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for src/pair/index.ts</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/pair</a> index.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">52.35% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>100/191</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">75% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>12/16</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">31.25% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>10/32</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">52.35% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>100/191</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
<template id="filterTemplate">
|
|
58
|
-
<div class="quiet">
|
|
59
|
-
Filter:
|
|
60
|
-
<input type="search" id="fileSearch">
|
|
61
|
-
</div>
|
|
62
|
-
</template>
|
|
63
|
-
</div>
|
|
64
|
-
<div class='status-line medium'></div>
|
|
65
|
-
<pre><table class="coverage">
|
|
66
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
-
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
-
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
-
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
-
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
-
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
-
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
-
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
-
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
-
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
-
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
-
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
-
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
-
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
-
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
-
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
-
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
-
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
-
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
-
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
-
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
-
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
-
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
-
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
-
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
-
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
-
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
-
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
-
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
-
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
-
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
-
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
-
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
-
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
-
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
-
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
-
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
-
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
-
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
-
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
-
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
-
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
-
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
-
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
-
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
-
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
-
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
-
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
-
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
-
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
-
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
-
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
-
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
-
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
-
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
-
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
-
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
-
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
-
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
-
<a name='L274'></a><a href='#L274'>274</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-neutral"> </span>
|
|
341
|
-
<span class="cline-any cline-neutral"> </span>
|
|
342
|
-
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
345
|
-
<span class="cline-any cline-neutral"> </span>
|
|
346
|
-
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-yes">1x</span>
|
|
351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-neutral"> </span>
|
|
353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
358
|
-
<span class="cline-any cline-yes">1x</span>
|
|
359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-yes">1x</span>
|
|
361
|
-
<span class="cline-any cline-yes">1x</span>
|
|
362
|
-
<span class="cline-any cline-yes">1x</span>
|
|
363
|
-
<span class="cline-any cline-yes">1x</span>
|
|
364
|
-
<span class="cline-any cline-yes">1x</span>
|
|
365
|
-
<span class="cline-any cline-yes">1x</span>
|
|
366
|
-
<span class="cline-any cline-yes">1x</span>
|
|
367
|
-
<span class="cline-any cline-yes">1x</span>
|
|
368
|
-
<span class="cline-any cline-neutral"> </span>
|
|
369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
370
|
-
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-neutral"> </span>
|
|
372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-neutral"> </span>
|
|
376
|
-
<span class="cline-any cline-yes">1x</span>
|
|
377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-yes">1x</span>
|
|
379
|
-
<span class="cline-any cline-yes">1x</span>
|
|
380
|
-
<span class="cline-any cline-yes">1x</span>
|
|
381
|
-
<span class="cline-any cline-no"> </span>
|
|
382
|
-
<span class="cline-any cline-no"> </span>
|
|
383
|
-
<span class="cline-any cline-yes">1x</span>
|
|
384
|
-
<span class="cline-any cline-no"> </span>
|
|
385
|
-
<span class="cline-any cline-no"> </span>
|
|
386
|
-
<span class="cline-any cline-yes">1x</span>
|
|
387
|
-
<span class="cline-any cline-no"> </span>
|
|
388
|
-
<span class="cline-any cline-no"> </span>
|
|
389
|
-
<span class="cline-any cline-yes">1x</span>
|
|
390
|
-
<span class="cline-any cline-neutral"> </span>
|
|
391
|
-
<span class="cline-any cline-yes">1x</span>
|
|
392
|
-
<span class="cline-any cline-yes">1x</span>
|
|
393
|
-
<span class="cline-any cline-yes">1x</span>
|
|
394
|
-
<span class="cline-any cline-yes">1x</span>
|
|
395
|
-
<span class="cline-any cline-yes">1x</span>
|
|
396
|
-
<span class="cline-any cline-yes">1x</span>
|
|
397
|
-
<span class="cline-any cline-neutral"> </span>
|
|
398
|
-
<span class="cline-any cline-yes">1x</span>
|
|
399
|
-
<span class="cline-any cline-yes">1x</span>
|
|
400
|
-
<span class="cline-any cline-yes">1x</span>
|
|
401
|
-
<span class="cline-any cline-no"> </span>
|
|
402
|
-
<span class="cline-any cline-no"> </span>
|
|
403
|
-
<span class="cline-any cline-yes">1x</span>
|
|
404
|
-
<span class="cline-any cline-no"> </span>
|
|
405
|
-
<span class="cline-any cline-no"> </span>
|
|
406
|
-
<span class="cline-any cline-yes">1x</span>
|
|
407
|
-
<span class="cline-any cline-no"> </span>
|
|
408
|
-
<span class="cline-any cline-no"> </span>
|
|
409
|
-
<span class="cline-any cline-yes">1x</span>
|
|
410
|
-
<span class="cline-any cline-neutral"> </span>
|
|
411
|
-
<span class="cline-any cline-yes">1x</span>
|
|
412
|
-
<span class="cline-any cline-yes">1x</span>
|
|
413
|
-
<span class="cline-any cline-yes">1x</span>
|
|
414
|
-
<span class="cline-any cline-no"> </span>
|
|
415
|
-
<span class="cline-any cline-no"> </span>
|
|
416
|
-
<span class="cline-any cline-yes">1x</span>
|
|
417
|
-
<span class="cline-any cline-no"> </span>
|
|
418
|
-
<span class="cline-any cline-no"> </span>
|
|
419
|
-
<span class="cline-any cline-yes">1x</span>
|
|
420
|
-
<span class="cline-any cline-no"> </span>
|
|
421
|
-
<span class="cline-any cline-no"> </span>
|
|
422
|
-
<span class="cline-any cline-yes">1x</span>
|
|
423
|
-
<span class="cline-any cline-neutral"> </span>
|
|
424
|
-
<span class="cline-any cline-yes">5x</span>
|
|
425
|
-
<span class="cline-any cline-yes">5x</span>
|
|
426
|
-
<span class="cline-any cline-yes">5x</span>
|
|
427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
428
|
-
<span class="cline-any cline-no"> </span>
|
|
429
|
-
<span class="cline-any cline-no"> </span>
|
|
430
|
-
<span class="cline-any cline-no"> </span>
|
|
431
|
-
<span class="cline-any cline-no"> </span>
|
|
432
|
-
<span class="cline-any cline-no"> </span>
|
|
433
|
-
<span class="cline-any cline-no"> </span>
|
|
434
|
-
<span class="cline-any cline-no"> </span>
|
|
435
|
-
<span class="cline-any cline-neutral"> </span>
|
|
436
|
-
<span class="cline-any cline-neutral"> </span>
|
|
437
|
-
<span class="cline-any cline-neutral"> </span>
|
|
438
|
-
<span class="cline-any cline-neutral"> </span>
|
|
439
|
-
<span class="cline-any cline-neutral"> </span>
|
|
440
|
-
<span class="cline-any cline-neutral"> </span>
|
|
441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
442
|
-
<span class="cline-any cline-neutral"> </span>
|
|
443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-neutral"> </span>
|
|
447
|
-
<span class="cline-any cline-neutral"> </span>
|
|
448
|
-
<span class="cline-any cline-neutral"> </span>
|
|
449
|
-
<span class="cline-any cline-neutral"> </span>
|
|
450
|
-
<span class="cline-any cline-neutral"> </span>
|
|
451
|
-
<span class="cline-any cline-neutral"> </span>
|
|
452
|
-
<span class="cline-any cline-neutral"> </span>
|
|
453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-neutral"> </span>
|
|
455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-neutral"> </span>
|
|
458
|
-
<span class="cline-any cline-neutral"> </span>
|
|
459
|
-
<span class="cline-any cline-neutral"> </span>
|
|
460
|
-
<span class="cline-any cline-neutral"> </span>
|
|
461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-neutral"> </span>
|
|
463
|
-
<span class="cline-any cline-neutral"> </span>
|
|
464
|
-
<span class="cline-any cline-neutral"> </span>
|
|
465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-yes">1x</span>
|
|
468
|
-
<span class="cline-any cline-yes">24x</span>
|
|
469
|
-
<span class="cline-any cline-yes">24x</span>
|
|
470
|
-
<span class="cline-any cline-yes">24x</span>
|
|
471
|
-
<span class="cline-any cline-yes">24x</span>
|
|
472
|
-
<span class="cline-any cline-yes">24x</span>
|
|
473
|
-
<span class="cline-any cline-yes">24x</span>
|
|
474
|
-
<span class="cline-any cline-yes">24x</span>
|
|
475
|
-
<span class="cline-any cline-yes">2x</span>
|
|
476
|
-
<span class="cline-any cline-yes">2x</span>
|
|
477
|
-
<span class="cline-any cline-yes">2x</span>
|
|
478
|
-
<span class="cline-any cline-yes">2x</span>
|
|
479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
480
|
-
<span class="cline-any cline-yes">2x</span>
|
|
481
|
-
<span class="cline-any cline-yes">1x</span>
|
|
482
|
-
<span class="cline-any cline-yes">1x</span>
|
|
483
|
-
<span class="cline-any cline-yes">2x</span>
|
|
484
|
-
<span class="cline-any cline-no"> </span>
|
|
485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-no"> </span>
|
|
487
|
-
<span class="cline-any cline-no"> </span>
|
|
488
|
-
<span class="cline-any cline-no"> </span>
|
|
489
|
-
<span class="cline-any cline-yes">2x</span>
|
|
490
|
-
<span class="cline-any cline-neutral"> </span>
|
|
491
|
-
<span class="cline-any cline-yes">24x</span>
|
|
492
|
-
<span class="cline-any cline-yes">5x</span>
|
|
493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-yes">5x</span>
|
|
495
|
-
<span class="cline-any cline-yes">5x</span>
|
|
496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
497
|
-
<span class="cline-any cline-yes">5x</span>
|
|
498
|
-
<span class="cline-any cline-yes">5x</span>
|
|
499
|
-
<span class="cline-any cline-neutral"> </span>
|
|
500
|
-
<span class="cline-any cline-yes">24x</span>
|
|
501
|
-
<span class="cline-any cline-yes">26x</span>
|
|
502
|
-
<span class="cline-any cline-neutral"> </span>
|
|
503
|
-
<span class="cline-any cline-yes">26x</span>
|
|
504
|
-
<span class="cline-any cline-yes">26x</span>
|
|
505
|
-
<span class="cline-any cline-neutral"> </span>
|
|
506
|
-
<span class="cline-any cline-yes">24x</span>
|
|
507
|
-
<span class="cline-any cline-yes">24x</span>
|
|
508
|
-
<span class="cline-any cline-yes">24x</span>
|
|
509
|
-
<span class="cline-any cline-yes">24x</span>
|
|
510
|
-
<span class="cline-any cline-yes">24x</span>
|
|
511
|
-
<span class="cline-any cline-no"> </span>
|
|
512
|
-
<span class="cline-any cline-no"> </span>
|
|
513
|
-
<span class="cline-any cline-yes">24x</span>
|
|
514
|
-
<span class="cline-any cline-no"> </span>
|
|
515
|
-
<span class="cline-any cline-no"> </span>
|
|
516
|
-
<span class="cline-any cline-yes">24x</span>
|
|
517
|
-
<span class="cline-any cline-yes">48x</span>
|
|
518
|
-
<span class="cline-any cline-yes">48x</span>
|
|
519
|
-
<span class="cline-any cline-yes">24x</span>
|
|
520
|
-
<span class="cline-any cline-no"> </span>
|
|
521
|
-
<span class="cline-any cline-no"> </span>
|
|
522
|
-
<span class="cline-any cline-yes">24x</span>
|
|
523
|
-
<span class="cline-any cline-no"> </span>
|
|
524
|
-
<span class="cline-any cline-no"> </span>
|
|
525
|
-
<span class="cline-any cline-neutral"> </span>
|
|
526
|
-
<span class="cline-any cline-yes">24x</span>
|
|
527
|
-
<span class="cline-any cline-yes">24x</span>
|
|
528
|
-
<span class="cline-any cline-no"> </span>
|
|
529
|
-
<span class="cline-any cline-no"> </span>
|
|
530
|
-
<span class="cline-any cline-no"> </span>
|
|
531
|
-
<span class="cline-any cline-neutral"> </span>
|
|
532
|
-
<span class="cline-any cline-no"> </span>
|
|
533
|
-
<span class="cline-any cline-no"> </span>
|
|
534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-no"> </span>
|
|
536
|
-
<span class="cline-any cline-no"> </span>
|
|
537
|
-
<span class="cline-any cline-yes">24x</span>
|
|
538
|
-
<span class="cline-any cline-yes">3x</span>
|
|
539
|
-
<span class="cline-any cline-yes">3x</span>
|
|
540
|
-
<span class="cline-any cline-yes">24x</span>
|
|
541
|
-
<span class="cline-any cline-no"> </span>
|
|
542
|
-
<span class="cline-any cline-no"> </span>
|
|
543
|
-
<span class="cline-any cline-yes">24x</span>
|
|
544
|
-
<span class="cline-any cline-no"> </span>
|
|
545
|
-
<span class="cline-any cline-no"> </span>
|
|
546
|
-
<span class="cline-any cline-yes">24x</span>
|
|
547
|
-
<span class="cline-any cline-no"> </span>
|
|
548
|
-
<span class="cline-any cline-no"> </span>
|
|
549
|
-
<span class="cline-any cline-no"> </span>
|
|
550
|
-
<span class="cline-any cline-no"> </span>
|
|
551
|
-
<span class="cline-any cline-no"> </span>
|
|
552
|
-
<span class="cline-any cline-no"> </span>
|
|
553
|
-
<span class="cline-any cline-neutral"> </span>
|
|
554
|
-
<span class="cline-any cline-no"> </span>
|
|
555
|
-
<span class="cline-any cline-no"> </span>
|
|
556
|
-
<span class="cline-any cline-no"> </span>
|
|
557
|
-
<span class="cline-any cline-no"> </span>
|
|
558
|
-
<span class="cline-any cline-no"> </span>
|
|
559
|
-
<span class="cline-any cline-yes">24x</span>
|
|
560
|
-
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-neutral"> </span>
|
|
562
|
-
<span class="cline-any cline-neutral"> </span>
|
|
563
|
-
<span class="cline-any cline-yes">2x</span>
|
|
564
|
-
<span class="cline-any cline-no"> </span>
|
|
565
|
-
<span class="cline-any cline-no"> </span>
|
|
566
|
-
<span class="cline-any cline-no"> </span>
|
|
567
|
-
<span class="cline-any cline-yes">2x</span>
|
|
568
|
-
<span class="cline-any cline-neutral"> </span>
|
|
569
|
-
<span class="cline-any cline-yes">2x</span>
|
|
570
|
-
<span class="cline-any cline-yes">2x</span>
|
|
571
|
-
<span class="cline-any cline-yes">2x</span>
|
|
572
|
-
<span class="cline-any cline-yes">2x</span>
|
|
573
|
-
<span class="cline-any cline-yes">2x</span>
|
|
574
|
-
<span class="cline-any cline-yes">2x</span>
|
|
575
|
-
<span class="cline-any cline-yes">2x</span>
|
|
576
|
-
<span class="cline-any cline-yes">24x</span>
|
|
577
|
-
<span class="cline-any cline-no"> </span>
|
|
578
|
-
<span class="cline-any cline-no"> </span>
|
|
579
|
-
<span class="cline-any cline-yes">24x</span>
|
|
580
|
-
<span class="cline-any cline-no"> </span>
|
|
581
|
-
<span class="cline-any cline-no"> </span>
|
|
582
|
-
<span class="cline-any cline-no"> </span>
|
|
583
|
-
<span class="cline-any cline-no"> </span>
|
|
584
|
-
<span class="cline-any cline-no"> </span>
|
|
585
|
-
<span class="cline-any cline-no"> </span>
|
|
586
|
-
<span class="cline-any cline-no"> </span>
|
|
587
|
-
<span class="cline-any cline-no"> </span>
|
|
588
|
-
<span class="cline-any cline-no"> </span>
|
|
589
|
-
<span class="cline-any cline-no"> </span>
|
|
590
|
-
<span class="cline-any cline-yes">24x</span>
|
|
591
|
-
<span class="cline-any cline-no"> </span>
|
|
592
|
-
<span class="cline-any cline-no"> </span>
|
|
593
|
-
<span class="cline-any cline-no"> </span>
|
|
594
|
-
<span class="cline-any cline-no"> </span>
|
|
595
|
-
<span class="cline-any cline-no"> </span>
|
|
596
|
-
<span class="cline-any cline-no"> </span>
|
|
597
|
-
<span class="cline-any cline-no"> </span>
|
|
598
|
-
<span class="cline-any cline-neutral"> </span>
|
|
599
|
-
<span class="cline-any cline-no"> </span>
|
|
600
|
-
<span class="cline-any cline-no"> </span>
|
|
601
|
-
<span class="cline-any cline-yes">24x</span>
|
|
602
|
-
<span class="cline-any cline-no"> </span>
|
|
603
|
-
<span class="cline-any cline-no"> </span>
|
|
604
|
-
<span class="cline-any cline-no"> </span>
|
|
605
|
-
<span class="cline-any cline-no"> </span>
|
|
606
|
-
<span class="cline-any cline-no"> </span>
|
|
607
|
-
<span class="cline-any cline-no"> </span>
|
|
608
|
-
<span class="cline-any cline-no"> </span>
|
|
609
|
-
<span class="cline-any cline-no"> </span>
|
|
610
|
-
<span class="cline-any cline-yes">24x</span>
|
|
611
|
-
<span class="cline-any cline-yes">24x</span>
|
|
612
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">// Copyright 2017-2025 @polkadot/keyring authors & contributors
|
|
613
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
614
|
-
|
|
615
|
-
import type {
|
|
616
|
-
KeyringPair,
|
|
617
|
-
KeyringPair$Json,
|
|
618
|
-
KeyringPair$Meta,
|
|
619
|
-
SignOptions,
|
|
620
|
-
} from "@prosopo/types";
|
|
621
|
-
import type { PairInfo } from "@prosopo/types";
|
|
622
|
-
|
|
623
|
-
import {
|
|
624
|
-
objectSpread,
|
|
625
|
-
u8aConcat,
|
|
626
|
-
u8aEmpty,
|
|
627
|
-
u8aToHex,
|
|
628
|
-
u8aToU8a,
|
|
629
|
-
} from "@polkadot/util";
|
|
630
|
-
|
|
631
|
-
import { blake2AsU8a } from "@prosopo/util-crypto";
|
|
632
|
-
import type { EncryptedJsonEncoding } from "@prosopo/util-crypto";
|
|
633
|
-
import { keyExtractPath, keyFromPath } from "@prosopo/util-crypto";
|
|
634
|
-
import { secp256k1Compress } from "@prosopo/util-crypto";
|
|
635
|
-
import { signatureVerify } from "@prosopo/util-crypto";
|
|
636
|
-
import { sr25519FromSeed, sr25519Sign } from "@prosopo/util-crypto";
|
|
637
|
-
import { sr25519VrfSign, sr25519VrfVerify } from "@prosopo/util-crypto";
|
|
638
|
-
import { decodePair } from "./decode.js";
|
|
639
|
-
import { encodePair } from "./encode.js";
|
|
640
|
-
import { pairToJson } from "./toJson.js";
|
|
641
|
-
|
|
642
|
-
type KeypairType = "sr25519" | "ed25519" | "ecdsa" | "ethereum";
|
|
643
|
-
|
|
644
|
-
interface Setup {
|
|
645
|
-
toSS58: (publicKey: Uint8Array) => string;
|
|
646
|
-
type: KeypairType;
|
|
647
|
-
}
|
|
648
|
-
|
|
649
|
-
const SIG_TYPE_NONE = new Uint8Array([]);
|
|
650
|
-
|
|
651
|
-
const TYPE_FROM_SEED = {
|
|
652
|
-
sr25519: sr25519FromSeed,
|
|
653
|
-
ed25519: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
654
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
|
|
655
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
656
|
-
ecdsa: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
657
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
|
|
658
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
659
|
-
ethereum: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
660
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
|
|
661
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
662
|
-
};
|
|
663
|
-
|
|
664
|
-
const TYPE_PREFIX = {
|
|
665
|
-
ecdsa: new Uint8Array([2]),
|
|
666
|
-
ed25519: new Uint8Array([0]),
|
|
667
|
-
ethereum: new Uint8Array([2]),
|
|
668
|
-
sr25519: new Uint8Array([1]),
|
|
669
|
-
};
|
|
670
|
-
|
|
671
|
-
const TYPE_SIGNATURE = {
|
|
672
|
-
sr25519: sr25519Sign,
|
|
673
|
-
ed25519: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
674
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
|
|
675
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
676
|
-
ecdsa: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
677
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
|
|
678
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
679
|
-
ethereum: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
680
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
|
|
681
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
682
|
-
};
|
|
683
|
-
|
|
684
|
-
const TYPE_ADDRESS = {
|
|
685
|
-
sr25519: (p: Uint8Array) => p,
|
|
686
|
-
ed25519: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
687
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
|
|
688
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
689
|
-
ecdsa: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
690
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
|
|
691
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
692
|
-
ethereum: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
693
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Not Implemented");</span>
|
|
694
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
695
|
-
};
|
|
696
|
-
|
|
697
|
-
function isLocked(secretKey?: Uint8Array): secretKey is undefined {
|
|
698
|
-
return !secretKey || u8aEmpty(secretKey);
|
|
699
|
-
}
|
|
700
|
-
|
|
701
|
-
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >function vrfHash(</span></span>
|
|
702
|
-
<span class="cstat-no" title="statement not covered" > proof: Uint8Array,</span>
|
|
703
|
-
<span class="cstat-no" title="statement not covered" > context?: string | Uint8Array,</span>
|
|
704
|
-
<span class="cstat-no" title="statement not covered" > extra?: string | Uint8Array,</span>
|
|
705
|
-
<span class="cstat-no" title="statement not covered" >): Uint8Array {</span>
|
|
706
|
-
<span class="cstat-no" title="statement not covered" > return blake2AsU8a(u8aConcat(context || "", extra || "", proof));</span>
|
|
707
|
-
<span class="cstat-no" title="statement not covered" >}</span>
|
|
708
|
-
|
|
709
|
-
/**
|
|
710
|
-
* @name createPair
|
|
711
|
-
* @summary Creates a keyring pair object
|
|
712
|
-
* @description Creates a keyring pair object with provided account public key, metadata, and encoded arguments.
|
|
713
|
-
* The keyring pair stores the account state including the encoded address and associated metadata.
|
|
714
|
-
*
|
|
715
|
-
* It has properties whose values are functions that may be called to perform account actions:
|
|
716
|
-
*
|
|
717
|
-
* - `address` function retrieves the address associated with the account.
|
|
718
|
-
* - `decodedPkcs8` function is called with the account passphrase and account encoded public key.
|
|
719
|
-
* It decodes the encoded public key using the passphrase provided to obtain the decoded account public key
|
|
720
|
-
* and associated secret key that are then available in memory, and changes the account address stored in the
|
|
721
|
-
* state of the pair to correspond to the address of the decoded public key.
|
|
722
|
-
* - `encodePkcs8` function when provided with the correct passphrase associated with the account pair
|
|
723
|
-
* and when the secret key is in memory (when the account pair is not locked) it returns an encoded
|
|
724
|
-
* public key of the account.
|
|
725
|
-
* - `meta` is the metadata that is stored in the state of the pair, either when it was originally
|
|
726
|
-
* created or set via `setMeta`.
|
|
727
|
-
* - `publicKey` returns the public key stored in memory for the pair.
|
|
728
|
-
* - `sign` may be used to return a signature by signing a provided message with the secret
|
|
729
|
-
* key (if it is in memory) using Nacl.
|
|
730
|
-
* - `toJson` calls another `toJson` function and provides the state of the pair,
|
|
731
|
-
* it generates arguments to be passed to the other `toJson` function including an encoded public key of the account
|
|
732
|
-
* that it generates using the secret key from memory (if it has been made available in memory)
|
|
733
|
-
* and the optionally provided passphrase argument. It passes a third boolean argument to `toJson`
|
|
734
|
-
* indicating whether the public key has been encoded or not (if a passphrase argument was provided then it is encoded).
|
|
735
|
-
* The `toJson` function that it calls returns a JSON object with properties including the `address`
|
|
736
|
-
* and `meta` that are assigned with the values stored in the corresponding state variables of the account pair,
|
|
737
|
-
* an `encoded` property that is assigned with the encoded public key in hex format, and an `encoding`
|
|
738
|
-
* property that indicates whether the public key value of the `encoded` property is encoded or not.
|
|
739
|
-
*/
|
|
740
|
-
export function createPair(
|
|
741
|
-
{ toSS58, type }: Setup,
|
|
742
|
-
{ publicKey, secretKey }: PairInfo,
|
|
743
|
-
meta: KeyringPair$Meta = {},
|
|
744
|
-
encoded: Uint8Array | null = null,
|
|
745
|
-
encTypes?: EncryptedJsonEncoding[],
|
|
746
|
-
): KeyringPair {
|
|
747
|
-
const decodePkcs8 = (
|
|
748
|
-
passphrase?: string,
|
|
749
|
-
userEncoded?: Uint8Array | null,
|
|
750
|
-
): void => {
|
|
751
|
-
const decoded = decodePair(passphrase, userEncoded || encoded, encTypes);
|
|
752
|
-
|
|
753
|
-
if (decoded.secretKey.length === 64) {
|
|
754
|
-
publicKey = decoded.publicKey;
|
|
755
|
-
secretKey = decoded.secretKey;
|
|
756
|
-
<span class="branch-0 cbranch-no" title="branch not covered" > } else {</span>
|
|
757
|
-
<span class="cstat-no" title="statement not covered" > const pair = TYPE_FROM_SEED[type](decoded.secretKey);</span>
|
|
758
|
-
|
|
759
|
-
<span class="cstat-no" title="statement not covered" > publicKey = pair.publicKey;</span>
|
|
760
|
-
<span class="cstat-no" title="statement not covered" > secretKey = pair.secretKey;</span>
|
|
761
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
762
|
-
};
|
|
763
|
-
|
|
764
|
-
const recode = (passphrase?: string): Uint8Array => {
|
|
765
|
-
isLocked(secretKey<span class="branch-0 cbranch-no" title="branch not covered" >) && <span class="branch-0 cbranch-no" title="branch not covered" >encoded && d</span>ecodePkcs8(passphrase, encoded);</span>
|
|
766
|
-
|
|
767
|
-
encoded = encodePair({ publicKey, secretKey }, passphrase); // re-encode, latest version
|
|
768
|
-
encTypes = undefined; // swap to defaults, latest version follows
|
|
769
|
-
|
|
770
|
-
return encoded;
|
|
771
|
-
};
|
|
772
|
-
|
|
773
|
-
const encodeAddress = (): string => {
|
|
774
|
-
const raw = TYPE_ADDRESS[type](publicKey);
|
|
775
|
-
|
|
776
|
-
return toSS58(raw);
|
|
777
|
-
};
|
|
778
|
-
|
|
779
|
-
return {
|
|
780
|
-
get address(): string {
|
|
781
|
-
return encodeAddress();
|
|
782
|
-
},
|
|
783
|
-
<span class="fstat-no" title="function not covered" > get addressRaw(): Uint8Array {</span>
|
|
784
|
-
<span class="cstat-no" title="statement not covered" > return TYPE_ADDRESS[type](publicKey);</span>
|
|
785
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
786
|
-
<span class="fstat-no" title="function not covered" > get isLocked(): boolean {</span>
|
|
787
|
-
<span class="cstat-no" title="statement not covered" > return isLocked(secretKey);</span>
|
|
788
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
789
|
-
get meta(): KeyringPair$Meta {
|
|
790
|
-
return meta;
|
|
791
|
-
},
|
|
792
|
-
<span class="fstat-no" title="function not covered" > get publicKey(): Uint8Array {</span>
|
|
793
|
-
<span class="cstat-no" title="statement not covered" > return publicKey;</span>
|
|
794
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
795
|
-
<span class="fstat-no" title="function not covered" > get type(): KeypairType {</span>
|
|
796
|
-
<span class="cstat-no" title="statement not covered" > return type;</span>
|
|
797
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
798
|
-
// eslint-disable-next-line sort-keys
|
|
799
|
-
decodePkcs8,
|
|
800
|
-
derive: <span class="fstat-no" title="function not covered" >(suri: string, meta?: KeyringPair$Meta): KeyringPair => {</span>
|
|
801
|
-
<span class="cstat-no" title="statement not covered" > if (isLocked(secretKey)) {</span>
|
|
802
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Cannot derive on a locked keypair");</span>
|
|
803
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
804
|
-
|
|
805
|
-
<span class="cstat-no" title="statement not covered" > const { path } = keyExtractPath(suri);</span>
|
|
806
|
-
<span class="cstat-no" title="statement not covered" > const derived = keyFromPath({ publicKey, secretKey }, path, type);</span>
|
|
807
|
-
|
|
808
|
-
<span class="cstat-no" title="statement not covered" > return createPair({ toSS58, type }, derived, meta, null);</span>
|
|
809
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
810
|
-
encodePkcs8: (passphrase?: string): Uint8Array => {
|
|
811
|
-
return recode(passphrase);
|
|
812
|
-
},
|
|
813
|
-
lock: <span class="fstat-no" title="function not covered" >(): void => {</span>
|
|
814
|
-
<span class="cstat-no" title="statement not covered" > secretKey = new Uint8Array([]);</span>
|
|
815
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
816
|
-
setMeta: <span class="fstat-no" title="function not covered" >(additional: KeyringPair$Meta): void => {</span>
|
|
817
|
-
<span class="cstat-no" title="statement not covered" > meta = objectSpread({}, meta, additional);</span>
|
|
818
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
819
|
-
sign: <span class="fstat-no" title="function not covered" >(</span>
|
|
820
|
-
<span class="cstat-no" title="statement not covered" > message: string | Uint8Array,</span>
|
|
821
|
-
<span class="cstat-no" title="statement not covered" > options: SignOptions = {},</span>
|
|
822
|
-
<span class="cstat-no" title="statement not covered" > ): Uint8Array => {</span>
|
|
823
|
-
<span class="cstat-no" title="statement not covered" > if (isLocked(secretKey)) {</span>
|
|
824
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Cannot sign with a locked key pair");</span>
|
|
825
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
826
|
-
|
|
827
|
-
<span class="cstat-no" title="statement not covered" > return u8aConcat(</span>
|
|
828
|
-
<span class="cstat-no" title="statement not covered" > options.withType ? TYPE_PREFIX[type] : SIG_TYPE_NONE,</span>
|
|
829
|
-
<span class="cstat-no" title="statement not covered" > TYPE_SIGNATURE[type](u8aToU8a(message), { publicKey, secretKey }),</span>
|
|
830
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
831
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
832
|
-
toJson: (passphrase?: string): KeyringPair$Json => {
|
|
833
|
-
// NOTE: For ecdsa and ethereum, the publicKey cannot be extracted from the address. For these
|
|
834
|
-
// pass the hex-encoded publicKey through to the address portion of the JSON (before decoding)
|
|
835
|
-
// unless the publicKey is already an address
|
|
836
|
-
const address = ["ecdsa", "ethereum"].includes(type<span class="branch-0 cbranch-no" title="branch not covered" >)</span>
|
|
837
|
-
<span class="cstat-no" title="statement not covered" > ? publicKey.length === 20</span>
|
|
838
|
-
<span class="cstat-no" title="statement not covered" > ? u8aToHex(publicKey)</span>
|
|
839
|
-
<span class="cstat-no" title="statement not covered" > : u8aToHex(secp256k1Compress(publicKey))</span>
|
|
840
|
-
: encodeAddress();
|
|
841
|
-
|
|
842
|
-
return pairToJson(
|
|
843
|
-
type,
|
|
844
|
-
{ address, meta },
|
|
845
|
-
recode(passphrase),
|
|
846
|
-
!!passphrase,
|
|
847
|
-
);
|
|
848
|
-
},
|
|
849
|
-
unlock: <span class="fstat-no" title="function not covered" >(passphrase?: string): void => {</span>
|
|
850
|
-
<span class="cstat-no" title="statement not covered" > decodePkcs8(passphrase);</span>
|
|
851
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
852
|
-
verify: <span class="fstat-no" title="function not covered" >(</span>
|
|
853
|
-
<span class="cstat-no" title="statement not covered" > message: string | Uint8Array,</span>
|
|
854
|
-
<span class="cstat-no" title="statement not covered" > signature: string | Uint8Array,</span>
|
|
855
|
-
<span class="cstat-no" title="statement not covered" > signerPublic: string | Uint8Array,</span>
|
|
856
|
-
<span class="cstat-no" title="statement not covered" > ): boolean => {</span>
|
|
857
|
-
<span class="cstat-no" title="statement not covered" > return signatureVerify(</span>
|
|
858
|
-
<span class="cstat-no" title="statement not covered" > message,</span>
|
|
859
|
-
<span class="cstat-no" title="statement not covered" > signature,</span>
|
|
860
|
-
<span class="cstat-no" title="statement not covered" > TYPE_ADDRESS[type](u8aToU8a(signerPublic)),</span>
|
|
861
|
-
<span class="cstat-no" title="statement not covered" > ).isValid;</span>
|
|
862
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
863
|
-
vrfSign: <span class="fstat-no" title="function not covered" >(</span>
|
|
864
|
-
<span class="cstat-no" title="statement not covered" > message: string | Uint8Array,</span>
|
|
865
|
-
<span class="cstat-no" title="statement not covered" > context?: string | Uint8Array,</span>
|
|
866
|
-
<span class="cstat-no" title="statement not covered" > extra?: string | Uint8Array,</span>
|
|
867
|
-
<span class="cstat-no" title="statement not covered" > ): Uint8Array => {</span>
|
|
868
|
-
<span class="cstat-no" title="statement not covered" > if (isLocked(secretKey)) {</span>
|
|
869
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Cannot sign with a locked key pair");</span>
|
|
870
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
871
|
-
|
|
872
|
-
<span class="cstat-no" title="statement not covered" > return sr25519VrfSign(message, { secretKey }, context, extra);</span>
|
|
873
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
874
|
-
vrfVerify: <span class="fstat-no" title="function not covered" >(</span>
|
|
875
|
-
<span class="cstat-no" title="statement not covered" > message: string | Uint8Array,</span>
|
|
876
|
-
<span class="cstat-no" title="statement not covered" > vrfResult: Uint8Array,</span>
|
|
877
|
-
<span class="cstat-no" title="statement not covered" > signerPublic: Uint8Array | string,</span>
|
|
878
|
-
<span class="cstat-no" title="statement not covered" > context?: string | Uint8Array,</span>
|
|
879
|
-
<span class="cstat-no" title="statement not covered" > extra?: string | Uint8Array,</span>
|
|
880
|
-
<span class="cstat-no" title="statement not covered" > ): boolean => {</span>
|
|
881
|
-
<span class="cstat-no" title="statement not covered" > return sr25519VrfVerify(message, vrfResult, publicKey, context, extra);</span>
|
|
882
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
883
|
-
};
|
|
884
|
-
}
|
|
885
|
-
</pre></td></tr></table></pre>
|
|
886
|
-
|
|
887
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
888
|
-
</div><!-- /wrapper -->
|
|
889
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
890
|
-
Code coverage generated by
|
|
891
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
892
|
-
at 2025-09-29T09:25:04.552Z
|
|
893
|
-
</div>
|
|
894
|
-
<script src="../../prettify.js"></script>
|
|
895
|
-
<script>
|
|
896
|
-
window.onload = function () {
|
|
897
|
-
prettyPrint();
|
|
898
|
-
};
|
|
899
|
-
</script>
|
|
900
|
-
<script src="../../sorter.js"></script>
|
|
901
|
-
<script src="../../block-navigation.js"></script>
|
|
902
|
-
</body>
|
|
903
|
-
</html>
|
|
904
|
-
|