trusty-festivity-extension 2.5.0 → 2.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/skins/traf/fn-instagram-bg.svg +1 -0
  3. data/app/assets/images/skins/traf/fn-twitter-bg.svg +1 -0
  4. data/app/assets/images/skins/traf/traf-background.png +0 -0
  5. data/app/assets/images/skins/traf/traf-bottom-wave.png +0 -0
  6. data/app/assets/images/skins/traf/traf-bridge.png +0 -0
  7. data/app/assets/images/skins/traf/traf-bubbles.png +0 -0
  8. data/app/assets/images/skins/traf/traf-logo.svg +1 -0
  9. data/app/assets/javascripts/modal.js +2 -2
  10. data/app/assets/stylesheets/grunticon/info.svg +1 -0
  11. data/app/assets/stylesheets/grunticon/production/icons.data.png.css +4 -0
  12. data/app/assets/stylesheets/grunticon/production/icons.data.svg.css +5 -0
  13. data/app/assets/stylesheets/grunticon/production/icons.fallback.css +5 -0
  14. data/app/assets/stylesheets/grunticon/production/png/info.png +0 -0
  15. data/app/assets/stylesheets/library/_icons.scss +8 -1
  16. data/app/assets/stylesheets/skins/traf/contexts/_featured_events.scss +72 -0
  17. data/app/assets/stylesheets/skins/traf/contexts/_homepage.scss +95 -0
  18. data/app/assets/stylesheets/skins/traf/contexts/_social_feed.scss +82 -0
  19. data/app/assets/stylesheets/skins/traf/library/_general-mixins.scss +1 -0
  20. data/app/assets/stylesheets/skins/traf/skin.scss +2 -2
  21. data/app/assets/stylesheets/traf.scss +3 -0
  22. data/app/models/festivity_event_list.rb +4 -1
  23. data/app/presenters/social/twitter_post_presenter.rb +32 -0
  24. data/app/services/twitter_feed_service.rb +16 -0
  25. data/app/views/festivity_events/show.html.haml +2 -4
  26. data/app/views/festivity_markets/_market.html.haml +1 -3
  27. data/app/views/social/_instagram_posts.html.haml +0 -4
  28. data/app/views/social/_twitter_posts.html.haml +16 -0
  29. data/lib/tags/header_tags.rb +3 -2
  30. data/lib/tags/social_feed_tags.rb +13 -0
  31. data/lib/trusty-festivity-extension.rb +1 -1
  32. metadata +17 -73
  33. data/node_modules/bower/node_modules/handlebars/coverage/coverage.json +0 -1
  34. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars.js.html +0 -436
  35. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars.runtime.js.html +0 -424
  36. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/base.js.html +0 -1012
  37. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/ast.js.html +0 -961
  38. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/base.js.html +0 -382
  39. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/compiler.js.html +0 -1675
  40. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/helpers.js.html +0 -880
  41. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/index.html +0 -441
  42. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/javascript-compiler.js.html +0 -3211
  43. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/parser.js.html +0 -1819
  44. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/printer.js.html +0 -742
  45. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/visitor.js.html +0 -355
  46. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/exception.js.html +0 -403
  47. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/index.html +0 -402
  48. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/runtime.js.html +0 -898
  49. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/safe-string.js.html +0 -352
  50. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/utils.js.html +0 -583
  51. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/index.html +0 -363
  52. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/index.html +0 -389
  53. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/lib/index.html +0 -363
  54. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/lib/index.js.html +0 -400
  55. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/lib/precompiler.js.html +0 -754
  56. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/prettify.css +0 -1
  57. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/prettify.js +0 -1
  58. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/ast.js.html +0 -1594
  59. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/basic.js.html +0 -973
  60. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/blocks.js.html +0 -676
  61. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/builtins.js.html +0 -1018
  62. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/data.js.html +0 -1093
  63. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/browser.js.html +0 -406
  64. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/common.js.html +0 -481
  65. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/index.html +0 -402
  66. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/node.js.html +0 -391
  67. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/runner.js.html +0 -457
  68. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/runtime.js.html +0 -466
  69. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/helpers.js.html +0 -2182
  70. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/index.html +0 -597
  71. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/javascript-compiler.js.html +0 -535
  72. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/parser.js.html +0 -892
  73. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/partials.js.html +0 -841
  74. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/precompiler.js.html +0 -442
  75. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/regressions.js.html +0 -790
  76. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/require.js.html +0 -391
  77. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/runtime.js.html +0 -337
  78. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/spec.js.html +0 -469
  79. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/string-params.js.html +0 -850
  80. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/subexpressions.js.html +0 -970
  81. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/tokenizer.js.html +0 -1528
  82. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/track-ids.js.html +0 -811
  83. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/utils.js.html +0 -499
  84. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/whitespace-control.js.html +0 -508
  85. data/node_modules/bower/node_modules/handlebars/coverage/lcov.info +0 -3181
  86. data/node_modules/bower/node_modules/semver/semver.browser.js.gz +0 -0
  87. data/node_modules/bower/node_modules/semver/semver.min.js.gz +0 -0
  88. data/node_modules/bower/node_modules/tmp/README.md +0 -162
  89. data/node_modules/bower/node_modules/tmp/domain-test.js +0 -13
  90. data/node_modules/bower/node_modules/tmp/lib/tmp.js +0 -307
  91. data/node_modules/bower/node_modules/tmp/package.json +0 -50
  92. data/node_modules/bower/node_modules/tmp/test-all.sh +0 -9
  93. data/node_modules/bower/node_modules/tmp/test.js +0 -6
  94. data/node_modules/bower/node_modules/tmp/test/base.js +0 -74
  95. data/node_modules/bower/node_modules/tmp/test/dir-test.js +0 -196
  96. data/node_modules/bower/node_modules/tmp/test/file-test.js +0 -177
  97. data/node_modules/bower/node_modules/tmp/test/graceful.js +0 -15
  98. data/node_modules/bower/node_modules/tmp/test/keep.js +0 -11
  99. data/node_modules/bower/node_modules/tmp/test/name-test.js +0 -82
  100. data/node_modules/bower/node_modules/tmp/test/spawn.js +0 -32
  101. data/node_modules/bower/node_modules/tmp/test/symlinkme/file.js +0 -0
  102. data/node_modules/bower/node_modules/tmp/test/unsafe.js +0 -30
  103. data/node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/got/node_modules/nested-error-stacks/README.md~ +0 -0
