qpp-style 9.44.1 → 9.44.2

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 (221) hide show
  1. package/components/Infotip/InfotipContent.jsx +1 -0
  2. package/coverage/clover.xml +461 -569
  3. package/coverage/coverage-final.json +68 -70
  4. package/coverage/lcov-report/{components/SideNav/Links/NavItemInline.jsx.html → Infotip.jsx.html} +123 -72
  5. package/coverage/lcov-report/{components/SideNav/Links/CmsSwitchLink.jsx.html → InfotipContent.jsx.html} +71 -56
  6. package/coverage/lcov-report/{components/SideNav/Content/LevelOneContent.jsx.html → InfotipIcon.jsx.html} +53 -77
  7. package/coverage/lcov-report/components/Accordion/index.html +21 -21
  8. package/coverage/lcov-report/components/Accordion/index.jsx.html +113 -113
  9. package/coverage/lcov-report/components/{Dropdown → Button}/index.html +17 -17
  10. package/coverage/lcov-report/components/Button/index.js.html +355 -0
  11. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +98 -98
  12. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +33 -33
  13. package/coverage/lcov-report/components/Error/index.html +23 -23
  14. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +211 -211
  15. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +62 -62
  16. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +36 -36
  17. package/coverage/lcov-report/components/Footer/index.html +13 -13
  18. package/coverage/lcov-report/components/{SideNav/Content → GovBanner}/index.html +29 -44
  19. package/coverage/lcov-report/components/GovBanner/index.js.html +436 -0
  20. package/coverage/lcov-report/components/Header/HeaderAccountMenu.jsx.html +367 -0
  21. package/coverage/lcov-report/components/{SideNav/Details/IndividualDetails.jsx.html → Header/HeaderCancel.jsx.html} +35 -41
  22. package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +307 -0
  23. package/coverage/lcov-report/components/Header/HeaderLogo.jsx.html +211 -0
  24. package/coverage/lcov-report/components/Header/HeaderMenuButton.js.html +235 -0
  25. package/coverage/lcov-report/components/Header/HeaderMenuItem.jsx.html +802 -0
  26. package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +253 -0
  27. package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +271 -0
  28. package/coverage/lcov-report/components/Header/HeaderMobileButton.js.html +196 -0
  29. package/coverage/lcov-report/components/Header/HeaderUI.jsx.html +586 -0
  30. package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +181 -0
  31. package/coverage/lcov-report/components/Header/ImpersonatorBanner.jsx.html +328 -0
  32. package/coverage/lcov-report/components/Header/NavigationButtonIcon.jsx.html +166 -0
  33. package/coverage/lcov-report/components/Header/hooks.js.html +283 -0
  34. package/coverage/lcov-report/components/Header/index.html +326 -0
  35. package/coverage/lcov-report/components/{SideNav/Links/index.js.html → Header/utag-helpers.js.html} +34 -46
  36. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +90 -90
  37. package/coverage/lcov-report/components/Infotip/InfotipContent.jsx.html +50 -50
  38. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +49 -49
  39. package/coverage/lcov-report/components/Infotip/index.html +25 -40
  40. package/coverage/lcov-report/components/Infotip/index.js.html +1 -1
  41. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +116 -116
  42. package/coverage/lcov-report/components/Modal/Modal.jsx.html +252 -252
  43. package/coverage/lcov-report/components/Modal/index.html +38 -38
  44. package/coverage/lcov-report/components/Modal/index.jsx.html +31 -31
  45. package/coverage/lcov-report/components/NotificationBanner/CollapsedView.js.html +202 -0
  46. package/coverage/lcov-report/components/NotificationBanner/ExpandedView.js.html +220 -0
  47. package/coverage/lcov-report/components/{SideNav/Details → NotificationBanner}/index.html +46 -46
  48. package/coverage/lcov-report/components/NotificationBanner/index.js.html +748 -0
  49. package/coverage/lcov-report/components/SanitizedContent/index.html +21 -21
  50. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +257 -257
  51. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +440 -440
  52. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +8 -8
  53. package/coverage/lcov-report/components/SideNav/Chart/index.html +1 -16
  54. package/coverage/lcov-report/components/SideNav/Content/SelectRole/index.html +19 -34
  55. package/coverage/lcov-report/components/SideNav/Content/SelectRole/utils.js.html +147 -147
  56. package/coverage/lcov-report/components/SideNav/helpers.js.html +565 -544
  57. package/coverage/lcov-report/components/SideNav/index.html +19 -19
  58. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +9 -9
  59. package/coverage/lcov-report/components/Tooltip/index.html +1 -1
  60. package/coverage/lcov-report/components/Tooltip/index.js.html +1 -1
  61. package/coverage/lcov-report/components/Tooltip/position.js.html +1 -1
  62. package/coverage/lcov-report/components/hooks/index.html +21 -21
  63. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +131 -128
  64. package/coverage/lcov-report/components/index.html +21 -21
  65. package/coverage/lcov-report/index.html +124 -124
  66. package/coverage/lcov-report/{components/SideNav/UI/index.js.html → index.js.html} +12 -12
  67. package/coverage/lcov-report/lib/Chevron.jsx.html +36 -36
  68. package/coverage/lcov-report/lib/SvgComponents.jsx.html +1161 -1161
  69. package/coverage/lcov-report/lib/index.html +24 -24
  70. package/coverage/lcov-report/react/components/Accordion/index.html +21 -21
  71. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +41 -41
  72. package/coverage/lcov-report/react/components/Button/index.html +1 -1
  73. package/coverage/lcov-report/react/components/Button/index.js.html +1 -1
  74. package/coverage/lcov-report/react/components/Dropdown/index.html +1 -1
  75. package/coverage/lcov-report/react/components/Dropdown/index.js.html +1 -1
  76. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
  77. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
  78. package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
  79. package/coverage/lcov-report/react/components/Error/index.html +1 -1
  80. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +4 -4
  81. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +1 -1
  82. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +1 -1
  83. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +1 -1
  84. package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
  85. package/coverage/lcov-report/react/components/Footer/index.html +1 -1
  86. package/coverage/lcov-report/react/components/GovBanner/index.html +1 -1
  87. package/coverage/lcov-report/react/components/GovBanner/index.js.html +1 -1
  88. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +1 -1
  89. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +1 -1
  90. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +60 -12
  91. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +20 -14
  92. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +1 -1
  93. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +2 -2
  94. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +7 -7
  95. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +1 -1
  96. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +1 -1
  97. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +34 -25
  98. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +1 -1
  99. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +33 -15
  100. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +1 -1
  101. package/coverage/lcov-report/react/components/Header/header.js.html +1 -1
  102. package/coverage/lcov-report/react/components/Header/hooks.js.html +1 -1
  103. package/coverage/lcov-report/react/components/Header/index.html +37 -37
  104. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +1 -1
  105. package/coverage/lcov-report/{components/SideNav/AnimationGroup → react/components/HeaderSearchBar}/index.html +22 -22
  106. package/coverage/lcov-report/{components/Dropdown/index.js.html → react/components/HeaderSearchBar/index.jsx.html} +109 -106
  107. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +2 -2
  108. package/coverage/lcov-report/react/components/Infotip/InfotipContent.jsx.html +9 -3
  109. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +1 -1
  110. package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
  111. package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
  112. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +1 -1
  113. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +1 -1
  114. package/coverage/lcov-report/react/components/Modal/index.html +1 -1
  115. package/coverage/lcov-report/react/components/Modal/index.jsx.html +1 -1
  116. package/coverage/lcov-report/react/components/NotificationBanner/CollapsedView.js.html +1 -1
  117. package/coverage/lcov-report/react/components/NotificationBanner/ExpandedView.js.html +1 -1
  118. package/coverage/lcov-report/react/components/NotificationBanner/index.html +1 -1
  119. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +1 -1
  120. package/coverage/lcov-report/react/components/SanitizedContent/index.html +21 -21
  121. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +23 -23
  122. package/coverage/lcov-report/react/components/Session/Session.jsx.html +61 -91
  123. package/coverage/lcov-report/react/components/Session/SessionDialogWrapped.jsx.html +1 -1
  124. package/coverage/lcov-report/react/components/Session/index.html +15 -15
  125. package/coverage/lcov-report/react/components/Session/index.jsx.html +1 -1
  126. package/coverage/lcov-report/react/components/SessionDialog/index.html +1 -1
  127. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +1 -1
  128. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +30 -90
  129. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +3 -3
  130. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +1 -1
  131. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +1 -1
  132. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +1 -1
  133. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +1 -1
  134. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +48 -18
  135. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +1 -1
  136. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.html +26 -26
  137. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +14 -38
  138. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +62 -83
  139. package/coverage/lcov-report/react/components/SideNav/Content/index.html +5 -5
  140. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +1 -1
  141. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +1 -1
  142. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +1 -1
  143. package/coverage/lcov-report/react/components/SideNav/Details/index.html +1 -1
  144. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +1 -1
  145. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +1 -1
  146. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +1 -1
  147. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +1 -1
  148. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +5 -2
  149. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +5 -2
  150. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +4 -4
  151. package/coverage/lcov-report/react/components/SideNav/Links/index.html +1 -1
  152. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +1 -1
  153. package/coverage/lcov-report/{components/Footer/LegacyFooterUI.jsx.html → react/components/SideNav/UI/DynamicContent.jsx.html} +210 -246
  154. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +41 -536
  155. package/coverage/lcov-report/react/components/SideNav/UI/default-markup.js.html +1 -1
  156. package/coverage/lcov-report/react/components/SideNav/UI/index.html +34 -19
  157. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +1 -1
  158. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +15 -1068
  159. package/coverage/lcov-report/react/components/SideNav/index.html +21 -21
  160. package/coverage/lcov-report/react/components/SideNav/index.js.html +1 -1
  161. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +2 -2
  162. package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
  163. package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
  164. package/coverage/lcov-report/react/components/Tooltip/position.js.html +1 -1
  165. package/coverage/lcov-report/react/components/hooks/index.html +14 -14
  166. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +12 -15
  167. package/coverage/lcov-report/react/components/index.html +21 -21
  168. package/coverage/lcov-report/react/index.html +13 -13
  169. package/coverage/lcov-report/react/index.js.html +13 -28
  170. package/coverage/lcov-report/react/lib/Chevron.jsx.html +14 -14
  171. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +2 -2
  172. package/coverage/lcov-report/react/lib/index.html +16 -16
  173. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +1 -1
  174. package/coverage/lcov-report/react/session/index.html +29 -44
  175. package/coverage/lcov-report/react/session/index.js.html +1 -1
  176. package/coverage/lcov-report/react/session/isAuthV2.js.html +1 -1
  177. package/coverage/lcov-report/react/session/logout.js.html +50 -44
  178. package/coverage/lcov-report/react/session/refresh.js.html +8 -17
  179. package/coverage/lcov-report/react/session/ttl.js.html +9 -21
  180. package/coverage/lcov-report/session/index.html +53 -53
  181. package/coverage/lcov-report/session/index.js.html +13 -13
  182. package/coverage/lcov-report/session/logout.js.html +137 -137
  183. package/coverage/lcov-report/session/refresh.js.html +90 -90
  184. package/coverage/lcov-report/session/ttl.js.html +77 -77
  185. package/coverage/lcov.info +754 -978
  186. package/dist/browser.js +1 -1
  187. package/dist/browser.js.map +1 -1
  188. package/dist/index.js +1 -1
  189. package/dist/index.js.map +1 -1
  190. package/dist/react/index.js +1 -1
  191. package/dist/react/index.js.map +1 -1
  192. package/package.json +1 -1
  193. package/coverage/lcov-report/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +0 -166
  194. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +0 -94
  195. package/coverage/lcov-report/components/SideNav/Content/LevelTwoContent.jsx.html +0 -733
  196. package/coverage/lcov-report/components/SideNav/Content/SelectRole/index.js.html +0 -319
  197. package/coverage/lcov-report/components/SideNav/Content/index.js.html +0 -94
  198. package/coverage/lcov-report/components/SideNav/Details/PracticeDetails.jsx.html +0 -220
  199. package/coverage/lcov-report/components/SideNav/Details/index.js.html +0 -97
  200. package/coverage/lcov-report/components/SideNav/Links/NavLinkContainer.jsx.html +0 -199
  201. package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +0 -970
  202. package/coverage/lcov-report/components/SideNav/Links/NavLinkInline.jsx.html +0 -415
  203. package/coverage/lcov-report/components/SideNav/Links/NavLinkToggle.jsx.html +0 -187
  204. package/coverage/lcov-report/components/SideNav/Links/index.html +0 -206
  205. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +0 -1033
  206. package/coverage/lcov-report/components/SideNav/UI/default-markup.js.html +0 -97
  207. package/coverage/lcov-report/components/SideNav/UI/index.html +0 -146
  208. package/coverage/lcov-report/lib/svg-definitions.svg.html +0 -460
  209. package/styles/components/_footer.scss +0 -593
  210. package/styles/components/_header.scss +0 -890
  211. package/styles/components/_sidebar.scss +0 -8
  212. package/styles/components/sidebar/_animations.scss +0 -38
  213. package/styles/components/sidebar/_cms.scss +0 -61
  214. package/styles/components/sidebar/_details.scss +0 -58
  215. package/styles/components/sidebar/_links.scss +0 -420
  216. package/styles/components/sidebar/_sidebar-animation.scss +0 -121
  217. package/styles/components/sidebar/_sidebar-tooltip.scss +0 -33
  218. package/styles/components/sidebar/_sidebar.scss +0 -141
  219. package/styles/components/sidebar/project-specific/_wi.scss +0 -42
  220. package/styles/qppds/components/_infotip-content.scss +0 -49
  221. package/styles/qppds/components/_spinner.scss +0 -46
