qpp-style 9.28.1 → 9.28.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 (189) hide show
  1. package/components/Accordion/index.jsx +5 -1
  2. package/coverage/clover.xml +76 -76
  3. package/coverage/coverage-final.json +69 -69
  4. package/coverage/lcov-report/components/Accordion/index.html +1 -1
  5. package/coverage/lcov-report/components/Accordion/index.jsx.html +4 -4
  6. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +1 -1
  7. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +1 -1
  8. package/coverage/lcov-report/components/Error/index.html +1 -1
  9. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +348 -189
  10. package/coverage/lcov-report/components/{Header/HeaderUI.jsx.html → Footer/LegacyFooterUI.jsx.html} +303 -198
  11. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +11 -11
  12. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +11 -11
  13. package/coverage/lcov-report/components/Footer/index.html +44 -29
  14. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +5 -5
  15. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +5 -5
  16. package/coverage/lcov-report/components/Infotip/index.html +1 -1
  17. package/coverage/lcov-report/components/Infotip/index.js.html +1 -1
  18. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +3 -3
  19. package/coverage/lcov-report/components/Modal/Modal.jsx.html +5 -5
  20. package/coverage/lcov-report/components/Modal/index.html +1 -1
  21. package/coverage/lcov-report/components/Modal/index.jsx.html +5 -5
  22. package/coverage/lcov-report/components/SanitizedContent/index.html +1 -1
  23. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +1 -1
  24. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +4 -4
  25. package/coverage/lcov-report/components/{Header/NavigationButtonIcon.jsx.html → SideNav/AnimationGroup/AnimationGroup.jsx.html} +48 -48
  26. package/coverage/lcov-report/components/SideNav/{Content/SelectRole → AnimationGroup}/index.html +30 -30
  27. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +7 -7
  28. package/coverage/lcov-report/components/SideNav/Chart/index.html +16 -1
  29. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +94 -0
  30. package/coverage/lcov-report/components/{NotificationBanner/index.js.html → SideNav/Content/LevelOneContent.jsx.html} +242 -281
  31. package/coverage/lcov-report/components/{Header/HeaderMenuItem.jsx.html → SideNav/Content/LevelTwoContent.jsx.html} +236 -305
  32. package/coverage/lcov-report/components/SideNav/Content/index.html +146 -0
  33. package/coverage/lcov-report/components/SideNav/Content/index.js.html +97 -0
  34. package/coverage/lcov-report/components/{Header/HeaderCancel.jsx.html → SideNav/Details/IndividualDetails.jsx.html} +24 -18
  35. package/coverage/lcov-report/components/{NotificationBanner/ExpandedView.js.html → SideNav/Details/PracticeDetails.jsx.html} +64 -64
  36. package/coverage/lcov-report/components/{NotificationBanner → SideNav/Details}/index.html +46 -46
  37. package/coverage/lcov-report/components/SideNav/Details/index.js.html +97 -0
  38. package/coverage/lcov-report/components/{Header/HeaderLogo.jsx.html → SideNav/Links/CmsSwitchLink.jsx.html} +58 -61
  39. package/coverage/lcov-report/components/{Header/HeaderMenuButton.js.html → SideNav/Links/NavItemInline.jsx.html} +75 -63
  40. package/coverage/lcov-report/components/{NotificationBanner/CollapsedView.js.html → SideNav/Links/NavLinkContainer.jsx.html} +58 -61
  41. package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +832 -0
  42. package/coverage/lcov-report/components/{Header/HeaderAccountMenu.jsx.html → SideNav/Links/NavLinkInline.jsx.html} +157 -118
  43. package/coverage/lcov-report/components/{Header/HeaderMobileButton.js.html → SideNav/Links/NavLinkToggle.jsx.html} +45 -54
  44. package/coverage/lcov-report/components/SideNav/Links/index.html +206 -0
  45. package/coverage/lcov-report/components/{Header/utag-helpers.js.html → SideNav/Links/index.js.html} +40 -28
  46. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +1084 -0
  47. package/coverage/lcov-report/components/{GovBanner → SideNav/UI}/index.html +42 -27
  48. package/coverage/lcov-report/components/SideNav/UI/index.js.html +94 -0
  49. package/coverage/lcov-report/components/SideNav/helpers.js.html +10 -910
  50. package/coverage/lcov-report/components/SideNav/index.html +17 -17
  51. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +9 -9
  52. package/coverage/lcov-report/components/Tooltip/index.html +1 -1
  53. package/coverage/lcov-report/components/Tooltip/index.js.html +1 -1
  54. package/coverage/lcov-report/components/Tooltip/position.js.html +1 -1
  55. package/coverage/lcov-report/components/hooks/index.html +5 -5
  56. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +15 -18
  57. package/coverage/lcov-report/components/index.html +1 -1
  58. package/coverage/lcov-report/index.html +5 -5
  59. package/coverage/lcov-report/lib/Chevron.jsx.html +5 -5
  60. package/coverage/lcov-report/lib/SvgComponents.jsx.html +12 -150
  61. package/coverage/lcov-report/lib/index.html +30 -15
  62. package/coverage/lcov-report/lib/svg-definitions.svg.html +460 -0
  63. package/coverage/lcov-report/react/components/Accordion/index.html +5 -5
  64. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +17 -5
  65. package/coverage/lcov-report/react/components/Button/index.html +1 -1
  66. package/coverage/lcov-report/react/components/Button/index.js.html +1 -1
  67. package/coverage/lcov-report/react/components/Dropdown/index.html +1 -1
  68. package/coverage/lcov-report/react/components/Dropdown/index.js.html +1 -1
  69. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
  70. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
  71. package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
  72. package/coverage/lcov-report/react/components/Error/index.html +1 -1
  73. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +1 -1
  74. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +16 -16
  75. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +1 -1
  76. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +1 -1
  77. package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
  78. package/coverage/lcov-report/react/components/Footer/index.html +1 -1
  79. package/coverage/lcov-report/react/components/GovBanner/index.html +1 -1
  80. package/coverage/lcov-report/react/components/GovBanner/index.js.html +1 -1
  81. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +1 -1
  82. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +1 -1
  83. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +1 -1
  84. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +1 -1
  85. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +1 -1
  86. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +1 -1
  87. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +1 -1
  88. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +1 -1
  89. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +1 -1
  90. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +1 -1
  91. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +1 -1
  92. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +1 -1
  93. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +1 -1
  94. package/coverage/lcov-report/react/components/Header/header.js.html +1 -1
  95. package/coverage/lcov-report/react/components/Header/hooks.js.html +1 -1
  96. package/coverage/lcov-report/react/components/Header/index.html +1 -1
  97. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +1 -1
  98. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +1 -1
  99. package/coverage/lcov-report/react/components/Infotip/InfotipContent.jsx.html +1 -1
  100. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +1 -1
  101. package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
  102. package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
  103. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +1 -1
  104. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +1 -1
  105. package/coverage/lcov-report/react/components/Modal/index.html +1 -1
  106. package/coverage/lcov-report/react/components/Modal/index.jsx.html +1 -1
  107. package/coverage/lcov-report/react/components/NotificationBanner/CollapsedView.js.html +1 -1
  108. package/coverage/lcov-report/react/components/NotificationBanner/ExpandedView.js.html +1 -1
  109. package/coverage/lcov-report/react/components/NotificationBanner/index.html +1 -1
  110. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +1 -1
  111. package/coverage/lcov-report/react/components/SanitizedContent/index.html +1 -1
  112. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +1 -1
  113. package/coverage/lcov-report/react/components/SessionDialog/index.html +1 -1
  114. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +1 -1
  115. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +1 -1
  116. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +1 -1
  117. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +1 -1
  118. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +1 -1
  119. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +1 -1
  120. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +1 -1
  121. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +1 -1
  122. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +1 -1
  123. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.html +1 -1
  124. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +1 -1
  125. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +1 -1
  126. package/coverage/lcov-report/react/components/SideNav/Content/index.html +1 -1
  127. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +1 -1
  128. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +1 -1
  129. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +1 -1
  130. package/coverage/lcov-report/react/components/SideNav/Details/index.html +1 -1
  131. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +1 -1
  132. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +1 -1
  133. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +1 -1
  134. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +1 -1
  135. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +1 -1
  136. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +1 -1
  137. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +1 -1
  138. package/coverage/lcov-report/react/components/SideNav/Links/index.html +1 -1
  139. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +1 -1
  140. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +1 -1
  141. package/coverage/lcov-report/react/components/SideNav/UI/index.html +1 -1
  142. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +1 -1
  143. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +1 -1
  144. package/coverage/lcov-report/react/components/SideNav/index.html +1 -1
  145. package/coverage/lcov-report/react/components/SideNav/index.js.html +1 -1
  146. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +1 -1
  147. package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
  148. package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
  149. package/coverage/lcov-report/react/components/Tooltip/position.js.html +1 -1
  150. package/coverage/lcov-report/react/components/hooks/index.html +1 -1
  151. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +1 -1
  152. package/coverage/lcov-report/react/components/index.html +1 -1
  153. package/coverage/lcov-report/react/index.html +1 -1
  154. package/coverage/lcov-report/react/index.js.html +1 -1
  155. package/coverage/lcov-report/react/lib/Chevron.jsx.html +1 -1
  156. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1 -1
  157. package/coverage/lcov-report/react/lib/index.html +1 -1
  158. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +1 -1
  159. package/coverage/lcov-report/react/session/index.html +1 -1
  160. package/coverage/lcov-report/react/session/index.js.html +1 -1
  161. package/coverage/lcov-report/react/session/logout.js.html +1 -1
  162. package/coverage/lcov-report/react/session/refresh.js.html +1 -1
  163. package/coverage/lcov-report/react/session/ttl.js.html +1 -1
  164. package/coverage/lcov-report/session/index.html +20 -20
  165. package/coverage/lcov-report/session/index.js.html +1 -1
  166. package/coverage/lcov-report/session/logout.js.html +15 -24
  167. package/coverage/lcov-report/session/refresh.js.html +2 -2
  168. package/coverage/lcov-report/session/ttl.js.html +2 -2
  169. package/coverage/lcov.info +14 -10
  170. package/dist/browser.js +1 -1
  171. package/dist/browser.js.map +1 -1
  172. package/dist/index.js +1 -1
  173. package/dist/index.js.map +1 -1
  174. package/dist/react/index.js +1 -1
  175. package/dist/react/index.js.map +1 -1
  176. package/images/icons/svg/chevron-down.svg +5 -5
  177. package/package.json +1 -1
  178. package/styles/components/_accordion.scss +7 -0
  179. package/coverage/lcov-report/components/Button/index.html +0 -116
  180. package/coverage/lcov-report/components/Button/index.js.html +0 -355
  181. package/coverage/lcov-report/components/GovBanner/index.js.html +0 -436
  182. package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +0 -280
  183. package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +0 -253
  184. package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +0 -271
  185. package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +0 -181
  186. package/coverage/lcov-report/components/Header/ImpersonatorBanner.jsx.html +0 -331
  187. package/coverage/lcov-report/components/Header/hooks.js.html +0 -283
  188. package/coverage/lcov-report/components/Header/index.html +0 -326
  189. package/coverage/lcov-report/components/SideNav/Content/SelectRole/utils.js.html +0 -505
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">32.92% </span>
26
+ <span class="strong">54.54% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>27/82</span>
28
+ <span class='fraction'>12/22</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/31</span>
35
+ <span class='fraction'>0/4</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/17</span>
42
+ <span class='fraction'>0/3</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">33.75% </span>
47
+ <span class="strong">54.54% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>27/80</span>
49
+ <span class='fraction'>12/22</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line low'></div>
64
+ <div class='status-line medium'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -114,329 +114,7 @@
114
114
  <a name='L49'></a><a href='#L49'>49</a>
