@madie/madie-design-system 1.2.78 → 1.2.80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/components/MadieDeleteDialog/index.jsx +2 -2
  2. package/components/RichTextEditor/index.jsx +1 -1
  3. package/dist/browser.js +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/react/index.js +1 -1
  6. package/dist/react/index.js.map +1 -1
  7. package/package.json +1 -1
  8. package/coverage/clover.xml +0 -771
  9. package/coverage/coverage-final.json +0 -40
  10. package/coverage/lcov-report/InputLabel/index.html +0 -116
  11. package/coverage/lcov-report/InputLabel/index.jsx.html +0 -244
  12. package/coverage/lcov-report/MadieTooltip/index.html +0 -131
  13. package/coverage/lcov-report/MadieTooltip/index.jsx.html +0 -229
  14. package/coverage/lcov-report/MadieTooltip/index.scss.html +0 -274
  15. package/coverage/lcov-report/MadieTooltipIcon/index.html +0 -116
  16. package/coverage/lcov-report/MadieTooltipIcon/index.jsx.html +0 -178
  17. package/coverage/lcov-report/TextField/index.html +0 -116
  18. package/coverage/lcov-report/TextField/index.jsx.html +0 -556
  19. package/coverage/lcov-report/base.css +0 -224
  20. package/coverage/lcov-report/block-navigation.js +0 -87
  21. package/coverage/lcov-report/favicon.png +0 -0
  22. package/coverage/lcov-report/index.html +0 -626
  23. package/coverage/lcov-report/prettify.css +0 -1
  24. package/coverage/lcov-report/prettify.js +0 -2
  25. package/coverage/lcov-report/react/components/Accordion/index.html +0 -116
  26. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +0 -370
  27. package/coverage/lcov-report/react/components/Alert/index.html +0 -116
  28. package/coverage/lcov-report/react/components/Alert/index.js.html +0 -250
  29. package/coverage/lcov-report/react/components/AutoComplete/AutoComplete.jsx.html +0 -868
  30. package/coverage/lcov-report/react/components/AutoComplete/index.html +0 -116
  31. package/coverage/lcov-report/react/components/Breadcrumb/index.html +0 -116
  32. package/coverage/lcov-report/react/components/Breadcrumb/index.js.html +0 -361
  33. package/coverage/lcov-report/react/components/Button/index.html +0 -116
  34. package/coverage/lcov-report/react/components/Button/index.js.html +0 -385
  35. package/coverage/lcov-report/react/components/DateField/DateField.jsx.html +0 -469
  36. package/coverage/lcov-report/react/components/DateField/index.html +0 -116
  37. package/coverage/lcov-report/react/components/DateTimeField/DateTimeField.jsx.html +0 -397
  38. package/coverage/lcov-report/react/components/DateTimeField/index.html +0 -116
  39. package/coverage/lcov-report/react/components/Dropdown/index.html +0 -116
  40. package/coverage/lcov-report/react/components/Dropdown/index.js.html +0 -340
  41. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +0 -364
  42. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +0 -178
  43. package/coverage/lcov-report/react/components/Error/error.js.html +0 -163
  44. package/coverage/lcov-report/react/components/Error/index.html +0 -146
  45. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +0 -496
  46. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +0 -697
  47. package/coverage/lcov-report/react/components/Footer/footer.js.html +0 -175
  48. package/coverage/lcov-report/react/components/Footer/index.html +0 -146
  49. package/coverage/lcov-report/react/components/FormControlLabel/index.html +0 -116
  50. package/coverage/lcov-report/react/components/FormControlLabel/index.jsx.html +0 -154
  51. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +0 -310
  52. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +0 -208
  53. package/coverage/lcov-report/react/components/Infotip/index.html +0 -146
  54. package/coverage/lcov-report/react/components/Infotip/index.js.html +0 -94
  55. package/coverage/lcov-report/react/components/InputLabel/index.html +0 -116
  56. package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +0 -244
  57. package/coverage/lcov-report/react/components/Instant/index.html +0 -116
  58. package/coverage/lcov-report/react/components/Instant/index.jsx.html +0 -886
  59. package/coverage/lcov-report/react/components/Link/index.html +0 -116
  60. package/coverage/lcov-report/react/components/Link/index.js.html +0 -268
  61. package/coverage/lcov-report/react/components/MadieAlert/index.html +0 -116
  62. package/coverage/lcov-report/react/components/MadieAlert/index.jsx.html +0 -1291
  63. package/coverage/lcov-report/react/components/MadieConfirmDialog/index.html +0 -116
  64. package/coverage/lcov-report/react/components/MadieConfirmDialog/index.jsx.html +0 -277
  65. package/coverage/lcov-report/react/components/MadieDeleteDialog/index.html +0 -116
  66. package/coverage/lcov-report/react/components/MadieDeleteDialog/index.jsx.html +0 -253
  67. package/coverage/lcov-report/react/components/MadieDialog/index.html +0 -116
  68. package/coverage/lcov-report/react/components/MadieDialog/index.jsx.html +0 -1165
  69. package/coverage/lcov-report/react/components/MadieDiscardDialog/index.html +0 -116
  70. package/coverage/lcov-report/react/components/MadieDiscardDialog/index.jsx.html +0 -232
  71. package/coverage/lcov-report/react/components/MadieSpinner/index.html +0 -116
  72. package/coverage/lcov-report/react/components/MadieSpinner/index.jsx.html +0 -190
  73. package/coverage/lcov-report/react/components/MadieTooltip/index.html +0 -116
  74. package/coverage/lcov-report/react/components/MadieTooltip/index.jsx.html +0 -232
  75. package/coverage/lcov-report/react/components/MadieTooltip/index.scss.html +0 -274
  76. package/coverage/lcov-report/react/components/MadieTooltipIcon/index.html +0 -116
  77. package/coverage/lcov-report/react/components/MadieTooltipIcon/index.jsx.html +0 -178
  78. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +0 -553
  79. package/coverage/lcov-report/react/components/Modal/index.html +0 -131
  80. package/coverage/lcov-report/react/components/Modal/index.jsx.html +0 -139
  81. package/coverage/lcov-report/react/components/NumberInput/index.html +0 -116
  82. package/coverage/lcov-report/react/components/NumberInput/index.jsx.html +0 -310
  83. package/coverage/lcov-report/react/components/Pagination/index.html +0 -116
  84. package/coverage/lcov-report/react/components/Pagination/index.jsx.html +0 -736
  85. package/coverage/lcov-report/react/components/Popover/index.html +0 -116
  86. package/coverage/lcov-report/react/components/Popover/index.js.html +0 -481
  87. package/coverage/lcov-report/react/components/RadioButton/RadioButton.jsx.html +0 -490
  88. package/coverage/lcov-report/react/components/RadioButton/index.html +0 -116
  89. package/coverage/lcov-report/react/components/ReadOnlyTextField/index.html +0 -116
  90. package/coverage/lcov-report/react/components/ReadOnlyTextField/index.jsx.html +0 -346
  91. package/coverage/lcov-report/react/components/RichTextEditor/index.html +0 -116
  92. package/coverage/lcov-report/react/components/RichTextEditor/index.jsx.html +0 -922
  93. package/coverage/lcov-report/react/components/Search/index.html +0 -116
  94. package/coverage/lcov-report/react/components/Search/index.js.html +0 -343
  95. package/coverage/lcov-report/react/components/Select/index.html +0 -116
  96. package/coverage/lcov-report/react/components/Select/index.jsx.html +0 -658
  97. package/coverage/lcov-report/react/components/Tabs/Tab.js.html +0 -325
  98. package/coverage/lcov-report/react/components/Tabs/TabPanel.js.html +0 -208
  99. package/coverage/lcov-report/react/components/Tabs/index.html +0 -146
  100. package/coverage/lcov-report/react/components/Tabs/index.js.html +0 -433
  101. package/coverage/lcov-report/react/components/TextArea/index.html +0 -116
  102. package/coverage/lcov-report/react/components/TextArea/index.jsx.html +0 -520
  103. package/coverage/lcov-report/react/components/TextField/index.html +0 -116
  104. package/coverage/lcov-report/react/components/TextField/index.jsx.html +0 -748
  105. package/coverage/lcov-report/react/components/TextInput/index.html +0 -116
  106. package/coverage/lcov-report/react/components/TextInput/index.js.html +0 -496
  107. package/coverage/lcov-report/react/components/TimeField/TimeField.jsx.html +0 -388
  108. package/coverage/lcov-report/react/components/TimeField/index.html +0 -116
  109. package/coverage/lcov-report/react/components/Toast/index.html +0 -116
  110. package/coverage/lcov-report/react/components/Toast/index.jsx.html +0 -436
  111. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +0 -349
  112. package/coverage/lcov-report/react/components/Tooltip/index.html +0 -146
  113. package/coverage/lcov-report/react/components/Tooltip/index.js.html +0 -94
  114. package/coverage/lcov-report/react/components/Tooltip/position.js.html +0 -313
  115. package/coverage/lcov-report/react/components/TruncateText/index.html +0 -116
  116. package/coverage/lcov-report/react/components/TruncateText/index.js.html +0 -241
  117. package/coverage/lcov-report/react/components/index.html +0 -116
  118. package/coverage/lcov-report/react/components/index.js.html +0 -547
  119. package/coverage/lcov-report/react/index.html +0 -116
  120. package/coverage/lcov-report/react/index.js.html +0 -127
  121. package/coverage/lcov-report/react/lib/Chevron.jsx.html +0 -181
  122. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +0 -1777
  123. package/coverage/lcov-report/react/lib/index.html +0 -131
  124. package/coverage/lcov-report/react/themes/actionCenterTheme.js.html +0 -175
  125. package/coverage/lcov-report/react/themes/index.html +0 -116
  126. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  127. package/coverage/lcov-report/sorter.js +0 -196
  128. package/coverage/lcov.info +0 -1705
  129. package/storybook-static/1606.9527419c.iframe.bundle.js +0 -76
  130. package/storybook-static/1606.9527419c.iframe.bundle.js.LICENSE.txt +0 -8
  131. package/storybook-static/1606.9527419c.iframe.bundle.js.map +0 -1
  132. package/storybook-static/1822.72412063.iframe.bundle.js +0 -2
  133. package/storybook-static/1822.72412063.iframe.bundle.js.LICENSE.txt +0 -5
  134. package/storybook-static/2247.8b06a622.iframe.bundle.js +0 -87
  135. package/storybook-static/2247.8b06a622.iframe.bundle.js.LICENSE.txt +0 -9
  136. package/storybook-static/2247.8b06a622.iframe.bundle.js.map +0 -1
  137. package/storybook-static/2360.690c5cd8.iframe.bundle.js +0 -1
  138. package/storybook-static/2505.5a3351ca.iframe.bundle.js +0 -2
  139. package/storybook-static/2505.5a3351ca.iframe.bundle.js.LICENSE.txt +0 -9
  140. package/storybook-static/2543.64e1c8c6.iframe.bundle.js +0 -2
  141. package/storybook-static/2543.64e1c8c6.iframe.bundle.js.LICENSE.txt +0 -8
  142. package/storybook-static/2763.e9244c7e.iframe.bundle.js +0 -1
  143. package/storybook-static/3009.7080427c.iframe.bundle.js +0 -1
  144. package/storybook-static/312.98473fc0.iframe.bundle.js +0 -2
  145. package/storybook-static/312.98473fc0.iframe.bundle.js.LICENSE.txt +0 -17
  146. package/storybook-static/3264.1483ccad.iframe.bundle.js +0 -1
  147. package/storybook-static/3461.b9b84310.iframe.bundle.js +0 -29
  148. package/storybook-static/3461.b9b84310.iframe.bundle.js.map +0 -1
  149. package/storybook-static/4246.3dee0bc1.iframe.bundle.js +0 -1
  150. package/storybook-static/4683.334f6a20.iframe.bundle.js +0 -1
  151. package/storybook-static/4753.b31cfa9b.iframe.bundle.js +0 -1
  152. package/storybook-static/4788.aa09e5f9.iframe.bundle.js +0 -1
  153. package/storybook-static/5043.53f3bb0c.iframe.bundle.js +0 -2
  154. package/storybook-static/5043.53f3bb0c.iframe.bundle.js.LICENSE.txt +0 -1
  155. package/storybook-static/5467.8b66ac25.iframe.bundle.js +0 -1
  156. package/storybook-static/6357.6600668a.iframe.bundle.js +0 -1
  157. package/storybook-static/651.1fcfd284.iframe.bundle.js +0 -1
  158. package/storybook-static/6520.84e91a57.iframe.bundle.js +0 -2
  159. package/storybook-static/6520.84e91a57.iframe.bundle.js.LICENSE.txt +0 -19
  160. package/storybook-static/6958.8a916fa2.iframe.bundle.js +0 -1
  161. package/storybook-static/7599.3f695d6a.iframe.bundle.js +0 -1
  162. package/storybook-static/7648.6ac96dea.iframe.bundle.js +0 -1
  163. package/storybook-static/7737.8a6a8e54.iframe.bundle.js +0 -1
  164. package/storybook-static/8255.e2a8ed59.iframe.bundle.js +0 -2
  165. package/storybook-static/8255.e2a8ed59.iframe.bundle.js.LICENSE.txt +0 -9
  166. package/storybook-static/8735.566590af.iframe.bundle.js +0 -2
  167. package/storybook-static/8735.566590af.iframe.bundle.js.LICENSE.txt +0 -29
  168. package/storybook-static/9010.9ac07800.iframe.bundle.js +0 -1
  169. package/storybook-static/9060.b9282f66.iframe.bundle.js +0 -1
  170. package/storybook-static/9249.28266e92.iframe.bundle.js +0 -1
  171. package/storybook-static/9859.25828a48.iframe.bundle.js +0 -2
  172. package/storybook-static/9859.25828a48.iframe.bundle.js.LICENSE.txt +0 -9
  173. package/storybook-static/Accordion-Accordion-stories.dbeb9f2a.iframe.bundle.js +0 -2
  174. package/storybook-static/Accordion-Accordion-stories.dbeb9f2a.iframe.bundle.js.LICENSE.txt +0 -9
  175. package/storybook-static/AutoComplete-AutoComplete-stories.3fa69ad4.iframe.bundle.js +0 -1
  176. package/storybook-static/Button-Button-stories.c56437c4.iframe.bundle.js +0 -1
  177. package/storybook-static/DateField-DateField-stories.9e1b9e5c.iframe.bundle.js +0 -1
  178. package/storybook-static/DateTimeField-DateTimeField-stories.4d184efd.iframe.bundle.js +0 -1
  179. package/storybook-static/Instant-Instant-stories.cdd1bf7f.iframe.bundle.js +0 -1
  180. package/storybook-static/MadieAlert-MadieAlert-stories.b0a784a8.iframe.bundle.js +0 -1
  181. package/storybook-static/MadieConfirmDialog-MadieConfirmDialog-stories.2629a704.iframe.bundle.js +0 -1
  182. package/storybook-static/MadieDeleteDialog-MadieDeleteDialog-stories.0f91e77f.iframe.bundle.js +0 -1
  183. package/storybook-static/MadieDialog-MadieDialog-stories.1e63ebb3.iframe.bundle.js +0 -1
  184. package/storybook-static/MadieDiscardDialog-MadieDiscardDialog-stories.4632ec72.iframe.bundle.js +0 -1
  185. package/storybook-static/MadieSpinner-MadieSpinner-stories.6c47900d.iframe.bundle.js +0 -30
  186. package/storybook-static/MadieSpinner-MadieSpinner-stories.6c47900d.iframe.bundle.js.LICENSE.txt +0 -8
  187. package/storybook-static/MadieSpinner-MadieSpinner-stories.6c47900d.iframe.bundle.js.map +0 -1
  188. package/storybook-static/MadieTooltip-MadieTooltip-stories.0c8fb8f7.iframe.bundle.js +0 -2
  189. package/storybook-static/MadieTooltip-MadieTooltip-stories.0c8fb8f7.iframe.bundle.js.LICENSE.txt +0 -9
  190. package/storybook-static/MadieTooltipIcon-MadieTooltipIcon-stories.b33f0165.iframe.bundle.js +0 -2
  191. package/storybook-static/MadieTooltipIcon-MadieTooltipIcon-stories.b33f0165.iframe.bundle.js.LICENSE.txt +0 -9
  192. package/storybook-static/Modal-Modal-stories.1c8c1dcd.iframe.bundle.js +0 -2
  193. package/storybook-static/Modal-Modal-stories.1c8c1dcd.iframe.bundle.js.LICENSE.txt +0 -19
  194. package/storybook-static/NumberInput-NumberInput-stories.b642f330.iframe.bundle.js +0 -1
  195. package/storybook-static/Pagination-Pagination-stories.dc63a146.iframe.bundle.js +0 -1
  196. package/storybook-static/Popover-Popover-stories.680cce19.iframe.bundle.js +0 -1
  197. package/storybook-static/RadioButton-RadioButton-stories.5daa020f.iframe.bundle.js +0 -1
  198. package/storybook-static/ReadOnlyTextField-ReadOnlyTextField-stories.281af1c9.iframe.bundle.js +0 -1
  199. package/storybook-static/RichTextEditor-RichTextEditor-stories.f2f6efd0.iframe.bundle.js +0 -1
  200. package/storybook-static/Search-Search-stories.ce9d2b51.iframe.bundle.js +0 -1
  201. package/storybook-static/Select-Select-stories.1ba58501.iframe.bundle.js +0 -1
  202. package/storybook-static/Tabs-Tabs-stories.e9bf42ff.iframe.bundle.js +0 -1
  203. package/storybook-static/TextArea-TextArea-stories.9bb45748.iframe.bundle.js +0 -1
  204. package/storybook-static/TextField-TextField-stories.e5c08a5e.iframe.bundle.js +0 -1
  205. package/storybook-static/TimeField-TimeField-stories.760f9db5.iframe.bundle.js +0 -1
  206. package/storybook-static/Toast-Toast-stories.160e8bf1.iframe.bundle.js +0 -1
  207. package/storybook-static/TruncateText-TruncateText-stories.2da57e6a.iframe.bundle.js +0 -1
  208. package/storybook-static/favicon.svg +0 -1
  209. package/storybook-static/iframe.html +0 -531
  210. package/storybook-static/index.html +0 -152
  211. package/storybook-static/index.json +0 -1
  212. package/storybook-static/main.18ce3a87.iframe.bundle.js +0 -1
  213. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  214. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  215. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  216. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  217. package/storybook-static/project.json +0 -1
  218. package/storybook-static/runtime~main.6bbd8126.iframe.bundle.js +0 -1
  219. package/storybook-static/sb-addons/docs-2/manager-bundle.js +0 -151
  220. package/storybook-static/sb-addons/links-1/manager-bundle.js +0 -3
  221. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -188
  222. package/storybook-static/sb-common-assets/favicon.svg +0 -1
  223. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  224. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  225. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  226. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  227. package/storybook-static/sb-manager/globals-module-info.js +0 -797
  228. package/storybook-static/sb-manager/globals-runtime.js +0 -69459
  229. package/storybook-static/sb-manager/globals.js +0 -34
  230. package/storybook-static/sb-manager/runtime.js +0 -13003
  231. package/storybook-static/sb-preview/globals.js +0 -25
  232. package/storybook-static/sb-preview/runtime.js +0 -43237
  233. package/storybook-static/static/media/FontAwesome.91f80bba.otf +0 -0
  234. package/storybook-static/static/media/Rubik-Bold.31bbd4d2.ttf +0 -0
  235. package/storybook-static/static/media/Rubik-Light.c90e2014.ttf +0 -0
  236. package/storybook-static/static/media/Rubik-Medium.5daa89aa.ttf +0 -0
  237. package/storybook-static/static/media/Rubik-Regular.cdf97d58.ttf +0 -0
  238. package/storybook-static/static/media/bitter-bold.24bf01e4.woff2 +0 -0
  239. package/storybook-static/static/media/bitter-italic.34644574.woff2 +0 -0
  240. package/storybook-static/static/media/bitter-regular.f4e2f1f1.woff2 +0 -0
  241. package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
  242. package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
  243. package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
  244. package/storybook-static/static/media/fontawesome-webfont.c1e38fd9.svg +0 -2671
  245. package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
  246. package/storybook-static/static/media/opensans-bold-webfont.92e570c6.woff2 +0 -0
  247. package/storybook-static/static/media/opensans-italic-webfont.72daa33a.woff2 +0 -0
  248. package/storybook-static/static/media/opensans-regular-webfont.ca4dd835.woff2 +0 -0
  249. package/storybook-static/static/media/opensans-semibold-webfont.17ded75f.woff2 +0 -0