@@ -0,0 +1,802 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for components/Header/HeaderMenuItem.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">components/Header</a> HeaderMenuItem.jsx</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">22.59% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>54/239</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">22.59% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>54/239</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 oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
306
+ <span class="cline-any cline-yes">1x</span>
307
+ <span class="cline-any cline-yes">1x</span>
308
+ <span class="cline-any cline-yes">1x</span>
309
+ <span class="cline-any cline-yes">1x</span>
310
+ <span class="cline-any cline-yes">1x</span>
311
+ <span class="cline-any cline-yes">1x</span>
312
+ <span class="cline-any cline-yes">1x</span>
313
+ <span class="cline-any cline-yes">1x</span>
314
+ <span class="cline-any cline-yes">1x</span>
315
+ <span class="cline-any cline-yes">1x</span>
316
+ <span class="cline-any cline-yes">1x</span>
317
+ <span class="cline-any cline-yes">1x</span>
318
+ <span class="cline-any cline-yes">1x</span>
319
+ <span class="cline-any cline-yes">1x</span>
320
+ <span class="cline-any cline-yes">1x</span>
321
+ <span class="cline-any cline-yes">1x</span>
322
+ <span class="cline-any cline-yes">1x</span>
323
+ <span class="cline-any cline-yes">1x</span>
324
+ <span class="cline-any cline-yes">1x</span>
325
+ <span class="cline-any cline-yes">1x</span>
326
+ <span class="cline-any cline-yes">1x</span>
327
+ <span class="cline-any cline-yes">1x</span>
328
+ <span class="cline-any cline-yes">1x</span>
329
+ <span class="cline-any cline-yes">1x</span>
330
+ <span class="cline-any cline-yes">1x</span>
331
+ <span class="cline-any cline-yes">1x</span>
332
+ <span class="cline-any cline-yes">1x</span>
333
+ <span class="cline-any cline-yes">1x</span>
334
+ <span class="cline-any cline-yes">1x</span>
335
+ <span class="cline-any cline-yes">1x</span>
336
+ <span class="cline-any cline-yes">1x</span>
337
+ <span class="cline-any cline-yes">1x</span>
338
+ <span class="cline-any cline-yes">1x</span>
339
+ <span class="cline-any cline-no">&nbsp;</span>
340
+ <span class="cline-any cline-no">&nbsp;</span>
341
+ <span class="cline-any cline-no">&nbsp;</span>
342
+ <span class="cline-any cline-no">&nbsp;</span>
343
+ <span class="cline-any cline-no">&nbsp;</span>
344
+ <span class="cline-any cline-no">&nbsp;</span>
345
+ <span class="cline-any cline-no">&nbsp;</span>
346
+ <span class="cline-any cline-no">&nbsp;</span>
347
+ <span class="cline-any cline-no">&nbsp;</span>
348
+ <span class="cline-any cline-no">&nbsp;</span>
349
+ <span class="cline-any cline-no">&nbsp;</span>
350
+ <span class="cline-any cline-no">&nbsp;</span>
351
+ <span class="cline-any cline-no">&nbsp;</span>
352
+ <span class="cline-any cline-no">&nbsp;</span>
353
+ <span class="cline-any cline-no">&nbsp;</span>
354
+ <span class="cline-any cline-no">&nbsp;</span>
355
+ <span class="cline-any cline-no">&nbsp;</span>
356
+ <span class="cline-any cline-no">&nbsp;</span>
357
+ <span class="cline-any cline-no">&nbsp;</span>
358
+ <span class="cline-any cline-no">&nbsp;</span>
359
+ <span class="cline-any cline-no">&nbsp;</span>
360
+ <span class="cline-any cline-no">&nbsp;</span>
361
+ <span class="cline-any cline-no">&nbsp;</span>
362
+ <span class="cline-any cline-no">&nbsp;</span>
363
+ <span class="cline-any cline-no">&nbsp;</span>
364
+ <span class="cline-any cline-no">&nbsp;</span>
365
+ <span class="cline-any cline-no">&nbsp;</span>
366
+ <span class="cline-any cline-no">&nbsp;</span>
367
+ <span class="cline-any cline-no">&nbsp;</span>
368
+ <span class="cline-any cline-no">&nbsp;</span>
369
+ <span class="cline-any cline-no">&nbsp;</span>
370
+ <span class="cline-any cline-no">&nbsp;</span>
371
+ <span class="cline-any cline-no">&nbsp;</span>
372
+ <span class="cline-any cline-no">&nbsp;</span>
373
+ <span class="cline-any cline-no">&nbsp;</span>
374
+ <span class="cline-any cline-no">&nbsp;</span>
375
+ <span class="cline-any cline-no">&nbsp;</span>
376
+ <span class="cline-any cline-no">&nbsp;</span>
377
+ <span class="cline-any cline-no">&nbsp;</span>
378
+ <span class="cline-any cline-no">&nbsp;</span>
379
+ <span class="cline-any cline-no">&nbsp;</span>
380
+ <span class="cline-any cline-no">&nbsp;</span>
381
+ <span class="cline-any cline-no">&nbsp;</span>
382
+ <span class="cline-any cline-no">&nbsp;</span>
383
+ <span class="cline-any cline-no">&nbsp;</span>
384
+ <span class="cline-any cline-no">&nbsp;</span>
385
+ <span class="cline-any cline-no">&nbsp;</span>
386
+ <span class="cline-any cline-no">&nbsp;</span>
387
+ <span class="cline-any cline-no">&nbsp;</span>
388
+ <span class="cline-any cline-no">&nbsp;</span>
389
+ <span class="cline-any cline-no">&nbsp;</span>
390
+ <span class="cline-any cline-no">&nbsp;</span>
391
+ <span class="cline-any cline-no">&nbsp;</span>
392
+ <span class="cline-any cline-no">&nbsp;</span>
393
+ <span class="cline-any cline-no">&nbsp;</span>
394
+ <span class="cline-any cline-no">&nbsp;</span>
395
+ <span class="cline-any cline-no">&nbsp;</span>
396
+ <span class="cline-any cline-no">&nbsp;</span>
397
+ <span class="cline-any cline-no">&nbsp;</span>
398
+ <span class="cline-any cline-no">&nbsp;</span>
399
+ <span class="cline-any cline-no">&nbsp;</span>
400
+ <span class="cline-any cline-no">&nbsp;</span>
401
+ <span class="cline-any cline-no">&nbsp;</span>
402
+ <span class="cline-any cline-no">&nbsp;</span>
403
+ <span class="cline-any cline-no">&nbsp;</span>
404
+ <span class="cline-any cline-no">&nbsp;</span>
405
+ <span class="cline-any cline-no">&nbsp;</span>
406
+ <span class="cline-any cline-no">&nbsp;</span>
407
+ <span class="cline-any cline-no">&nbsp;</span>
408
+ <span class="cline-any cline-no">&nbsp;</span>
409
+ <span class="cline-any cline-no">&nbsp;</span>
410
+ <span class="cline-any cline-no">&nbsp;</span>
411
+ <span class="cline-any cline-no">&nbsp;</span>
412
+ <span class="cline-any cline-no">&nbsp;</span>
413
+ <span class="cline-any cline-no">&nbsp;</span>
414
+ <span class="cline-any cline-no">&nbsp;</span>
415
+ <span class="cline-any cline-no">&nbsp;</span>
416
+ <span class="cline-any cline-no">&nbsp;</span>
417
+ <span class="cline-any cline-no">&nbsp;</span>
418
+ <span class="cline-any cline-no">&nbsp;</span>
419
+ <span class="cline-any cline-no">&nbsp;</span>
420
+ <span class="cline-any cline-no">&nbsp;</span>
421
+ <span class="cline-any cline-no">&nbsp;</span>
422
+ <span class="cline-any cline-no">&nbsp;</span>
423
+ <span class="cline-any cline-no">&nbsp;</span>
424
+ <span class="cline-any cline-no">&nbsp;</span>
425
+ <span class="cline-any cline-no">&nbsp;</span>
426
+ <span class="cline-any cline-no">&nbsp;</span>
427
+ <span class="cline-any cline-no">&nbsp;</span>
428
+ <span class="cline-any cline-no">&nbsp;</span>
429
+ <span class="cline-any cline-no">&nbsp;</span>
430
+ <span class="cline-any cline-no">&nbsp;</span>
431
+ <span class="cline-any cline-no">&nbsp;</span>
432
+ <span class="cline-any cline-no">&nbsp;</span>
433
+ <span class="cline-any cline-no">&nbsp;</span>
434
+ <span class="cline-any cline-no">&nbsp;</span>
435
+ <span class="cline-any cline-no">&nbsp;</span>
436
+ <span class="cline-any cline-no">&nbsp;</span>
437
+ <span class="cline-any cline-no">&nbsp;</span>
438
+ <span class="cline-any cline-no">&nbsp;</span>
439
+ <span class="cline-any cline-no">&nbsp;</span>
440
+ <span class="cline-any cline-no">&nbsp;</span>
441
+ <span class="cline-any cline-no">&nbsp;</span>
442
+ <span class="cline-any cline-no">&nbsp;</span>
443
+ <span class="cline-any cline-no">&nbsp;</span>
444
+ <span class="cline-any cline-no">&nbsp;</span>
445
+ <span class="cline-any cline-no">&nbsp;</span>
446
+ <span class="cline-any cline-no">&nbsp;</span>
447
+ <span class="cline-any cline-no">&nbsp;</span>
448
+ <span class="cline-any cline-no">&nbsp;</span>
449
+ <span class="cline-any cline-no">&nbsp;</span>
450
+ <span class="cline-any cline-no">&nbsp;</span>
451
+ <span class="cline-any cline-no">&nbsp;</span>
452
+ <span class="cline-any cline-no">&nbsp;</span>
453
+ <span class="cline-any cline-no">&nbsp;</span>
454
+ <span class="cline-any cline-no">&nbsp;</span>
455
+ <span class="cline-any cline-no">&nbsp;</span>
456
+ <span class="cline-any cline-no">&nbsp;</span>
457
+ <span class="cline-any cline-no">&nbsp;</span>
458
+ <span class="cline-any cline-no">&nbsp;</span>
459
+ <span class="cline-any cline-no">&nbsp;</span>
460
+ <span class="cline-any cline-no">&nbsp;</span>
461
+ <span class="cline-any cline-no">&nbsp;</span>
462
+ <span class="cline-any cline-no">&nbsp;</span>
463
+ <span class="cline-any cline-no">&nbsp;</span>
464
+ <span class="cline-any cline-no">&nbsp;</span>
465
+ <span class="cline-any cline-no">&nbsp;</span>
466
+ <span class="cline-any cline-no">&nbsp;</span>
467
+ <span class="cline-any cline-no">&nbsp;</span>
468
+ <span class="cline-any cline-no">&nbsp;</span>
469
+ <span class="cline-any cline-no">&nbsp;</span>
470
+ <span class="cline-any cline-no">&nbsp;</span>
471
+ <span class="cline-any cline-no">&nbsp;</span>
472
+ <span class="cline-any cline-no">&nbsp;</span>
473
+ <span class="cline-any cline-no">&nbsp;</span>
474
+ <span class="cline-any cline-no">&nbsp;</span>
475
+ <span class="cline-any cline-no">&nbsp;</span>
476
+ <span class="cline-any cline-no">&nbsp;</span>
477
+ <span class="cline-any cline-no">&nbsp;</span>
478
+ <span class="cline-any cline-no">&nbsp;</span>
479
+ <span class="cline-any cline-no">&nbsp;</span>
480
+ <span class="cline-any cline-no">&nbsp;</span>
481
+ <span class="cline-any cline-no">&nbsp;</span>
482
+ <span class="cline-any cline-no">&nbsp;</span>
483
+ <span class="cline-any cline-no">&nbsp;</span>
484
+ <span class="cline-any cline-no">&nbsp;</span>
485
+ <span class="cline-any cline-no">&nbsp;</span>
486
+ <span class="cline-any cline-no">&nbsp;</span>
487
+ <span class="cline-any cline-no">&nbsp;</span>
488
+ <span class="cline-any cline-no">&nbsp;</span>
489
+ <span class="cline-any cline-no">&nbsp;</span>
490
+ <span class="cline-any cline-no">&nbsp;</span>
491
+ <span class="cline-any cline-no">&nbsp;</span>
492
+ <span class="cline-any cline-no">&nbsp;</span>
493
+ <span class="cline-any cline-no">&nbsp;</span>
494
+ <span class="cline-any cline-no">&nbsp;</span>
495
+ <span class="cline-any cline-no">&nbsp;</span>
496
+ <span class="cline-any cline-no">&nbsp;</span>
497
+ <span class="cline-any cline-no">&nbsp;</span>
498
+ <span class="cline-any cline-no">&nbsp;</span>
499
+ <span class="cline-any cline-no">&nbsp;</span>
500
+ <span class="cline-any cline-no">&nbsp;</span>
501
+ <span class="cline-any cline-no">&nbsp;</span>
502
+ <span class="cline-any cline-no">&nbsp;</span>
503
+ <span class="cline-any cline-no">&nbsp;</span>
504
+ <span class="cline-any cline-no">&nbsp;</span>
505
+ <span class="cline-any cline-no">&nbsp;</span>
506
+ <span class="cline-any cline-no">&nbsp;</span>
507
+ <span class="cline-any cline-no">&nbsp;</span>
508
+ <span class="cline-any cline-no">&nbsp;</span>
509
+ <span class="cline-any cline-no">&nbsp;</span>
510
+ <span class="cline-any cline-no">&nbsp;</span>
511
+ <span class="cline-any cline-no">&nbsp;</span>
512
+ <span class="cline-any cline-no">&nbsp;</span>
513
+ <span class="cline-any cline-no">&nbsp;</span>
514
+ <span class="cline-any cline-no">&nbsp;</span>
515
+ <span class="cline-any cline-no">&nbsp;</span>
516
+ <span class="cline-any cline-no">&nbsp;</span>
517
+ <span class="cline-any cline-no">&nbsp;</span>
518
+ <span class="cline-any cline-no">&nbsp;</span>
519
+ <span class="cline-any cline-no">&nbsp;</span>
520
+ <span class="cline-any cline-no">&nbsp;</span>
521
+ <span class="cline-any cline-no">&nbsp;</span>
522
+ <span class="cline-any cline-no">&nbsp;</span>
523
+ <span class="cline-any cline-no">&nbsp;</span>
524
+ <span class="cline-any cline-yes">1x</span>
525
+ <span class="cline-any cline-yes">1x</span>
526
+ <span class="cline-any cline-yes">1x</span>
527
+ <span class="cline-any cline-yes">1x</span>
528
+ <span class="cline-any cline-yes">1x</span>
529
+ <span class="cline-any cline-yes">1x</span>
530
+ <span class="cline-any cline-yes">1x</span>
531
+ <span class="cline-any cline-yes">1x</span>
532
+ <span class="cline-any cline-yes">1x</span>
533
+ <span class="cline-any cline-yes">1x</span>
534
+ <span class="cline-any cline-yes">1x</span>
535
+ <span class="cline-any cline-yes">1x</span>
536
+ <span class="cline-any cline-yes">1x</span>
537
+ <span class="cline-any cline-yes">1x</span>
538
+ <span class="cline-any cline-yes">1x</span>
539
+ <span class="cline-any cline-yes">1x</span>
540
+ <span class="cline-any cline-yes">1x</span>
541
+ <span class="cline-any cline-yes">1x</span>
542
+ <span class="cline-any cline-yes">1x</span>
543
+ <span class="cline-any cline-yes">1x</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { Fragment, useRef, useEffect, useState } from 'react';
545
+ import PropTypes from 'prop-types';
546
+ &nbsp;
547
+ import { useWindowWidth, useHeaderState } from './hooks';
548
+ import HeaderMenuLink from './HeaderMenuLink';
549
+ import HeaderMenuButton from './HeaderMenuButton';
550
+ import HeaderMenuSignOutButton from './HeaderMenuSignOutButton';
551
+ import Accordion from '../Accordion';
552
+ import { Chevron } from '../../lib/Chevron.jsx';
553
+ &nbsp;
554
+ const menuSizes = {
555
+ 1: 315,
556
+ 2: 650,
557
+ 3: 890,
558
+ 4: 1200,
559
+ };
560
+ &nbsp;
561
+ const excludedClickOutClasses = [
562
+ 'menu-dropdown-toggle',
563
+ 'nav-link',
564
+ 'nav-link-li',
565
+ 'dropdown-description',
566
+ 'dropdown-title',
567
+ 'dropdown-title-chevron-container',
568
+ 'signout-button',
569
+ 'submenu-section',
570
+ 'accordion',
571
+ 'accordion-title',
572
+ 'accordion-left-title',
573
+ 'header-menu-btn',
574
+ 'btn-navigation-icon',
575
+ ];
576
+ &nbsp;
577
+ const HeaderMenuItem = <span class="fstat-no" title="function not covered" >({</span>
578
+ <span class="cstat-no" title="statement not covered" > handleClick,</span>
579
+ <span class="cstat-no" title="statement not covered" > isMobileMenuExpanded,</span>
580
+ <span class="cstat-no" title="statement not covered" > columns,</span>
581
+ <span class="cstat-no" title="statement not covered" > menuName,</span>
582
+ <span class="cstat-no" title="statement not covered" > rows,</span>
583
+ <span class="cstat-no" title="statement not covered" > name,</span>
584
+ <span class="cstat-no" title="statement not covered" > subtitle,</span>
585
+ <span class="cstat-no" title="statement not covered" > className,</span>
586
+ <span class="cstat-no" title="statement not covered" >}) =&gt; {</span>
587
+ <span class="cstat-no" title="statement not covered" > const [isSubMenuFullWidth, setSubMenuFullWidth] = useState(false);</span>
588
+ <span class="cstat-no" title="statement not covered" > const [openMobileSubMenu, setOpenMobileSubMenu] = useState('');</span>
589
+ <span class="cstat-no" title="statement not covered" ></span>
590
+ <span class="cstat-no" title="statement not covered" > const windowWidth = useWindowWidth();</span>
591
+ <span class="cstat-no" title="statement not covered" > const menuButtonRef = useRef(null);</span>
592
+ <span class="cstat-no" title="statement not covered" > const menuRef = useRef(null);</span>
593
+ <span class="cstat-no" title="statement not covered" > const { RouterLink, handleToggleMenu, currentOpenMenu, closeMenus } =</span>
594
+ <span class="cstat-no" title="statement not covered" > useHeaderState();</span>
595
+ <span class="cstat-no" title="statement not covered" > const numColumns = (columns || []).length;</span>
596
+ <span class="cstat-no" title="statement not covered" ></span>
597
+ <span class="cstat-no" title="statement not covered" > const menuIdentifier = menuName || name;</span>
598
+ <span class="cstat-no" title="statement not covered" > const isOpen = menuIdentifier === currentOpenMenu;</span>
599
+ <span class="cstat-no" title="statement not covered" ></span>
600
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
601
+ <span class="cstat-no" title="statement not covered" > const isMobile = windowWidth &lt; 768;</span>
602
+ <span class="cstat-no" title="statement not covered" > if (isOpen) {</span>
603
+ <span class="cstat-no" title="statement not covered" > const shouldSetFullWidth =</span>
604
+ <span class="cstat-no" title="statement not covered" > isMobile ||</span>
605
+ <span class="cstat-no" title="statement not covered" > menuSizes[numColumns] &gt;</span>
606
+ <span class="cstat-no" title="statement not covered" > menuButtonRef.current.getBoundingClientRect().right;</span>
607
+ <span class="cstat-no" title="statement not covered" > setSubMenuFullWidth(shouldSetFullWidth);</span>
608
+ <span class="cstat-no" title="statement not covered" > }</span>
609
+ <span class="cstat-no" title="statement not covered" > }, [windowWidth, isOpen]);</span>
610
+ <span class="cstat-no" title="statement not covered" ></span>
611
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
612
+ <span class="cstat-no" title="statement not covered" > const listener = (event) =&gt; {</span>
613
+ <span class="cstat-no" title="statement not covered" > if (</span>
614
+ <span class="cstat-no" title="statement not covered" > !menuRef ||</span>
615
+ <span class="cstat-no" title="statement not covered" > !menuRef.current ||</span>
616
+ <span class="cstat-no" title="statement not covered" > menuRef.current.contains(event.target) ||</span>
617
+ <span class="cstat-no" title="statement not covered" > excludedClickOutClasses.some((className) =&gt;</span>
618
+ <span class="cstat-no" title="statement not covered" > event?.target?.classList.contains(className),</span>
619
+ <span class="cstat-no" title="statement not covered" > )</span>
620
+ <span class="cstat-no" title="statement not covered" > ) {</span>
621
+ <span class="cstat-no" title="statement not covered" > return;</span>
622
+ <span class="cstat-no" title="statement not covered" > }</span>
623
+ <span class="cstat-no" title="statement not covered" > setOpenMobileSubMenu('');</span>
624
+ <span class="cstat-no" title="statement not covered" > closeMenus();</span>
625
+ <span class="cstat-no" title="statement not covered" > };</span>
626
+ <span class="cstat-no" title="statement not covered" > document.addEventListener('mousedown', listener);</span>
627
+ <span class="cstat-no" title="statement not covered" > return () =&gt; document.removeEventListener('mousedown', listener);</span>
628
+ <span class="cstat-no" title="statement not covered" > }, [menuRef]);</span>
629
+ <span class="cstat-no" title="statement not covered" ></span>
630
+ <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
631
+ <span class="cstat-no" title="statement not covered" > if (!isMobileMenuExpanded || !isOpen) {</span>
632
+ <span class="cstat-no" title="statement not covered" > setOpenMobileSubMenu('');</span>
633
+ <span class="cstat-no" title="statement not covered" > }</span>
634
+ <span class="cstat-no" title="statement not covered" > }, [isMobileMenuExpanded, isOpen]);</span>
635
+ <span class="cstat-no" title="statement not covered" ></span>
636
+ <span class="cstat-no" title="statement not covered" > return (</span>
637
+ <span class="cstat-no" title="statement not covered" > &lt;li</span>
638
+ <span class="cstat-no" title="statement not covered" > key={`header-item-${menuIdentifier}`}</span>
639
+ <span class="cstat-no" title="statement not covered" > className={`header-item-${menuIdentifier}${</span>
640
+ <span class="cstat-no" title="statement not covered" > isSubMenuFullWidth ? ' full-width-menu' : ''</span>
641
+ <span class="cstat-no" title="statement not covered" > }${className ? ` ${className}` : ''}`}</span>
642
+ <span class="cstat-no" title="statement not covered" > ref={menuRef}</span>
643
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
644
+ <span class="cstat-no" title="statement not covered" > &lt;button</span>
645
+ <span class="cstat-no" title="statement not covered" > ref={menuButtonRef}</span>
646
+ <span class="cstat-no" title="statement not covered" > className="menu-dropdown-toggle"</span>
647
+ <span class="cstat-no" title="statement not covered" > aria-label={`${name} navigation dropdown`}</span>
648
+ <span class="cstat-no" title="statement not covered" > aria-expanded={isOpen}</span>
649
+ <span class="cstat-no" title="statement not covered" > aria-controls={`nav-section-${menuIdentifier}`}</span>
650
+ <span class="cstat-no" title="statement not covered" > data-toggle="dropdown"</span>
651
+ <span class="cstat-no" title="statement not covered" > onClick={() =&gt; handleToggleMenu(menuIdentifier)}</span>
652
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
653
+ <span class="cstat-no" title="statement not covered" > &lt;div className="dropdown-title-chevron-container"&gt;</span>
654
+ <span class="cstat-no" title="statement not covered" > &lt;span className="dropdown-title"&gt;{name}&lt;/span&gt;</span>
655
+ <span class="cstat-no" title="statement not covered" > &lt;div className="chevron-container"&gt;</span>
656
+ <span class="cstat-no" title="statement not covered" > &lt;Chevron focusable="false" /&gt;</span>
657
+ <span class="cstat-no" title="statement not covered" > &lt;/div&gt;</span>
658
+ <span class="cstat-no" title="statement not covered" > &lt;/div&gt;</span>
659
+ <span class="cstat-no" title="statement not covered" ></span>
660
+ <span class="cstat-no" title="statement not covered" > &lt;span className={`dropdown-description ${isOpen ? 'active' : ''}`}&gt;</span>
661
+ <span class="cstat-no" title="statement not covered" > {subtitle}</span>
662
+ <span class="cstat-no" title="statement not covered" > &lt;/span&gt;</span>
663
+ <span class="cstat-no" title="statement not covered" > &lt;/button&gt;</span>
664
+ <span class="cstat-no" title="statement not covered" > &lt;div</span>
665
+ <span class="cstat-no" title="statement not covered" > className={`nav-section${isOpen ? ' open' : ''}`}</span>
666
+ <span class="cstat-no" title="statement not covered" > id={`nav-section-${menuIdentifier}`}</span>
667
+ <span class="cstat-no" title="statement not covered" > hidden={!isOpen}</span>
668
+ <span class="cstat-no" title="statement not covered" > data-columns={numColumns}</span>
669
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
670
+ <span class="cstat-no" title="statement not covered" > {rows.map((columnContent, index) =&gt; {</span>
671
+ <span class="cstat-no" title="statement not covered" > return (</span>
672
+ <span class="cstat-no" title="statement not covered" > &lt;ul key={`${menuIdentifier}-${index}`} className="nav-column"&gt;</span>
673
+ <span class="cstat-no" title="statement not covered" > {columnContent.map((c, cIndex) =&gt; {</span>
674
+ <span class="cstat-no" title="statement not covered" > return (</span>
675
+ <span class="cstat-no" title="statement not covered" > &lt;Fragment key={`${menuIdentifier}-${index}-${cIndex}`}&gt;</span>
676
+ <span class="cstat-no" title="statement not covered" > &lt;li className="submenu-section"&gt;</span>
677
+ <span class="cstat-no" title="statement not covered" > {c.heading &amp;&amp; (</span>
678
+ <span class="cstat-no" title="statement not covered" > &lt;h3 className="submenu-heading"&gt;{c.heading}&lt;/h3&gt;</span>
679
+ <span class="cstat-no" title="statement not covered" > )}</span>
680
+ <span class="cstat-no" title="statement not covered" > &lt;ul&gt;</span>
681
+ <span class="cstat-no" title="statement not covered" > {c.items.map((item) =&gt; {</span>
682
+ <span class="cstat-no" title="statement not covered" > const isSubLink = item.type === 'sublink';</span>
683
+ <span class="cstat-no" title="statement not covered" > const componentsByType = {</span>
684
+ <span class="cstat-no" title="statement not covered" > button: HeaderMenuButton,</span>
685
+ <span class="cstat-no" title="statement not covered" > signout: HeaderMenuSignOutButton,</span>
686
+ <span class="cstat-no" title="statement not covered" > link: HeaderMenuLink,</span>
687
+ <span class="cstat-no" title="statement not covered" > sublink: HeaderMenuLink,</span>
688
+ <span class="cstat-no" title="statement not covered" > };</span>
689
+ <span class="cstat-no" title="statement not covered" > const SubMenuComponent = componentsByType[item.type];</span>
690
+ <span class="cstat-no" title="statement not covered" > return (</span>
691
+ <span class="cstat-no" title="statement not covered" > &lt;li</span>
692
+ <span class="cstat-no" title="statement not covered" > onClick={handleClick}</span>
693
+ <span class="cstat-no" title="statement not covered" > key={`item-link-${item.name}`}</span>
694
+ <span class="cstat-no" title="statement not covered" > className={</span>
695
+ <span class="cstat-no" title="statement not covered" > isSubLink</span>
696
+ <span class="cstat-no" title="statement not covered" > ? 'nav-link-li sublink'</span>
697
+ <span class="cstat-no" title="statement not covered" > : 'nav-link-li'</span>
698
+ <span class="cstat-no" title="statement not covered" > }</span>
699
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
700
+ <span class="cstat-no" title="statement not covered" > &lt;SubMenuComponent</span>
701
+ <span class="cstat-no" title="statement not covered" > href={item.href}</span>
702
+ <span class="cstat-no" title="statement not covered" > name={item.name}</span>
703
+ <span class="cstat-no" title="statement not covered" > RouterLink={RouterLink}</span>
704
+ <span class="cstat-no" title="statement not covered" > /&gt;</span>
705
+ <span class="cstat-no" title="statement not covered" > &lt;/li&gt;</span>
706
+ <span class="cstat-no" title="statement not covered" > );</span>
707
+ <span class="cstat-no" title="statement not covered" > })}</span>
708
+ <span class="cstat-no" title="statement not covered" > &lt;/ul&gt;</span>
709
+ <span class="cstat-no" title="statement not covered" > &lt;/li&gt;</span>
710
+ <span class="cstat-no" title="statement not covered" > {name === 'MIPS' &amp;&amp; (</span>
711
+ <span class="cstat-no" title="statement not covered" > &lt;li</span>
712
+ <span class="cstat-no" title="statement not covered" > key={`${menuIdentifier}-mobile-${index}-${cIndex}`}</span>
713
+ <span class="cstat-no" title="statement not covered" > className="submenu-section-mips-mobile"</span>
714
+ <span class="cstat-no" title="statement not covered" > onClick={() =&gt; {</span>
715
+ <span class="cstat-no" title="statement not covered" > setOpenMobileSubMenu(c.heading);</span>
716
+ <span class="cstat-no" title="statement not covered" > }}</span>
717
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
718
+ <span class="cstat-no" title="statement not covered" > &lt;Accordion</span>
719
+ <span class="cstat-no" title="statement not covered" > title={c.heading}</span>
720
+ <span class="cstat-no" title="statement not covered" > isOpen={</span>
721
+ <span class="cstat-no" title="statement not covered" > isMobileMenuExpanded &amp;&amp;</span>
722
+ <span class="cstat-no" title="statement not covered" > openMobileSubMenu === c.heading</span>
723
+ <span class="cstat-no" title="statement not covered" > }</span>
724
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
725
+ <span class="cstat-no" title="statement not covered" > &lt;ul&gt;</span>
726
+ <span class="cstat-no" title="statement not covered" > {c.items.map((item) =&gt; {</span>
727
+ <span class="cstat-no" title="statement not covered" > const isSubLink = item.type === 'sublink';</span>
728
+ <span class="cstat-no" title="statement not covered" > const componentsByType = {</span>
729
+ <span class="cstat-no" title="statement not covered" > button: HeaderMenuButton,</span>
730
+ <span class="cstat-no" title="statement not covered" > signout: HeaderMenuSignOutButton,</span>
731
+ <span class="cstat-no" title="statement not covered" > link: HeaderMenuLink,</span>
732
+ <span class="cstat-no" title="statement not covered" > sublink: HeaderMenuLink,</span>
733
+ <span class="cstat-no" title="statement not covered" > };</span>
734
+ <span class="cstat-no" title="statement not covered" > const SubMenuComponent =</span>
735
+ <span class="cstat-no" title="statement not covered" > componentsByType[item.type];</span>
736
+ <span class="cstat-no" title="statement not covered" > return (</span>
737
+ <span class="cstat-no" title="statement not covered" > &lt;li</span>
738
+ <span class="cstat-no" title="statement not covered" > onClick={handleClick}</span>
739
+ <span class="cstat-no" title="statement not covered" > key={`item-link-${item.name}`}</span>
740
+ <span class="cstat-no" title="statement not covered" > className={isSubLink ? 'sublink' : ''}</span>
741
+ <span class="cstat-no" title="statement not covered" > &gt;</span>
742
+ <span class="cstat-no" title="statement not covered" > &lt;SubMenuComponent</span>
743
+ <span class="cstat-no" title="statement not covered" > href={item.href}</span>
744
+ <span class="cstat-no" title="statement not covered" > name={item.name}</span>
745
+ <span class="cstat-no" title="statement not covered" > RouterLink={RouterLink}</span>
746
+ <span class="cstat-no" title="statement not covered" > /&gt;</span>
747
+ <span class="cstat-no" title="statement not covered" > &lt;/li&gt;</span>
748
+ <span class="cstat-no" title="statement not covered" > );</span>
749
+ <span class="cstat-no" title="statement not covered" > })}</span>
750
+ <span class="cstat-no" title="statement not covered" > &lt;/ul&gt;</span>
751
+ <span class="cstat-no" title="statement not covered" > &lt;/Accordion&gt;</span>
752
+ <span class="cstat-no" title="statement not covered" > &lt;/li&gt;</span>
753
+ <span class="cstat-no" title="statement not covered" > )}</span>
754
+ <span class="cstat-no" title="statement not covered" > &lt;/Fragment&gt;</span>
755
+ <span class="cstat-no" title="statement not covered" > );</span>
756
+ <span class="cstat-no" title="statement not covered" > })}</span>
757
+ <span class="cstat-no" title="statement not covered" > &lt;/ul&gt;</span>
758
+ <span class="cstat-no" title="statement not covered" > );</span>
759
+ <span class="cstat-no" title="statement not covered" > })}</span>
760
+ <span class="cstat-no" title="statement not covered" > &lt;/div&gt;</span>
761
+ <span class="cstat-no" title="statement not covered" > &lt;/li&gt;</span>
762
+ <span class="cstat-no" title="statement not covered" > );</span>
763
+ };
764
+ &nbsp;
765
+ HeaderMenuItem.propTypes = {
766
+ columns: PropTypes.array,
767
+ menuName: PropTypes.string,
768
+ rows: PropTypes.array,
769
+ name: PropTypes.string.isRequired,
770
+ subtitle: PropTypes.string.isRequired,
771
+ className: PropTypes.string,
772
+ handleClick: PropTypes.func.isRequired,
773
+ isMobileMenuExpanded: PropTypes.bool.isRequired,
774
+ };
775
+ HeaderMenuItem.defaultProps = {
776
+ menuName: '',
777
+ columns: [],
778
+ rows: [],
779
+ className: null,
780
+ };
781
+ &nbsp;
782
+ export default HeaderMenuItem;
783
+ &nbsp;</pre></td></tr></table></pre>
784
+
785
+ <div class='push'></div><!-- for sticky footer -->
786
+ </div><!-- /wrapper -->
787
+ <div class='footer quiet pad2 space-top1 center small'>
788
+ Code coverage generated by
789
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
790
+ at 2023-07-14T20:29:47.209Z
791
+ </div>
792
+ <script src="../../prettify.js"></script>
793
+ <script>
794
+ window.onload = function () {
795
+ prettyPrint();
796
+ };
797
+ </script>
798
+ <script src="../../sorter.js"></script>
799
+ <script src="../../block-navigation.js"></script>
800
+ </body>
801
+ </html>
802
+