115
115
  <a name='L50'></a><a href='#L50'>50</a>
116
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-neutral">&nbsp;</span>
433
- <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-yes">1x</span>
439
- <span class="cline-any cline-yes">1x</span>
117
+ <a name='L52'></a><a href='#L52'>52</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
440
118
  <span class="cline-any cline-yes">1x</span>
441
119
  <span class="cline-any cline-yes">1x</span>
442
120
  <span class="cline-any cline-yes">1x</span>
@@ -444,147 +122,17 @@
444
122
  <span class="cline-any cline-yes">1x</span>
445
123
  <span class="cline-any cline-yes">1x</span>
446
124
  <span class="cline-any cline-yes">1x</span>
447
- <span class="cline-any cline-yes">1x</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
453
- <span class="cline-any cline-no">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-yes">1x</span>
458
- <span class="cline-any cline-no">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
468
- <span class="cline-any cline-no">&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-yes">1x</span>
484
- <span class="cline-any cline-no">&nbsp;</span>
485
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-no">&nbsp;</span>
512
- <span class="cline-any cline-no">&nbsp;</span>
513
- <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-neutral">&nbsp;</span>
515
- <span class="cline-any cline-yes">1x</span>
516
- <span class="cline-any cline-neutral">&nbsp;</span>
517
- <span class="cline-any cline-neutral">&nbsp;</span>
518
- <span class="cline-any cline-neutral">&nbsp;</span>
519
- <span class="cline-any cline-neutral">&nbsp;</span>
520
- <span class="cline-any cline-neutral">&nbsp;</span>
521
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
527
- <span class="cline-any cline-yes">1x</span>
528
- <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-neutral">&nbsp;</span>
532
- <span class="cline-any cline-yes">1x</span>
533
- <span class="cline-any cline-no">&nbsp;</span>
534
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
538
- <span class="cline-any cline-no">&nbsp;</span>
539
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
544
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-no">&nbsp;</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-neutral">&nbsp;</span>
559
125
  <span class="cline-any cline-neutral">&nbsp;</span>