@@ -1,1291 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for react/components/MadieAlert/index.jsx</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">react/components/MadieAlert</a> index.jsx</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">98.9% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>90/91</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">87.95% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>73/83</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>23/23</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>87/87</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-neutral">&nbsp;</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-neutral">&nbsp;</span>
481
- <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-neutral">&nbsp;</span>
483
- <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-neutral">&nbsp;</span>
485
- <span class="cline-any cline-yes">11x</span>
486
- <span class="cline-any cline-neutral">&nbsp;</span>
487
- <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-neutral">&nbsp;</span>
489
- <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-neutral">&nbsp;</span>
493
- <span class="cline-any cline-yes">11x</span>
494
- <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-neutral">&nbsp;</span>
496
- <span class="cline-any cline-neutral">&nbsp;</span>
497
- <span class="cline-any cline-yes">11x</span>
498
- <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-neutral">&nbsp;</span>
501
- <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-neutral">&nbsp;</span>
504
- <span class="cline-any cline-neutral">&nbsp;</span>
505
- <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-neutral">&nbsp;</span>
507
- <span class="cline-any cline-neutral">&nbsp;</span>
508
- <span class="cline-any cline-neutral">&nbsp;</span>
509
- <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-neutral">&nbsp;</span>
511
- <span class="cline-any cline-yes">11x</span>
512
- <span class="cline-any cline-neutral">&nbsp;</span>
513
- <span class="cline-any cline-yes">24x</span>
514
- <span class="cline-any cline-yes">24x</span>
515
- <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-yes">24x</span>
517
- <span class="cline-any cline-yes">71x</span>
518
- <span class="cline-any cline-neutral">&nbsp;</span>
519
- <span class="cline-any cline-yes">61x</span>
520
- <span class="cline-any cline-yes">31x</span>
521
- <span class="cline-any cline-yes">31x</span>
522
- <span class="cline-any cline-neutral">&nbsp;</span>
523
- <span class="cline-any cline-neutral">&nbsp;</span>
524
- <span class="cline-any cline-neutral">&nbsp;</span>
525
- <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-yes">31x</span>
527
- <span class="cline-any cline-neutral">&nbsp;</span>
528
- <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-yes">61x</span>
530
- <span class="cline-any cline-yes">61x</span>
531
- <span class="cline-any cline-yes">16x</span>
532
- <span class="cline-any cline-yes">45x</span>
533
- <span class="cline-any cline-yes">10x</span>
534
- <span class="cline-any cline-neutral">&nbsp;</span>
535
- <span class="cline-any cline-neutral">&nbsp;</span>
536
- <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-yes">24x</span>
538
- <span class="cline-any cline-neutral">&nbsp;</span>
539
- <span class="cline-any cline-yes">24x</span>
540
- <span class="cline-any cline-neutral">&nbsp;</span>
541
- <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-neutral">&nbsp;</span>
543
- <span class="cline-any cline-yes">24x</span>
544
- <span class="cline-any cline-yes">71x</span>
545
- <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-yes">71x</span>
548
- <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-yes">71x</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-yes">10x</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-yes">71x</span>
557
- <span class="cline-any cline-yes">16x</span>
558
- <span class="cline-any cline-yes">37x</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-yes">37x</span>
561
- <span class="cline-any cline-yes">33x</span>
562
- <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-yes">33x</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-yes">19x</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
- <span class="cline-any cline-neutral">&nbsp;</span>
571
- <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-yes">55x</span>
573
- <span class="cline-any cline-yes">10x</span>
574
- <span class="cline-any cline-yes">45x</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-neutral">&nbsp;</span>
578
- <span class="cline-any cline-neutral">&nbsp;</span>
579
- <span class="cline-any cline-yes">35x</span>
580
- <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-neutral">&nbsp;</span>
582
- <span class="cline-any cline-neutral">&nbsp;</span>
583
- <span class="cline-any cline-yes">10x</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-neutral">&nbsp;</span>
588
- <span class="cline-any cline-yes">10x</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-yes">71x</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-yes">24x</span>
596
- <span class="cline-any cline-yes">24x</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-neutral">&nbsp;</span>
606
- <span class="cline-any cline-yes">11x</span>
607
- <span class="cline-any cline-yes">51x</span>
608
- <span class="cline-any cline-neutral">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-yes">11x</span>
616
- <span class="cline-any cline-neutral">&nbsp;</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-yes">11x</span>
624
- <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-neutral">&nbsp;</span>
629
- <span class="cline-any cline-neutral">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-neutral">&nbsp;</span>
632
- <span class="cline-any cline-neutral">&nbsp;</span>
633
- <span class="cline-any cline-neutral">&nbsp;</span>
634
- <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-yes">46x</span>
636
- <span class="cline-any cline-neutral">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-neutral">&nbsp;</span>
643
- <span class="cline-any cline-yes">46x</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-neutral">&nbsp;</span>
646
- <span class="cline-any cline-yes">46x</span>
647
- <span class="cline-any cline-yes">30x</span>
648
- <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-yes">46x</span>
652
- <span class="cline-any cline-yes">16x</span>
653
- <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-neutral">&nbsp;</span>
655
- <span class="cline-any cline-neutral">&nbsp;</span>
656
- <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-neutral">&nbsp;</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-neutral">&nbsp;</span>
666
- <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-neutral">&nbsp;</span>
668
- <span class="cline-any cline-neutral">&nbsp;</span>
669
- <span class="cline-any cline-neutral">&nbsp;</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-neutral">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-yes">46x</span>
678
- <span class="cline-any cline-yes">16x</span>
679
- <span class="cline-any cline-yes">16x</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-yes">16x</span>
682
- <span class="cline-any cline-yes">21x</span>
683
- <span class="cline-any cline-yes">20x</span>
684
- <span class="cline-any cline-yes">20x</span>
685
- <span class="cline-any cline-neutral">&nbsp;</span>
686
- <span class="cline-any cline-yes">20x</span>
687
- <span class="cline-any cline-yes">5x</span>
688
- <span class="cline-any cline-neutral">&nbsp;</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-neutral">&nbsp;</span>
692
- <span class="cline-any cline-yes">16x</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
- <span class="cline-any cline-neutral">&nbsp;</span>
695
- <span class="cline-any cline-neutral">&nbsp;</span>
696
- <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-neutral">&nbsp;</span>
698
- <span class="cline-any cline-neutral">&nbsp;</span>
699
- <span class="cline-any cline-yes">46x</span>
700
- <span class="cline-any cline-yes">8x</span>
701
- <span class="cline-any cline-neutral">&nbsp;</span>
702
- <span class="cline-any cline-neutral">&nbsp;</span>
703
- <span class="cline-any cline-neutral">&nbsp;</span>
704
- <span class="cline-any cline-neutral">&nbsp;</span>
705
- <span class="cline-any cline-yes">46x</span>
706
- <span class="cline-any cline-yes">1x</span>
707
- <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-yes">46x</span>
711
- <span class="cline-any cline-yes">10x</span>
712
- <span class="cline-any cline-yes">10x</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-yes">46x</span>
715
- <span class="cline-any cline-yes">10x</span>
716
- <span class="cline-any cline-neutral">&nbsp;</span>
717
- <span class="cline-any cline-neutral">&nbsp;</span>
718
- <span class="cline-any cline-neutral">&nbsp;</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-yes">46x</span>
721
- <span class="cline-any cline-neutral">&nbsp;</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-neutral">&nbsp;</span>
724
- <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-neutral">&nbsp;</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-yes">63x</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-yes">63x</span>
732
- <span class="cline-any cline-neutral">&nbsp;</span>
733
- <span class="cline-any cline-yes">51x</span>
734
- <span class="cline-any cline-yes">51x</span>
735
- <span class="cline-any cline-neutral">&nbsp;</span>
736
- <span class="cline-any cline-yes">51x</span>
737
- <span class="cline-any cline-neutral">&nbsp;</span>
738
- <span class="cline-any cline-neutral">&nbsp;</span>
739
- <span class="cline-any cline-neutral">&nbsp;</span>
740
- <span class="cline-any cline-neutral">&nbsp;</span>
741
- <span class="cline-any cline-neutral">&nbsp;</span>
742
- <span class="cline-any cline-neutral">&nbsp;</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-neutral">&nbsp;</span>
745
- <span class="cline-any cline-neutral">&nbsp;</span>
746
- <span class="cline-any cline-neutral">&nbsp;</span>
747
- <span class="cline-any cline-yes">8x</span>
748
- <span class="cline-any cline-yes">8x</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-neutral">&nbsp;</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
- <span class="cline-any cline-neutral">&nbsp;</span>
753
- <span class="cline-any cline-neutral">&nbsp;</span>
754
- <span class="cline-any cline-neutral">&nbsp;</span>
755
- <span class="cline-any cline-neutral">&nbsp;</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-neutral">&nbsp;</span>
759
- <span class="cline-any cline-neutral">&nbsp;</span>
760
- <span class="cline-any cline-neutral">&nbsp;</span>
761
- <span class="cline-any cline-neutral">&nbsp;</span>
762
- <span class="cline-any cline-neutral">&nbsp;</span>
763
- <span class="cline-any cline-neutral">&nbsp;</span>
764
- <span class="cline-any cline-yes">4x</span>
765
- <span class="cline-any cline-yes">4x</span>
766
- <span class="cline-any cline-neutral">&nbsp;</span>
767
- <span class="cline-any cline-neutral">&nbsp;</span>
768
- <span class="cline-any cline-neutral">&nbsp;</span>
769
- <span class="cline-any cline-neutral">&nbsp;</span>
770
- <span class="cline-any cline-yes">4x</span>
771
- <span class="cline-any cline-neutral">&nbsp;</span>
772
- <span class="cline-any cline-neutral">&nbsp;</span>
773
- <span class="cline-any cline-neutral">&nbsp;</span>
774
- <span class="cline-any cline-neutral">&nbsp;</span>
775
- <span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-neutral">&nbsp;</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-neutral">&nbsp;</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-neutral">&nbsp;</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-yes">46x</span>
790
- <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-neutral">&nbsp;</span>
797
- <span class="cline-any cline-yes">1x</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-neutral">&nbsp;</span>
800
- <span class="cline-any cline-neutral">&nbsp;</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-yes">63x</span>
803
- <span class="cline-any cline-neutral">&nbsp;</span>
804
- <span class="cline-any cline-neutral">&nbsp;</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-neutral">&nbsp;</span>
807
- <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-neutral">&nbsp;</span>
809
- <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-neutral">&nbsp;</span>
812
- <span class="cline-any cline-neutral">&nbsp;</span>
813
- <span class="cline-any cline-neutral">&nbsp;</span>
814
- <span class="cline-any cline-neutral">&nbsp;</span>
815
- <span class="cline-any cline-neutral">&nbsp;</span>
816
- <span class="cline-any cline-neutral">&nbsp;</span>
817
- <span class="cline-any cline-neutral">&nbsp;</span>
818
- <span class="cline-any cline-yes">1x</span>
819
- <span class="cline-any cline-yes">1x</span>
820
- <span class="cline-any cline-neutral">&nbsp;</span>
821
- <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-neutral">&nbsp;</span>
824
- <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-neutral">&nbsp;</span>
827
- <span class="cline-any cline-neutral">&nbsp;</span>
828
- <span class="cline-any cline-neutral">&nbsp;</span>
829
- <span class="cline-any cline-neutral">&nbsp;</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-neutral">&nbsp;</span>
833
- <span class="cline-any cline-neutral">&nbsp;</span>
834
- <span class="cline-any cline-neutral">&nbsp;</span>
835
- <span class="cline-any cline-neutral">&nbsp;</span>
836
- <span class="cline-any cline-neutral">&nbsp;</span>
837
- <span class="cline-any cline-neutral">&nbsp;</span>
838
- <span class="cline-any cline-neutral">&nbsp;</span>
839
- <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-neutral">&nbsp;</span>
841
- <span class="cline-any cline-yes">11x</span>
842
- <span class="cline-any cline-neutral">&nbsp;</span>
843
- <span class="cline-any cline-neutral">&nbsp;</span>
844
- <span class="cline-any cline-neutral">&nbsp;</span>
845
- <span class="cline-any cline-neutral">&nbsp;</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span>
847
- <span class="cline-any cline-neutral">&nbsp;</span>
848
- <span class="cline-any cline-neutral">&nbsp;</span>
849
- <span class="cline-any cline-neutral">&nbsp;</span>
850
- <span class="cline-any cline-neutral">&nbsp;</span>
851
- <span class="cline-any cline-neutral">&nbsp;</span>
852
- <span class="cline-any cline-neutral">&nbsp;</span>
853
- <span class="cline-any cline-neutral">&nbsp;</span>
854
- <span class="cline-any cline-neutral">&nbsp;</span>
855
- <span class="cline-any cline-neutral">&nbsp;</span>
856
- <span class="cline-any cline-neutral">&nbsp;</span>
857
- <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-neutral">&nbsp;</span>
859
- <span class="cline-any cline-neutral">&nbsp;</span>
860
- <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-neutral">&nbsp;</span>
862
- <span class="cline-any cline-neutral">&nbsp;</span>
863
- <span class="cline-any cline-yes">11x</span>
864
- <span class="cline-any cline-neutral">&nbsp;</span>
865
- <span class="cline-any cline-neutral">&nbsp;</span>
866
- <span class="cline-any cline-neutral">&nbsp;</span>
867
- <span class="cline-any cline-neutral">&nbsp;</span>
868
- <span class="cline-any cline-neutral">&nbsp;</span>
869
- <span class="cline-any cline-neutral">&nbsp;</span>
870
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useEffect, useState, useMemo } from "react";
871
- &nbsp;
872
- import ErrorIcon from "@mui/icons-material/Error"; // warning
873
- import InfoIcon from "@mui/icons-material/Info"; // info
874
- import CancelIcon from "@mui/icons-material/Cancel"; // error
875
- import CheckCircleIcon from "@mui/icons-material/CheckCircle"; //success
876
- import ContentCopyIcon from "@mui/icons-material/ContentCopy"; //copy
877
- import FullscreenExitRoundedIcon from "@mui/icons-material/FullscreenExitRounded";
878
- import WarningRoundedIcon from "@mui/icons-material/WarningRounded";
879
- import Tooltip from "@mui/material/Tooltip";
880
- import { IconButton } from "@mui/material";
881
- import ClearIcon from "@mui/icons-material/Clear";
882
- import Toast from "../Toast/index";
883
- import classNames from "classnames";
884
- import PropTypes from "prop-types";
885
- &nbsp;
886
- // Define icon mapping outside component to avoid recreation on each render
887
- const typeToIconMap = {
888
- warning: ErrorIcon,
889
- info: InfoIcon,
890
- error: CancelIcon,
891
- success: CheckCircleIcon,
892
- };
893
- &nbsp;
894
- // Common button styles
895
- const buttonBaseSx = {
896
- marginLeft: "auto",
897
- };
898
- &nbsp;
899
- const buttonWithDividerSx = {
900
- ...buttonBaseSx,
901
- "&amp;:after": {
902
- content: `''`,
903
- position: "absolute",
904
- left: "0px",
905
- width: "1px",
906
- height: "40px",
907
- backgroundColor: "#B0B0B0",
908
- pointerEvents: "none",
909
- },
910
- };
911
- &nbsp;
912
- // Extract alert content processing to a separate function
913
- const processContent = (content) =&gt; {
914
- // Counts errors/warnings in ul/li elements
915
- const countUlLiChildren = (element) =&gt; {
916
- const counts = { ul: 0, li: 0 };
917
- &nbsp;
918
- const traverse = (el) =&gt; {
919
- if (!el || typeof el !== "object") return;
920
- &nbsp;
921
- if (el.type === "ul" || el.type === "li") {
922
- const children = el.props?.children;
923
- const childCount = Array.isArray(children)
924
- ? children.length
925
- : children
926
- ? 1
927
- : <span class="branch-1 cbranch-no" title="branch not covered" >0;</span>
928
- counts[el.type] += childCount;
929
- }
930
- &nbsp;
931
- const children = el.props?.children;
932
- if (Array.isArray(children)) {
933
- children.forEach(traverse);
934
- } else if (children &amp;&amp; typeof children === "object") {
935
- traverse(children);
936
- }
937
- };
938
- &nbsp;
939
- traverse(element);
940
- &nbsp;
941
- return counts.li &gt; counts.ul ? counts.li : counts.ul;
942
- };
943
- &nbsp;
944
- // Converts content to text for copying - improved to avoid unwanted characters
945
- const buildCopyText = (contentNode, parentNode = <span class="branch-0 cbranch-no" title="branch not covered" >true)</span> =&gt; {
946
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!contentNode) <span class="cstat-no" title="statement not covered" >return "";</span>
947
- &nbsp;
948
- // Initialize result string
949
- let result = "";
950
- &nbsp;
951
- // Handle specific node types that need special formatting
952
- if (contentNode.type === "ul") {
953
- // Start ul with a newline
954
- result = "\n";
955
- }
956
- &nbsp;
957
- // Process children based on their type
958
- if (Array.isArray(contentNode.props?.children)) {
959
- contentNode.props.children.forEach((child, index) =&gt; {
960
- const childText = buildCopyText(child, false);
961
- // Only add non-empty text
962
- if (childText.trim()) {
963
- result += childText;
964
- &nbsp;
965
- // Add line breaks after certain elements
966
- if (
967
- (parentNode &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >index === 1)</span> ||
968
- contentNode.type === "ul"
969
- ) {
970
- result += "\n";
971
- }
972
- }
973
- });
974
- } else if (typeof contentNode.props?.children === "object") {
975
- result += buildCopyText(contentNode.props.children, false);
976
- } else if (
977
- typeof contentNode.props?.children === "string" ||
978
- typeof contentNode.props?.children === "number"
979
- ) {
980
- // Clean the string by trimming and normalizing whitespace
981
- result += contentNode.props.children
982
- .toString()
983
- .replace(/\s+/g, " ")
984
- .trim();
985
- } else <span class="missing-if-branch" title="else path not taken" >E</span>if (
986
- typeof contentNode === "string" ||
987
- <span class="branch-1 cbranch-no" title="branch not covered" > typeof contentNode === "number"</span>
988
- ) {
989
- // Clean the string by trimming and normalizing whitespace
990
- result += contentNode.toString().replace(/\s+/g, " ").trim();
991
- }
992
- &nbsp;
993
- return result;
994
- };
995
- &nbsp;
996
- // Process content and ensure we trim the final result
997
- const rawText = buildCopyText(content, false);
998
- return {
999
- errorCount: countUlLiChildren(content),
1000
- copyText: rawText
1001
- .replace(/\s+\n/g, "\n")
1002
- .replace(/\n\s+/g, "\n")
1003
- .trim(),
1004
- };
1005
- };
1006
- &nbsp;
1007
- // Define ActionButton as a separate component outside MadieAlert
1008
- const ActionButton = ({ tooltip, onClick, icon, testId, sx }) =&gt; (
1009
- &lt;Tooltip title={tooltip} data-testid={`${testId}-tooltip`} arrow&gt;
1010
- &lt;IconButton onClick={onClick} sx={sx} data-testid={testId}&gt;
1011
- {icon}
1012
- &lt;/IconButton&gt;
1013
- &lt;/Tooltip&gt;
1014
- );
1015
- &nbsp;
1016
- // Add PropTypes for ActionButton
1017
- ActionButton.propTypes = {
1018
- tooltip: PropTypes.string.isRequired,
1019
- onClick: PropTypes.func.isRequired,
1020
- icon: PropTypes.node.isRequired,
1021
- testId: PropTypes.string.isRequired,
1022
- sx: PropTypes.object,
1023
- };
1024
- &nbsp;
1025
- const MadieAlert = ({
1026
- type = "warning",
1027
- visible = true,
1028
- content,
1029
- canClose = true,
1030
- minimizeAlerts = <span class="branch-0 cbranch-no" title="branch not covered" >false,</span>
1031
- alertProps,
1032
- closeButtonProps,
1033
- copyButton,
1034
- alerts = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
1035
- }) =&gt; {
1036
- // Consolidate related state
1037
- const [state, setState] = useState({
1038
- toastOpen: false,
1039
- copyText: "",
1040
- minimizedAlerts: {},
1041
- individualErrors: {},
1042
- });
1043
- &nbsp;
1044
- // Create alias for readability
1045
- const { toastOpen, copyText, minimizedAlerts, individualErrors } = state;
1046
- &nbsp;
1047
- // Use a single update function
1048
- const updateState = (updates) =&gt; {
1049
- setState((prev) =&gt; ({ ...prev, ...updates }));
1050
- };
1051
- &nbsp;
1052
- // Prepare alerts array once
1053
- const alertsArray = useMemo(() =&gt; {
1054
- return (
1055
- alerts || [
1056
- {
1057
- type,
1058
- visible,
1059
- content,
1060
- canClose,
1061
- alertProps,
1062
- closeButtonProps,
1063
- copyButton,
1064
- },
1065
- ]
1066
- );
1067
- }, [
1068
- alerts,
1069
- type,
1070
- visible,
1071
- content,
1072
- canClose,
1073
- alertProps,
1074
- closeButtonProps,
1075
- copyButton,
1076
- ]);
1077
- &nbsp;
1078
- // Process all alerts content once
1079
- useEffect(() =&gt; {
1080
- const newIndividualErrors = {};
1081
- let totalCopyText = "";
1082
- &nbsp;
1083
- alertsArray.forEach((alert, index) =&gt; {
1084
- if (alert.content &amp;&amp; alert.visible !== false) {
1085
- const processed = processContent(alert.content);
1086
- newIndividualErrors[index] = processed.errorCount;
1087
- &nbsp;
1088
- if (alert.copyButton) {
1089
- totalCopyText += processed.copyText + "\n\n";
1090
- }
1091
- }
1092
- });
1093
- &nbsp;
1094
- updateState({
1095
- individualErrors: newIndividualErrors,
1096
- copyText: totalCopyText.trim(),
1097
- });
1098
- }, [alertsArray]);
1099
- &nbsp;
1100
- // Utility functions for managing minimized state
1101
- const minimizeAlert = (index) =&gt; {
1102
- updateState({
1103
- minimizedAlerts: { ...minimizedAlerts, [index]: true },
1104
- });
1105
- };
1106
- &nbsp;
1107
- const restoreAllAlerts = () =&gt; {
1108
- updateState({ minimizedAlerts: {} });
1109
- };
1110
- &nbsp;
1111
- // Calculate minimized alerts info
1112
- const minimizedIndices = Object.keys(minimizedAlerts)
1113
- .filter((key) =&gt; minimizedAlerts[key])
1114
- .map((key) =&gt; parseInt(key));
1115
- &nbsp;
1116
- const totalMinimizedErrors = minimizedIndices.reduce(
1117
- (sum, index) =&gt; sum + (individualErrors[index] || 0),
1118
- 0,
1119
- );
1120
- &nbsp;
1121
- // Render alert content
1122
- const renderAlert = (alert, index) =&gt; {
1123
- const {
1124
- type = <span class="branch-0 cbranch-no" title="branch not covered" >"warning",</span>
1125
- visible = true,
1126
- content,
1127
- canClose = true,
1128
- alertProps = {},
1129
- closeButtonProps = {},
1130
- copyButton = false,
1131
- } = alert;
1132
- &nbsp;
1133
- if (!visible || minimizedAlerts[index]) return null;
1134
- &nbsp;
1135
- const Icon = typeToIconMap[type];
1136
- const alertClass = classNames("madie-alert", type);
1137
- &nbsp;
1138
- return (
1139
- &lt;div key={index} className={alertClass} {...alertProps}&gt;
1140
- &lt;Icon className={classNames("alert-icon", type)} /&gt;
1141
- &lt;div id="content" data-alert-index={index}&gt;
1142
- {content}
1143
- &lt;/div&gt;
1144
- &nbsp;
1145
- {minimizeAlerts &amp;&amp; (
1146
- &lt;ActionButton
1147
- tooltip="Minimize"
1148
- onClick={(e) =&gt; {
1149
- e.preventDefault();
1150
- minimizeAlert(index);
1151
- }}
1152
- icon={
1153
- &lt;FullscreenExitRoundedIcon
1154
- sx={{ color: "#242424" }}
1155
- /&gt;
1156
- }
1157
- testId={`minimize-button-${index}`}
1158
- sx={buttonWithDividerSx}
1159
- /&gt;
1160
- )}
1161
- &nbsp;
1162
- {copyButton &amp;&amp; (
1163
- &lt;ActionButton
1164
- tooltip="Copy"
1165
- onClick={(e) =&gt; {
1166
- e.preventDefault();
1167
- navigator.clipboard.writeText(
1168
- copyButton
1169
- ? processContent(content).copyText
1170
- : <span class="branch-1 cbranch-no" title="branch not covered" >copyText,</span>
1171
- );
1172
- updateState({ toastOpen: true });
1173
- }}
1174
- icon={&lt;ContentCopyIcon sx={{ color: "#242424" }} /&gt;}
1175
- testId="copy-button"
1176
- sx={
1177
- !minimizeAlerts ? buttonWithDividerSx : buttonBaseSx
1178
- }
1179
- /&gt;
1180
- )}
1181
- &nbsp;
1182
- {canClose &amp;&amp; (
1183
- &lt;IconButton sx={buttonWithDividerSx} {...closeButtonProps}&gt;
1184
- &lt;ClearIcon sx={{ color: "#242424" }} /&gt;
1185
- &lt;/IconButton&gt;
1186
- )}
1187
- &lt;/div&gt;
1188
- );
1189
- };
1190
- &nbsp;
1191
- return (
1192
- &lt;div&gt;
1193
- &lt;Toast
1194
- toastKey="copy-success-toast"
1195
- data-testid="copy-success"
1196
- toastType="success"
1197
- open={toastOpen}
1198
- message="Copied to clipboard!"
1199
- onClose={() =&gt; updateState({ toastOpen: false })}
1200
- autoHideDuration={1500}
1201
- /&gt;
1202
- &nbsp;
1203
- {/* Render visible alerts */}
1204
- {alertsArray.map((alert, index) =&gt; renderAlert(alert, index))}
1205
- &nbsp;
1206
- {/* Show minimized indicator if any alerts are minimized */}
1207
- {minimizedIndices.length &gt; 0 &amp;&amp; (
1208
- &lt;div
1209
- style={{
1210
- position: "absolute",
1211
- right: "32px",
1212
- top: "10px",
1213
- display: "flex",
1214
- alignItems: "center",
1215
- cursor: "pointer",
1216
- }}
1217
- data-testid="minimized-alert"
1218
- className="minimized-alert"
1219
- onClick={(e) =&gt; {
1220
- e.preventDefault();
1221
- restoreAllAlerts();
1222
- }}
1223
- &gt;
1224
- &lt;WarningRoundedIcon
1225
- sx={{ color: "yellow", marginRight: "5px" }}
1226
- /&gt;
1227
- &lt;span
1228
- data-testid="minimized-alert-text"
1229
- style={{ color: "white", fontSize: "16px" }}
1230
- &gt;
1231
- Display Alerts{" "}
1232
- {totalMinimizedErrors &gt; 0
1233
- ? `(${totalMinimizedErrors})`
1234
- : ""}
1235
- &lt;/span&gt;
1236
- &lt;/div&gt;
1237
- )}
1238
- &lt;/div&gt;
1239
- );
1240
- };
1241
- &nbsp;
1242
- // PropTypes definition
1243
- MadieAlert.propTypes = {
1244
- type: PropTypes.string,
1245
- visible: PropTypes.bool,
1246
- content: PropTypes.node,
1247
- canClose: PropTypes.bool,
1248
- alertProps: PropTypes.object,
1249
- closeButtonProps: PropTypes.object,
1250
- copyButton: PropTypes.bool,
1251
- minimizeAlerts: PropTypes.bool,
1252
- alerts: PropTypes.arrayOf(
1253
- PropTypes.shape({
1254
- type: PropTypes.string,
1255
- visible: PropTypes.bool,
1256
- content: PropTypes.node,
1257
- canClose: PropTypes.bool,
1258
- alertProps: PropTypes.object,
1259
- closeButtonProps: PropTypes.object,
1260
- copyButton: PropTypes.bool,
1261
- }),
1262
- ),
1263
- };
1264
- &nbsp;
1265
- MadieAlert.defaultProps = {
1266
- copyButton: false,
1267
- minimizeAlerts: false,
1268
- alerts: null,
1269
- };
1270
- &nbsp;
1271
- export default MadieAlert;
1272
- &nbsp;</pre></td></tr></table></pre>
1273
-
1274
- <div class='push'></div><!-- for sticky footer -->
1275
- </div><!-- /wrapper -->
1276
- <div class='footer quiet pad2 space-top1 center small'>
1277
- Code coverage generated by
1278
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1279
- at 2025-06-17T20:32:27.082Z
1280
- </div>
1281
- <script src="../../../prettify.js"></script>
1282
- <script>
1283
- window.onload = function () {
1284
- prettyPrint();
1285
- };
1286
- </script>
1287
- <script src="../../../sorter.js"></script>
1288
- <script src="../../../block-navigation.js"></script>
1289
- </body>
1290
- </html>
1291
-