@@ -1,441 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <title>Code coverage report for dist/cjs/handlebars/compiler/</title>
5
- <meta charset="utf-8">
6
-
7
- <link rel="stylesheet" href="../../../../prettify.css">
8
-
9
- <style>
10
- body, html {
11
- margin:0; padding: 0;
12
- }
13
- body {
14
- font-family: Helvetica Neue, Helvetica,Arial;
15
- font-size: 10pt;
16
- }
17
- div.header, div.footer {
18
- background: #eee;
19
- padding: 1em;
20
- }
21
- div.header {
22
- z-index: 100;
23
- position: fixed;
24
- top: 0;
25
- border-bottom: 1px solid #666;
26
- width: 100%;
27
- }
28
- div.footer {
29
- border-top: 1px solid #666;
30
- }
31
- div.body {
32
- margin-top: 10em;
33
- }
34
- div.meta {
35
- font-size: 90%;
36
- text-align: center;
37
- }
38
- h1, h2, h3 {
39
- font-weight: normal;
40
- }
41
- h1 {
42
- font-size: 12pt;
43
- }
44
- h2 {
45
- font-size: 10pt;
46
- }
47
- pre {
48
- font-family: Consolas, Menlo, Monaco, monospace;
49
- margin: 0;
50
- padding: 0;
51
- line-height: 14px;
52
- font-size: 14px;
53
- -moz-tab-size: 2;
54
- -o-tab-size: 2;
55
- tab-size: 2;
56
- }
57
-
58
- div.path { font-size: 110%; }
59
- div.path a:link, div.path a:visited { color: #000; }
60
- table.coverage { border-collapse: collapse; margin:0; padding: 0 }
61
-
62
- table.coverage td {
63
- margin: 0;
64
- padding: 0;
65
- color: #111;
66
- vertical-align: top;
67
- }
68
- table.coverage td.line-count {
69
- width: 50px;
70
- text-align: right;
71
- padding-right: 5px;
72
- }
73
- table.coverage td.line-coverage {
74
- color: #777 !important;
75
- text-align: right;
76
- border-left: 1px solid #666;
77
- border-right: 1px solid #666;
78
- }
79
-
80
- table.coverage td.text {
81
- }
82
-
83
- table.coverage td span.cline-any {
84
- display: inline-block;
85
- padding: 0 5px;
86
- width: 40px;
87
- }
88
- table.coverage td span.cline-neutral {
89
- background: #eee;
90
- }
91
- table.coverage td span.cline-yes {
92
- background: #b5d592;
93
- color: #999;
94
- }
95
- table.coverage td span.cline-no {
96
- background: #fc8c84;
97
- }
98
-
99
- .cstat-yes { color: #111; }
100
- .cstat-no { background: #fc8c84; color: #111; }
101
- .fstat-no { background: #ffc520; color: #111 !important; }
102
- .cbranch-no { background: yellow !important; color: #111; }
103
-
104
- .cstat-skip { background: #ddd; color: #111; }
105
- .fstat-skip { background: #ddd; color: #111 !important; }
106
- .cbranch-skip { background: #ddd !important; color: #111; }
107
-
108
- .missing-if-branch {
109
- display: inline-block;
110
- margin-right: 10px;
111
- position: relative;
112
- padding: 0 4px;
113
- background: black;
114
- color: yellow;
115
- }
116
-
117
- .skip-if-branch {
118
- display: none;
119
- margin-right: 10px;
120
- position: relative;
121
- padding: 0 4px;
122
- background: #ccc;
123
- color: white;
124
- }
125
-
126
- .missing-if-branch .typ, .skip-if-branch .typ {
127
- color: inherit !important;
128
- }
129
-
130
- .entity, .metric { font-weight: bold; }
131
- .metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; }
132
- .metric small { font-size: 80%; font-weight: normal; color: #666; }
133
-
134
- div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; }
135
- div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; }
136
- div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; }
137
- div.coverage-summary th.file { border-right: none !important; }
138
- div.coverage-summary th.pic { border-left: none !important; text-align: right; }
139
- div.coverage-summary th.pct { border-right: none !important; }
140
- div.coverage-summary th.abs { border-left: none !important; text-align: right; }
141
- div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; }
142
- div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; }
143
- div.coverage-summary td.file { text-align: right; border-left: 1px solid #666; white-space: nowrap; }
144
- div.coverage-summary td.pic { min-width: 120px !important; }
145
- div.coverage-summary a:link { text-decoration: none; color: #000; }
146
- div.coverage-summary a:visited { text-decoration: none; color: #333; }
147
- div.coverage-summary a:hover { text-decoration: underline; }
148
- div.coverage-summary tfoot td { border-top: 1px solid #666; }
149
-
150
- div.coverage-summary .yui3-datatable-sort-indicator, div.coverage-summary .dummy-sort-indicator {
151
- height: 10px;
152
- width: 7px;
153
- display: inline-block;
154
- margin-left: 0.5em;
155
- }
156
- div.coverage-summary .yui3-datatable-sort-indicator {
157
- background: url("https://yui-s.yahooapis.com/3.6.0/build/datatable-sort/assets/skins/sam/sort-arrow-sprite.png") no-repeat scroll 0 0 transparent;
158
- }
159
- div.coverage-summary .yui3-datatable-sorted .yui3-datatable-sort-indicator {
160
- background-position: 0 -20px;
161
- }
162
- div.coverage-summary .yui3-datatable-sorted-desc .yui3-datatable-sort-indicator {
163
- background-position: 0 -10px;
164
- }
165
-
166
- .high { background: #b5d592 !important; }
167
- .medium { background: #ffe87c !important; }
168
- .low { background: #fc8c84 !important; }
169
-
170
- span.cover-fill, span.cover-empty {
171
- display:inline-block;
172
- border:1px solid #444;
173
- background: white;
174
- height: 12px;
175
- }
176
- span.cover-fill {
177
- background: #ccc;
178
- border-right: 1px solid #444;
179
- }
180
- span.cover-empty {
181
- background: white;
182
- border-left: none;
183
- }
184
- span.cover-full {
185
- border-right: none !important;
186
- }
187
- pre.prettyprint {
188
- border: none !important;
189
- padding: 0 !important;
190
- margin: 0 !important;
191
- }
192
- .com { color: #999 !important; }
193
- .ignore-none { color: #999; font-weight: normal; }
194
-
195
- </style>
196
- </head>
197
- <body>
198
- <div class="header high">
199
- <h1>Code coverage report for <span class="entity">dist/cjs/handlebars/compiler/</span></h1>
200
- <h2>
201
-
202
- Statements: <span class="metric">99.84% <small>(1269 / 1271)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
203
-
204
-
205
- Branches: <span class="metric">99.4% <small>(660 / 664)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
206
-
207
-
208
- Functions: <span class="metric">100% <small>(164 / 164)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
209
-
210
-
211
- Lines: <span class="metric">99.84% <small>(1229 / 1231)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
212
-
213
- Ignored: <span class="metric">98 statements, 9 functions, 48 branches</span> &nbsp;&nbsp;&nbsp;&nbsp;
214
- </h2>
215
- <div class="path"><a href="../../../../index.html">All files</a> &#187; dist/cjs/handlebars/compiler/</div>
216
- </div>
217
- <div class="body">
218
- <div class="coverage-summary">
219
- <table>
220
- <thead>
221
- <tr>
222
- <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
223
- <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
224
- <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
225
- <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
226
- <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
227
- <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
228
- <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
229
- <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
230
- <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
231
- <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
232
- </tr>
233
- </thead>
234
- <tbody><tr>
235
- <td class="file high" data-value="ast.js"><a href="ast.js.html">ast.js</a></td>
236
- <td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
237
- <td data-value="100" class="pct high">100%</td>
238
- <td data-value="107" class="abs high">(107&nbsp;/&nbsp;107)</td>
239
- <td data-value="100" class="pct high">100%</td>
240
- <td data-value="36" class="abs high">(36&nbsp;/&nbsp;36)</td>
241
- <td data-value="100" class="pct high">100%</td>
242
- <td data-value="16" class="abs high">(16&nbsp;/&nbsp;16)</td>
243
- <td data-value="100" class="pct high">100%</td>
244
- <td data-value="107" class="abs high">(107&nbsp;/&nbsp;107)</td>
245
- </tr>
246
-
247
- <tr>
248
- <td class="file high" data-value="base.js"><a href="base.js.html">base.js</a></td>
249
- <td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
250
- <td data-value="100" class="pct high">100%</td>
251
- <td data-value="13" class="abs high">(13&nbsp;/&nbsp;13)</td>
252
- <td data-value="100" class="pct high">100%</td>
253
- <td data-value="2" class="abs high">(2&nbsp;/&nbsp;2)</td>
254
- <td data-value="100" class="pct high">100%</td>
255
- <td data-value="1" class="abs high">(1&nbsp;/&nbsp;1)</td>
256
- <td data-value="100" class="pct high">100%</td>
257
- <td data-value="12" class="abs high">(12&nbsp;/&nbsp;12)</td>
258
- </tr>
259
-
260
- <tr>
261
- <td class="file high" data-value="compiler.js"><a href="compiler.js.html">compiler.js</a></td>
262
- <td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
263
- <td data-value="100" class="pct high">100%</td>
264
- <td data-value="221" class="abs high">(221&nbsp;/&nbsp;221)</td>
265
- <td data-value="100" class="pct high">100%</td>
266
- <td data-value="117" class="abs high">(117&nbsp;/&nbsp;117)</td>
267
- <td data-value="100" class="pct high">100%</td>
268
- <td data-value="35" class="abs high">(35&nbsp;/&nbsp;35)</td>
269
- <td data-value="100" class="pct high">100%</td>
270
- <td data-value="215" class="abs high">(215&nbsp;/&nbsp;215)</td>
271
- </tr>
272
-
273
- <tr>
274
- <td class="file high" data-value="helpers.js"><a href="helpers.js.html">helpers.js</a></td>
275
- <td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
276
- <td data-value="100" class="pct high">100%</td>
277
- <td data-value="82" class="abs high">(82&nbsp;/&nbsp;82)</td>
278
- <td data-value="98.92" class="pct high">98.92%</td>
279
- <td data-value="93" class="abs high">(92&nbsp;/&nbsp;93)</td>
280
- <td data-value="100" class="pct high">100%</td>
281
- <td data-value="7" class="abs high">(7&nbsp;/&nbsp;7)</td>
282
- <td data-value="100" class="pct high">100%</td>
283
- <td data-value="81" class="abs high">(81&nbsp;/&nbsp;81)</td>
284
- </tr>
285
-
286
- <tr>
287
- <td class="file high" data-value="javascript-compiler.js"><a href="javascript-compiler.js.html">javascript-compiler.js</a></td>
288
- <td data-value="99.45" class="pic high"><span class="cover-fill" style="width: 99px;"></span><span class="cover-empty" style="width:1px;"></span></td>
289
- <td data-value="99.45" class="pct high">99.45%</td>
290
- <td data-value="364" class="abs high">(362&nbsp;/&nbsp;364)</td>
291
- <td data-value="98.46" class="pct high">98.46%</td>
292
- <td data-value="195" class="abs high">(192&nbsp;/&nbsp;195)</td>
293
- <td data-value="100" class="pct high">100%</td>
294
- <td data-value="59" class="abs high">(59&nbsp;/&nbsp;59)</td>
295
- <td data-value="99.45" class="pct high">99.45%</td>
296
- <td data-value="363" class="abs high">(361&nbsp;/&nbsp;363)</td>
297
- </tr>
298
-
299
- <tr>
300
- <td class="file high" data-value="parser.js"><a href="parser.js.html">parser.js</a></td>
301
- <td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
302
- <td data-value="100" class="pct high">100%</td>
303
- <td data-value="396" class="abs high">(396&nbsp;/&nbsp;396)</td>
304
- <td data-value="100" class="pct high">100%</td>
305
- <td data-value="205" class="abs high">(205&nbsp;/&nbsp;205)</td>
306
- <td data-value="100" class="pct high">100%</td>
307
- <td data-value="27" class="abs high">(27&nbsp;/&nbsp;27)</td>
308
- <td data-value="100" class="pct high">100%</td>
309
- <td data-value="369" class="abs high">(369&nbsp;/&nbsp;369)</td>
310
- </tr>
311
-
312
- <tr>
313
- <td class="file high" data-value="printer.js"><a href="printer.js.html">printer.js</a></td>
314
- <td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
315
- <td data-value="100" class="pct high">100%</td>
316
- <td data-value="84" class="abs high">(84&nbsp;/&nbsp;84)</td>
317
- <td data-value="100" class="pct high">100%</td>
318
- <td data-value="16" class="abs high">(16&nbsp;/&nbsp;16)</td>
319
- <td data-value="100" class="pct high">100%</td>
320
- <td data-value="17" class="abs high">(17&nbsp;/&nbsp;17)</td>
321
- <td data-value="100" class="pct high">100%</td>
322
- <td data-value="80" class="abs high">(80&nbsp;/&nbsp;80)</td>
323
- </tr>
324
-
325
- <tr>
326
- <td class="file high" data-value="visitor.js"><a href="visitor.js.html">visitor.js</a></td>
327
- <td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
328
- <td data-value="100" class="pct high">100%</td>
329
- <td data-value="4" class="abs high">(4&nbsp;/&nbsp;4)</td>
330
- <td data-value="100" class="pct high">100%</td>
331
- <td data-value="0" class="abs high">(0&nbsp;/&nbsp;0)</td>
332
- <td data-value="100" class="pct high">100%</td>
333
- <td data-value="2" class="abs high">(2&nbsp;/&nbsp;2)</td>
334
- <td data-value="100" class="pct high">100%</td>
335
- <td data-value="4" class="abs high">(4&nbsp;/&nbsp;4)</td>
336
- </tr>
337
-
338
- </tbody>
339
- </table>
340
- </div>
341
- </div>
342
- <div class="footer">
343
- <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Sep 01 2014 21:28:55 GMT-0500 (CDT)</div>
344
- </div>
345
-
346
- <script src="../../../../prettify.js"></script>
347
-
348
- <script src="https://yui-s.yahooapis.com/3.6.0/build/yui/yui-min.js"></script>
349
- <script>
350
-
351
- YUI().use('datatable', function (Y) {
352
-
353
- var formatters = {
354
- pct: function (o) {
355
- o.className += o.record.get('classes')[o.column.key];
356
- try {
357
- return o.value.toFixed(2) + '%';
358
- } catch (ex) { return o.value + '%'; }
359
- },
360
- html: function (o) {
361
- o.className += o.record.get('classes')[o.column.key];
362
- return o.record.get(o.column.key + '_html');
363
- }
364
- },
365
- defaultFormatter = function (o) {
366
- o.className += o.record.get('classes')[o.column.key];
367
- return o.value;
368
- };
369
-
370
- function getColumns(theadNode) {
371
- var colNodes = theadNode.all('tr th'),
372
- cols = [],
373
- col;
374
- colNodes.each(function (colNode) {
375
- col = {
376
- key: colNode.getAttribute('data-col'),
377
- label: colNode.get('innerHTML') || ' ',
378
- sortable: !colNode.getAttribute('data-nosort'),
379
- className: colNode.getAttribute('class'),
380
- type: colNode.getAttribute('data-type'),
381
- allowHTML: colNode.getAttribute('data-html') === 'true' || colNode.getAttribute('data-fmt') === 'html'
382
- };
383
- col.formatter = formatters[colNode.getAttribute('data-fmt')] || defaultFormatter;
384
- cols.push(col);
385
- });
386
- return cols;
387
- }
388
-
389
- function getRowData(trNode, cols) {
390
- var tdNodes = trNode.all('td'),
391
- i,
392
- row = { classes: {} },
393
- node,
394
- name;
395
- for (i = 0; i < cols.length; i += 1) {
396
- name = cols[i].key;
397
- node = tdNodes.item(i);
398
- row[name] = node.getAttribute('data-value') || node.get('innerHTML');
399
- row[name + '_html'] = node.get('innerHTML');
400
- row.classes[name] = node.getAttribute('class');
401
- //Y.log('Name: ' + name + '; Value: ' + row[name]);
402
- if (cols[i].type === 'number') { row[name] = row[name] * 1; }
403
- }
404
- //Y.log(row);
405
- return row;
406
- }
407
-
408
- function getData(tbodyNode, cols) {
409
- var data = [];
410
- tbodyNode.all('tr').each(function (trNode) {
411
- data.push(getRowData(trNode, cols));
412
- });
413
- return data;
414
- }
415
-
416
- function replaceTable(node) {
417
- if (!node) { return; }
418
- var cols = getColumns(node.one('thead')),
419
- data = getData(node.one('tbody'), cols),
420
- table,
421
- parent = node.get('parentNode');
422
-
423
- table = new Y.DataTable({
424
- columns: cols,
425
- data: data,
426
- sortBy: 'file'
427
- });
428
- parent.set('innerHTML', '');
429
- table.render(parent);
430
- }
431
-
432
- Y.on('domready', function () {
433
- replaceTable(Y.one('div.coverage-summary table'));
434
- if (typeof prettyPrint === 'function') {
435
- prettyPrint();
436
- }
437
- });
438
- });
439
- </script>
440
- </body>
441
- </html>
@@ -1,3211 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <title>Code coverage report for dist/cjs/handlebars/compiler/javascript-compiler.js</title>
5
- <meta charset="utf-8">
6
-
7
- <link rel="stylesheet" href="../../../../prettify.css">
8
-
9
- <style>
10
- body, html {
11
- margin:0; padding: 0;
12
- }
13
- body {
14
- font-family: Helvetica Neue, Helvetica,Arial;
15
- font-size: 10pt;
16
- }
17
- div.header, div.footer {
18
- background: #eee;
19
- padding: 1em;
20
- }
21
- div.header {
22
- z-index: 100;
23
- position: fixed;
24
- top: 0;
25
- border-bottom: 1px solid #666;
26
- width: 100%;
27
- }
28
- div.footer {
29
- border-top: 1px solid #666;
30
- }
31
- div.body {
32
- margin-top: 10em;
33
- }
34
- div.meta {
35
- font-size: 90%;
36
- text-align: center;
37
- }
38
- h1, h2, h3 {
39
- font-weight: normal;
40
- }
41
- h1 {
42
- font-size: 12pt;
43
- }
44
- h2 {
45
- font-size: 10pt;
46
- }
47
- pre {
48
- font-family: Consolas, Menlo, Monaco, monospace;
49
- margin: 0;
50
- padding: 0;
51
- line-height: 14px;
52
- font-size: 14px;
53
- -moz-tab-size: 2;
54
- -o-tab-size: 2;
55
- tab-size: 2;
56
- }
57
-
58
- div.path { font-size: 110%; }
59
- div.path a:link, div.path a:visited { color: #000; }
60
- table.coverage { border-collapse: collapse; margin:0; padding: 0 }
61
-
62
- table.coverage td {
63
- margin: 0;
64
- padding: 0;
65
- color: #111;
66
- vertical-align: top;
67
- }
68
- table.coverage td.line-count {
69
- width: 50px;
70
- text-align: right;
71
- padding-right: 5px;
72
- }
73
- table.coverage td.line-coverage {
74
- color: #777 !important;
75
- text-align: right;
76
- border-left: 1px solid #666;
77
- border-right: 1px solid #666;
78
- }
79
-
80
- table.coverage td.text {
81
- }
82
-
83
- table.coverage td span.cline-any {
84
- display: inline-block;
85
- padding: 0 5px;
86
- width: 40px;
87
- }
88
- table.coverage td span.cline-neutral {
89
- background: #eee;
90
- }
91
- table.coverage td span.cline-yes {
92
- background: #b5d592;
93
- color: #999;
94
- }
95
- table.coverage td span.cline-no {
96
- background: #fc8c84;
97
- }
98
-
99
- .cstat-yes { color: #111; }
100
- .cstat-no { background: #fc8c84; color: #111; }
101
- .fstat-no { background: #ffc520; color: #111 !important; }
102
- .cbranch-no { background: yellow !important; color: #111; }
103
-
104
- .cstat-skip { background: #ddd; color: #111; }
105
- .fstat-skip { background: #ddd; color: #111 !important; }
106
- .cbranch-skip { background: #ddd !important; color: #111; }
107
-
108
- .missing-if-branch {
109
- display: inline-block;
110
- margin-right: 10px;
111
- position: relative;
112
- padding: 0 4px;
113
- background: black;
114
- color: yellow;
115
- }
116
-
117
- .skip-if-branch {
118
- display: none;
119
- margin-right: 10px;
120
- position: relative;
121
- padding: 0 4px;
122
- background: #ccc;
123
- color: white;
124
- }
125
-
126
- .missing-if-branch .typ, .skip-if-branch .typ {
127
- color: inherit !important;
128
- }
129
-
130
- .entity, .metric { font-weight: bold; }
131
- .metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; }
132
- .metric small { font-size: 80%; font-weight: normal; color: #666; }
133
-
134
- div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; }
135
- div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; }
136
- div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; }
137
- div.coverage-summary th.file { border-right: none !important; }
138
- div.coverage-summary th.pic { border-left: none !important; text-align: right; }
139
- div.coverage-summary th.pct { border-right: none !important; }
140
- div.coverage-summary th.abs { border-left: none !important; text-align: right; }
141
- div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; }
142
- div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; }
143
- div.coverage-summary td.file { text-align: right; border-left: 1px solid #666; white-space: nowrap; }
144
- div.coverage-summary td.pic { min-width: 120px !important; }
145
- div.coverage-summary a:link { text-decoration: none; color: #000; }
146
- div.coverage-summary a:visited { text-decoration: none; color: #333; }
147
- div.coverage-summary a:hover { text-decoration: underline; }
148
- div.coverage-summary tfoot td { border-top: 1px solid #666; }
149
-
150
- div.coverage-summary .yui3-datatable-sort-indicator, div.coverage-summary .dummy-sort-indicator {
151
- height: 10px;
152
- width: 7px;
153
- display: inline-block;
154
- margin-left: 0.5em;
155
- }
156
- div.coverage-summary .yui3-datatable-sort-indicator {
157
- background: url("https://yui-s.yahooapis.com/3.6.0/build/datatable-sort/assets/skins/sam/sort-arrow-sprite.png") no-repeat scroll 0 0 transparent;
158
- }
159
- div.coverage-summary .yui3-datatable-sorted .yui3-datatable-sort-indicator {
160
- background-position: 0 -20px;
161
- }
162
- div.coverage-summary .yui3-datatable-sorted-desc .yui3-datatable-sort-indicator {
163
- background-position: 0 -10px;
164
- }
165
-
166
- .high { background: #b5d592 !important; }
167
- .medium { background: #ffe87c !important; }
168
- .low { background: #fc8c84 !important; }
169
-
170
- span.cover-fill, span.cover-empty {
171
- display:inline-block;
172
- border:1px solid #444;
173
- background: white;
174
- height: 12px;
175
- }
176
- span.cover-fill {
177
- background: #ccc;
178
- border-right: 1px solid #444;
179
- }
180
- span.cover-empty {
181
- background: white;
182
- border-left: none;
183
- }
184
- span.cover-full {
185
- border-right: none !important;
186
- }
187
- pre.prettyprint {
188
- border: none !important;
189
- padding: 0 !important;
190
- margin: 0 !important;
191
- }
192
- .com { color: #999 !important; }
193
- .ignore-none { color: #999; font-weight: normal; }
194
-
195
- </style>
196
- </head>
197
- <body>
198
- <div class="header high">
199
- <h1>Code coverage report for <span class="entity">dist/cjs/handlebars/compiler/javascript-compiler.js</span></h1>
200
- <h2>
201
-
202
- Statements: <span class="metric">99.45% <small>(362 / 364)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
203
-
204
-
205
- Branches: <span class="metric">98.46% <small>(192 / 195)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
206
-
207
-
208
- Functions: <span class="metric">100% <small>(59 / 59)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
209
-
210
-
211
- Lines: <span class="metric">99.45% <small>(361 / 363)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
212
-
213
- Ignored: <span class="metric">3 statements, 3 branches</span> &nbsp;&nbsp;&nbsp;&nbsp;
214
- </h2>
215
- <div class="path"><a href="../../../../index.html">All files</a> &#187; <a href="index.html">dist/cjs/handlebars/compiler/</a> &#187; javascript-compiler.js</div>
216
- </div>
217
- <div class="body">
218
- <pre><table class="coverage">
219
- <tr><td class="line-count">1
220
- 2
221
- 3
222
- 4
223
- 5
224
- 6
225
- 7
226
- 8
227
- 9
228
- 10
229
- 11
230
- 12
231
- 13
232
- 14
233
- 15
234
- 16
235
- 17
236
- 18
237
- 19
238
- 20
239
- 21
240
- 22
241
- 23
242
- 24
243
- 25
244
- 26
245
- 27
246
- 28
247
- 29
248
- 30
249
- 31
250
- 32
251
- 33
252
- 34
253
- 35
254
- 36
255
- 37
256
- 38
257
- 39
258
- 40
259
- 41
260
- 42
261
- 43
262
- 44
263
- 45
264
- 46
265
- 47
266
- 48
267
- 49
268
- 50
269
- 51
270
- 52
271
- 53
272
- 54
273
- 55
274
- 56
275
- 57
276
- 58
277
- 59
278
- 60
279
- 61
280
- 62
281
- 63
282
- 64
283
- 65
284
- 66
285
- 67
286
- 68
287
- 69
288
- 70
289
- 71
290
- 72
291
- 73
292
- 74
293
- 75
294
- 76
295
- 77
296
- 78
297
- 79
298
- 80
299
- 81
300
- 82
301
- 83
302
- 84
303
- 85
304
- 86
305
- 87
306
- 88
307
- 89
308
- 90
309
- 91
310
- 92
311
- 93
312
- 94
313
- 95
314
- 96
315
- 97
316
- 98
317
- 99
318
- 100
319
- 101
320
- 102
321
- 103
322
- 104
323
- 105
324
- 106
325
- 107
326
- 108
327
- 109
328
- 110
329
- 111
330
- 112
331
- 113
332
- 114
333
- 115
334
- 116
335
- 117
336
- 118
337
- 119
338
- 120
339
- 121
340
- 122
341
- 123
342
- 124
343
- 125
344
- 126
345
- 127
346
- 128
347
- 129
348
- 130
349
- 131
350
- 132
351
- 133
352
- 134
353
- 135
354
- 136
355
- 137
356
- 138
357
- 139
358
- 140
359
- 141
360
- 142
361
- 143
362
- 144
363
- 145
364
- 146
365
- 147
366
- 148
367
- 149
368
- 150
369
- 151
370
- 152
371
- 153
372
- 154
373
- 155
374
- 156
375
- 157
376
- 158
377
- 159
378
- 160
379
- 161
380
- 162
381
- 163
382
- 164
383
- 165
384
- 166
385
- 167
386
- 168
387
- 169
388
- 170
389
- 171
390
- 172
391
- 173
392
- 174
393
- 175
394
- 176
395
- 177
396
- 178
397
- 179
398
- 180
399
- 181
400
- 182
401
- 183
402
- 184
403
- 185
404
- 186
405
- 187
406
- 188
407
- 189
408
- 190
409
- 191
410
- 192
411
- 193
412
- 194
413
- 195
414
- 196
415
- 197
416
- 198
417
- 199
418
- 200
419
- 201
420
- 202
421
- 203
422
- 204
423
- 205
424
- 206
425
- 207
426
- 208
427
- 209
428
- 210
429
- 211
430
- 212
431
- 213
432
- 214
433
- 215
434
- 216
435
- 217
436
- 218
437
- 219
438
- 220
439
- 221
440
- 222
441
- 223
442
- 224
443
- 225
444
- 226
445
- 227
446
- 228
447
- 229
448
- 230
449
- 231
450
- 232
451
- 233
452
- 234
453
- 235
454
- 236
455
- 237
456
- 238
457
- 239
458
- 240
459
- 241
460
- 242
461
- 243
462
- 244
463
- 245
464
- 246
465
- 247
466
- 248
467
- 249
468
- 250
469
- 251
470
- 252
471
- 253
472
- 254
473
- 255
474
- 256
475
- 257
476
- 258
477
- 259
478
- 260
479
- 261
480
- 262
481
- 263
482
- 264
483
- 265
484
- 266
485
- 267
486
- 268
487
- 269
488
- 270
489
- 271
490
- 272
491
- 273
492
- 274
493
- 275
494
- 276
495
- 277
496
- 278
497
- 279
498
- 280
499
- 281
500
- 282
501
- 283
502
- 284
503
- 285
504
- 286
505
- 287
506
- 288
507
- 289
508
- 290
509
- 291
510
- 292
511
- 293
512
- 294
513
- 295
514
- 296
515
- 297
516
- 298
517
- 299
518
- 300
519
- 301
520
- 302
521
- 303
522
- 304
523
- 305
524
- 306
525
- 307
526
- 308
527
- 309
528
- 310
529
- 311
530
- 312
531
- 313
532
- 314
533
- 315
534
- 316
535
- 317
536
- 318
537
- 319
538
- 320
539
- 321
540
- 322
541
- 323
542
- 324
543
- 325
544
- 326
545
- 327
546
- 328
547
- 329
548
- 330
549
- 331
550
- 332
551
- 333
552
- 334
553
- 335
554
- 336
555
- 337
556
- 338
557
- 339
558
- 340
559
- 341
560
- 342
561
- 343
562
- 344
563
- 345
564
- 346
565
- 347
566
- 348
567
- 349
568
- 350
569
- 351
570
- 352
571
- 353
572
- 354
573
- 355
574
- 356
575
- 357
576
- 358
577
- 359
578
- 360
579
- 361
580
- 362
581
- 363
582
- 364
583
- 365
584
- 366
585
- 367
586
- 368
587
- 369
588
- 370
589
- 371
590
- 372
591
- 373
592
- 374
593
- 375
594
- 376
595
- 377
596
- 378
597
- 379
598
- 380
599
- 381
600
- 382
601
- 383
602
- 384
603
- 385
604
- 386
605
- 387
606
- 388
607
- 389
608
- 390
609
- 391
610
- 392
611
- 393
612
- 394
613
- 395
614
- 396
615
- 397
616
- 398
617
- 399
618
- 400
619
- 401
620
- 402
621
- 403
622
- 404
623
- 405
624
- 406
625
- 407
626
- 408
627
- 409
628
- 410
629
- 411
630
- 412
631
- 413
632
- 414
633
- 415
634
- 416
635
- 417
636
- 418
637
- 419
638
- 420
639
- 421
640
- 422
641
- 423
642
- 424
643
- 425
644
- 426
645
- 427
646
- 428
647
- 429
648
- 430
649
- 431
650
- 432
651
- 433
652
- 434
653
- 435
654
- 436
655
- 437
656
- 438
657
- 439
658
- 440
659
- 441
660
- 442
661
- 443
662
- 444
663
- 445
664
- 446
665
- 447
666
- 448
667
- 449
668
- 450
669
- 451
670
- 452
671
- 453
672
- 454
673
- 455
674
- 456
675
- 457
676
- 458
677
- 459
678
- 460
679
- 461
680
- 462
681
- 463
682
- 464
683
- 465
684
- 466
685
- 467
686
- 468
687
- 469
688
- 470
689
- 471
690
- 472
691
- 473
692
- 474
693
- 475
694
- 476
695
- 477
696
- 478
697
- 479
698
- 480
699
- 481
700
- 482
701
- 483
702
- 484
703
- 485
704
- 486
705
- 487
706
- 488
707
- 489
708
- 490
709
- 491
710
- 492
711
- 493
712
- 494
713
- 495
714
- 496
715
- 497
716
- 498
717
- 499
718
- 500
719
- 501
720
- 502
721
- 503
722
- 504
723
- 505
724
- 506
725
- 507
726
- 508
727
- 509
728
- 510
729
- 511
730
- 512
731
- 513
732
- 514
733
- 515
734
- 516
735
- 517
736
- 518
737
- 519
738
- 520
739
- 521
740
- 522
741
- 523
742
- 524
743
- 525
744
- 526
745
- 527
746
- 528
747
- 529
748
- 530
749
- 531
750
- 532
751
- 533
752
- 534
753
- 535
754
- 536
755
- 537
756
- 538
757
- 539
758
- 540
759
- 541
760
- 542
761
- 543
762
- 544
763
- 545
764
- 546
765
- 547
766
- 548
767
- 549
768
- 550
769
- 551
770
- 552
771
- 553
772
- 554
773
- 555
774
- 556
775
- 557
776
- 558
777
- 559
778
- 560
779
- 561
780
- 562
781
- 563
782
- 564
783
- 565
784
- 566
785
- 567
786
- 568
787
- 569
788
- 570
789
- 571
790
- 572
791
- 573
792
- 574
793
- 575
794
- 576
795
- 577
796
- 578
797
- 579
798
- 580
799
- 581
800
- 582
801
- 583
802
- 584
803
- 585
804
- 586
805
- 587
806
- 588
807
- 589
808
- 590
809
- 591
810
- 592
811
- 593
812
- 594
813
- 595
814
- 596
815
- 597
816
- 598
817
- 599
818
- 600
819
- 601
820
- 602
821
- 603
822
- 604
823
- 605
824
- 606
825
- 607
826
- 608
827
- 609
828
- 610
829
- 611
830
- 612
831
- 613
832
- 614
833
- 615
834
- 616
835
- 617
836
- 618
837
- 619
838
- 620
839
- 621
840
- 622
841
- 623
842
- 624
843
- 625
844
- 626
845
- 627
846
- 628
847
- 629
848
- 630
849
- 631
850
- 632
851
- 633
852
- 634
853
- 635
854
- 636
855
- 637
856
- 638
857
- 639
858
- 640
859
- 641
860
- 642
861
- 643
862
- 644
863
- 645
864
- 646
865
- 647
866
- 648
867
- 649
868
- 650
869
- 651
870
- 652
871
- 653
872
- 654
873
- 655
874
- 656
875
- 657
876
- 658
877
- 659
878
- 660
879
- 661
880
- 662
881
- 663
882
- 664
883
- 665
884
- 666
885
- 667
886
- 668
887
- 669
888
- 670
889
- 671
890
- 672
891
- 673
892
- 674
893
- 675
894
- 676
895
- 677
896
- 678
897
- 679
898
- 680
899
- 681
900
- 682
901
- 683
902
- 684
903
- 685
904
- 686
905
- 687
906
- 688
907
- 689
908
- 690
909
- 691
910
- 692
911
- 693
912
- 694
913
- 695
914
- 696
915
- 697
916
- 698
917
- 699
918
- 700
919
- 701
920
- 702
921
- 703
922
- 704
923
- 705
924
- 706
925
- 707
926
- 708
927
- 709
928
- 710
929
- 711
930
- 712
931
- 713
932
- 714
933
- 715
934
- 716
935
- 717
936
- 718
937
- 719
938
- 720
939
- 721
940
- 722
941
- 723
942
- 724
943
- 725
944
- 726
945
- 727
946
- 728
947
- 729
948
- 730
949
- 731
950
- 732
951
- 733
952
- 734
953
- 735
954
- 736
955
- 737
956
- 738
957
- 739
958
- 740
959
- 741
960
- 742
961
- 743
962
- 744
963
- 745
964
- 746
965
- 747
966
- 748
967
- 749
968
- 750
969
- 751
970
- 752
971
- 753
972
- 754
973
- 755
974
- 756
975
- 757
976
- 758
977
- 759
978
- 760
979
- 761
980
- 762
981
- 763
982
- 764
983
- 765
984
- 766
985
- 767
986
- 768
987
- 769
988
- 770
989
- 771
990
- 772
991
- 773
992
- 774
993
- 775
994
- 776
995
- 777
996
- 778
997
- 779
998
- 780
999
- 781
1000
- 782
1001
- 783
1002
- 784
1003
- 785
1004
- 786
1005
- 787
1006
- 788
1007
- 789
1008
- 790
1009
- 791
1010
- 792
1011
- 793
1012
- 794
1013
- 795
1014
- 796
1015
- 797
1016
- 798
1017
- 799
1018
- 800
1019
- 801
1020
- 802
1021
- 803
1022
- 804
1023
- 805
1024
- 806
1025
- 807
1026
- 808
1027
- 809
1028
- 810
1029
- 811
1030
- 812
1031
- 813
1032
- 814
1033
- 815
1034
- 816
1035
- 817
1036
- 818
1037
- 819
1038
- 820
1039
- 821
1040
- 822
1041
- 823
1042
- 824
1043
- 825
1044
- 826
1045
- 827
1046
- 828
1047
- 829
1048
- 830
1049
- 831
1050
- 832
1051
- 833
1052
- 834
1053
- 835
1054
- 836
1055
- 837
1056
- 838
1057
- 839
1058
- 840
1059
- 841
1060
- 842
1061
- 843
1062
- 844
1063
- 845
1064
- 846
1065
- 847
1066
- 848
1067
- 849
1068
- 850
1069
- 851
1070
- 852
1071
- 853
1072
- 854
1073
- 855
1074
- 856
1075
- 857
1076
- 858
1077
- 859
1078
- 860
1079
- 861
1080
- 862
1081
- 863
1082
- 864
1083
- 865
1084
- 866
1085
- 867
1086
- 868
1087
- 869
1088
- 870
1089
- 871
1090
- 872
1091
- 873
1092
- 874
1093
- 875
1094
- 876
1095
- 877
1096
- 878
1097
- 879
1098
- 880
1099
- 881
1100
- 882
1101
- 883
1102
- 884
1103
- 885
1104
- 886
1105
- 887
1106
- 888
1107
- 889
1108
- 890
1109
- 891
1110
- 892
1111
- 893
1112
- 894
1113
- 895
1114
- 896
1115
- 897
1116
- 898
1117
- 899
1118
- 900
1119
- 901
1120
- 902
1121
- 903
1122
- 904
1123
- 905
1124
- 906
1125
- 907
1126
- 908
1127
- 909
1128
- 910
1129
- 911
1130
- 912
1131
- 913
1132
- 914
1133
- 915
1134
- 916
1135
- 917
1136
- 918
1137
- 919
1138
- 920
1139
- 921
1140
- 922
1141
- 923
1142
- 924
1143
- 925
1144
- 926
1145
- 927
1146
- 928
1147
- 929
1148
- 930
1149
- 931
1150
- 932
1151
- 933
1152
- 934
1153
- 935
1154
- 936
1155
- 937
1156
- 938
1157
- 939
1158
- 940
1159
- 941
1160
- 942
1161
- 943
1162
- 944
1163
- 945
1164
- 946
1165
- 947
1166
- 948
1167
- 949
1168
- 950
1169
- 951
1170
- 952
1171
- 953
1172
- 954
1173
- 955
1174
- 956
1175
- 957
1176
- 958
1177
- 959
1178
- 960
1179
- 961
1180
- 962
1181
- 963
1182
- 964</td><td class="line-coverage"><span class="cline-any cline-neutral">&nbsp;</span>
1183
- <span class="cline-any cline-yes">1</span>
1184
- <span class="cline-any cline-yes">1</span>
1185
- <span class="cline-any cline-yes">1</span>
1186
- <span class="cline-any cline-neutral">&nbsp;</span>
1187
- <span class="cline-any cline-yes">1</span>
1188
- <span class="cline-any cline-yes">6739</span>
1189
- <span class="cline-any cline-neutral">&nbsp;</span>
1190
- <span class="cline-any cline-neutral">&nbsp;</span>
1191
- <span class="cline-any cline-yes">1</span>
1192
- <span class="cline-any cline-neutral">&nbsp;</span>
1193
- <span class="cline-any cline-yes">1</span>
1194
- <span class="cline-any cline-neutral">&nbsp;</span>
1195
- <span class="cline-any cline-neutral">&nbsp;</span>
1196
- <span class="cline-any cline-neutral">&nbsp;</span>
1197
- <span class="cline-any cline-yes">3716</span>
1198
- <span class="cline-any cline-yes">3428</span>
1199
- <span class="cline-any cline-neutral">&nbsp;</span>
1200
- <span class="cline-any cline-yes">288</span>
1201
- <span class="cline-any cline-neutral">&nbsp;</span>
1202
- <span class="cline-any cline-neutral">&nbsp;</span>
1203
- <span class="cline-any cline-neutral">&nbsp;</span>
1204
- <span class="cline-any cline-yes">332</span>
1205
- <span class="cline-any cline-neutral">&nbsp;</span>
1206
- <span class="cline-any cline-yes">332</span>
1207
- <span class="cline-any cline-neutral">&nbsp;</span>
1208
- <span class="cline-any cline-neutral">&nbsp;</span>
1209
- <span class="cline-any cline-neutral">&nbsp;</span>
1210
- <span class="cline-any cline-yes">935</span>
1211
- <span class="cline-any cline-neutral">&nbsp;</span>
1212
- <span class="cline-any cline-yes">935</span>
1213
- <span class="cline-any cline-neutral">&nbsp;</span>
1214
- <span class="cline-any cline-neutral">&nbsp;</span>
1215
- <span class="cline-any cline-neutral">&nbsp;</span>
1216
- <span class="cline-any cline-yes">3199</span>
1217
- <span class="cline-any cline-yes">1085</span>
1218
- <span class="cline-any cline-neutral">&nbsp;</span>
1219
- <span class="cline-any cline-yes">2114</span>
1220
- <span class="cline-any cline-neutral">&nbsp;</span>
1221
- <span class="cline-any cline-neutral">&nbsp;</span>
1222
- <span class="cline-any cline-yes">458</span>
1223
- <span class="cline-any cline-neutral">&nbsp;</span>
1224
- <span class="cline-any cline-neutral">&nbsp;</span>
1225
- <span class="cline-any cline-neutral">&nbsp;</span>
1226
- <span class="cline-any cline-neutral">&nbsp;</span>
1227
- <span class="cline-any cline-neutral">&nbsp;</span>
1228
- <span class="cline-any cline-yes">147</span>
1229
- <span class="cline-any cline-neutral">&nbsp;</span>
1230
- <span class="cline-any cline-neutral">&nbsp;</span>
1231
- <span class="cline-any cline-neutral">&nbsp;</span>
1232
- <span class="cline-any cline-neutral">&nbsp;</span>
1233
- <span class="cline-any cline-neutral">&nbsp;</span>
1234
- <span class="cline-any cline-neutral">&nbsp;</span>
1235
- <span class="cline-any cline-yes">1555</span>
1236
- <span class="cline-any cline-yes">1555</span>
1237
- <span class="cline-any cline-yes">1555</span>
1238
- <span class="cline-any cline-yes">1555</span>
1239
- <span class="cline-any cline-yes">1555</span>
1240
- <span class="cline-any cline-neutral">&nbsp;</span>
1241
- <span class="cline-any cline-yes">1555</span>
1242
- <span class="cline-any cline-yes">1555</span>
1243
- <span class="cline-any cline-yes">1555</span>
1244
- <span class="cline-any cline-neutral">&nbsp;</span>
1245
- <span class="cline-any cline-neutral">&nbsp;</span>
1246
- <span class="cline-any cline-neutral">&nbsp;</span>
1247
- <span class="cline-any cline-neutral">&nbsp;</span>
1248
- <span class="cline-any cline-yes">1555</span>
1249
- <span class="cline-any cline-neutral">&nbsp;</span>
1250
- <span class="cline-any cline-yes">1555</span>
1251
- <span class="cline-any cline-yes">1555</span>
1252
- <span class="cline-any cline-yes">1555</span>
1253
- <span class="cline-any cline-yes">1555</span>
1254
- <span class="cline-any cline-yes">1555</span>
1255
- <span class="cline-any cline-yes">1555</span>
1256
- <span class="cline-any cline-yes">1555</span>
1257
- <span class="cline-any cline-neutral">&nbsp;</span>
1258
- <span class="cline-any cline-yes">1555</span>
1259
- <span class="cline-any cline-neutral">&nbsp;</span>
1260
- <span class="cline-any cline-yes">1555</span>
1261
- <span class="cline-any cline-neutral">&nbsp;</span>
1262
- <span class="cline-any cline-yes">1555</span>
1263
- <span class="cline-any cline-neutral">&nbsp;</span>
1264
- <span class="cline-any cline-neutral">&nbsp;</span>
1265
- <span class="cline-any cline-neutral">&nbsp;</span>
1266
- <span class="cline-any cline-neutral">&nbsp;</span>
1267
- <span class="cline-any cline-yes">1555</span>
1268
- <span class="cline-any cline-yes">13864</span>
1269
- <span class="cline-any cline-neutral">&nbsp;</span>
1270
- <span class="cline-any cline-yes">13864</span>
1271
- <span class="cline-any cline-neutral">&nbsp;</span>
1272
- <span class="cline-any cline-neutral">&nbsp;</span>
1273
- <span class="cline-any cline-neutral">&nbsp;</span>
1274
- <span class="cline-any cline-yes">1555</span>
1275
- <span class="cline-any cline-neutral">&nbsp;</span>
1276
- <span class="cline-any cline-neutral">&nbsp;</span>
1277
- <span class="cline-any cline-yes">1555</span>
1278
- <span class="cline-any cline-yes">1</span>
1279
- <span class="cline-any cline-neutral">&nbsp;</span>
1280
- <span class="cline-any cline-neutral">&nbsp;</span>
1281
- <span class="cline-any cline-yes">1555</span>
1282
- <span class="cline-any cline-yes">1555</span>
1283
- <span class="cline-any cline-yes">936</span>
1284
- <span class="cline-any cline-neutral">&nbsp;</span>
1285
- <span class="cline-any cline-neutral">&nbsp;</span>
1286
- <span class="cline-any cline-neutral">&nbsp;</span>
1287
- <span class="cline-any cline-yes">936</span>
1288
- <span class="cline-any cline-yes">936</span>
1289
- <span class="cline-any cline-yes">1154</span>
1290
- <span class="cline-any cline-yes">619</span>
1291
- <span class="cline-any cline-neutral">&nbsp;</span>
1292
- <span class="cline-any cline-neutral">&nbsp;</span>
1293
- <span class="cline-any cline-neutral">&nbsp;</span>
1294
- <span class="cline-any cline-yes">936</span>
1295
- <span class="cline-any cline-yes">82</span>
1296
- <span class="cline-any cline-neutral">&nbsp;</span>
1297
- <span class="cline-any cline-yes">936</span>
1298
- <span class="cline-any cline-yes">922</span>
1299
- <span class="cline-any cline-neutral">&nbsp;</span>
1300
- <span class="cline-any cline-yes">936</span>
1301
- <span class="cline-any cline-yes">278</span>
1302
- <span class="cline-any cline-neutral">&nbsp;</span>
1303
- <span class="cline-any cline-yes">936</span>
1304
- <span class="cline-any cline-yes">228</span>
1305
- <span class="cline-any cline-neutral">&nbsp;</span>
1306
- <span class="cline-any cline-neutral">&nbsp;</span>
1307
- <span class="cline-any cline-yes">936</span>
1308
- <span class="cline-any cline-yes">783</span>
1309
- <span class="cline-any cline-yes">783</span>
1310
- <span class="cline-any cline-neutral">&nbsp;</span>
1311
- <span class="cline-any cline-neutral">&nbsp;</span>
1312
- <span class="cline-any cline-yes">936</span>
1313
- <span class="cline-any cline-neutral">&nbsp;</span>
1314
- <span class="cline-any cline-yes">619</span>
1315
- <span class="cline-any cline-neutral">&nbsp;</span>
1316
- <span class="cline-any cline-neutral">&nbsp;</span>
1317
- <span class="cline-any cline-neutral">&nbsp;</span>
1318
- <span class="cline-any cline-neutral">&nbsp;</span>
1319
- <span class="cline-any cline-neutral">&nbsp;</span>
1320
- <span class="cline-any cline-neutral">&nbsp;</span>
1321
- <span class="cline-any cline-yes">1555</span>
1322
- <span class="cline-any cline-yes">1555</span>
1323
- <span class="cline-any cline-neutral">&nbsp;</span>
1324
- <span class="cline-any cline-neutral">&nbsp;</span>
1325
- <span class="cline-any cline-neutral">&nbsp;</span>
1326
- <span class="cline-any cline-yes">1555</span>
1327
- <span class="cline-any cline-neutral">&nbsp;</span>
1328
- <span class="cline-any cline-yes">1555</span>
1329
- <span class="cline-any cline-yes">1555</span>
1330
- <span class="cline-any cline-yes">1023</span>
1331
- <span class="cline-any cline-neutral">&nbsp;</span>
1332
- <span class="cline-any cline-neutral">&nbsp;</span>
1333
- <span class="cline-any cline-neutral">&nbsp;</span>
1334
- <span class="cline-any cline-yes">1555</span>
1335
- <span class="cline-any cline-yes">2891</span>
1336
- <span class="cline-any cline-yes">2889</span>
1337
- <span class="cline-any cline-neutral">&nbsp;</span>
1338
- <span class="cline-any cline-neutral">&nbsp;</span>
1339
- <span class="cline-any cline-neutral">&nbsp;</span>
1340
- <span class="cline-any cline-yes">1555</span>
1341
- <span class="cline-any cline-neutral">&nbsp;</span>
1342
- <span class="cline-any cline-yes">1555</span>
1343
- <span class="cline-any cline-yes">472</span>
1344
- <span class="cline-any cline-neutral">&nbsp;</span>
1345
- <span class="cline-any cline-neutral">&nbsp;</span>
1346
- <span class="cline-any cline-neutral">&nbsp;</span>
1347
- <span class="cline-any cline-yes">1555</span>
1348
- <span class="cline-any cline-neutral">&nbsp;</span>
1349
- <span class="cline-any cline-yes">1555</span>
1350
- <span class="cline-any cline-yes">184</span>
1351
- <span class="cline-any cline-neutral">&nbsp;</span>
1352
- <span class="cline-any cline-yes">184</span>
1353
- <span class="cline-any cline-neutral">&nbsp;</span>
1354
- <span class="cline-any cline-yes">1371</span>
1355
- <span class="cline-any cline-neutral">&nbsp;</span>
1356
- <span class="cline-any cline-neutral">&nbsp;</span>
1357
- <span class="cline-any cline-neutral">&nbsp;</span>
1358
- <span class="cline-any cline-yes">1555</span>
1359
- <span class="cline-any cline-neutral">&nbsp;</span>
1360
- <span class="cline-any cline-neutral">&nbsp;</span>
1361
- <span class="cline-any cline-neutral">&nbsp;</span>
1362
- <span class="cline-any cline-neutral">&nbsp;</span>
1363
- <span class="cline-any cline-yes">1555</span>
1364
- <span class="cline-any cline-yes">4235</span>
1365
- <span class="cline-any cline-yes">4235</span>
1366
- <span class="cline-any cline-yes">1656</span>
1367
- <span class="cline-any cline-yes">796</span>
1368
- <span class="cline-any cline-neutral">&nbsp;</span>
1369
- <span class="cline-any cline-yes">860</span>
1370
- <span class="cline-any cline-neutral">&nbsp;</span>
1371
- <span class="cline-any cline-neutral">&nbsp;</span>
1372
- <span class="cline-any cline-yes">2579</span>
1373
- <span class="cline-any cline-yes">292</span>
1374
- <span class="cline-any cline-yes">264</span>
1375
- <span class="cline-any cline-yes">264</span>
1376
- <span class="cline-any cline-neutral">&nbsp;</span>
1377
- <span class="cline-any cline-yes">28</span>
1378
- <span class="cline-any cline-neutral">&nbsp;</span>
1379
- <span class="cline-any cline-yes">292</span>
1380
- <span class="cline-any cline-neutral">&nbsp;</span>
1381
- <span class="cline-any cline-yes">2579</span>
1382
- <span class="cline-any cline-neutral">&nbsp;</span>
1383
- <span class="cline-any cline-yes">2579</span>
1384
- <span class="cline-any cline-yes">1140</span>
1385
- <span class="cline-any cline-neutral">&nbsp;</span>
1386
- <span class="cline-any cline-neutral">&nbsp;</span>
1387
- <span class="cline-any cline-neutral">&nbsp;</span>
1388
- <span class="cline-any cline-neutral">&nbsp;</span>
1389
- <span class="cline-any cline-yes">1555</span>
1390
- <span class="cline-any cline-yes">1143</span>
1391
- <span class="cline-any cline-yes">324</span>
1392
- <span class="cline-any cline-neutral">&nbsp;</span>
1393
- <span class="cline-any cline-neutral">&nbsp;</span>
1394
- <span class="cline-any cline-yes">412</span>
1395
- <span class="cline-any cline-yes">412</span>
1396
- <span class="cline-any cline-yes">269</span>
1397
- <span class="cline-any cline-neutral">&nbsp;</span>
1398
- <span class="cline-any cline-yes">143</span>
1399
- <span class="cline-any cline-neutral">&nbsp;</span>
1400
- <span class="cline-any cline-neutral">&nbsp;</span>
1401
- <span class="cline-any cline-neutral">&nbsp;</span>
1402
- <span class="cline-any cline-yes">1555</span>
1403
- <span class="cline-any cline-yes">1207</span>
1404
- <span class="cline-any cline-neutral">&nbsp;</span>
1405
- <span class="cline-any cline-neutral">&nbsp;</span>
1406
- <span class="cline-any cline-yes">1555</span>
1407
- <span class="cline-any cline-neutral">&nbsp;</span>
1408
- <span class="cline-any cline-neutral">&nbsp;</span>
1409
- <span class="cline-any cline-neutral">&nbsp;</span>
1410
- <span class="cline-any cline-neutral">&nbsp;</span>
1411
- <span class="cline-any cline-neutral">&nbsp;</span>
1412
- <span class="cline-any cline-neutral">&nbsp;</span>
1413
- <span class="cline-any cline-neutral">&nbsp;</span>
1414
- <span class="cline-any cline-neutral">&nbsp;</span>
1415
- <span class="cline-any cline-neutral">&nbsp;</span>
1416
- <span class="cline-any cline-neutral">&nbsp;</span>
1417
- <span class="cline-any cline-neutral">&nbsp;</span>
1418
- <span class="cline-any cline-neutral">&nbsp;</span>
1419
- <span class="cline-any cline-yes">32</span>
1420
- <span class="cline-any cline-neutral">&nbsp;</span>
1421
- <span class="cline-any cline-yes">32</span>
1422
- <span class="cline-any cline-yes">32</span>
1423
- <span class="cline-any cline-neutral">&nbsp;</span>
1424
- <span class="cline-any cline-yes">32</span>
1425
- <span class="cline-any cline-yes">32</span>
1426
- <span class="cline-any cline-neutral">&nbsp;</span>
1427
- <span class="cline-any cline-yes">32</span>
1428
- <span class="cline-any cline-neutral">&nbsp;</span>
1429
- <span class="cline-any cline-neutral">&nbsp;</span>
1430
- <span class="cline-any cline-neutral">&nbsp;</span>
1431
- <span class="cline-any cline-neutral">&nbsp;</span>
1432
- <span class="cline-any cline-neutral">&nbsp;</span>
1433
- <span class="cline-any cline-neutral">&nbsp;</span>
1434
- <span class="cline-any cline-neutral">&nbsp;</span>
1435
- <span class="cline-any cline-neutral">&nbsp;</span>
1436
- <span class="cline-any cline-neutral">&nbsp;</span>
1437
- <span class="cline-any cline-yes">313</span>
1438
- <span class="cline-any cline-neutral">&nbsp;</span>
1439
- <span class="cline-any cline-neutral">&nbsp;</span>
1440
- <span class="cline-any cline-yes">313</span>
1441
- <span class="cline-any cline-yes">313</span>
1442
- <span class="cline-any cline-neutral">&nbsp;</span>
1443
- <span class="cline-any cline-yes">313</span>
1444
- <span class="cline-any cline-neutral">&nbsp;</span>
1445
- <span class="cline-any cline-yes">313</span>
1446
- <span class="cline-any cline-yes">313</span>
1447
- <span class="cline-any cline-neutral">&nbsp;</span>
1448
- <span class="cline-any cline-yes">313</span>
1449
- <span class="cline-any cline-neutral">&nbsp;</span>
1450
- <span class="cline-any cline-neutral">&nbsp;</span>
1451
- <span class="cline-any cline-neutral">&nbsp;</span>
1452
- <span class="cline-any cline-neutral">&nbsp;</span>
1453
- <span class="cline-any cline-neutral">&nbsp;</span>
1454
- <span class="cline-any cline-neutral">&nbsp;</span>
1455
- <span class="cline-any cline-neutral">&nbsp;</span>
1456
- <span class="cline-any cline-neutral">&nbsp;</span>
1457
- <span class="cline-any cline-neutral">&nbsp;</span>
1458
- <span class="cline-any cline-yes">1409</span>
1459
- <span class="cline-any cline-yes">26</span>
1460
- <span class="cline-any cline-neutral">&nbsp;</span>
1461
- <span class="cline-any cline-neutral">&nbsp;</span>
1462
- <span class="cline-any cline-yes">1409</span>
1463
- <span class="cline-any cline-neutral">&nbsp;</span>
1464
- <span class="cline-any cline-neutral">&nbsp;</span>
1465
- <span class="cline-any cline-neutral">&nbsp;</span>
1466
- <span class="cline-any cline-neutral">&nbsp;</span>
1467
- <span class="cline-any cline-neutral">&nbsp;</span>
1468
- <span class="cline-any cline-neutral">&nbsp;</span>
1469
- <span class="cline-any cline-neutral">&nbsp;</span>
1470
- <span class="cline-any cline-neutral">&nbsp;</span>
1471
- <span class="cline-any cline-neutral">&nbsp;</span>
1472
- <span class="cline-any cline-neutral">&nbsp;</span>
1473
- <span class="cline-any cline-neutral">&nbsp;</span>
1474
- <span class="cline-any cline-neutral">&nbsp;</span>
1475
- <span class="cline-any cline-neutral">&nbsp;</span>
1476
- <span class="cline-any cline-neutral">&nbsp;</span>
1477
- <span class="cline-any cline-yes">723</span>
1478
- <span class="cline-any cline-yes">723</span>
1479
- <span class="cline-any cline-yes">723</span>
1480
- <span class="cline-any cline-yes">723</span>
1481
- <span class="cline-any cline-yes">265</span>
1482
- <span class="cline-any cline-neutral">&nbsp;</span>
1483
- <span class="cline-any cline-neutral">&nbsp;</span>
1484
- <span class="cline-any cline-neutral">&nbsp;</span>
1485
- <span class="cline-any cline-neutral">&nbsp;</span>
1486
- <span class="cline-any cline-neutral">&nbsp;</span>
1487
- <span class="cline-any cline-neutral">&nbsp;</span>
1488
- <span class="cline-any cline-neutral">&nbsp;</span>
1489
- <span class="cline-any cline-neutral">&nbsp;</span>
1490
- <span class="cline-any cline-neutral">&nbsp;</span>
1491
- <span class="cline-any cline-neutral">&nbsp;</span>
1492
- <span class="cline-any cline-yes">828</span>
1493
- <span class="cline-any cline-neutral">&nbsp;</span>
1494
- <span class="cline-any cline-yes">828</span>
1495
- <span class="cline-any cline-neutral">&nbsp;</span>
1496
- <span class="cline-any cline-neutral">&nbsp;</span>
1497
- <span class="cline-any cline-neutral">&nbsp;</span>
1498
- <span class="cline-any cline-neutral">&nbsp;</span>
1499
- <span class="cline-any cline-neutral">&nbsp;</span>
1500
- <span class="cline-any cline-neutral">&nbsp;</span>
1501
- <span class="cline-any cline-neutral">&nbsp;</span>
1502
- <span class="cline-any cline-neutral">&nbsp;</span>
1503
- <span class="cline-any cline-neutral">&nbsp;</span>
1504
- <span class="cline-any cline-neutral">&nbsp;</span>
1505
- <span class="cline-any cline-yes">2610</span>
1506
- <span class="cline-any cline-neutral">&nbsp;</span>
1507
- <span class="cline-any cline-neutral">&nbsp;</span>
1508
- <span class="cline-any cline-neutral">&nbsp;</span>
1509
- <span class="cline-any cline-neutral">&nbsp;</span>
1510
- <span class="cline-any cline-neutral">&nbsp;</span>
1511
- <span class="cline-any cline-neutral">&nbsp;</span>
1512
- <span class="cline-any cline-neutral">&nbsp;</span>
1513
- <span class="cline-any cline-neutral">&nbsp;</span>
1514
- <span class="cline-any cline-neutral">&nbsp;</span>
1515
- <span class="cline-any cline-yes">1401</span>
1516
- <span class="cline-any cline-neutral">&nbsp;</span>
1517
- <span class="cline-any cline-neutral">&nbsp;</span>
1518
- <span class="cline-any cline-neutral">&nbsp;</span>
1519
- <span class="cline-any cline-neutral">&nbsp;</span>
1520
- <span class="cline-any cline-neutral">&nbsp;</span>
1521
- <span class="cline-any cline-neutral">&nbsp;</span>
1522
- <span class="cline-any cline-neutral">&nbsp;</span>
1523
- <span class="cline-any cline-neutral">&nbsp;</span>
1524
- <span class="cline-any cline-neutral">&nbsp;</span>
1525
- <span class="cline-any cline-neutral">&nbsp;</span>
1526
- <span class="cline-any cline-neutral">&nbsp;</span>
1527
- <span class="cline-any cline-yes">1533</span>
1528
- <span class="cline-any cline-neutral">&nbsp;</span>
1529
- <span class="cline-any cline-neutral">&nbsp;</span>
1530
- <span class="cline-any cline-yes">1533</span>
1531
- <span class="cline-any cline-neutral">&nbsp;</span>
1532
- <span class="cline-any cline-neutral">&nbsp;</span>
1533
- <span class="cline-any cline-yes">332</span>
1534
- <span class="cline-any cline-neutral">&nbsp;</span>
1535
- <span class="cline-any cline-yes">1201</span>
1536
- <span class="cline-any cline-neutral">&nbsp;</span>
1537
- <span class="cline-any cline-neutral">&nbsp;</span>
1538
- <span class="cline-any cline-yes">1533</span>
1539
- <span class="cline-any cline-yes">1345</span>
1540
- <span class="cline-any cline-yes">1345</span>
1541
- <span class="cline-any cline-neutral">&nbsp;</span>
1542
- <span class="cline-any cline-neutral">&nbsp;</span>
1543
- <span class="cline-any cline-yes">1345</span>
1544
- <span class="cline-any cline-yes">1095</span>
1545
- <span class="cline-any cline-neutral">&nbsp;</span>
1546
- <span class="cline-any cline-neutral">&nbsp;</span>
1547
- <span class="cline-any cline-yes">250</span>
1548
- <span class="cline-any cline-neutral">&nbsp;</span>
1549
- <span class="cline-any cline-neutral">&nbsp;</span>
1550
- <span class="cline-any cline-neutral">&nbsp;</span>
1551
- <span class="cline-any cline-neutral">&nbsp;</span>
1552
- <span class="cline-any cline-neutral">&nbsp;</span>
1553
- <span class="cline-any cline-neutral">&nbsp;</span>
1554
- <span class="cline-any cline-neutral">&nbsp;</span>
1555
- <span class="cline-any cline-neutral">&nbsp;</span>
1556
- <span class="cline-any cline-neutral">&nbsp;</span>
1557
- <span class="cline-any cline-neutral">&nbsp;</span>
1558
- <span class="cline-any cline-neutral">&nbsp;</span>
1559
- <span class="cline-any cline-neutral">&nbsp;</span>
1560
- <span class="cline-any cline-neutral">&nbsp;</span>
1561
- <span class="cline-any cline-yes">68</span>
1562
- <span class="cline-any cline-yes">64</span>
1563
- <span class="cline-any cline-neutral">&nbsp;</span>
1564
- <span class="cline-any cline-yes">4</span>
1565
- <span class="cline-any cline-neutral">&nbsp;</span>
1566
- <span class="cline-any cline-neutral">&nbsp;</span>
1567
- <span class="cline-any cline-yes">68</span>
1568
- <span class="cline-any cline-yes">68</span>
1569
- <span class="cline-any cline-yes">80</span>
1570
- <span class="cline-any cline-yes">80</span>
1571
- <span class="cline-any cline-neutral">&nbsp;</span>
1572
- <span class="cline-any cline-neutral">&nbsp;</span>
1573
- <span class="cline-any cline-neutral">&nbsp;</span>
1574
- <span class="cline-any cline-neutral">&nbsp;</span>
1575
- <span class="cline-any cline-neutral">&nbsp;</span>
1576
- <span class="cline-any cline-neutral">&nbsp;</span>
1577
- <span class="cline-any cline-neutral">&nbsp;</span>
1578
- <span class="cline-any cline-neutral">&nbsp;</span>
1579
- <span class="cline-any cline-neutral">&nbsp;</span>
1580
- <span class="cline-any cline-neutral">&nbsp;</span>
1581
- <span class="cline-any cline-neutral">&nbsp;</span>
1582
- <span class="cline-any cline-neutral">&nbsp;</span>
1583
- <span class="cline-any cline-yes">182</span>
1584
- <span class="cline-any cline-neutral">&nbsp;</span>
1585
- <span class="cline-any cline-yes">182</span>
1586
- <span class="cline-any cline-neutral">&nbsp;</span>
1587
- <span class="cline-any cline-neutral">&nbsp;</span>
1588
- <span class="cline-any cline-neutral">&nbsp;</span>
1589
- <span class="cline-any cline-neutral">&nbsp;</span>
1590
- <span class="cline-any cline-neutral">&nbsp;</span>
1591
- <span class="cline-any cline-neutral">&nbsp;</span>
1592
- <span class="cline-any cline-neutral">&nbsp;</span>
1593
- <span class="cline-any cline-neutral">&nbsp;</span>
1594
- <span class="cline-any cline-neutral">&nbsp;</span>
1595
- <span class="cline-any cline-neutral">&nbsp;</span>
1596
- <span class="cline-any cline-neutral">&nbsp;</span>
1597
- <span class="cline-any cline-yes">62</span>
1598
- <span class="cline-any cline-yes">62</span>
1599
- <span class="cline-any cline-neutral">&nbsp;</span>
1600
- <span class="cline-any cline-neutral">&nbsp;</span>
1601
- <span class="cline-any cline-neutral">&nbsp;</span>
1602
- <span class="cline-any cline-yes">62</span>
1603
- <span class="cline-any cline-yes">58</span>
1604
- <span class="cline-any cline-yes">50</span>
1605
- <span class="cline-any cline-neutral">&nbsp;</span>
1606
- <span class="cline-any cline-yes">8</span>
1607
- <span class="cline-any cline-neutral">&nbsp;</span>
1608
- <span class="cline-any cline-neutral">&nbsp;</span>
1609
- <span class="cline-any cline-neutral">&nbsp;</span>
1610
- <span class="cline-any cline-neutral">&nbsp;</span>
1611
- <span class="cline-any cline-neutral">&nbsp;</span>
1612
- <span class="cline-any cline-yes">1626</span>
1613
- <span class="cline-any cline-neutral">&nbsp;</span>
1614
- <span class="cline-any cline-yes">1626</span>
1615
- <span class="cline-any cline-yes">56</span>
1616
- <span class="cline-any cline-neutral">&nbsp;</span>
1617
- <span class="cline-any cline-yes">1626</span>
1618
- <span class="cline-any cline-yes">30</span>
1619
- <span class="cline-any cline-yes">30</span>
1620
- <span class="cline-any cline-neutral">&nbsp;</span>
1621
- <span class="cline-any cline-neutral">&nbsp;</span>
1622
- <span class="cline-any cline-neutral">&nbsp;</span>
1623
- <span class="cline-any cline-yes">52</span>
1624
- <span class="cline-any cline-yes">2</span>
1625
- <span class="cline-any cline-neutral">&nbsp;</span>
1626
- <span class="cline-any cline-yes">52</span>
1627
- <span class="cline-any cline-neutral">&nbsp;</span>
1628
- <span class="cline-any cline-neutral">&nbsp;</span>
1629
- <span class="cline-any cline-yes">52</span>
1630
- <span class="cline-any cline-yes">52</span>
1631
- <span class="cline-any cline-neutral">&nbsp;</span>
1632
- <span class="cline-any cline-yes">52</span>
1633
- <span class="cline-any cline-yes">4</span>
1634
- <span class="cline-any cline-neutral">&nbsp;</span>
1635
- <span class="cline-any cline-yes">52</span>
1636
- <span class="cline-any cline-yes">10</span>
1637
- <span class="cline-any cline-yes">10</span>
1638
- <span class="cline-any cline-neutral">&nbsp;</span>
1639
- <span class="cline-any cline-neutral">&nbsp;</span>
1640
- <span class="cline-any cline-yes">52</span>
1641
- <span class="cline-any cline-neutral">&nbsp;</span>
1642
- <span class="cline-any cline-neutral">&nbsp;</span>
1643
- <span class="cline-any cline-neutral">&nbsp;</span>
1644
- <span class="cline-any cline-neutral">&nbsp;</span>
1645
- <span class="cline-any cline-neutral">&nbsp;</span>
1646
- <span class="cline-any cline-neutral">&nbsp;</span>
1647
- <span class="cline-any cline-neutral">&nbsp;</span>
1648
- <span class="cline-any cline-neutral">&nbsp;</span>
1649
- <span class="cline-any cline-neutral">&nbsp;</span>
1650
- <span class="cline-any cline-yes">198</span>
1651
- <span class="cline-any cline-neutral">&nbsp;</span>
1652
- <span class="cline-any cline-neutral">&nbsp;</span>
1653
- <span class="cline-any cline-neutral">&nbsp;</span>
1654
- <span class="cline-any cline-neutral">&nbsp;</span>
1655
- <span class="cline-any cline-neutral">&nbsp;</span>
1656
- <span class="cline-any cline-neutral">&nbsp;</span>
1657
- <span class="cline-any cline-neutral">&nbsp;</span>
1658
- <span class="cline-any cline-neutral">&nbsp;</span>
1659
- <span class="cline-any cline-neutral">&nbsp;</span>
1660
- <span class="cline-any cline-yes">10559</span>
1661
- <span class="cline-any cline-yes">10559</span>
1662
- <span class="cline-any cline-neutral">&nbsp;</span>
1663
- <span class="cline-any cline-neutral">&nbsp;</span>
1664
- <span class="cline-any cline-neutral">&nbsp;</span>
1665
- <span class="cline-any cline-neutral">&nbsp;</span>
1666
- <span class="cline-any cline-neutral">&nbsp;</span>
1667
- <span class="cline-any cline-neutral">&nbsp;</span>
1668
- <span class="cline-any cline-neutral">&nbsp;</span>
1669
- <span class="cline-any cline-neutral">&nbsp;</span>
1670
- <span class="cline-any cline-neutral">&nbsp;</span>
1671
- <span class="cline-any cline-neutral">&nbsp;</span>
1672
- <span class="cline-any cline-neutral">&nbsp;</span>
1673
- <span class="cline-any cline-yes">78</span>
1674
- <span class="cline-any cline-neutral">&nbsp;</span>
1675
- <span class="cline-any cline-neutral">&nbsp;</span>
1676
- <span class="cline-any cline-neutral">&nbsp;</span>
1677
- <span class="cline-any cline-neutral">&nbsp;</span>
1678
- <span class="cline-any cline-neutral">&nbsp;</span>
1679
- <span class="cline-any cline-neutral">&nbsp;</span>
1680
- <span class="cline-any cline-neutral">&nbsp;</span>
1681
- <span class="cline-any cline-neutral">&nbsp;</span>
1682
- <span class="cline-any cline-neutral">&nbsp;</span>
1683
- <span class="cline-any cline-neutral">&nbsp;</span>
1684
- <span class="cline-any cline-neutral">&nbsp;</span>
1685
- <span class="cline-any cline-yes">3352</span>
1686
- <span class="cline-any cline-yes">952</span>
1687
- <span class="cline-any cline-neutral">&nbsp;</span>
1688
- <span class="cline-any cline-yes">2400</span>
1689
- <span class="cline-any cline-neutral">&nbsp;</span>
1690
- <span class="cline-any cline-neutral">&nbsp;</span>
1691
- <span class="cline-any cline-neutral">&nbsp;</span>
1692
- <span class="cline-any cline-neutral">&nbsp;</span>
1693
- <span class="cline-any cline-neutral">&nbsp;</span>
1694
- <span class="cline-any cline-neutral">&nbsp;</span>
1695
- <span class="cline-any cline-neutral">&nbsp;</span>
1696
- <span class="cline-any cline-neutral">&nbsp;</span>
1697
- <span class="cline-any cline-neutral">&nbsp;</span>
1698
- <span class="cline-any cline-neutral">&nbsp;</span>
1699
- <span class="cline-any cline-neutral">&nbsp;</span>
1700
- <span class="cline-any cline-neutral">&nbsp;</span>
1701
- <span class="cline-any cline-neutral">&nbsp;</span>
1702
- <span class="cline-any cline-yes">244</span>
1703
- <span class="cline-any cline-neutral">&nbsp;</span>
1704
- <span class="cline-any cline-yes">244</span>
1705
- <span class="cline-any cline-yes">244</span>
1706
- <span class="cline-any cline-neutral">&nbsp;</span>
1707
- <span class="cline-any cline-yes">244</span>
1708
- <span class="cline-any cline-yes">244</span>
1709
- <span class="cline-any cline-neutral">&nbsp;</span>
1710
- <span class="cline-any cline-neutral">&nbsp;</span>
1711
- <span class="cline-any cline-neutral">&nbsp;</span>
1712
- <span class="cline-any cline-neutral">&nbsp;</span>
1713
- <span class="cline-any cline-neutral">&nbsp;</span>
1714
- <span class="cline-any cline-neutral">&nbsp;</span>
1715
- <span class="cline-any cline-neutral">&nbsp;</span>
1716
- <span class="cline-any cline-neutral">&nbsp;</span>
1717
- <span class="cline-any cline-neutral">&nbsp;</span>
1718
- <span class="cline-any cline-neutral">&nbsp;</span>
1719
- <span class="cline-any cline-yes">210</span>
1720
- <span class="cline-any cline-yes">210</span>
1721
- <span class="cline-any cline-neutral">&nbsp;</span>
1722
- <span class="cline-any cline-neutral">&nbsp;</span>
1723
- <span class="cline-any cline-neutral">&nbsp;</span>
1724
- <span class="cline-any cline-neutral">&nbsp;</span>
1725
- <span class="cline-any cline-neutral">&nbsp;</span>
1726
- <span class="cline-any cline-neutral">&nbsp;</span>
1727
- <span class="cline-any cline-neutral">&nbsp;</span>
1728
- <span class="cline-any cline-neutral">&nbsp;</span>
1729
- <span class="cline-any cline-neutral">&nbsp;</span>
1730
- <span class="cline-any cline-neutral">&nbsp;</span>
1731
- <span class="cline-any cline-neutral">&nbsp;</span>
1732
- <span class="cline-any cline-neutral">&nbsp;</span>
1733
- <span class="cline-any cline-neutral">&nbsp;</span>
1734
- <span class="cline-any cline-neutral">&nbsp;</span>
1735
- <span class="cline-any cline-neutral">&nbsp;</span>
1736
- <span class="cline-any cline-yes">877</span>
1737
- <span class="cline-any cline-yes">877</span>
1738
- <span class="cline-any cline-yes">877</span>
1739
- <span class="cline-any cline-neutral">&nbsp;</span>
1740
- <span class="cline-any cline-yes">877</span>
1741
- <span class="cline-any cline-neutral">&nbsp;</span>
1742
- <span class="cline-any cline-yes">877</span>
1743
- <span class="cline-any cline-yes">877</span>
1744
- <span class="cline-any cline-neutral">&nbsp;</span>
1745
- <span class="cline-any cline-yes">877</span>
1746
- <span class="cline-any cline-neutral">&nbsp;</span>
1747
- <span class="cline-any cline-yes">877</span>
1748
- <span class="cline-any cline-neutral">&nbsp;</span>
1749
- <span class="cline-any cline-neutral">&nbsp;</span>
1750
- <span class="cline-any cline-neutral">&nbsp;</span>
1751
- <span class="cline-any cline-neutral">&nbsp;</span>
1752
- <span class="cline-any cline-neutral">&nbsp;</span>
1753
- <span class="cline-any cline-neutral">&nbsp;</span>
1754
- <span class="cline-any cline-neutral">&nbsp;</span>
1755
- <span class="cline-any cline-neutral">&nbsp;</span>
1756
- <span class="cline-any cline-neutral">&nbsp;</span>
1757
- <span class="cline-any cline-neutral">&nbsp;</span>
1758
- <span class="cline-any cline-neutral">&nbsp;</span>
1759
- <span class="cline-any cline-neutral">&nbsp;</span>
1760
- <span class="cline-any cline-neutral">&nbsp;</span>
1761
- <span class="cline-any cline-yes">86</span>
1762
- <span class="cline-any cline-neutral">&nbsp;</span>
1763
- <span class="cline-any cline-yes">86</span>
1764
- <span class="cline-any cline-yes">82</span>
1765
- <span class="cline-any cline-yes">4</span>
1766
- <span class="cline-any cline-yes">2</span>
1767
- <span class="cline-any cline-neutral">&nbsp;</span>
1768
- <span class="cline-any cline-yes">86</span>
1769
- <span class="cline-any cline-yes">26</span>
1770
- <span class="cline-any cline-neutral">&nbsp;</span>
1771
- <span class="cline-any cline-neutral">&nbsp;</span>
1772
- <span class="cline-any cline-yes">86</span>
1773
- <span class="cline-any cline-neutral">&nbsp;</span>
1774
- <span class="cline-any cline-neutral">&nbsp;</span>
1775
- <span class="cline-any cline-neutral">&nbsp;</span>
1776
- <span class="cline-any cline-neutral">&nbsp;</span>
1777
- <span class="cline-any cline-neutral">&nbsp;</span>
1778
- <span class="cline-any cline-neutral">&nbsp;</span>
1779
- <span class="cline-any cline-neutral">&nbsp;</span>
1780
- <span class="cline-any cline-neutral">&nbsp;</span>
1781
- <span class="cline-any cline-neutral">&nbsp;</span>
1782
- <span class="cline-any cline-yes">88</span>
1783
- <span class="cline-any cline-neutral">&nbsp;</span>
1784
- <span class="cline-any cline-neutral">&nbsp;</span>
1785
- <span class="cline-any cline-neutral">&nbsp;</span>
1786
- <span class="cline-any cline-neutral">&nbsp;</span>
1787
- <span class="cline-any cline-yes">88</span>
1788
- <span class="cline-any cline-yes">6</span>
1789
- <span class="cline-any cline-neutral">&nbsp;</span>
1790
- <span class="cline-any cline-yes">88</span>
1791
- <span class="cline-any cline-yes">18</span>
1792
- <span class="cline-any cline-yes">18</span>
1793
- <span class="cline-any cline-neutral">&nbsp;</span>
1794
- <span class="cline-any cline-neutral">&nbsp;</span>
1795
- <span class="cline-any cline-yes">88</span>
1796
- <span class="cline-any cline-yes">88</span>
1797
- <span class="cline-any cline-yes">18</span>
1798
- <span class="cline-any cline-neutral">&nbsp;</span>
1799
- <span class="cline-any cline-yes">88</span>
1800
- <span class="cline-any cline-yes">18</span>
1801
- <span class="cline-any cline-neutral">&nbsp;</span>
1802
- <span class="cline-any cline-yes">88</span>
1803
- <span class="cline-any cline-yes">6</span>
1804
- <span class="cline-any cline-neutral">&nbsp;</span>
1805
- <span class="cline-any cline-yes">88</span>
1806
- <span class="cline-any cline-neutral">&nbsp;</span>
1807
- <span class="cline-any cline-neutral">&nbsp;</span>
1808
- <span class="cline-any cline-neutral">&nbsp;</span>
1809
- <span class="cline-any cline-yes">54</span>
1810
- <span class="cline-any cline-yes">46</span>
1811
- <span class="cline-any cline-yes">8</span>
1812
- <span class="cline-any cline-yes">2</span>
1813
- <span class="cline-any cline-neutral">&nbsp;</span>
1814
- <span class="cline-any cline-yes">6</span>
1815
- <span class="cline-any cline-neutral">&nbsp;</span>
1816
- <span class="cline-any cline-neutral">&nbsp;</span>
1817
- <span class="cline-any cline-neutral">&nbsp;</span>
1818
- <span class="cline-any cline-neutral">&nbsp;</span>
1819
- <span class="cline-any cline-neutral">&nbsp;</span>
1820
- <span class="cline-any cline-neutral">&nbsp;</span>
1821
- <span class="cline-any cline-neutral">&nbsp;</span>
1822
- <span class="cline-any cline-neutral">&nbsp;</span>
1823
- <span class="cline-any cline-yes">1555</span>
1824
- <span class="cline-any cline-neutral">&nbsp;</span>
1825
- <span class="cline-any cline-yes">1555</span>
1826
- <span class="cline-any cline-yes">625</span>
1827
- <span class="cline-any cline-yes">625</span>
1828
- <span class="cline-any cline-neutral">&nbsp;</span>
1829
- <span class="cline-any cline-yes">625</span>
1830
- <span class="cline-any cline-neutral">&nbsp;</span>
1831
- <span class="cline-any cline-yes">625</span>
1832
- <span class="cline-any cline-yes">619</span>
1833
- <span class="cline-any cline-yes">619</span>
1834
- <span class="cline-any cline-yes">619</span>
1835
- <span class="cline-any cline-yes">619</span>
1836
- <span class="cline-any cline-yes">619</span>
1837
- <span class="cline-any cline-yes">619</span>
1838
- <span class="cline-any cline-neutral">&nbsp;</span>
1839
- <span class="cline-any cline-yes">619</span>
1840
- <span class="cline-any cline-neutral">&nbsp;</span>
1841
- <span class="cline-any cline-yes">6</span>
1842
- <span class="cline-any cline-yes">6</span>
1843
- <span class="cline-any cline-neutral">&nbsp;</span>
1844
- <span class="cline-any cline-neutral">&nbsp;</span>
1845
- <span class="cline-any cline-neutral">&nbsp;</span>
1846
- <span class="cline-any cline-neutral">&nbsp;</span>
1847
- <span class="cline-any cline-yes">625</span>
1848
- <span class="cline-any cline-yes">222</span>
1849
- <span class="cline-any cline-yes">222</span>
1850
- <span class="cline-any cline-yes">6</span>
1851
- <span class="cline-any cline-neutral">&nbsp;</span>
1852
- <span class="cline-any cline-neutral">&nbsp;</span>
1853
- <span class="cline-any cline-neutral">&nbsp;</span>
1854
- <span class="cline-any cline-neutral">&nbsp;</span>
1855
- <span class="cline-any cline-neutral">&nbsp;</span>
1856
- <span class="cline-any cline-yes">952</span>
1857
- <span class="cline-any cline-neutral">&nbsp;</span>
1858
- <span class="cline-any cline-neutral">&nbsp;</span>
1859
- <span class="cline-any cline-neutral">&nbsp;</span>
1860
- <span class="cline-any cline-neutral">&nbsp;</span>
1861
- <span class="cline-any cline-yes">952</span>
1862
- <span class="cline-any cline-neutral">&nbsp;</span>
1863
- <span class="cline-any cline-yes">952</span>
1864
- <span class="cline-any cline-yes">376</span>
1865
- <span class="cline-any cline-neutral">&nbsp;</span>
1866
- <span class="cline-any cline-neutral">&nbsp;</span>
1867
- <span class="cline-any cline-yes">952</span>
1868
- <span class="cline-any cline-neutral">&nbsp;</span>
1869
- <span class="cline-any cline-neutral">&nbsp;</span>
1870
- <span class="cline-any cline-neutral">&nbsp;</span>
1871
- <span class="cline-any cline-yes">1503</span>
1872
- <span class="cline-any cline-yes">966</span>
1873
- <span class="cline-any cline-yes">966</span>
1874
- <span class="cline-any cline-neutral">&nbsp;</span>
1875
- <span class="cline-any cline-neutral">&nbsp;</span>
1876
- <span class="cline-any cline-neutral">&nbsp;</span>
1877
- <span class="cline-any cline-neutral">&nbsp;</span>
1878
- <span class="cline-any cline-yes">6739</span>
1879
- <span class="cline-any cline-neutral">&nbsp;</span>
1880
- <span class="cline-any cline-neutral">&nbsp;</span>
1881
- <span class="cline-any cline-neutral">&nbsp;</span>
1882
- <span class="cline-any cline-yes">4407</span>
1883
- <span class="cline-any cline-yes">1383</span>
1884
- <span class="cline-any cline-yes">1383</span>
1885
- <span class="cline-any cline-neutral">&nbsp;</span>
1886
- <span class="cline-any cline-neutral">&nbsp;</span>
1887
- <span class="cline-any cline-yes">4407</span>
1888
- <span class="cline-any cline-yes">2852</span>
1889
- <span class="cline-any cline-neutral">&nbsp;</span>
1890
- <span class="cline-any cline-neutral">&nbsp;</span>
1891
- <span class="cline-any cline-neutral">&nbsp;</span>
1892
- <span class="cline-any cline-neutral">&nbsp;</span>
1893
- <span class="cline-any cline-yes">723</span>
1894
- <span class="cline-any cline-neutral">&nbsp;</span>
1895
- <span class="cline-any cline-yes">723</span>
1896
- <span class="cline-any cline-yes">723</span>
1897
- <span class="cline-any cline-yes">723</span>
1898
- <span class="cline-any cline-yes">723</span>
1899
- <span class="cline-any cline-neutral">&nbsp;</span>
1900
- <span class="cline-any cline-neutral">&nbsp;</span>
1901
- <span class="cline-any cline-neutral">&nbsp;</span>
1902
- <span class="cline-any cline-yes">1425</span>
1903
- <span class="cline-any cline-neutral">&nbsp;</span>
1904
- <span class="cline-any cline-neutral">&nbsp;</span>
1905
- <span class="cline-any cline-neutral">&nbsp;</span>
1906
- <span class="cline-any cline-neutral">&nbsp;</span>
1907
- <span class="cline-any cline-neutral">&nbsp;</span>
1908
- <span class="cline-any cline-neutral">&nbsp;</span>
1909
- <span class="cline-any cline-yes">1425</span>
1910
- <span class="cline-any cline-yes">1</span>
1911
- <span class="cline-any cline-neutral">&nbsp;</span>
1912
- <span class="cline-any cline-neutral">&nbsp;</span>
1913
- <span class="cline-any cline-neutral">&nbsp;</span>
1914
- <span class="cline-any cline-yes">1425</span>
1915
- <span class="cline-any cline-neutral">&nbsp;</span>
1916
- <span class="cline-any cline-yes">1425</span>
1917
- <span class="cline-any cline-neutral">&nbsp;</span>
1918
- <span class="cline-any cline-yes">1269</span>
1919
- <span class="cline-any cline-yes">1269</span>
1920
- <span class="cline-any cline-neutral">&nbsp;</span>
1921
- <span class="cline-any cline-neutral">&nbsp;</span>
1922
- <span class="cline-any cline-yes">156</span>
1923
- <span class="cline-any cline-yes">156</span>
1924
- <span class="cline-any cline-neutral">&nbsp;</span>
1925
- <span class="cline-any cline-yes">156</span>
1926
- <span class="cline-any cline-yes">156</span>
1927
- <span class="cline-any cline-neutral">&nbsp;</span>
1928
- <span class="cline-any cline-neutral">&nbsp;</span>
1929
- <span class="cline-any cline-yes">1425</span>
1930
- <span class="cline-any cline-neutral">&nbsp;</span>
1931
- <span class="cline-any cline-yes">1425</span>
1932
- <span class="cline-any cline-yes">156</span>
1933
- <span class="cline-any cline-neutral">&nbsp;</span>
1934
- <span class="cline-any cline-yes">1425</span>
1935
- <span class="cline-any cline-yes">156</span>
1936
- <span class="cline-any cline-neutral">&nbsp;</span>
1937
- <span class="cline-any cline-yes">1425</span>
1938
- <span class="cline-any cline-neutral">&nbsp;</span>
1939
- <span class="cline-any cline-neutral">&nbsp;</span>
1940
- <span class="cline-any cline-neutral">&nbsp;</span>
1941
- <span class="cline-any cline-yes">879</span>
1942
- <span class="cline-any cline-yes">879</span>
1943
- <span class="cline-any cline-yes">879</span>
1944
- <span class="cline-any cline-neutral">&nbsp;</span>
1945
- <span class="cline-any cline-neutral">&nbsp;</span>
1946
- <span class="cline-any cline-yes">879</span>
1947
- <span class="cline-any cline-neutral">&nbsp;</span>
1948
- <span class="cline-any cline-neutral">&nbsp;</span>
1949
- <span class="cline-any cline-yes">1759</span>
1950
- <span class="cline-any cline-yes">1759</span>
1951
- <span class="cline-any cline-yes">723</span>
1952
- <span class="cline-any cline-yes">723</span>
1953
- <span class="cline-any cline-yes">723</span>
1954
- <span class="cline-any cline-yes">723</span>
1955
- <span class="cline-any cline-no">&nbsp;</span>
1956
- <span class="cline-any cline-neutral">&nbsp;</span>
1957
- <span class="cline-any cline-yes">723</span>
1958
- <span class="cline-any cline-neutral">&nbsp;</span>
1959
- <span class="cline-any cline-neutral">&nbsp;</span>
1960
- <span class="cline-any cline-neutral">&nbsp;</span>
1961
- <span class="cline-any cline-neutral">&nbsp;</span>
1962
- <span class="cline-any cline-neutral">&nbsp;</span>
1963
- <span class="cline-any cline-yes">13878</span>
1964
- <span class="cline-any cline-neutral">&nbsp;</span>
1965
- <span class="cline-any cline-neutral">&nbsp;</span>
1966
- <span class="cline-any cline-neutral">&nbsp;</span>
1967
- <span class="cline-any cline-yes">10559</span>
1968
- <span class="cline-any cline-neutral">&nbsp;</span>
1969
- <span class="cline-any cline-neutral">&nbsp;</span>
1970
- <span class="cline-any cline-yes">10559</span>
1971
- <span class="cline-any cline-yes">5470</span>
1972
- <span class="cline-any cline-neutral">&nbsp;</span>
1973
- <span class="cline-any cline-yes">5089</span>
1974
- <span class="cline-any cline-neutral">&nbsp;</span>
1975
- <span class="cline-any cline-yes">723</span>
1976
- <span class="cline-any cline-yes">1</span>
1977
- <span class="cline-any cline-neutral">&nbsp;</span>
1978
- <span class="cline-any cline-yes">723</span>
1979
- <span class="cline-any cline-neutral">&nbsp;</span>
1980
- <span class="cline-any cline-yes">5089</span>
1981
- <span class="cline-any cline-neutral">&nbsp;</span>
1982
- <span class="cline-any cline-neutral">&nbsp;</span>
1983
- <span class="cline-any cline-neutral">&nbsp;</span>
1984
- <span class="cline-any cline-neutral">&nbsp;</span>
1985
- <span class="cline-any cline-yes">469</span>
1986
- <span class="cline-any cline-neutral">&nbsp;</span>
1987
- <span class="cline-any cline-neutral">&nbsp;</span>
1988
- <span class="cline-any cline-yes">469</span>
1989
- <span class="cline-any cline-no">&nbsp;</span>
1990
- <span class="cline-any cline-neutral">&nbsp;</span>
1991
- <span class="cline-any cline-yes">469</span>
1992
- <span class="cline-any cline-neutral">&nbsp;</span>
1993
- <span class="cline-any cline-neutral">&nbsp;</span>
1994
- <span class="cline-any cline-neutral">&nbsp;</span>
1995
- <span class="cline-any cline-neutral">&nbsp;</span>
1996
- <span class="cline-any cline-yes">3259</span>
1997
- <span class="cline-any cline-yes">54</span>
1998
- <span class="cline-any cline-neutral">&nbsp;</span>
1999
- <span class="cline-any cline-yes">3205</span>
2000
- <span class="cline-any cline-neutral">&nbsp;</span>
2001
- <span class="cline-any cline-neutral">&nbsp;</span>
2002
- <span class="cline-any cline-neutral">&nbsp;</span>
2003
- <span class="cline-any cline-neutral">&nbsp;</span>
2004
- <span class="cline-any cline-yes">13802</span>
2005
- <span class="cline-any cline-neutral">&nbsp;</span>
2006
- <span class="cline-any cline-neutral">&nbsp;</span>
2007
- <span class="cline-any cline-neutral">&nbsp;</span>
2008
- <span class="cline-any cline-neutral">&nbsp;</span>
2009
- <span class="cline-any cline-neutral">&nbsp;</span>
2010
- <span class="cline-any cline-neutral">&nbsp;</span>
2011
- <span class="cline-any cline-neutral">&nbsp;</span>
2012
- <span class="cline-any cline-neutral">&nbsp;</span>
2013
- <span class="cline-any cline-neutral">&nbsp;</span>
2014
- <span class="cline-any cline-yes">2459</span>
2015
- <span class="cline-any cline-neutral">&nbsp;</span>
2016
- <span class="cline-any cline-yes">2459</span>
2017
- <span class="cline-any cline-yes">10401</span>
2018
- <span class="cline-any cline-yes">10397</span>
2019
- <span class="cline-any cline-neutral">&nbsp;</span>
2020
- <span class="cline-any cline-neutral">&nbsp;</span>
2021
- <span class="cline-any cline-neutral">&nbsp;</span>
2022
- <span class="cline-any cline-yes">2459</span>
2023
- <span class="cline-any cline-neutral">&nbsp;</span>
2024
- <span class="cline-any cline-neutral">&nbsp;</span>
2025
- <span class="cline-any cline-neutral">&nbsp;</span>
2026
- <span class="cline-any cline-yes">1331</span>
2027
- <span class="cline-any cline-neutral">&nbsp;</span>
2028
- <span class="cline-any cline-yes">1331</span>
2029
- <span class="cline-any cline-neutral">&nbsp;</span>
2030
- <span class="cline-any cline-yes">1331</span>
2031
- <span class="cline-any cline-neutral">&nbsp;</span>
2032
- <span class="cline-any cline-neutral">&nbsp;</span>
2033
- <span class="cline-any cline-neutral">&nbsp;</span>
2034
- <span class="cline-any cline-neutral">&nbsp;</span>
2035
- <span class="cline-any cline-neutral">&nbsp;</span>
2036
- <span class="cline-any cline-neutral">&nbsp;</span>
2037
- <span class="cline-any cline-neutral">&nbsp;</span>
2038
- <span class="cline-any cline-neutral">&nbsp;</span>
2039
- <span class="cline-any cline-yes">1676</span>
2040
- <span class="cline-any cline-neutral">&nbsp;</span>
2041
- <span class="cline-any cline-yes">1676</span>
2042
- <span class="cline-any cline-yes">1676</span>
2043
- <span class="cline-any cline-neutral">&nbsp;</span>
2044
- <span class="cline-any cline-yes">1676</span>
2045
- <span class="cline-any cline-yes">60</span>
2046
- <span class="cline-any cline-neutral">&nbsp;</span>
2047
- <span class="cline-any cline-yes">1676</span>
2048
- <span class="cline-any cline-yes">40</span>
2049
- <span class="cline-any cline-yes">40</span>
2050
- <span class="cline-any cline-neutral">&nbsp;</span>
2051
- <span class="cline-any cline-neutral">&nbsp;</span>
2052
- <span class="cline-any cline-yes">1676</span>
2053
- <span class="cline-any cline-yes">1676</span>
2054
- <span class="cline-any cline-neutral">&nbsp;</span>
2055
- <span class="cline-any cline-neutral">&nbsp;</span>
2056
- <span class="cline-any cline-neutral">&nbsp;</span>
2057
- <span class="cline-any cline-yes">1676</span>
2058
- <span class="cline-any cline-yes">890</span>
2059
- <span class="cline-any cline-yes">138</span>
2060
- <span class="cline-any cline-neutral">&nbsp;</span>
2061
- <span class="cline-any cline-neutral">&nbsp;</span>
2062
- <span class="cline-any cline-yes">890</span>
2063
- <span class="cline-any cline-yes">690</span>
2064
- <span class="cline-any cline-neutral">&nbsp;</span>
2065
- <span class="cline-any cline-neutral">&nbsp;</span>
2066
- <span class="cline-any cline-yes">890</span>
2067
- <span class="cline-any cline-yes">890</span>
2068
- <span class="cline-any cline-neutral">&nbsp;</span>
2069
- <span class="cline-any cline-neutral">&nbsp;</span>
2070
- <span class="cline-any cline-neutral">&nbsp;</span>
2071
- <span class="cline-any cline-neutral">&nbsp;</span>
2072
- <span class="cline-any cline-yes">1676</span>
2073
- <span class="cline-any cline-yes">1676</span>
2074
- <span class="cline-any cline-yes">486</span>
2075
- <span class="cline-any cline-yes">486</span>
2076
- <span class="cline-any cline-neutral">&nbsp;</span>
2077
- <span class="cline-any cline-yes">486</span>
2078
- <span class="cline-any cline-yes">48</span>
2079
- <span class="cline-any cline-neutral">&nbsp;</span>
2080
- <span class="cline-any cline-yes">486</span>
2081
- <span class="cline-any cline-yes">44</span>
2082
- <span class="cline-any cline-yes">44</span>
2083
- <span class="cline-any cline-neutral">&nbsp;</span>
2084
- <span class="cline-any cline-neutral">&nbsp;</span>
2085
- <span class="cline-any cline-neutral">&nbsp;</span>
2086
- <span class="cline-any cline-yes">1676</span>
2087
- <span class="cline-any cline-yes">60</span>
2088
- <span class="cline-any cline-neutral">&nbsp;</span>
2089
- <span class="cline-any cline-yes">1676</span>
2090
- <span class="cline-any cline-yes">40</span>
2091
- <span class="cline-any cline-yes">40</span>
2092
- <span class="cline-any cline-neutral">&nbsp;</span>
2093
- <span class="cline-any cline-neutral">&nbsp;</span>
2094
- <span class="cline-any cline-yes">1676</span>
2095
- <span class="cline-any cline-yes">1640</span>
2096
- <span class="cline-any cline-neutral">&nbsp;</span>
2097
- <span class="cline-any cline-neutral">&nbsp;</span>
2098
- <span class="cline-any cline-yes">1676</span>
2099
- <span class="cline-any cline-neutral">&nbsp;</span>
2100
- <span class="cline-any cline-neutral">&nbsp;</span>
2101
- <span class="cline-any cline-neutral">&nbsp;</span>
2102
- <span class="cline-any cline-neutral">&nbsp;</span>
2103
- <span class="cline-any cline-neutral">&nbsp;</span>
2104
- <span class="cline-any cline-yes">1676</span>
2105
- <span class="cline-any cline-neutral">&nbsp;</span>
2106
- <span class="cline-any cline-yes">1676</span>
2107
- <span class="cline-any cline-yes">626</span>
2108
- <span class="cline-any cline-yes">626</span>
2109
- <span class="cline-any cline-yes">626</span>
2110
- <span class="cline-any cline-neutral">&nbsp;</span>
2111
- <span class="cline-any cline-yes">1050</span>
2112
- <span class="cline-any cline-yes">1050</span>
2113
- <span class="cline-any cline-neutral">&nbsp;</span>
2114
- <span class="cline-any cline-neutral">&nbsp;</span>
2115
- <span class="cline-any cline-neutral">&nbsp;</span>
2116
- <span class="cline-any cline-neutral">&nbsp;</span>
2117
- <span class="cline-any cline-yes">1</span>
2118
- <span class="cline-any cline-neutral">&nbsp;</span>
2119
- <span class="cline-any cline-neutral">&nbsp;</span>
2120
- <span class="cline-any cline-neutral">&nbsp;</span>
2121
- <span class="cline-any cline-neutral">&nbsp;</span>
2122
- <span class="cline-any cline-neutral">&nbsp;</span>
2123
- <span class="cline-any cline-neutral">&nbsp;</span>
2124
- <span class="cline-any cline-neutral">&nbsp;</span>
2125
- <span class="cline-any cline-neutral">&nbsp;</span>
2126
- <span class="cline-any cline-neutral">&nbsp;</span>
2127
- <span class="cline-any cline-neutral">&nbsp;</span>
2128
- <span class="cline-any cline-neutral">&nbsp;</span>
2129
- <span class="cline-any cline-neutral">&nbsp;</span>
2130
- <span class="cline-any cline-neutral">&nbsp;</span>
2131
- <span class="cline-any cline-neutral">&nbsp;</span>
2132
- <span class="cline-any cline-neutral">&nbsp;</span>
2133
- <span class="cline-any cline-neutral">&nbsp;</span>
2134
- <span class="cline-any cline-neutral">&nbsp;</span>
2135
- <span class="cline-any cline-yes">1</span>
2136
- <span class="cline-any cline-neutral">&nbsp;</span>
2137
- <span class="cline-any cline-yes">1</span>
2138
- <span class="cline-any cline-yes">58</span>
2139
- <span class="cline-any cline-neutral">&nbsp;</span>
2140
- <span class="cline-any cline-neutral">&nbsp;</span>
2141
- <span class="cline-any cline-yes">1</span>
2142
- <span class="cline-any cline-yes">3716</span>
2143
- <span class="cline-any cline-neutral">&nbsp;</span>
2144
- <span class="cline-any cline-neutral">&nbsp;</span>
2145
- <span class="cline-any cline-yes">1</span></td><td class="text"><pre class="prettyprint lang-js">"use strict";
2146
- var COMPILER_REVISION = require("../base").COMPILER_REVISION;
2147
- var REVISION_CHANGES = require("../base").REVISION_CHANGES;
2148
- var Exception = require("../exception")["default"];
2149
- &nbsp;
2150
- function Literal(value) {
2151
- this.value = value;
2152
- }
2153
- &nbsp;
2154
- function JavaScriptCompiler() {}
2155
- &nbsp;
2156
- JavaScriptCompiler.prototype = {
2157
- // PUBLIC API: You can override these methods in a subclass to provide
2158
- // alternative compiled forms for name lookup and buffering semantics
2159
- nameLookup: function(parent, name /* , type*/) {
2160
- if (JavaScriptCompiler.isValidJavaScriptVariableName(name)) {
2161
- return parent + "." + name;
2162
- } else {
2163
- return parent + "['" + name + "']";
2164
- }
2165
- },
2166
- depthedLookup: function(name) {
2167
- this.aliases.lookup = 'this.lookup';
2168
- &nbsp;
2169
- return 'lookup(depths, "' + name + '")';
2170
- },
2171
- &nbsp;
2172
- compilerInfo: function() {
2173
- var revision = COMPILER_REVISION,
2174
- versions = REVISION_CHANGES[revision];
2175
- return [revision, versions];
2176
- },
2177
- &nbsp;
2178
- appendToBuffer: function(string) {
2179
- if (this.environment.isSimple) {
2180
- return "return " + string + ";";
2181
- } else {
2182
- return {
2183
- appendToBuffer: true,
2184
- content: string,
2185
- toString: function() { return "buffer += " + string + ";"; }
2186
- };
2187
- }
2188
- },
2189
- &nbsp;
2190
- initializeBuffer: function() {
2191
- return this.quotedString("");
2192
- },
2193
- &nbsp;
2194
- namespace: "Handlebars",
2195
- // END PUBLIC API
2196
- &nbsp;
2197
- compile: function(environment, options, context, asObject) {
2198
- this.environment = environment;
2199
- this.options = options;
2200
- this.stringParams = this.options.stringParams;
2201
- this.trackIds = this.options.trackIds;
2202
- this.precompile = !asObject;
2203
- &nbsp;
2204
- this.name = this.environment.name;
2205
- this.isChild = !!context;
2206
- this.context = context || {
2207
- programs: [],
2208
- environments: []
2209
- };
2210
- &nbsp;
2211
- this.preamble();
2212
- &nbsp;
2213
- this.stackSlot = 0;
2214
- this.stackVars = [];
2215
- this.aliases = {};
2216
- this.registers = { list: [] };
2217
- this.hashes = [];
2218
- this.compileStack = [];
2219
- this.inlineStack = [];
2220
- &nbsp;
2221
- this.compileChildren(environment, options);
2222
- &nbsp;
2223
- this.useDepths = this.useDepths || environment.depths.list.length || this.options.compat;
2224
- &nbsp;
2225
- var opcodes = environment.opcodes,
2226
- opcode,
2227
- i,
2228
- l;
2229
- &nbsp;
2230
- for (i = 0, l = opcodes.length; i &lt; l; i++) {
2231
- opcode = opcodes[i];
2232
- &nbsp;
2233
- this[opcode.opcode].apply(this, opcode.args);
2234
- }
2235
- &nbsp;
2236
- // Flush any trailing content that might be pending.
2237
- this.pushSource('');
2238
- &nbsp;
2239
- /* istanbul ignore next */
2240
- <span class="skip-if-branch" title="if path not taken" >I</span>if (this.stackSlot || this.inlineStack.length || this.compileStack.length) {
2241
- <span class="cstat-skip" title="statement not covered" > throw new Exception('Compile completed with content left on stack');</span>
2242
- }
2243
- &nbsp;
2244
- var fn = this.createFunctionContext(asObject);
2245
- if (!this.isChild) {
2246
- var ret = {
2247
- compiler: this.compilerInfo(),
2248
- main: fn
2249
- };
2250
- var programs = this.context.programs;
2251
- for (i = 0, l = programs.length; i &lt; l; i++) {
2252
- if (programs[i]) {
2253
- ret[i] = programs[i];
2254
- }
2255
- }
2256
- &nbsp;
2257
- if (this.environment.usePartial) {
2258
- ret.usePartial = true;
2259
- }
2260
- if (this.options.data) {
2261
- ret.useData = true;
2262
- }
2263
- if (this.useDepths) {
2264
- ret.useDepths = true;
2265
- }
2266
- if (this.options.compat) {
2267
- ret.compat = true;
2268
- }
2269
- &nbsp;
2270
- if (!asObject) {
2271
- ret.compiler = JSON.stringify(ret.compiler);
2272
- ret = this.objectLiteral(ret);
2273
- }
2274
- &nbsp;
2275
- return ret;
2276
- } else {
2277
- return fn;
2278
- }
2279
- },
2280
- &nbsp;
2281
- preamble: function() {
2282
- // track the last context pushed into place to allow skipping the
2283
- // getContext opcode when it would be a noop
2284
- this.lastContext = 0;
2285
- this.source = [];
2286
- },
2287
- &nbsp;
2288
- createFunctionContext: function(asObject) {
2289
- var varDeclarations = '';
2290
- &nbsp;
2291
- var locals = this.stackVars.concat(this.registers.list);
2292
- if(locals.length &gt; 0) {
2293
- varDeclarations += ", " + locals.join(", ");
2294
- }
2295
- &nbsp;
2296
- // Generate minimizer alias mappings
2297
- for (var alias in this.aliases) {
2298
- if (this.aliases.hasOwnProperty(alias)) {
2299
- varDeclarations += ', ' + alias + '=' + this.aliases[alias];
2300
- }
2301
- }
2302
- &nbsp;
2303
- var params = ["depth0", "helpers", "partials", "data"];
2304
- &nbsp;
2305
- if (this.useDepths) {
2306
- params.push('depths');
2307
- }
2308
- &nbsp;
2309
- // Perform a second pass over the output to merge content when possible
2310
- var source = this.mergeSource(varDeclarations);
2311
- &nbsp;
2312
- if (asObject) {
2313
- params.push(source);
2314
- &nbsp;
2315
- return Function.apply(this, params);
2316
- } else {
2317
- return 'function(' + params.join(',') + ') {\n ' + source + '}';
2318
- }
2319
- },
2320
- mergeSource: function(varDeclarations) {
2321
- var source = '',
2322
- buffer,
2323
- appendOnly = !this.forceBuffer,
2324
- appendFirst;
2325
- &nbsp;
2326
- for (var i = 0, len = this.source.length; i &lt; len; i++) {
2327
- var line = this.source[i];
2328
- if (line.appendToBuffer) {
2329
- if (buffer) {
2330
- buffer = buffer + '\n + ' + line.content;
2331
- } else {
2332
- buffer = line.content;
2333
- }
2334
- } else {
2335
- if (buffer) {
2336
- if (!source) {
2337
- appendFirst = true;
2338
- source = buffer + ';\n ';
2339
- } else {
2340
- source += 'buffer += ' + buffer + ';\n ';
2341
- }
2342
- buffer = undefined;
2343
- }
2344
- source += line + '\n ';
2345
- &nbsp;
2346
- if (!this.environment.isSimple) {
2347
- appendOnly = false;
2348
- }
2349
- }
2350
- }
2351
- &nbsp;
2352
- if (appendOnly) {
2353
- if (buffer || !source) {
2354
- source += 'return ' + (buffer || '""') + ';\n';
2355
- }
2356
- } else {
2357
- varDeclarations += ", buffer = " + (appendFirst ? '' : this.initializeBuffer());
2358
- if (buffer) {
2359
- source += 'return buffer + ' + buffer + ';\n';
2360
- } else {
2361
- source += 'return buffer;\n';
2362
- }
2363
- }
2364
- &nbsp;
2365
- if (varDeclarations) {
2366
- source = 'var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\n ') + source;
2367
- }
2368
- &nbsp;
2369
- return source;
2370
- },
2371
- &nbsp;
2372
- // [blockValue]
2373
- //
2374
- // On stack, before: hash, inverse, program, value
2375
- // On stack, after: return value of blockHelperMissing
2376
- //
2377
- // The purpose of this opcode is to take a block of the form
2378
- // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and
2379
- // replace it on the stack with the result of properly
2380
- // invoking blockHelperMissing.
2381
- blockValue: function(name) {
2382
- this.aliases.blockHelperMissing = 'helpers.blockHelperMissing';
2383
- &nbsp;
2384
- var params = [this.contextName(0)];
2385
- this.setupParams(name, 0, params);
2386
- &nbsp;
2387
- var blockName = this.popStack();
2388
- params.splice(1, 0, blockName);
2389
- &nbsp;
2390
- this.push('blockHelperMissing.call(' + params.join(', ') + ')');
2391
- },
2392
- &nbsp;
2393
- // [ambiguousBlockValue]
2394
- //
2395
- // On stack, before: hash, inverse, program, value
2396
- // Compiler value, before: lastHelper=value of last found helper, if any
2397
- // On stack, after, if no lastHelper: same as [blockValue]
2398
- // On stack, after, if lastHelper: value
2399
- ambiguousBlockValue: function() {
2400
- this.aliases.blockHelperMissing = 'helpers.blockHelperMissing';
2401
- &nbsp;
2402
- // We're being a bit cheeky and reusing the options value from the prior exec
2403
- var params = [this.contextName(0)];
2404
- this.setupParams('', 0, params, true);
2405
- &nbsp;
2406
- this.flushInline();
2407
- &nbsp;
2408
- var current = this.topStack();
2409
- params.splice(1, 0, current);
2410
- &nbsp;
2411
- this.pushSource("if (!" + this.lastHelper + ") { " + current + " = blockHelperMissing.call(" + params.join(", ") + "); }");
2412
- },
2413
- &nbsp;
2414
- // [appendContent]
2415
- //
2416
- // On stack, before: ...
2417
- // On stack, after: ...
2418
- //
2419
- // Appends the string value of `content` to the current buffer
2420
- appendContent: function(content) {
2421
- if (this.pendingContent) {
2422
- content = this.pendingContent + content;
2423
- }
2424
- &nbsp;
2425
- this.pendingContent = content;
2426
- },
2427
- &nbsp;
2428
- // [append]
2429
- //
2430
- // On stack, before: value, ...
2431
- // On stack, after: ...
2432
- //
2433
- // Coerces `value` to a String and appends it to the current buffer.
2434
- //
2435
- // If `value` is truthy, or 0, it is coerced into a string and appended
2436
- // Otherwise, the empty string is appended
2437
- append: function() {
2438
- // Force anything that is inlined onto the stack so we don't have duplication
2439
- // when we examine local
2440
- this.flushInline();
2441
- var local = this.popStack();
2442
- this.pushSource('if (' + local + ' != null) { ' + this.appendToBuffer(local) + ' }');
2443
- if (this.environment.isSimple) {
2444
- this.pushSource("else { " + this.appendToBuffer("''") + " }");
2445
- }
2446
- },
2447
- &nbsp;
2448
- // [appendEscaped]
2449
- //
2450
- // On stack, before: value, ...
2451
- // On stack, after: ...
2452
- //
2453
- // Escape `value` and append it to the buffer
2454
- appendEscaped: function() {
2455
- this.aliases.escapeExpression = 'this.escapeExpression';
2456
- &nbsp;
2457
- this.pushSource(this.appendToBuffer("escapeExpression(" + this.popStack() + ")"));
2458
- },
2459
- &nbsp;
2460
- // [getContext]
2461
- //
2462
- // On stack, before: ...
2463
- // On stack, after: ...
2464
- // Compiler value, after: lastContext=depth
2465
- //
2466
- // Set the value of the `lastContext` compiler value to the depth
2467
- getContext: function(depth) {
2468
- this.lastContext = depth;
2469
- },
2470
- &nbsp;
2471
- // [pushContext]
2472
- //
2473
- // On stack, before: ...
2474
- // On stack, after: currentContext, ...
2475
- //
2476
- // Pushes the value of the current context onto the stack.
2477
- pushContext: function() {
2478
- this.pushStackLiteral(this.contextName(this.lastContext));
2479
- },
2480
- &nbsp;
2481
- // [lookupOnContext]
2482
- //
2483
- // On stack, before: ...
2484
- // On stack, after: currentContext[name], ...
2485
- //
2486
- // Looks up the value of `name` on the current context and pushes
2487
- // it onto the stack.
2488
- lookupOnContext: function(parts, falsy, scoped) {
2489
- /*jshint -W083 */
2490
- var i = 0,
2491
- len = parts.length;
2492
- &nbsp;
2493
- if (!scoped &amp;&amp; this.options.compat &amp;&amp; !this.lastContext) {
2494
- // The depthed query is expected to handle the undefined logic for the root level that
2495
- // is implemented below, so we evaluate that directly in compat mode
2496
- this.push(this.depthedLookup(parts[i++]));
2497
- } else {
2498
- this.pushContext();
2499
- }
2500
- &nbsp;
2501
- for (; i &lt; len; i++) {
2502
- this.replaceStack(function(current) {
2503
- var lookup = this.nameLookup(current, parts[i], 'context');
2504
- // We want to ensure that zero and false are handled properly if the context (falsy flag)
2505
- // needs to have the special handling for these values.
2506
- if (!falsy) {
2507
- return ' != null ? ' + lookup + ' : ' + current;
2508
- } else {
2509
- // Otherwise we can use generic falsy handling
2510
- return ' &amp;&amp; ' + lookup;
2511
- }
2512
- });
2513
- }
2514
- },
2515
- &nbsp;
2516
- // [lookupData]
2517
- //
2518
- // On stack, before: ...
2519
- // On stack, after: data, ...
2520
- //
2521
- // Push the data lookup operator
2522
- lookupData: function(depth, parts) {
2523
- /*jshint -W083 */
2524
- if (!depth) {
2525
- this.pushStackLiteral('data');
2526
- } else {
2527
- this.pushStackLiteral('this.data(data, ' + depth + ')');
2528
- }
2529
- &nbsp;
2530
- var len = parts.length;
2531
- for (var i = 0; i &lt; len; i++) {
2532
- this.replaceStack(function(current) {
2533
- return ' &amp;&amp; ' + this.nameLookup(current, parts[i], 'data');
2534
- });
2535
- }
2536
- },
2537
- &nbsp;
2538
- // [resolvePossibleLambda]
2539
- //
2540
- // On stack, before: value, ...
2541
- // On stack, after: resolved value, ...
2542
- //
2543
- // If the `value` is a lambda, replace it on the stack by
2544
- // the return value of the lambda
2545
- resolvePossibleLambda: function() {
2546
- this.aliases.lambda = 'this.lambda';
2547
- &nbsp;
2548
- this.push('lambda(' + this.popStack() + ', ' + this.contextName(0) + ')');
2549
- },
2550
- &nbsp;
2551
- // [pushStringParam]
2552
- //
2553
- // On stack, before: ...
2554
- // On stack, after: string, currentContext, ...
2555
- //
2556
- // This opcode is designed for use in string mode, which
2557
- // provides the string value of a parameter along with its
2558
- // depth rather than resolving it immediately.
2559
- pushStringParam: function(string, type) {
2560
- this.pushContext();
2561
- this.pushString(type);
2562
- &nbsp;
2563
- // If it's a subexpression, the string result
2564
- // will be pushed after this opcode.
2565
- if (type !== 'sexpr') {
2566
- if (typeof string === 'string') {
2567
- this.pushString(string);
2568
- } else {
2569
- this.pushStackLiteral(string);
2570
- }
2571
- }
2572
- },
2573
- &nbsp;
2574
- emptyHash: function() {
2575
- this.pushStackLiteral('{}');
2576
- &nbsp;
2577
- if (this.trackIds) {
2578
- this.push('{}'); // hashIds
2579
- }
2580
- if (this.stringParams) {
2581
- this.push('{}'); // hashContexts
2582
- this.push('{}'); // hashTypes
2583
- }
2584
- },
2585
- pushHash: function() {
2586
- if (this.hash) {
2587
- this.hashes.push(this.hash);
2588
- }
2589
- this.hash = {values: [], types: [], contexts: [], ids: []};
2590
- },
2591
- popHash: function() {
2592
- var hash = this.hash;
2593
- this.hash = this.hashes.pop();
2594
- &nbsp;
2595
- if (this.trackIds) {
2596
- this.push('{' + hash.ids.join(',') + '}');
2597
- }
2598
- if (this.stringParams) {
2599
- this.push('{' + hash.contexts.join(',') + '}');
2600
- this.push('{' + hash.types.join(',') + '}');
2601
- }
2602
- &nbsp;
2603
- this.push('{\n ' + hash.values.join(',\n ') + '\n }');
2604
- },
2605
- &nbsp;
2606
- // [pushString]
2607
- //
2608
- // On stack, before: ...
2609
- // On stack, after: quotedString(string), ...
2610
- //
2611
- // Push a quoted version of `string` onto the stack
2612
- pushString: function(string) {
2613
- this.pushStackLiteral(this.quotedString(string));
2614
- },
2615
- &nbsp;
2616
- // [push]
2617
- //
2618
- // On stack, before: ...
2619
- // On stack, after: expr, ...
2620
- //
2621
- // Push an expression onto the stack
2622
- push: function(expr) {
2623
- this.inlineStack.push(expr);
2624
- return expr;
2625
- },
2626
- &nbsp;
2627
- // [pushLiteral]
2628
- //
2629
- // On stack, before: ...
2630
- // On stack, after: value, ...
2631
- //
2632
- // Pushes a value onto the stack. This operation prevents
2633
- // the compiler from creating a temporary variable to hold
2634
- // it.
2635
- pushLiteral: function(value) {
2636
- this.pushStackLiteral(value);
2637
- },
2638
- &nbsp;
2639
- // [pushProgram]
2640
- //
2641
- // On stack, before: ...
2642
- // On stack, after: program(guid), ...
2643
- //
2644
- // Push a program expression onto the stack. This takes
2645
- // a compile-time guid and converts it into a runtime-accessible
2646
- // expression.
2647
- pushProgram: function(guid) {
2648
- if (guid != null) {
2649
- this.pushStackLiteral(this.programExpression(guid));
2650
- } else {
2651
- this.pushStackLiteral(null);
2652
- }
2653
- },
2654
- &nbsp;
2655
- // [invokeHelper]
2656
- //
2657
- // On stack, before: hash, inverse, program, params..., ...
2658
- // On stack, after: result of helper invocation
2659
- //
2660
- // Pops off the helper's parameters, invokes the helper,
2661
- // and pushes the helper's return value onto the stack.
2662
- //
2663
- // If the helper is not found, `helperMissing` is called.
2664
- invokeHelper: function(paramSize, name, isSimple) {
2665
- this.aliases.helperMissing = 'helpers.helperMissing';
2666
- &nbsp;
2667
- var nonHelper = this.popStack();
2668
- var helper = this.setupHelper(paramSize, name);
2669
- &nbsp;
2670
- var lookup = (isSimple ? helper.name + ' || ' : '') + nonHelper + ' || helperMissing';
2671
- this.push('((' + lookup + ').call(' + helper.callParams + '))');
2672
- },
2673
- &nbsp;
2674
- // [invokeKnownHelper]
2675
- //
2676
- // On stack, before: hash, inverse, program, params..., ...
2677
- // On stack, after: result of helper invocation
2678
- //
2679
- // This operation is used when the helper is known to exist,
2680
- // so a `helperMissing` fallback is not required.
2681
- invokeKnownHelper: function(paramSize, name) {
2682
- var helper = this.setupHelper(paramSize, name);
2683
- this.push(helper.name + ".call(" + helper.callParams + ")");
2684
- },
2685
- &nbsp;
2686
- // [invokeAmbiguous]
2687
- //
2688
- // On stack, before: hash, inverse, program, params..., ...
2689
- // On stack, after: result of disambiguation
2690
- //
2691
- // This operation is used when an expression like `{{foo}}`
2692
- // is provided, but we don't know at compile-time whether it
2693
- // is a helper or a path.
2694
- //
2695
- // This operation emits more code than the other options,
2696
- // and can be avoided by passing the `knownHelpers` and
2697
- // `knownHelpersOnly` flags at compile-time.
2698
- invokeAmbiguous: function(name, helperCall) {
2699
- this.aliases.functionType = '"function"';
2700
- this.aliases.helperMissing = 'helpers.helperMissing';
2701
- this.useRegister('helper');
2702
- &nbsp;
2703
- var nonHelper = this.popStack();
2704
- &nbsp;
2705
- this.emptyHash();
2706
- var helper = this.setupHelper(0, name, helperCall);
2707
- &nbsp;
2708
- var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper');
2709
- &nbsp;
2710
- this.push(
2711
- '((helper = (helper = ' + helperName + ' || ' + nonHelper + ') != null ? helper : helperMissing'
2712
- + (helper.paramsInit ? '),(' + helper.paramsInit : '') + '),'
2713
- + '(typeof helper === functionType ? helper.call(' + helper.callParams + ') : helper))');
2714
- },
2715
- &nbsp;
2716
- // [invokePartial]
2717
- //
2718
- // On stack, before: context, ...
2719
- // On stack after: result of partial invocation
2720
- //
2721
- // This operation pops off a context, invokes a partial with that context,
2722
- // and pushes the result of the invocation back.
2723
- invokePartial: function(name, indent) {
2724
- var params = [this.nameLookup('partials', name, 'partial'), "'" + indent + "'", "'" + name + "'", this.popStack(), this.popStack(), "helpers", "partials"];
2725
- &nbsp;
2726
- if (this.options.data) {
2727
- params.push("data");
2728
- } else if (this.options.compat) {
2729
- params.push('undefined');
2730
- }
2731
- if (this.options.compat) {
2732
- params.push('depths');
2733
- }
2734
- &nbsp;
2735
- this.push("this.invokePartial(" + params.join(", ") + ")");
2736
- },
2737
- &nbsp;
2738
- // [assignToHash]
2739
- //
2740
- // On stack, before: value, ..., hash, ...
2741
- // On stack, after: ..., hash, ...
2742
- //
2743
- // Pops a value off the stack and assigns it to the current hash
2744
- assignToHash: function(key) {
2745
- var value = this.popStack(),
2746
- context,
2747
- type,
2748
- id;
2749
- &nbsp;
2750
- if (this.trackIds) {
2751
- id = this.popStack();
2752
- }
2753
- if (this.stringParams) {
2754
- type = this.popStack();
2755
- context = this.popStack();
2756
- }
2757
- &nbsp;
2758
- var hash = this.hash;
2759
- if (context) {
2760
- hash.contexts.push("'" + key + "': " + context);
2761
- }
2762
- if (type) {
2763
- hash.types.push("'" + key + "': " + type);
2764
- }
2765
- if (id) {
2766
- hash.ids.push("'" + key + "': " + id);
2767
- }
2768
- hash.values.push("'" + key + "': (" + value + ")");
2769
- },
2770
- &nbsp;
2771
- pushId: function(type, name) {
2772
- if (type === 'ID' || type === 'DATA') {
2773
- this.pushString(name);
2774
- } else if (type === 'sexpr') {
2775
- this.pushStackLiteral('true');
2776
- } else {
2777
- this.pushStackLiteral('null');
2778
- }
2779
- },
2780
- &nbsp;
2781
- // HELPERS
2782
- &nbsp;
2783
- compiler: JavaScriptCompiler,
2784
- &nbsp;
2785
- compileChildren: function(environment, options) {
2786
- var children = environment.children, child, compiler;
2787
- &nbsp;
2788
- for(var i=0, l=children.length; i&lt;l; i++) {
2789
- child = children[i];
2790
- compiler = new this.compiler();
2791
- &nbsp;
2792
- var index = this.matchExistingProgram(child);
2793
- &nbsp;
2794
- if (index == null) {
2795
- this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children
2796
- index = this.context.programs.length;
2797
- child.index = index;
2798
- child.name = 'program' + index;
2799
- this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile);
2800
- this.context.environments[index] = child;
2801
- &nbsp;
2802
- this.useDepths = this.useDepths || compiler.useDepths;
2803
- } else {
2804
- child.index = index;
2805
- child.name = 'program' + index;
2806
- }
2807
- }
2808
- },
2809
- matchExistingProgram: function(child) {
2810
- for (var i = 0, len = this.context.environments.length; i &lt; len; i++) {
2811
- var environment = this.context.environments[i];
2812
- if (environment &amp;&amp; environment.equals(child)) {
2813
- return i;
2814
- }
2815
- }
2816
- },
2817
- &nbsp;
2818
- programExpression: function(guid) {
2819
- var child = this.environment.children[guid],
2820
- depths = child.depths.list,
2821
- useDepths = this.useDepths,
2822
- depth;
2823
- &nbsp;
2824
- var programParams = [child.index, 'data'];
2825
- &nbsp;
2826
- if (useDepths) {
2827
- programParams.push('depths');
2828
- }
2829
- &nbsp;
2830
- return 'this.program(' + programParams.join(', ') + ')';
2831
- },
2832
- &nbsp;
2833
- useRegister: function(name) {
2834
- if(!this.registers[name]) {
2835
- this.registers[name] = true;
2836
- this.registers.list.push(name);
2837
- }
2838
- },
2839
- &nbsp;
2840
- pushStackLiteral: function(item) {
2841
- return this.push(new Literal(item));
2842
- },
2843
- &nbsp;
2844
- pushSource: function(source) {
2845
- if (this.pendingContent) {
2846
- this.source.push(this.appendToBuffer(this.quotedString(this.pendingContent)));
2847
- this.pendingContent = undefined;
2848
- }
2849
- &nbsp;
2850
- if (source) {
2851
- this.source.push(source);
2852
- }
2853
- },
2854
- &nbsp;
2855
- pushStack: function(item) {
2856
- this.flushInline();
2857
- &nbsp;
2858
- var stack = this.incrStack();
2859
- this.pushSource(stack + " = " + item + ";");
2860
- this.compileStack.push(stack);
2861
- return stack;
2862
- },
2863
- &nbsp;
2864
- replaceStack: function(callback) {
2865
- var prefix = '',
2866
- inline = this.isInline(),
2867
- stack,
2868
- createdStack,
2869
- usedLiteral;
2870
- &nbsp;
2871
- /* istanbul ignore next */
2872
- <span class="skip-if-branch" title="if path not taken" >I</span>if (!this.isInline()) {
2873
- <span class="cstat-skip" title="statement not covered" > throw new Exception('replaceStack on non-inline');</span>
2874
- }
2875
- &nbsp;
2876
- // We want to merge the inline statement into the replacement statement via ','
2877
- var top = this.popStack(true);
2878
- &nbsp;
2879
- if (top instanceof Literal) {
2880
- // Literals do not need to be inlined
2881
- prefix = stack = top.value;
2882
- usedLiteral = true;
2883
- } else {
2884
- // Get or create the current stack name for use by the inline
2885
- createdStack = !this.stackSlot;
2886
- var name = !createdStack ? <span class="branch-0 cbranch-no" title="branch not covered" >this.topStackName() </span>: this.incrStack();
2887
- &nbsp;
2888
- prefix = '(' + this.push(name) + ' = ' + top + ')';
2889
- stack = this.topStack();
2890
- }
2891
- &nbsp;
2892
- var item = callback.call(this, stack);
2893
- &nbsp;
2894
- if (!usedLiteral) {
2895
- this.popStack();
2896
- }
2897
- if (createdStack) {
2898
- this.stackSlot--;
2899
- }
2900
- this.push('(' + prefix + item + ')');
2901
- },
2902
- &nbsp;
2903
- incrStack: function() {
2904
- this.stackSlot++;
2905
- if(this.stackSlot &gt; this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); }
2906
- return this.topStackName();
2907
- },
2908
- topStackName: function() {
2909
- return "stack" + this.stackSlot;
2910
- },
2911
- flushInline: function() {
2912
- var inlineStack = this.inlineStack;
2913
- if (inlineStack.length) {
2914
- this.inlineStack = [];
2915
- for (var i = 0, len = inlineStack.length; i &lt; len; i++) {
2916
- var entry = inlineStack[i];
2917
- <span class="missing-if-branch" title="if path not taken" >I</span>if (entry instanceof Literal) {
2918
- <span class="cstat-no" title="statement not covered" > this.compileStack.push(entry);</span>
2919
- } else {
2920
- this.pushStack(entry);
2921
- }
2922
- }
2923
- }
2924
- },
2925
- isInline: function() {
2926
- return this.inlineStack.length;
2927
- },
2928
- &nbsp;
2929
- popStack: function(wrapped) {
2930
- var inline = this.isInline(),
2931
- item = (inline ? this.inlineStack : this.compileStack).pop();
2932
- &nbsp;
2933
- if (!wrapped &amp;&amp; (item instanceof Literal)) {
2934
- return item.value;
2935
- } else {
2936
- if (!inline) {
2937
- /* istanbul ignore next */
2938
- <span class="skip-if-branch" title="if path not taken" >I</span>if (!this.stackSlot) {
2939
- <span class="cstat-skip" title="statement not covered" > throw new Exception('Invalid stack pop');</span>
2940
- }
2941
- this.stackSlot--;
2942
- }
2943
- return item;
2944
- }
2945
- },
2946
- &nbsp;
2947
- topStack: function() {
2948
- var stack = (this.isInline() ? this.inlineStack : this.compileStack),
2949
- item = stack[stack.length - 1];
2950
- &nbsp;
2951
- <span class="missing-if-branch" title="if path not taken" >I</span>if (item instanceof Literal) {
2952
- <span class="cstat-no" title="statement not covered" > return item.value;</span>
2953
- } else {
2954
- return item;
2955
- }
2956
- },
2957
- &nbsp;
2958
- contextName: function(context) {
2959
- if (this.useDepths &amp;&amp; context) {
2960
- return 'depths[' + context + ']';
2961
- } else {
2962
- return 'depth' + context;
2963
- }
2964
- },
2965
- &nbsp;
2966
- quotedString: function(str) {
2967
- return '"' + str
2968
- .replace(/\\/g, '\\\\')
2969
- .replace(/"/g, '\\"')
2970
- .replace(/\n/g, '\\n')
2971
- .replace(/\r/g, '\\r')
2972
- .replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4
2973
- .replace(/\u2029/g, '\\u2029') + '"';
2974
- },
2975
- &nbsp;
2976
- objectLiteral: function(obj) {
2977
- var pairs = [];
2978
- &nbsp;
2979
- for (var key in obj) {
2980
- if (obj.hasOwnProperty(key)) {
2981
- pairs.push(this.quotedString(key) + ':' + obj[key]);
2982
- }
2983
- }
2984
- &nbsp;
2985
- return '{' + pairs.join(',') + '}';
2986
- },
2987
- &nbsp;
2988
- setupHelper: function(paramSize, name, blockHelper) {
2989
- var params = [],
2990
- paramsInit = this.setupParams(name, paramSize, params, blockHelper);
2991
- var foundHelper = this.nameLookup('helpers', name, 'helper');
2992
- &nbsp;
2993
- return {
2994
- params: params,
2995
- paramsInit: paramsInit,
2996
- name: foundHelper,
2997
- callParams: [this.contextName(0)].concat(params).join(", ")
2998
- };
2999
- },
3000
- &nbsp;
3001
- setupOptions: function(helper, paramSize, params) {
3002
- var options = {}, contexts = [], types = [], ids = [], param, inverse, program;
3003
- &nbsp;
3004
- options.name = this.quotedString(helper);
3005
- options.hash = this.popStack();
3006
- &nbsp;
3007
- if (this.trackIds) {
3008
- options.hashIds = this.popStack();
3009
- }
3010
- if (this.stringParams) {
3011
- options.hashTypes = this.popStack();
3012
- options.hashContexts = this.popStack();
3013
- }
3014
- &nbsp;
3015
- inverse = this.popStack();
3016
- program = this.popStack();
3017
- &nbsp;
3018
- // Avoid setting fn and inverse if neither are set. This allows
3019
- // helpers to do a check for `if (options.fn)`
3020
- if (program || inverse) {
3021
- if (!program) {
3022
- program = 'this.noop';
3023
- }
3024
- &nbsp;
3025
- if (!inverse) {
3026
- inverse = 'this.noop';
3027
- }
3028
- &nbsp;
3029
- options.fn = program;
3030
- options.inverse = inverse;
3031
- }
3032
- &nbsp;
3033
- // The parameters go on to the stack in order (making sure that they are evaluated in order)
3034
- // so we need to pop them off the stack in reverse order
3035
- var i = paramSize;
3036
- while (i--) {
3037
- param = this.popStack();
3038
- params[i] = param;
3039
- &nbsp;
3040
- if (this.trackIds) {
3041
- ids[i] = this.popStack();
3042
- }
3043
- if (this.stringParams) {
3044
- types[i] = this.popStack();
3045
- contexts[i] = this.popStack();
3046
- }
3047
- }
3048
- &nbsp;
3049
- if (this.trackIds) {
3050
- options.ids = "[" + ids.join(",") + "]";
3051
- }
3052
- if (this.stringParams) {
3053
- options.types = "[" + types.join(",") + "]";
3054
- options.contexts = "[" + contexts.join(",") + "]";
3055
- }
3056
- &nbsp;
3057
- if (this.options.data) {
3058
- options.data = "data";
3059
- }
3060
- &nbsp;
3061
- return options;
3062
- },
3063
- &nbsp;
3064
- // the params and contexts arguments are passed in arrays
3065
- // to fill in
3066
- setupParams: function(helperName, paramSize, params, useRegister) {
3067
- var options = this.objectLiteral(this.setupOptions(helperName, paramSize, params));
3068
- &nbsp;
3069
- if (useRegister) {
3070
- this.useRegister('options');
3071
- params.push('options');
3072
- return 'options=' + options;
3073
- } else {
3074
- params.push(options);
3075
- return '';
3076
- }
3077
- }
3078
- };
3079
- &nbsp;
3080
- var reservedWords = (
3081
- "break else new var" +
3082
- " case finally return void" +
3083
- " catch for switch while" +
3084
- " continue function this with" +
3085
- " default if throw" +
3086
- " delete in try" +
3087
- " do instanceof typeof" +
3088
- " abstract enum int short" +
3089
- " boolean export interface static" +
3090
- " byte extends long super" +
3091
- " char final native synchronized" +
3092
- " class float package throws" +
3093
- " const goto private transient" +
3094
- " debugger implements protected volatile" +
3095
- " double import public let yield"
3096
- ).split(" ");
3097
- &nbsp;
3098
- var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};
3099
- &nbsp;
3100
- for(var i=0, l=reservedWords.length; i&lt;l; i++) {
3101
- compilerWords[reservedWords[i]] = true;
3102
- }
3103
- &nbsp;
3104
- JavaScriptCompiler.isValidJavaScriptVariableName = function(name) {
3105
- return !JavaScriptCompiler.RESERVED_WORDS[name] &amp;&amp; /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name);
3106
- };
3107
- &nbsp;
3108
- exports["default"] = JavaScriptCompiler;</pre></td></tr>
3109
- </table></pre>
3110
-
3111
- </div>
3112
- <div class="footer">
3113
- <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Sep 01 2014 21:28:55 GMT-0500 (CDT)</div>
3114
- </div>
3115
-
3116
- <script src="../../../../prettify.js"></script>
3117
-
3118
- <script src="https://yui-s.yahooapis.com/3.6.0/build/yui/yui-min.js"></script>
3119
- <script>
3120
-
3121
- YUI().use('datatable', function (Y) {
3122
-
3123
- var formatters = {
3124
- pct: function (o) {
3125
- o.className += o.record.get('classes')[o.column.key];
3126
- try {
3127
- return o.value.toFixed(2) + '%';
3128
- } catch (ex) { return o.value + '%'; }
3129
- },
3130
- html: function (o) {
3131
- o.className += o.record.get('classes')[o.column.key];
3132
- return o.record.get(o.column.key + '_html');
3133
- }
3134
- },
3135
- defaultFormatter = function (o) {
3136
- o.className += o.record.get('classes')[o.column.key];
3137
- return o.value;
3138
- };
3139
-
3140
- function getColumns(theadNode) {
3141
- var colNodes = theadNode.all('tr th'),
3142
- cols = [],
3143
- col;
3144
- colNodes.each(function (colNode) {
3145
- col = {
3146
- key: colNode.getAttribute('data-col'),
3147
- label: colNode.get('innerHTML') || ' ',
3148
- sortable: !colNode.getAttribute('data-nosort'),
3149
- className: colNode.getAttribute('class'),
3150
- type: colNode.getAttribute('data-type'),
3151
- allowHTML: colNode.getAttribute('data-html') === 'true' || colNode.getAttribute('data-fmt') === 'html'
3152
- };
3153
- col.formatter = formatters[colNode.getAttribute('data-fmt')] || defaultFormatter;
3154
- cols.push(col);
3155
- });
3156
- return cols;
3157
- }
3158
-
3159
- function getRowData(trNode, cols) {
3160
- var tdNodes = trNode.all('td'),
3161
- i,
3162
- row = { classes: {} },
3163
- node,
3164
- name;
3165
- for (i = 0; i < cols.length; i += 1) {
3166
- name = cols[i].key;
3167
- node = tdNodes.item(i);
3168
- row[name] = node.getAttribute('data-value') || node.get('innerHTML');
3169
- row[name + '_html'] = node.get('innerHTML');
3170
- row.classes[name] = node.getAttribute('class');
3171
- //Y.log('Name: ' + name + '; Value: ' + row[name]);
3172
- if (cols[i].type === 'number') { row[name] = row[name] * 1; }
3173
- }
3174
- //Y.log(row);
3175
- return row;
3176
- }
3177
-
3178
- function getData(tbodyNode, cols) {
3179
- var data = [];
3180
- tbodyNode.all('tr').each(function (trNode) {
3181
- data.push(getRowData(trNode, cols));
3182
- });
3183
- return data;
3184
- }
3185
-
3186
- function replaceTable(node) {
3187
- if (!node) { return; }
3188
- var cols = getColumns(node.one('thead')),
3189
- data = getData(node.one('tbody'), cols),
3190
- table,
3191
- parent = node.get('parentNode');
3192
-
3193
- table = new Y.DataTable({
3194
- columns: cols,
3195
- data: data,
3196
- sortBy: 'file'
3197
- });
3198
- parent.set('innerHTML', '');
3199
- table.render(parent);
3200
- }
3201
-
3202
- Y.on('domready', function () {
3203
- replaceTable(Y.one('div.coverage-summary table'));
3204
- if (typeof prettyPrint === 'function') {
3205
- prettyPrint();
3206
- }
3207
- });
3208
- });
3209
- </script>
3210
- </body>
3211
- </html>