560
126
  <span class="cline-any cline-yes">1x</span>
561
127
  <span class="cline-any cline-no">&nbsp;</span>
562
128
  <span class="cline-any cline-no">&nbsp;</span>
563
- <span class="cline-any cline-no">&nbsp;</span>
564
- <span class="cline-any cline-neutral">&nbsp;</span>
565
129
  <span class="cline-any cline-neutral">&nbsp;</span>
566
130
  <span class="cline-any cline-no">&nbsp;</span>
567
- <span class="cline-any cline-no">&nbsp;</span>
568
- <span class="cline-any cline-no">&nbsp;</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
- <span class="cline-any cline-no">&nbsp;</span>
571
- <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
131
  <span class="cline-any cline-neutral">&nbsp;</span>
576
132
  <span class="cline-any cline-neutral">&nbsp;</span>
577
133
  <span class="cline-any cline-neutral">&nbsp;</span>
578
134
  <span class="cline-any cline-yes">1x</span>
579
135
  <span class="cline-any cline-no">&nbsp;</span>
580
- <span class="cline-any cline-no">&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-neutral">&nbsp;</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
136
  <span class="cline-any cline-neutral">&nbsp;</span>
589
137
  <span class="cline-any cline-neutral">&nbsp;</span>
590
138
  <span class="cline-any cline-yes">1x</span>
@@ -594,25 +142,12 @@
594
142
  <span class="cline-any cline-no">&nbsp;</span>
595
143
  <span class="cline-any cline-no">&nbsp;</span>
596
144
  <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-no">&nbsp;</span>
599
145
  <span class="cline-any cline-no">&nbsp;</span>
600
146
  <span class="cline-any cline-neutral">&nbsp;</span>
601
147
  <span class="cline-any cline-neutral">&nbsp;</span>
602
148
  <span class="cline-any cline-neutral">&nbsp;</span>
603
149
  <span class="cline-any cline-neutral">&nbsp;</span>
604
150
  <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-no">&nbsp;</span>
606
- <span class="cline-any cline-no">&nbsp;</span>
607
- <span class="cline-any cline-no">&nbsp;</span>
608
- <span class="cline-any cline-neutral">&nbsp;</span>
609
- <span class="cline-any cline-no">&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-no">&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-neutral">&nbsp;</span>
616
151
  <span class="cline-any cline-neutral">&nbsp;</span>
617
152
  <span class="cline-any cline-neutral">&nbsp;</span>
618
153
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -625,168 +160,12 @@
625
160
  <span class="cline-any cline-neutral">&nbsp;</span>
626
161
  <span class="cline-any cline-neutral">&nbsp;</span>
627
162
  <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-no">&nbsp;</span>
629
- <span class="cline-any cline-no">&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
163
  <span class="cline-any cline-neutral">&nbsp;</span>
634
164
  <span class="cline-any cline-neutral">&nbsp;</span>
635
165
  <span class="cline-any cline-neutral">&nbsp;</span>
636
166
  <span class="cline-any cline-neutral">&nbsp;</span>
637
167
  <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-yes">1x</span>
643
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
647
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
652
- <span class="cline-any cline-neutral">&nbsp;</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-yes">1x</span>
676
- <span class="cline-any cline-no">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-neutral">&nbsp;</span>
684
- <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-neutral">&nbsp;</span>
686
- <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-yes">1x</span>
689
- <span class="cline-any cline-no">&nbsp;</span>
690
- <span class="cline-any cline-no">&nbsp;</span>
691
- <span class="cline-any cline-no">&nbsp;</span>
692
- <span class="cline-any cline-no">&nbsp;</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
- <span class="cline-any cline-no">&nbsp;</span>
695
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
699
- <span class="cline-any cline-neutral">&nbsp;</span>
700
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
706
- <span class="cline-any cline-yes">1x</span>
707
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
711
- <span class="cline-any cline-neutral">&nbsp;</span>
712
- <span class="cline-any cline-neutral">&nbsp;</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-neutral">&nbsp;</span>
715
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-no">&nbsp;</span>
729
- <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-neutral">&nbsp;</span>
732
- <span class="cline-any cline-neutral">&nbsp;</span>
733
- <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-neutral">&nbsp;</span>
736
- <span class="cline-any cline-neutral">&nbsp;</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-yes">1x</span>
742
- <span class="cline-any cline-no">&nbsp;</span>
743
- <span class="cline-any cline-no">&nbsp;</span>
744
- <span class="cline-any cline-no">&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">1x</span>
748
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</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></td><td class="text"><pre class="prettyprint lang-js">import cookie from 'cookie';
769
- import {
770
- AccountHomeIcon,
771
- DashboardIcon,
772
- FacilityBasedPreviewIcon,
773
- HardshipIcon,
774
- HelpSupportIcon,
775
- ManageUsersIcon,
776
- MyApplicationsIcon,
777
- MyTestDataIcon,
778
- PaymentIcon,
779
- PhysicianCompareIcon,
780
- StarIcon,
781
- TargetIcon,
782
- IndividualReporting,
783
- ManageDocumentsIcon,
784
- AuthorContentIcon,
785
- RegistrationIcon,
786
- } from '../../lib/SvgComponents';
787
- import { isReviewerRole } from './Content/SelectRole/utils';
788
- &nbsp;
789
- const submissionsUrl = '/user/submissions';
168
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const submissionsUrl = '/user/submissions';
790
169
  const dashboardUrl = '/user/dashboard';
791
170
  const manageUrl = '/user/manage-access';
792
171
  const feedbackUrl = `${submissionsUrl}/feedback`;
@@ -794,8 +173,6 @@ const physicianCompareUrl = `${submissionsUrl}/doctors-clinicians-preview`;
794
173
  const reportsPortalUrl = `${submissionsUrl}/reports`;
795
174
  const facilityBasedPreviewBaseUrl = `${submissionsUrl}/facility-based-preview`;
796
175
  const viewingToolUrl = '/user/helpdesk-viewing-tool';
797
- const contentMgrDashboardUrl = '/user/content-management';
798
- const registrationUrl = '/user/registration/';
799
176
  &nbsp;
800
177
  const performanceFeedbackUrl = <span class="fstat-no" title="function not covered" >(p</span>erformanceYear) =&gt; {
801
178
  <span class="cstat-no" title="statement not covered" > if (performanceYear) {</span>
@@ -826,295 +203,18 @@ const handleNavigation = <span class="fstat-no" title="function not covered" >(e
826
203
  });
827
204
  };
828
205
  &nbsp;
829
- /**
830
- * Load icon by url
831
- * @param {string} url
832
- * @returns svg icon
833
- */
834
- const getIcon = <span class="fstat-no" title="function not covered" >(u</span>rl, linkLabel) =&gt; {
835
- const icons = <span class="cstat-no" title="statement not covered" >{</span>
836
- [dashboardUrl]: DashboardIcon,
837
- [feedbackUrl]: StarIcon,
838
- [manageUrl]: ManageUsersIcon,
839
- [physicianCompareUrl]: PhysicianCompareIcon,
840
- [reportsPortalUrl]: HardshipIcon,
841
- [submissionsUrl]: AccountHomeIcon,
842
- [facilityBasedPreviewBaseUrl]: FacilityBasedPreviewIcon,
843
- [registrationUrl]: RegistrationIcon,
844
- '/developers': HelpSupportIcon,
845
- '/resources/help-and-support': HelpSupportIcon,
846
- '/user/apm-incentive-payments': PaymentIcon,
847
- '/user/applications': MyApplicationsIcon,
848
- '/user/exception/#/landing': HardshipIcon,
849
- '/user/targeted-review/#/landing': TargetIcon,
850
- '/user/test-data': MyTestDataIcon,
851
- '/user/self-nomination/#/landing': IndividualReporting,
852
- '/user/reviewers': AccountHomeIcon,
853
- '/reviewer/exception': HardshipIcon,
854
- '/reviewer/targeted-review': TargetIcon,
855
- '/self-nomination': IndividualReporting,
856
- '/case-management': FacilityBasedPreviewIcon,
857
- [contentMgrDashboardUrl]: AccountHomeIcon,
858
- 'Manage Documents': ManageDocumentsIcon,
859
- 'Author Content': AuthorContentIcon,
860
- };
861
- &nbsp;
862
- <span class="cstat-no" title="statement not covered" > if (linkLabel) <span class="cstat-no" title="statement not covered" >return icons[linkLabel];</span></span>
863
- <span class="cstat-no" title="statement not covered" > return icons[url];</span>
864
- };
865
- &nbsp;
866
- const singleRoleContentMap = {
867
- 'QPP Content Management - Author': 'contentManager',
868
- 'QPP Content Management - Approver': 'contentManager',
869
- 'QPP Content Management - Admin': 'contentManager',
870
- 'QPP Front-end - Author': 'contentManager',
871
- 'QPP Self-Nomination': 'internalReviewers',
872
- 'QPP Targeted Review &amp; Exceptions': 'internalReviewers',
873
- 'QPP Case Management - PIMMS Reviewer': 'internalReviewers',
874
- 'QPP Case Management - ACO PAC Reviewer': 'internalReviewers',
875
- 'QPP Case Management - CMS Reviewer': 'internalReviewers',
876
- };
877
- &nbsp;
878
- const multiRoleContentMap = {
879
- Reviewer: 'internalReviewers',
880
- 'Content Manager': 'contentManager',
881
- };
882
- &nbsp;
883
- const replaceDefaultContentMgrLinks = <span class="fstat-no" title="function not covered" >(d</span>efaultContent) =&gt; {
884
- const host = <span class="cstat-no" title="statement not covered" >window.location.host;</span>
885
- const updatedDefaultContent = <span class="cstat-no" title="statement not covered" >{</span>
886
- ...defaultContent,
887
- contentManager: [
888
- defaultContent.contentManager.find(
889
- <span class="fstat-no" title="function not covered" > (o</span>bj) =&gt; <span class="cstat-no" title="statement not covered" >obj.label === 'Dashboard Home'</span>
890
- ),
891
- {
892
- url: `${host}.qpp.cms.gov/cm/`,
893
- label: 'Manage Documents',
894
- },
895
- {
896
- url: `${host}.qpp.cms.gov/content-management/`,
897
- label: 'Author Content',
898
- },
899
- ],
900
- };
901
- <span class="cstat-no" title="statement not covered" > return updatedDefaultContent;</span>
902
- };
903
- &nbsp;
904
- /**
905
- * Load the side nav content for the given role
906
- * @param {string} roleName role of given user from internalReviewerNames
907
- * @param {object} navContent object of side nav links by role (levelOneContent &amp; defaultContent)
908
- * @returns {array} returns an array of objects (side nav menu links) from levelOneContent
909
- * || defaultContent
910
- */
911
- const loadSideNavContent = <span class="fstat-no" title="function not covered" >(r</span>oleName, navContent, isMultiRoleUser = <span class="branch-0 cbranch-no" title="branch not covered" >false)</span> =&gt; {
912
- const { levelOneContent, defaultContent } = <span class="cstat-no" title="statement not covered" >navContent;</span>
913
- const updatedDefaultContent = <span class="cstat-no" title="statement not covered" >replaceDefaultContentMgrLinks(defaultContent);</span>
914
- const roleContentMap = <span class="cstat-no" title="statement not covered" >isMultiRoleUser</span>
915
- ? multiRoleContentMap
916
- : singleRoleContentMap;
917
- const contentByRole = <span class="cstat-no" title="statement not covered" >roleContentMap[roleName];</span>
918
- <span class="cstat-no" title="statement not covered" > if (levelOneContent) {</span>
919
- <span class="cstat-no" title="statement not covered" > return levelOneContent[contentByRole] || levelOneContent.default;</span>
920
- }
921
- <span class="cstat-no" title="statement not covered" > return updatedDefaultContent[contentByRole] || updatedDefaultContent.default;</span>
922
- };
923
- &nbsp;
924
- /**
925
- * Check if user is currently impersonating
926
- * @param {string} docCookie document cookie
927
- * @returns {boolean}
928
- */
929
- const isImpersonating = <span class="fstat-no" title="function not covered" >(d</span>ocCookie) =&gt; {
930
- const parsedCookies = <span class="cstat-no" title="statement not covered" >cookie.parse(docCookie);</span>
931
- <span class="cstat-no" title="statement not covered" > return (</span>
932
- parsedCookies.qpp_can_impersonate &amp;&amp; parsedCookies.qpp_impersonated_user
933
- );
934
- };
935
- &nbsp;
936
- /**
937
- * Check if user has multiple roles, used to display Select Role dropdown
938
- * @param {string} docCookie document cookie
939
- * @returns {boolean}
940
- */
941
- const isMultiRoleUser = <span class="fstat-no" title="function not covered" >(d</span>ocCookie) =&gt; {
942
- const activeRoles = <span class="cstat-no" title="statement not covered" >new Set();</span>
943
- const { qpp_cms_internal_authorized } = <span class="cstat-no" title="statement not covered" >cookie.parse(docCookie);</span>
944
- let internalAuthz = <span class="cstat-no" title="statement not covered" >[];</span>
945
- <span class="cstat-no" title="statement not covered" > if (qpp_cms_internal_authorized) {</span>
946
- <span class="cstat-no" title="statement not covered" > internalAuthz = JSON.parse(qpp_cms_internal_authorized);</span>
947
- }
948
- // Filter out test internalCms authz
949
- const filteredInternalAuthz = <span class="cstat-no" title="statement not covered" >internalAuthz.filter(<span class="fstat-no" title="function not covered" >(i</span>nternalAuth) =&gt; {</span>
950
- <span class="cstat-no" title="statement not covered" > return (</span>
951
- internalAuth !== 'Test internalCms Resource' &amp;&amp;
952
- internalAuth !== 'Test internalCms Resource 2'
953
- );
954
- });
955
- &nbsp;
956
- <span class="cstat-no" title="statement not covered" > filteredInternalAuthz.forEach(<span class="fstat-no" title="function not covered" >(e</span>lement) =&gt; {</span>
957
- <span class="cstat-no" title="statement not covered" > if (isReviewerRole(element)) {</span>
958
- <span class="cstat-no" title="statement not covered" > return activeRoles.add('reviewer');</span>
959
- }
960
- <span class="cstat-no" title="statement not covered" > return activeRoles.add(element);</span>
961
- });
962
- &nbsp;
963
- <span class="cstat-no" title="statement not covered" > return activeRoles.size &gt; 1;</span>
964
- };
965
- &nbsp;
966
- /**
967
- * Transform cookie values to permissions object
968
- * @param {object} cookies parsed document.cookie values
969
- * @returns {object}
970
- */
971
- const transformCookieValues = <span class="fstat-no" title="function not covered" >(c</span>ookies) =&gt; {
972
- const {
973
- qpp_can_impersonate,
974
- qpp_has_authorizations,
975
- user_has_apm_payments,
976
- qpp_cms_internal_authorized,
977
- qpp_ehr_authorized,
978
- qpp_has_non_registry_authorizations,
979
- } = <span class="cstat-no" title="statement not covered" >cookies;</span>
980
- <span class="cstat-no" title="statement not covered" > return {</span>
981
- canImpersonate: qpp_can_impersonate === 'true',
982
- hasAuthorizations: qpp_has_authorizations === 'true',
983
- hasApmPayments: user_has_apm_payments === 'true',
984
- internalReviewerNames: qpp_cms_internal_authorized
985
- ? JSON.parse(qpp_cms_internal_authorized)
986
- : [],
987
- ehrAuthorized: qpp_ehr_authorized === 'true',
988
- hasNonRegistryAuthorizations:
989
- qpp_has_non_registry_authorizations === 'true',
990
- };
991
- };
992
- &nbsp;
993
- const permissionsByRole = {
994
- 'QPP User': {
995
- canImpersonate: false,
996
- hasAuthorizations: true,
997
- hasApmPayments: true,
998
- },
999
- Reviewer: {
1000
- hasAuthorizations: false,
1001
- hasApmPaymentss: false,
1002
- },
1003
- 'Helpdesk Viewer': {
1004
- hasAuthorizations: false,
1005
- hasApmPayments: false,
1006
- hasNonRegistryAuthorizations: false,
1007
- internalReviewerNames: ['QPP Helpdesk'],
1008
- },
1009
- // Helpdesk role &amp;&amp; impersonating (use impersonated user authz values)
1010
- Impersonation: {
1011
- internalReviewerNames: ['QPP Helpdesk'],
1012
- },
1013
- 'Content Manager': {
1014
- hasAuthorizations: false,
1015
- hasApmPaymentss: false,
1016
- hasNonRegistryAuthorizations: false,
1017
- },
1018
- };
1019
- &nbsp;
1020
- /**
1021
- * Return permissions by role
1022
- * @param {string} selectedRole selected user role
1023
- * @param {object} permissionValues default permission values from transformed parsed cookie
1024
- * @returns {object}
1025
- */
1026
- const loadUserPermissionsByRole = <span class="fstat-no" title="function not covered" >(s</span>electedRole, permissionValues) =&gt; {
1027
- <span class="cstat-no" title="statement not covered" > return {</span>
1028
- ...permissionValues,
1029
- ...permissionsByRole[selectedRole],
1030
- };
1031
- };
1032
- &nbsp;
1033
- /**
1034
- * Helper fn to return user permissions/properties from cookies set on login
1035
- * @param {string} docCookie cookie values set on login
1036
- * @param {string} selectedRole string of selected role if user has multiple roles
1037
- * @returns {object}
1038
- */
1039
- const loadUserPermissions = <span class="fstat-no" title="function not covered" >(d</span>ocCookie, selectedRole) =&gt; {
1040
- const parsedCookies = <span class="cstat-no" title="statement not covered" >cookie.parse(docCookie);</span>
1041
- const permissionValues = <span class="cstat-no" title="statement not covered" >transformCookieValues(parsedCookies);</span>
1042
- const impersonating = <span class="cstat-no" title="statement not covered" >isImpersonating(docCookie);</span>
1043
- const role = <span class="cstat-no" title="statement not covered" >impersonating ? 'Impersonation' : selectedRole;</span>
1044
- &nbsp;
1045
- <span class="cstat-no" title="statement not covered" > if (role) {</span>
1046
- <span class="cstat-no" title="statement not covered" > return loadUserPermissionsByRole(role, permissionValues);</span>
1047
- }
1048
- &nbsp;
1049
- <span class="cstat-no" title="statement not covered" > return permissionValues;</span>
1050
- };
1051
- &nbsp;
1052
- /**
1053
- * Return map of link conditionals based on user cookies for side nav
1054
- * @param {object} userPermissions user permissions/properties derived from cookies set on login
1055
- * @returns {object}
1056
- */
1057
- const getUrlConditionMap = <span class="fstat-no" title="function not covered" >(u</span>serPermissions) =&gt; {
1058
- <span class="cstat-no" title="statement not covered" > return {</span>
1059
- [dashboardUrl]: userPermissions.hasAuthorizations,
1060
- [feedbackUrl]: userPermissions.hasAuthorizations,
1061
- '/user/apm-incentive-payments': userPermissions.hasApmPayments,
1062
- [physicianCompareUrl]: userPermissions.hasNonRegistryAuthorizations,
1063
- [registrationUrl]: userPermissions.hasAuthorizations,
1064
- [reportsPortalUrl]: userPermissions.hasAuthorizations,
1065
- [facilityBasedPreviewBaseUrl]: userPermissions.hasAuthorizations,
1066
- '/user/helpdesk-viewing-tool': userPermissions.canImpersonate,
1067
- '/reviewer/exception': userPermissions.internalReviewerNames?.includes(
1068
- 'QPP Targeted Review &amp; Exceptions'
1069
- ),
1070
- '/reviewer/targeted-review':
1071
- userPermissions.internalReviewerNames?.includes(
1072
- 'QPP Targeted Review &amp; Exceptions'
1073
- ),
1074
- '/self-nomination': userPermissions.internalReviewerNames?.includes(
1075
- 'QPP Self-Nomination'
1076
- ),
1077
- &nbsp;
1078
- '/case-management': userPermissions.internalReviewerNames?.some(<span class="fstat-no" title="function not covered" >(v</span>al) =&gt;
1079
- <span class="cstat-no" title="statement not covered" > [</span>
1080
- 'QPP Case Management - PIMMS Reviewer',
1081
- 'QPP Case Management - ACO PAC Reviewer',
1082
- 'QPP Case Management - CMS Reviewer',
1083
- ].includes(val)
1084
- ),
1085
- &nbsp;
1086
- // dev pre
1087
- '/user/applications': userPermissions.ehrAuthorized,
1088
- '/user/test-data': userPermissions.ehrAuthorized,
1089
- };
1090
- };
1091
- &nbsp;
1092
- const isImpersonationLink = <span class="fstat-no" title="function not covered" >(d</span>ocCookie, linkLabel) =&gt; {
1093
- <span class="cstat-no" title="statement not covered" > if (!isImpersonating(docCookie)) <span class="cstat-no" title="statement not covered" >return;</span></span>
1094
- const helpdeskLinks = <span class="cstat-no" title="statement not covered" >['Account Home', 'Manage Access', 'Help and Support'];</span>
1095
- <span class="cstat-no" title="statement not covered" > return !helpdeskLinks.includes(linkLabel);</span>
1096
- };
1097
- &nbsp;
1098
206
  module.exports = {
1099
207
  submissionsUrl,
1100
208
  dashboardUrl,
1101
209
  feedbackUrl,
1102
210
  manageUrl,
1103
211
  physicianCompareUrl,
1104
- registrationUrl,
1105
212
  performanceFeedbackUrl,
1106
213
  facilityBasedPreviewUrl,
1107
214
  handleNavigation,
1108
215
  reportsPortalUrl,
1109
216
  facilityBasedPreviewBaseUrl,
1110
217
  viewingToolUrl,
1111
- loadUserPermissions,
1112
- getUrlConditionMap,
1113
- isMultiRoleUser,
1114
- getIcon,
1115
- isImpersonating,
1116
- isImpersonationLink,
1117
- loadSideNavContent,
1118
218
  };
1119
219
  &nbsp;</pre></td></tr></table></pre>
1120
220
 
@@ -1123,7 +223,7 @@ module.exports = {
1123
223
  <div class='footer quiet pad2 space-top1 center small'>
1124
224
  Code coverage generated by
1125
225
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1126
- at Thu Feb 02 2023 11:23:00 GMT-0800 (Pacific Standard Time)
226
+ at Fri Apr 29 2022 13:58:50 GMT-0400 (Eastern Daylight Time)
1127
227
  </div>
1128
228
  <script src="../../prettify.js"></script>
1129
229
  <script>