@lcap/nasl 3.3.0-beta.2 → 3.3.2-beta.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 (441) hide show
  1. package/.nyc_output/d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json +1 -0
  2. package/.nyc_output/processinfo/d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +461 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +196 -0
  12. package/coverage/src/automate/engine/index.html +116 -0
  13. package/coverage/src/automate/engine/utils.js.html +1414 -0
  14. package/coverage/src/bak/index.html +116 -0
  15. package/coverage/src/bak/translator.js.html +622 -0
  16. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +175 -0
  17. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +169 -0
  18. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1246 -0
  19. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +145 -0
  20. package/coverage/src/breakpoint/generator/index.html +176 -0
  21. package/coverage/src/breakpoint/generator/index.ts.html +508 -0
  22. package/coverage/src/breakpoint/index.html +116 -0
  23. package/coverage/src/breakpoint/index.ts.html +94 -0
  24. package/coverage/src/breakpoint/shared/constants.ts.html +436 -0
  25. package/coverage/src/breakpoint/shared/index.html +176 -0
  26. package/coverage/src/breakpoint/shared/index.ts.html +94 -0
  27. package/coverage/src/breakpoint/shared/operations.ts.html +160 -0
  28. package/coverage/src/breakpoint/shared/socket.ts.html +1297 -0
  29. package/coverage/src/breakpoint/shared/utils.ts.html +1087 -0
  30. package/coverage/src/breakpoint/store/core.ts.html +1600 -0
  31. package/coverage/src/breakpoint/store/dock.ts.html +733 -0
  32. package/coverage/src/breakpoint/store/index.html +146 -0
  33. package/coverage/src/breakpoint/store/index.ts.html +91 -0
  34. package/coverage/src/common/BaseNode.ts.html +3874 -0
  35. package/coverage/src/common/Command.ts.html +310 -0
  36. package/coverage/src/common/EventEmitter.ts.html +370 -0
  37. package/coverage/src/common/Messager.ts.html +820 -0
  38. package/coverage/src/common/asyncFuncMap.ts.html +127 -0
  39. package/coverage/src/common/index.html +191 -0
  40. package/coverage/src/common/index.ts.html +94 -0
  41. package/coverage/src/concepts/Abort__.ts.html +328 -0
  42. package/coverage/src/concepts/Anchor__.ts.html +646 -0
  43. package/coverage/src/concepts/AnonymousFunction__.ts.html +2029 -0
  44. package/coverage/src/concepts/App__.ts.html +13252 -0
  45. package/coverage/src/concepts/Argument__.ts.html +964 -0
  46. package/coverage/src/concepts/Assignee__.ts.html +2236 -0
  47. package/coverage/src/concepts/AssignmentLine__.ts.html +409 -0
  48. package/coverage/src/concepts/Assignment__.ts.html +1123 -0
  49. package/coverage/src/concepts/Attribute__.ts.html +733 -0
  50. package/coverage/src/concepts/AuthInterface__.ts.html +367 -0
  51. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +1984 -0
  52. package/coverage/src/concepts/AuthLogic__.ts.html +781 -0
  53. package/coverage/src/concepts/BackendVariable__.ts.html +1483 -0
  54. package/coverage/src/concepts/Backend__.ts.html +1165 -0
  55. package/coverage/src/concepts/BatchAssignment__.ts.html +3301 -0
  56. package/coverage/src/concepts/BinaryExpression__.ts.html +1441 -0
  57. package/coverage/src/concepts/BindAttribute__.ts.html +3835 -0
  58. package/coverage/src/concepts/BindDirective__.ts.html +1921 -0
  59. package/coverage/src/concepts/BindEvent__.ts.html +3406 -0
  60. package/coverage/src/concepts/BindStyle__.ts.html +1612 -0
  61. package/coverage/src/concepts/BooleanLiteral__.ts.html +418 -0
  62. package/coverage/src/concepts/CallAuthInterface__.ts.html +1615 -0
  63. package/coverage/src/concepts/CallConnector__.ts.html +922 -0
  64. package/coverage/src/concepts/CallFunction__.ts.html +2122 -0
  65. package/coverage/src/concepts/CallInterface__.ts.html +2719 -0
  66. package/coverage/src/concepts/CallLogic__.ts.html +4807 -0
  67. package/coverage/src/concepts/CallQueryComponent__.ts.html +5308 -0
  68. package/coverage/src/concepts/Comment__.ts.html +394 -0
  69. package/coverage/src/concepts/CompletionProperty__.ts.html +925 -0
  70. package/coverage/src/concepts/ConfigGroup__.ts.html +1105 -0
  71. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +424 -0
  72. package/coverage/src/concepts/ConfigProperty__.ts.html +1348 -0
  73. package/coverage/src/concepts/Configuration__.ts.html +1027 -0
  74. package/coverage/src/concepts/Connection__.ts.html +1360 -0
  75. package/coverage/src/concepts/ConnectorTrigger__.ts.html +595 -0
  76. package/coverage/src/concepts/Connector__.ts.html +4255 -0
  77. package/coverage/src/concepts/Constant__.ts.html +913 -0
  78. package/coverage/src/concepts/DataSource__.ts.html +1771 -0
  79. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +331 -0
  80. package/coverage/src/concepts/Destination__.ts.html +2731 -0
  81. package/coverage/src/concepts/End__.ts.html +433 -0
  82. package/coverage/src/concepts/EntityIndex__.ts.html +787 -0
  83. package/coverage/src/concepts/EntityProperty__.ts.html +2668 -0
  84. package/coverage/src/concepts/Entity__.ts.html +2950 -0
  85. package/coverage/src/concepts/EnumItem__.ts.html +550 -0
  86. package/coverage/src/concepts/Enum__.ts.html +1231 -0
  87. package/coverage/src/concepts/Event__.ts.html +1084 -0
  88. package/coverage/src/concepts/ExternalDestination__.ts.html +1033 -0
  89. package/coverage/src/concepts/ForEachStatement__.ts.html +1957 -0
  90. package/coverage/src/concepts/FrontendLibrary__.ts.html +1711 -0
  91. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  92. package/coverage/src/concepts/Frontend__.ts.html +3961 -0
  93. package/coverage/src/concepts/Function__.ts.html +3598 -0
  94. package/coverage/src/concepts/Identifier__.ts.html +1057 -0
  95. package/coverage/src/concepts/IfStatement__.ts.html +1594 -0
  96. package/coverage/src/concepts/Integration__.ts.html +1228 -0
  97. package/coverage/src/concepts/InterfaceParam__.ts.html +1087 -0
  98. package/coverage/src/concepts/Interface__.ts.html +3394 -0
  99. package/coverage/src/concepts/JSBlock__.ts.html +421 -0
  100. package/coverage/src/concepts/JavaLogic__.ts.html +460 -0
  101. package/coverage/src/concepts/LogicItem__.ts.html +1171 -0
  102. package/coverage/src/concepts/Logic__.ts.html +7408 -0
  103. package/coverage/src/concepts/MatchCase__.ts.html +2929 -0
  104. package/coverage/src/concepts/Match__.ts.html +2455 -0
  105. package/coverage/src/concepts/MemberExpression__.ts.html +1726 -0
  106. package/coverage/src/concepts/MicroApp__.ts.html +436 -0
  107. package/coverage/src/concepts/Module__.ts.html +9220 -0
  108. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1045 -0
  109. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1018 -0
  110. package/coverage/src/concepts/Namespace__.ts.html +7942 -0
  111. package/coverage/src/concepts/NewComposite__.ts.html +4729 -0
  112. package/coverage/src/concepts/NewList__.ts.html +1618 -0
  113. package/coverage/src/concepts/NewMap__.ts.html +2326 -0
  114. package/coverage/src/concepts/New__.ts.html +289 -0
  115. package/coverage/src/concepts/NullLiteral__.ts.html +349 -0
  116. package/coverage/src/concepts/NumericLiteral__.ts.html +676 -0
  117. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1141 -0
  118. package/coverage/src/concepts/OverriddenLogic__.ts.html +6817 -0
  119. package/coverage/src/concepts/Param__.ts.html +1726 -0
  120. package/coverage/src/concepts/Point__.ts.html +331 -0
  121. package/coverage/src/concepts/ProcessComponent__.ts.html +1666 -0
  122. package/coverage/src/concepts/ProcessElement__.ts.html +5884 -0
  123. package/coverage/src/concepts/ProcessOutcome__.ts.html +352 -0
  124. package/coverage/src/concepts/ProcessOutcomes__.ts.html +343 -0
  125. package/coverage/src/concepts/Process__.ts.html +4768 -0
  126. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +568 -0
  127. package/coverage/src/concepts/QueryFieldExpression__.ts.html +583 -0
  128. package/coverage/src/concepts/QueryFromExpression__.ts.html +910 -0
  129. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +559 -0
  130. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1567 -0
  131. package/coverage/src/concepts/QueryLimitExpression__.ts.html +637 -0
  132. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +679 -0
  133. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1714 -0
  134. package/coverage/src/concepts/Rect__.ts.html +373 -0
  135. package/coverage/src/concepts/Return__.ts.html +1312 -0
  136. package/coverage/src/concepts/Role__.ts.html +601 -0
  137. package/coverage/src/concepts/SelectMembers__.ts.html +1246 -0
  138. package/coverage/src/concepts/Slot__.ts.html +628 -0
  139. package/coverage/src/concepts/SqlQueryComponent__.ts.html +982 -0
  140. package/coverage/src/concepts/Start__.ts.html +304 -0
  141. package/coverage/src/concepts/StringInterpolation__.ts.html +1129 -0
  142. package/coverage/src/concepts/StringLiteral__.ts.html +505 -0
  143. package/coverage/src/concepts/StructureProperty__.ts.html +1132 -0
  144. package/coverage/src/concepts/Structure__.ts.html +2092 -0
  145. package/coverage/src/concepts/SwitchCase__.ts.html +1174 -0
  146. package/coverage/src/concepts/SwitchStatement__.ts.html +877 -0
  147. package/coverage/src/concepts/Theme__.ts.html +358 -0
  148. package/coverage/src/concepts/Transactional__.ts.html +628 -0
  149. package/coverage/src/concepts/TriggerEvent__.ts.html +1012 -0
  150. package/coverage/src/concepts/TriggerLauncher__.ts.html +775 -0
  151. package/coverage/src/concepts/TypeAnnotation__.ts.html +3718 -0
  152. package/coverage/src/concepts/TypeParam__.ts.html +319 -0
  153. package/coverage/src/concepts/UnaryExpression__.ts.html +697 -0
  154. package/coverage/src/concepts/Unparsed__.ts.html +394 -0
  155. package/coverage/src/concepts/UseComponent__.ts.html +331 -0
  156. package/coverage/src/concepts/ValidationRule__.ts.html +1840 -0
  157. package/coverage/src/concepts/Variable__.ts.html +1489 -0
  158. package/coverage/src/concepts/ViewBlock__.ts.html +352 -0
  159. package/coverage/src/concepts/ViewComponent__.ts.html +4180 -0
  160. package/coverage/src/concepts/ViewElement__.ts.html +8803 -0
  161. package/coverage/src/concepts/View__.ts.html +8620 -0
  162. package/coverage/src/concepts/WhileStatement__.ts.html +1063 -0
  163. package/coverage/src/concepts/basics/stdlib/index.html +356 -0
  164. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  165. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  166. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  167. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  168. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  169. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  170. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  171. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  172. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  173. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  174. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  175. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  176. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  177. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6844 -0
  178. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  179. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  180. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
  181. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  182. package/coverage/src/concepts/basics/types/index.html +131 -0
  183. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  184. package/coverage/src/concepts/index.html +1961 -0
  185. package/coverage/src/concepts/index.ts.html +103 -0
  186. package/coverage/src/concepts/index__.ts.html +451 -0
  187. package/coverage/src/config.ts.html +325 -0
  188. package/coverage/src/decorators/index.html +131 -0
  189. package/coverage/src/decorators/index.ts.html +574 -0
  190. package/coverage/src/decorators/promise.ts.html +169 -0
  191. package/coverage/src/eventBus.ts.html +100 -0
  192. package/coverage/src/generator/compileComponent.ts.html +142 -0
  193. package/coverage/src/generator/genBundleFiles.ts.html +1828 -0
  194. package/coverage/src/generator/genHash.ts.html +124 -0
  195. package/coverage/src/generator/genMetaData.ts.html +1042 -0
  196. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  197. package/coverage/src/generator/icestark.ts.html +220 -0
  198. package/coverage/src/generator/index.html +266 -0
  199. package/coverage/src/generator/index.ts.html +106 -0
  200. package/coverage/src/generator/microApp.ts.html +172 -0
  201. package/coverage/src/generator/permission.ts.html +1036 -0
  202. package/coverage/src/generator/qiankun.ts.html +232 -0
  203. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  204. package/coverage/src/index.html +146 -0
  205. package/coverage/src/index.ts.html +121 -0
  206. package/coverage/src/manager/diagnostic.ts.html +442 -0
  207. package/coverage/src/manager/index.html +131 -0
  208. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  209. package/coverage/src/natural/genNaturalTS.ts.html +355 -0
  210. package/coverage/src/natural/index.html +161 -0
  211. package/coverage/src/natural/index.ts.html +91 -0
  212. package/coverage/src/natural/naslStdlibMap.ts.html +157 -0
  213. package/coverage/src/natural/transformTSCode.ts.html +2647 -0
  214. package/coverage/src/sentry/index.html +116 -0
  215. package/coverage/src/sentry/index.ts.html +676 -0
  216. package/coverage/src/server/createUiTs.ts.html +910 -0
  217. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  218. package/coverage/src/server/event.js.html +526 -0
  219. package/coverage/src/server/extendBaseNode.ts.html +1762 -0
  220. package/coverage/src/server/formatTsUtils.ts.html +2689 -0
  221. package/coverage/src/server/getConnector.ts.html +316 -0
  222. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  223. package/coverage/src/server/getFunctions.ts.html +133 -0
  224. package/coverage/src/server/getInterfaces.ts.html +229 -0
  225. package/coverage/src/server/getLogging.ts.html +100 -0
  226. package/coverage/src/server/getLogics.ts.html +1363 -0
  227. package/coverage/src/server/getMemberIdentifier.ts.html +1561 -0
  228. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  229. package/coverage/src/server/getProcesses.ts.html +2023 -0
  230. package/coverage/src/server/getValidates.ts.html +115 -0
  231. package/coverage/src/server/index.html +401 -0
  232. package/coverage/src/server/index.ts.html +229 -0
  233. package/coverage/src/server/naslServer.ts.html +14401 -0
  234. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  235. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  236. package/coverage/src/server/translator.ts.html +2566 -0
  237. package/coverage/src/service/creator/add.configs.js.html +379 -0
  238. package/coverage/src/service/creator/errHandles.js.html +322 -0
  239. package/coverage/src/service/creator/index.html +146 -0
  240. package/coverage/src/service/creator/index.js.html +352 -0
  241. package/coverage/src/service/datasource/api.js.html +118 -0
  242. package/coverage/src/service/datasource/index.html +131 -0
  243. package/coverage/src/service/datasource/index.js.html +103 -0
  244. package/coverage/src/service/logic/api.js.html +109 -0
  245. package/coverage/src/service/logic/index.html +131 -0
  246. package/coverage/src/service/logic/index.js.html +103 -0
  247. package/coverage/src/service/storage/api.js.html +202 -0
  248. package/coverage/src/service/storage/index.html +206 -0
  249. package/coverage/src/service/storage/index.ts.html +103 -0
  250. package/coverage/src/service/storage/init.ts.html +2761 -0
  251. package/coverage/src/service/storage/jsoner.ts.html +502 -0
  252. package/coverage/src/service/storage/map.ts.html +256 -0
  253. package/coverage/src/service/storage/service.ts.html +331 -0
  254. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  255. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  256. package/coverage/src/templator/genCreateBlock.ts.html +1093 -0
  257. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
  258. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2254 -0
  259. package/coverage/src/templator/genEditTableBlock.ts.html +955 -0
  260. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  261. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  262. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  263. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  264. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  265. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  266. package/coverage/src/templator/genTableBlock.ts.html +910 -0
  267. package/coverage/src/templator/genUpdateBlock.ts.html +1192 -0
  268. package/coverage/src/templator/index.html +326 -0
  269. package/coverage/src/templator/index.ts.html +154 -0
  270. package/coverage/src/templator/utils.ts.html +1861 -0
  271. package/coverage/src/translator/constant.ts.html +106 -0
  272. package/coverage/src/translator/index.html +146 -0
  273. package/coverage/src/translator/index.ts.html +94 -0
  274. package/coverage/src/translator/utils.ts.html +436 -0
  275. package/coverage/src/utils/cookie.ts.html +265 -0
  276. package/coverage/src/utils/env.ts.html +91 -0
  277. package/coverage/src/utils/index.html +236 -0
  278. package/coverage/src/utils/index.ts.html +655 -0
  279. package/coverage/src/utils/logger.ts.html +145 -0
  280. package/coverage/src/utils/sortTsString.ts.html +187 -0
  281. package/coverage/src/utils/string.ts.html +400 -0
  282. package/coverage/src/utils/time-slicing.ts.html +418 -0
  283. package/coverage/src/utils/traverse.ts.html +568 -0
  284. package/coverage/src/utils/window.ts.html +112 -0
  285. package/out/bak/translator.js +16 -18
  286. package/out/bak/translator.js.map +1 -1
  287. package/out/breakpoint/generator/BreakpointNode.js +1 -0
  288. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  289. package/out/breakpoint/shared/constants.d.ts +2 -0
  290. package/out/breakpoint/shared/constants.js +3 -1
  291. package/out/breakpoint/shared/constants.js.map +1 -1
  292. package/out/breakpoint/shared/socket.d.ts +1 -0
  293. package/out/breakpoint/shared/socket.js +35 -17
  294. package/out/breakpoint/shared/socket.js.map +1 -1
  295. package/out/breakpoint/shared/utils.js +33 -1
  296. package/out/breakpoint/shared/utils.js.map +1 -1
  297. package/out/breakpoint/store/core.d.ts +2 -0
  298. package/out/breakpoint/store/core.js +5 -3
  299. package/out/breakpoint/store/core.js.map +1 -1
  300. package/out/breakpoint/store/dock.js +33 -0
  301. package/out/breakpoint/store/dock.js.map +1 -1
  302. package/out/concepts/AuthLogicForCallInterface__.js +2 -1
  303. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  304. package/out/concepts/BinaryExpression__.js +5 -5
  305. package/out/concepts/BinaryExpression__.js.map +1 -1
  306. package/out/concepts/BindAttribute__.js +3 -3
  307. package/out/concepts/BindAttribute__.js.map +1 -1
  308. package/out/concepts/CallConnector__.d.ts +2 -0
  309. package/out/concepts/CallConnector__.js +17 -1
  310. package/out/concepts/CallConnector__.js.map +1 -1
  311. package/out/concepts/CallFunction__.js +31 -24
  312. package/out/concepts/CallFunction__.js.map +1 -1
  313. package/out/concepts/CallLogic__.js +53 -46
  314. package/out/concepts/CallLogic__.js.map +1 -1
  315. package/out/concepts/Connection__.js +1 -1
  316. package/out/concepts/Connection__.js.map +1 -1
  317. package/out/concepts/ForEachStatement__.d.ts +1 -20
  318. package/out/concepts/ForEachStatement__.js +16 -14
  319. package/out/concepts/ForEachStatement__.js.map +1 -1
  320. package/out/concepts/IfStatement__.js +24 -25
  321. package/out/concepts/IfStatement__.js.map +1 -1
  322. package/out/concepts/Logic__.js +8 -20
  323. package/out/concepts/Logic__.js.map +1 -1
  324. package/out/concepts/MatchCase__.js +12 -7
  325. package/out/concepts/MatchCase__.js.map +1 -1
  326. package/out/concepts/MemberExpression__.js +11 -14
  327. package/out/concepts/MemberExpression__.js.map +1 -1
  328. package/out/concepts/NewComposite__.d.ts +1 -1
  329. package/out/concepts/NewComposite__.js +11 -83
  330. package/out/concepts/NewComposite__.js.map +1 -1
  331. package/out/concepts/NewList__.js +11 -9
  332. package/out/concepts/NewList__.js.map +1 -1
  333. package/out/concepts/NewMap__.d.ts +1 -1
  334. package/out/concepts/NewMap__.js +12 -4
  335. package/out/concepts/NewMap__.js.map +1 -1
  336. package/out/concepts/New__.js +3 -1
  337. package/out/concepts/New__.js.map +1 -1
  338. package/out/concepts/StringInterpolation__.js +2 -2
  339. package/out/concepts/StringInterpolation__.js.map +1 -1
  340. package/out/concepts/SwitchCase__.js +8 -4
  341. package/out/concepts/SwitchCase__.js.map +1 -1
  342. package/out/concepts/ViewElement__.d.ts +4 -2
  343. package/out/concepts/ViewElement__.js +7 -21
  344. package/out/concepts/ViewElement__.js.map +1 -1
  345. package/out/concepts/WhileStatement__.js +6 -4
  346. package/out/concepts/WhileStatement__.js.map +1 -1
  347. package/out/concepts/basics/stdlib/nasl.browser.js +19 -3
  348. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  349. package/out/concepts/basics/stdlib/nasl.util.d.ts +2 -0
  350. package/out/concepts/basics/stdlib/nasl.util.js +36 -11
  351. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  352. package/out/concepts/basics/stdlib/timeZone.d.ts +5 -0
  353. package/out/concepts/basics/stdlib/timeZone.js +196 -0
  354. package/out/concepts/basics/stdlib/timeZone.js.map +1 -0
  355. package/out/generator/genBundleFiles.js +12 -4
  356. package/out/generator/genBundleFiles.js.map +1 -1
  357. package/out/generator/genReleaseBody.js +1 -1
  358. package/out/generator/genReleaseBody.js.map +1 -1
  359. package/out/natural/genNaturalTS.d.ts +2 -2
  360. package/out/natural/genNaturalTS.js +5 -5
  361. package/out/natural/genNaturalTS.js.map +1 -1
  362. package/out/natural/transformTSCode.js +18 -3
  363. package/out/natural/transformTSCode.js.map +1 -1
  364. package/out/server/createUiTs.js +3 -0
  365. package/out/server/createUiTs.js.map +1 -1
  366. package/out/server/getLogics.js +3 -1
  367. package/out/server/getLogics.js.map +1 -1
  368. package/out/server/getMemberIdentifier.js +15 -0
  369. package/out/server/getMemberIdentifier.js.map +1 -1
  370. package/out/server/naslServer.js +35 -9
  371. package/out/server/naslServer.js.map +1 -1
  372. package/out/service/creator/errHandles.js +10 -19
  373. package/out/service/creator/errHandles.js.map +1 -1
  374. package/out/service/storage/init.js +7 -2
  375. package/out/service/storage/init.js.map +1 -1
  376. package/out/service/storage/jsoner.js +1 -3
  377. package/out/service/storage/jsoner.js.map +1 -1
  378. package/out/templator/genEditTableBlock.js +24 -2
  379. package/out/templator/genEditTableBlock.js.map +1 -1
  380. package/out/templator/genTableBlock.js +22 -1
  381. package/out/templator/genTableBlock.js.map +1 -1
  382. package/out/translator/types.d.ts +1 -0
  383. package/out/translator/utils.js +13 -0
  384. package/out/translator/utils.js.map +1 -1
  385. package/package.json +2 -2
  386. package/sandbox/stdlib/nasl.browser.ts +2 -0
  387. package/sandbox/stdlib/nasl.ui.definition.ts +2220 -2218
  388. package/sandbox/stdlib/nasl.util.ts +20 -10
  389. package/sandbox-natural/stdlib/nasl.core.ts +6 -3
  390. package/sandbox-natural/stdlib/nasl.oql.ts +6 -0
  391. package/sandbox-natural/stdlib/nasl.util.ts +1 -1
  392. package/src/bak/translator.js +16 -17
  393. package/src/breakpoint/generator/BreakpointNode.ts +1 -0
  394. package/src/breakpoint/shared/constants.ts +2 -0
  395. package/src/breakpoint/shared/socket.ts +41 -17
  396. package/src/breakpoint/shared/utils.ts +43 -1
  397. package/src/breakpoint/store/core.ts +2 -2
  398. package/src/breakpoint/store/dock.ts +50 -0
  399. package/src/breakpoint/types/index.d.ts +1 -0
  400. package/src/concepts/AuthLogicForCallInterface__.ts +2 -1
  401. package/src/concepts/BinaryExpression__.ts +6 -6
  402. package/src/concepts/BindAttribute__.ts +5 -4
  403. package/src/concepts/CallConnector__.ts +19 -1
  404. package/src/concepts/CallFunction__.ts +40 -22
  405. package/src/concepts/CallLogic__.ts +39 -32
  406. package/src/concepts/Connection__.ts +1 -1
  407. package/src/concepts/ForEachStatement__.ts +17 -15
  408. package/src/concepts/IfStatement__.ts +30 -30
  409. package/src/concepts/Logic__.ts +13 -27
  410. package/src/concepts/MatchCase__.ts +15 -7
  411. package/src/concepts/MemberExpression__.ts +11 -14
  412. package/src/concepts/NewComposite__.ts +15 -83
  413. package/src/concepts/NewList__.ts +11 -9
  414. package/src/concepts/NewMap__.ts +12 -4
  415. package/src/concepts/New__.ts +1 -0
  416. package/src/concepts/StringInterpolation__.ts +2 -2
  417. package/src/concepts/SwitchCase__.ts +9 -5
  418. package/src/concepts/ViewElement__.ts +8 -22
  419. package/src/concepts/WhileStatement__.ts +7 -5
  420. package/src/concepts/basics/stdlib/nasl.browser.ts +19 -3
  421. package/src/concepts/basics/stdlib/nasl.util.ts +38 -19
  422. package/src/concepts/basics/stdlib/timeZone.ts +193 -0
  423. package/src/generator/genBundleFiles.ts +12 -4
  424. package/src/generator/genReleaseBody.ts +1 -1
  425. package/src/natural/genNaturalTS.ts +5 -5
  426. package/src/natural/transformTSCode.ts +18 -4
  427. package/src/server/createUiTs.ts +3 -0
  428. package/src/server/getLogics.ts +3 -1
  429. package/src/server/getMemberIdentifier.ts +15 -0
  430. package/src/server/naslServer.ts +126 -83
  431. package/src/service/creator/errHandles.js +10 -16
  432. package/src/service/storage/init.ts +10 -3
  433. package/src/service/storage/jsoner.ts +2 -2
  434. package/src/templator/genEditTableBlock.ts +24 -2
  435. package/src/templator/genTableBlock.ts +22 -1
  436. package/src/translator/types.ts +1 -0
  437. package/src/translator/utils.ts +15 -0
  438. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +20 -20
  439. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +1 -1
  440. package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +1 -1
  441. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +10 -10
@@ -0,0 +1,2929 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/concepts/MatchCase__.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/concepts</a> MatchCase__.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">25.61% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>83/324</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">22.96% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>48/209</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">14.54% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>8/55</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">24.76% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>78/315</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>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a>
575
+ <a name='L510'></a><a href='#L510'>510</a>
576
+ <a name='L511'></a><a href='#L511'>511</a>
577
+ <a name='L512'></a><a href='#L512'>512</a>
578
+ <a name='L513'></a><a href='#L513'>513</a>
579
+ <a name='L514'></a><a href='#L514'>514</a>
580
+ <a name='L515'></a><a href='#L515'>515</a>
581
+ <a name='L516'></a><a href='#L516'>516</a>
582
+ <a name='L517'></a><a href='#L517'>517</a>
583
+ <a name='L518'></a><a href='#L518'>518</a>
584
+ <a name='L519'></a><a href='#L519'>519</a>
585
+ <a name='L520'></a><a href='#L520'>520</a>
586
+ <a name='L521'></a><a href='#L521'>521</a>
587
+ <a name='L522'></a><a href='#L522'>522</a>
588
+ <a name='L523'></a><a href='#L523'>523</a>
589
+ <a name='L524'></a><a href='#L524'>524</a>
590
+ <a name='L525'></a><a href='#L525'>525</a>
591
+ <a name='L526'></a><a href='#L526'>526</a>
592
+ <a name='L527'></a><a href='#L527'>527</a>
593
+ <a name='L528'></a><a href='#L528'>528</a>
594
+ <a name='L529'></a><a href='#L529'>529</a>
595
+ <a name='L530'></a><a href='#L530'>530</a>
596
+ <a name='L531'></a><a href='#L531'>531</a>
597
+ <a name='L532'></a><a href='#L532'>532</a>
598
+ <a name='L533'></a><a href='#L533'>533</a>
599
+ <a name='L534'></a><a href='#L534'>534</a>
600
+ <a name='L535'></a><a href='#L535'>535</a>
601
+ <a name='L536'></a><a href='#L536'>536</a>
602
+ <a name='L537'></a><a href='#L537'>537</a>
603
+ <a name='L538'></a><a href='#L538'>538</a>
604
+ <a name='L539'></a><a href='#L539'>539</a>
605
+ <a name='L540'></a><a href='#L540'>540</a>
606
+ <a name='L541'></a><a href='#L541'>541</a>
607
+ <a name='L542'></a><a href='#L542'>542</a>
608
+ <a name='L543'></a><a href='#L543'>543</a>
609
+ <a name='L544'></a><a href='#L544'>544</a>
610
+ <a name='L545'></a><a href='#L545'>545</a>
611
+ <a name='L546'></a><a href='#L546'>546</a>
612
+ <a name='L547'></a><a href='#L547'>547</a>
613
+ <a name='L548'></a><a href='#L548'>548</a>
614
+ <a name='L549'></a><a href='#L549'>549</a>
615
+ <a name='L550'></a><a href='#L550'>550</a>
616
+ <a name='L551'></a><a href='#L551'>551</a>
617
+ <a name='L552'></a><a href='#L552'>552</a>
618
+ <a name='L553'></a><a href='#L553'>553</a>
619
+ <a name='L554'></a><a href='#L554'>554</a>
620
+ <a name='L555'></a><a href='#L555'>555</a>
621
+ <a name='L556'></a><a href='#L556'>556</a>
622
+ <a name='L557'></a><a href='#L557'>557</a>
623
+ <a name='L558'></a><a href='#L558'>558</a>
624
+ <a name='L559'></a><a href='#L559'>559</a>
625
+ <a name='L560'></a><a href='#L560'>560</a>
626
+ <a name='L561'></a><a href='#L561'>561</a>
627
+ <a name='L562'></a><a href='#L562'>562</a>
628
+ <a name='L563'></a><a href='#L563'>563</a>
629
+ <a name='L564'></a><a href='#L564'>564</a>
630
+ <a name='L565'></a><a href='#L565'>565</a>
631
+ <a name='L566'></a><a href='#L566'>566</a>
632
+ <a name='L567'></a><a href='#L567'>567</a>
633
+ <a name='L568'></a><a href='#L568'>568</a>
634
+ <a name='L569'></a><a href='#L569'>569</a>
635
+ <a name='L570'></a><a href='#L570'>570</a>
636
+ <a name='L571'></a><a href='#L571'>571</a>
637
+ <a name='L572'></a><a href='#L572'>572</a>
638
+ <a name='L573'></a><a href='#L573'>573</a>
639
+ <a name='L574'></a><a href='#L574'>574</a>
640
+ <a name='L575'></a><a href='#L575'>575</a>
641
+ <a name='L576'></a><a href='#L576'>576</a>
642
+ <a name='L577'></a><a href='#L577'>577</a>
643
+ <a name='L578'></a><a href='#L578'>578</a>
644
+ <a name='L579'></a><a href='#L579'>579</a>
645
+ <a name='L580'></a><a href='#L580'>580</a>
646
+ <a name='L581'></a><a href='#L581'>581</a>
647
+ <a name='L582'></a><a href='#L582'>582</a>
648
+ <a name='L583'></a><a href='#L583'>583</a>
649
+ <a name='L584'></a><a href='#L584'>584</a>
650
+ <a name='L585'></a><a href='#L585'>585</a>
651
+ <a name='L586'></a><a href='#L586'>586</a>
652
+ <a name='L587'></a><a href='#L587'>587</a>
653
+ <a name='L588'></a><a href='#L588'>588</a>
654
+ <a name='L589'></a><a href='#L589'>589</a>
655
+ <a name='L590'></a><a href='#L590'>590</a>
656
+ <a name='L591'></a><a href='#L591'>591</a>
657
+ <a name='L592'></a><a href='#L592'>592</a>
658
+ <a name='L593'></a><a href='#L593'>593</a>
659
+ <a name='L594'></a><a href='#L594'>594</a>
660
+ <a name='L595'></a><a href='#L595'>595</a>
661
+ <a name='L596'></a><a href='#L596'>596</a>
662
+ <a name='L597'></a><a href='#L597'>597</a>
663
+ <a name='L598'></a><a href='#L598'>598</a>
664
+ <a name='L599'></a><a href='#L599'>599</a>
665
+ <a name='L600'></a><a href='#L600'>600</a>
666
+ <a name='L601'></a><a href='#L601'>601</a>
667
+ <a name='L602'></a><a href='#L602'>602</a>
668
+ <a name='L603'></a><a href='#L603'>603</a>
669
+ <a name='L604'></a><a href='#L604'>604</a>
670
+ <a name='L605'></a><a href='#L605'>605</a>
671
+ <a name='L606'></a><a href='#L606'>606</a>
672
+ <a name='L607'></a><a href='#L607'>607</a>
673
+ <a name='L608'></a><a href='#L608'>608</a>
674
+ <a name='L609'></a><a href='#L609'>609</a>
675
+ <a name='L610'></a><a href='#L610'>610</a>
676
+ <a name='L611'></a><a href='#L611'>611</a>
677
+ <a name='L612'></a><a href='#L612'>612</a>
678
+ <a name='L613'></a><a href='#L613'>613</a>
679
+ <a name='L614'></a><a href='#L614'>614</a>
680
+ <a name='L615'></a><a href='#L615'>615</a>
681
+ <a name='L616'></a><a href='#L616'>616</a>
682
+ <a name='L617'></a><a href='#L617'>617</a>
683
+ <a name='L618'></a><a href='#L618'>618</a>
684
+ <a name='L619'></a><a href='#L619'>619</a>
685
+ <a name='L620'></a><a href='#L620'>620</a>
686
+ <a name='L621'></a><a href='#L621'>621</a>
687
+ <a name='L622'></a><a href='#L622'>622</a>
688
+ <a name='L623'></a><a href='#L623'>623</a>
689
+ <a name='L624'></a><a href='#L624'>624</a>
690
+ <a name='L625'></a><a href='#L625'>625</a>
691
+ <a name='L626'></a><a href='#L626'>626</a>
692
+ <a name='L627'></a><a href='#L627'>627</a>
693
+ <a name='L628'></a><a href='#L628'>628</a>
694
+ <a name='L629'></a><a href='#L629'>629</a>
695
+ <a name='L630'></a><a href='#L630'>630</a>
696
+ <a name='L631'></a><a href='#L631'>631</a>
697
+ <a name='L632'></a><a href='#L632'>632</a>
698
+ <a name='L633'></a><a href='#L633'>633</a>
699
+ <a name='L634'></a><a href='#L634'>634</a>
700
+ <a name='L635'></a><a href='#L635'>635</a>
701
+ <a name='L636'></a><a href='#L636'>636</a>
702
+ <a name='L637'></a><a href='#L637'>637</a>
703
+ <a name='L638'></a><a href='#L638'>638</a>
704
+ <a name='L639'></a><a href='#L639'>639</a>
705
+ <a name='L640'></a><a href='#L640'>640</a>
706
+ <a name='L641'></a><a href='#L641'>641</a>
707
+ <a name='L642'></a><a href='#L642'>642</a>
708
+ <a name='L643'></a><a href='#L643'>643</a>
709
+ <a name='L644'></a><a href='#L644'>644</a>
710
+ <a name='L645'></a><a href='#L645'>645</a>
711
+ <a name='L646'></a><a href='#L646'>646</a>
712
+ <a name='L647'></a><a href='#L647'>647</a>
713
+ <a name='L648'></a><a href='#L648'>648</a>
714
+ <a name='L649'></a><a href='#L649'>649</a>
715
+ <a name='L650'></a><a href='#L650'>650</a>
716
+ <a name='L651'></a><a href='#L651'>651</a>
717
+ <a name='L652'></a><a href='#L652'>652</a>
718
+ <a name='L653'></a><a href='#L653'>653</a>
719
+ <a name='L654'></a><a href='#L654'>654</a>
720
+ <a name='L655'></a><a href='#L655'>655</a>
721
+ <a name='L656'></a><a href='#L656'>656</a>
722
+ <a name='L657'></a><a href='#L657'>657</a>
723
+ <a name='L658'></a><a href='#L658'>658</a>
724
+ <a name='L659'></a><a href='#L659'>659</a>
725
+ <a name='L660'></a><a href='#L660'>660</a>
726
+ <a name='L661'></a><a href='#L661'>661</a>
727
+ <a name='L662'></a><a href='#L662'>662</a>
728
+ <a name='L663'></a><a href='#L663'>663</a>
729
+ <a name='L664'></a><a href='#L664'>664</a>
730
+ <a name='L665'></a><a href='#L665'>665</a>
731
+ <a name='L666'></a><a href='#L666'>666</a>
732
+ <a name='L667'></a><a href='#L667'>667</a>
733
+ <a name='L668'></a><a href='#L668'>668</a>
734
+ <a name='L669'></a><a href='#L669'>669</a>
735
+ <a name='L670'></a><a href='#L670'>670</a>
736
+ <a name='L671'></a><a href='#L671'>671</a>
737
+ <a name='L672'></a><a href='#L672'>672</a>
738
+ <a name='L673'></a><a href='#L673'>673</a>
739
+ <a name='L674'></a><a href='#L674'>674</a>
740
+ <a name='L675'></a><a href='#L675'>675</a>
741
+ <a name='L676'></a><a href='#L676'>676</a>
742
+ <a name='L677'></a><a href='#L677'>677</a>
743
+ <a name='L678'></a><a href='#L678'>678</a>
744
+ <a name='L679'></a><a href='#L679'>679</a>
745
+ <a name='L680'></a><a href='#L680'>680</a>
746
+ <a name='L681'></a><a href='#L681'>681</a>
747
+ <a name='L682'></a><a href='#L682'>682</a>
748
+ <a name='L683'></a><a href='#L683'>683</a>
749
+ <a name='L684'></a><a href='#L684'>684</a>
750
+ <a name='L685'></a><a href='#L685'>685</a>
751
+ <a name='L686'></a><a href='#L686'>686</a>
752
+ <a name='L687'></a><a href='#L687'>687</a>
753
+ <a name='L688'></a><a href='#L688'>688</a>
754
+ <a name='L689'></a><a href='#L689'>689</a>
755
+ <a name='L690'></a><a href='#L690'>690</a>
756
+ <a name='L691'></a><a href='#L691'>691</a>
757
+ <a name='L692'></a><a href='#L692'>692</a>
758
+ <a name='L693'></a><a href='#L693'>693</a>
759
+ <a name='L694'></a><a href='#L694'>694</a>
760
+ <a name='L695'></a><a href='#L695'>695</a>
761
+ <a name='L696'></a><a href='#L696'>696</a>
762
+ <a name='L697'></a><a href='#L697'>697</a>
763
+ <a name='L698'></a><a href='#L698'>698</a>
764
+ <a name='L699'></a><a href='#L699'>699</a>
765
+ <a name='L700'></a><a href='#L700'>700</a>
766
+ <a name='L701'></a><a href='#L701'>701</a>
767
+ <a name='L702'></a><a href='#L702'>702</a>
768
+ <a name='L703'></a><a href='#L703'>703</a>
769
+ <a name='L704'></a><a href='#L704'>704</a>
770
+ <a name='L705'></a><a href='#L705'>705</a>
771
+ <a name='L706'></a><a href='#L706'>706</a>
772
+ <a name='L707'></a><a href='#L707'>707</a>
773
+ <a name='L708'></a><a href='#L708'>708</a>
774
+ <a name='L709'></a><a href='#L709'>709</a>
775
+ <a name='L710'></a><a href='#L710'>710</a>
776
+ <a name='L711'></a><a href='#L711'>711</a>
777
+ <a name='L712'></a><a href='#L712'>712</a>
778
+ <a name='L713'></a><a href='#L713'>713</a>
779
+ <a name='L714'></a><a href='#L714'>714</a>
780
+ <a name='L715'></a><a href='#L715'>715</a>
781
+ <a name='L716'></a><a href='#L716'>716</a>
782
+ <a name='L717'></a><a href='#L717'>717</a>
783
+ <a name='L718'></a><a href='#L718'>718</a>
784
+ <a name='L719'></a><a href='#L719'>719</a>
785
+ <a name='L720'></a><a href='#L720'>720</a>
786
+ <a name='L721'></a><a href='#L721'>721</a>
787
+ <a name='L722'></a><a href='#L722'>722</a>
788
+ <a name='L723'></a><a href='#L723'>723</a>
789
+ <a name='L724'></a><a href='#L724'>724</a>
790
+ <a name='L725'></a><a href='#L725'>725</a>
791
+ <a name='L726'></a><a href='#L726'>726</a>
792
+ <a name='L727'></a><a href='#L727'>727</a>
793
+ <a name='L728'></a><a href='#L728'>728</a>
794
+ <a name='L729'></a><a href='#L729'>729</a>
795
+ <a name='L730'></a><a href='#L730'>730</a>
796
+ <a name='L731'></a><a href='#L731'>731</a>
797
+ <a name='L732'></a><a href='#L732'>732</a>
798
+ <a name='L733'></a><a href='#L733'>733</a>
799
+ <a name='L734'></a><a href='#L734'>734</a>
800
+ <a name='L735'></a><a href='#L735'>735</a>
801
+ <a name='L736'></a><a href='#L736'>736</a>
802
+ <a name='L737'></a><a href='#L737'>737</a>
803
+ <a name='L738'></a><a href='#L738'>738</a>
804
+ <a name='L739'></a><a href='#L739'>739</a>
805
+ <a name='L740'></a><a href='#L740'>740</a>
806
+ <a name='L741'></a><a href='#L741'>741</a>
807
+ <a name='L742'></a><a href='#L742'>742</a>
808
+ <a name='L743'></a><a href='#L743'>743</a>
809
+ <a name='L744'></a><a href='#L744'>744</a>
810
+ <a name='L745'></a><a href='#L745'>745</a>
811
+ <a name='L746'></a><a href='#L746'>746</a>
812
+ <a name='L747'></a><a href='#L747'>747</a>
813
+ <a name='L748'></a><a href='#L748'>748</a>
814
+ <a name='L749'></a><a href='#L749'>749</a>
815
+ <a name='L750'></a><a href='#L750'>750</a>
816
+ <a name='L751'></a><a href='#L751'>751</a>
817
+ <a name='L752'></a><a href='#L752'>752</a>
818
+ <a name='L753'></a><a href='#L753'>753</a>
819
+ <a name='L754'></a><a href='#L754'>754</a>
820
+ <a name='L755'></a><a href='#L755'>755</a>
821
+ <a name='L756'></a><a href='#L756'>756</a>
822
+ <a name='L757'></a><a href='#L757'>757</a>
823
+ <a name='L758'></a><a href='#L758'>758</a>
824
+ <a name='L759'></a><a href='#L759'>759</a>
825
+ <a name='L760'></a><a href='#L760'>760</a>
826
+ <a name='L761'></a><a href='#L761'>761</a>
827
+ <a name='L762'></a><a href='#L762'>762</a>
828
+ <a name='L763'></a><a href='#L763'>763</a>
829
+ <a name='L764'></a><a href='#L764'>764</a>
830
+ <a name='L765'></a><a href='#L765'>765</a>
831
+ <a name='L766'></a><a href='#L766'>766</a>
832
+ <a name='L767'></a><a href='#L767'>767</a>
833
+ <a name='L768'></a><a href='#L768'>768</a>
834
+ <a name='L769'></a><a href='#L769'>769</a>
835
+ <a name='L770'></a><a href='#L770'>770</a>
836
+ <a name='L771'></a><a href='#L771'>771</a>
837
+ <a name='L772'></a><a href='#L772'>772</a>
838
+ <a name='L773'></a><a href='#L773'>773</a>
839
+ <a name='L774'></a><a href='#L774'>774</a>
840
+ <a name='L775'></a><a href='#L775'>775</a>
841
+ <a name='L776'></a><a href='#L776'>776</a>
842
+ <a name='L777'></a><a href='#L777'>777</a>
843
+ <a name='L778'></a><a href='#L778'>778</a>
844
+ <a name='L779'></a><a href='#L779'>779</a>
845
+ <a name='L780'></a><a href='#L780'>780</a>
846
+ <a name='L781'></a><a href='#L781'>781</a>
847
+ <a name='L782'></a><a href='#L782'>782</a>
848
+ <a name='L783'></a><a href='#L783'>783</a>
849
+ <a name='L784'></a><a href='#L784'>784</a>
850
+ <a name='L785'></a><a href='#L785'>785</a>
851
+ <a name='L786'></a><a href='#L786'>786</a>
852
+ <a name='L787'></a><a href='#L787'>787</a>
853
+ <a name='L788'></a><a href='#L788'>788</a>
854
+ <a name='L789'></a><a href='#L789'>789</a>
855
+ <a name='L790'></a><a href='#L790'>790</a>
856
+ <a name='L791'></a><a href='#L791'>791</a>
857
+ <a name='L792'></a><a href='#L792'>792</a>
858
+ <a name='L793'></a><a href='#L793'>793</a>
859
+ <a name='L794'></a><a href='#L794'>794</a>
860
+ <a name='L795'></a><a href='#L795'>795</a>
861
+ <a name='L796'></a><a href='#L796'>796</a>
862
+ <a name='L797'></a><a href='#L797'>797</a>
863
+ <a name='L798'></a><a href='#L798'>798</a>
864
+ <a name='L799'></a><a href='#L799'>799</a>
865
+ <a name='L800'></a><a href='#L800'>800</a>
866
+ <a name='L801'></a><a href='#L801'>801</a>
867
+ <a name='L802'></a><a href='#L802'>802</a>
868
+ <a name='L803'></a><a href='#L803'>803</a>
869
+ <a name='L804'></a><a href='#L804'>804</a>
870
+ <a name='L805'></a><a href='#L805'>805</a>
871
+ <a name='L806'></a><a href='#L806'>806</a>
872
+ <a name='L807'></a><a href='#L807'>807</a>
873
+ <a name='L808'></a><a href='#L808'>808</a>
874
+ <a name='L809'></a><a href='#L809'>809</a>
875
+ <a name='L810'></a><a href='#L810'>810</a>
876
+ <a name='L811'></a><a href='#L811'>811</a>
877
+ <a name='L812'></a><a href='#L812'>812</a>
878
+ <a name='L813'></a><a href='#L813'>813</a>
879
+ <a name='L814'></a><a href='#L814'>814</a>
880
+ <a name='L815'></a><a href='#L815'>815</a>
881
+ <a name='L816'></a><a href='#L816'>816</a>
882
+ <a name='L817'></a><a href='#L817'>817</a>
883
+ <a name='L818'></a><a href='#L818'>818</a>
884
+ <a name='L819'></a><a href='#L819'>819</a>
885
+ <a name='L820'></a><a href='#L820'>820</a>
886
+ <a name='L821'></a><a href='#L821'>821</a>
887
+ <a name='L822'></a><a href='#L822'>822</a>
888
+ <a name='L823'></a><a href='#L823'>823</a>
889
+ <a name='L824'></a><a href='#L824'>824</a>
890
+ <a name='L825'></a><a href='#L825'>825</a>
891
+ <a name='L826'></a><a href='#L826'>826</a>
892
+ <a name='L827'></a><a href='#L827'>827</a>
893
+ <a name='L828'></a><a href='#L828'>828</a>
894
+ <a name='L829'></a><a href='#L829'>829</a>
895
+ <a name='L830'></a><a href='#L830'>830</a>
896
+ <a name='L831'></a><a href='#L831'>831</a>
897
+ <a name='L832'></a><a href='#L832'>832</a>
898
+ <a name='L833'></a><a href='#L833'>833</a>
899
+ <a name='L834'></a><a href='#L834'>834</a>
900
+ <a name='L835'></a><a href='#L835'>835</a>
901
+ <a name='L836'></a><a href='#L836'>836</a>
902
+ <a name='L837'></a><a href='#L837'>837</a>
903
+ <a name='L838'></a><a href='#L838'>838</a>
904
+ <a name='L839'></a><a href='#L839'>839</a>
905
+ <a name='L840'></a><a href='#L840'>840</a>
906
+ <a name='L841'></a><a href='#L841'>841</a>
907
+ <a name='L842'></a><a href='#L842'>842</a>
908
+ <a name='L843'></a><a href='#L843'>843</a>
909
+ <a name='L844'></a><a href='#L844'>844</a>
910
+ <a name='L845'></a><a href='#L845'>845</a>
911
+ <a name='L846'></a><a href='#L846'>846</a>
912
+ <a name='L847'></a><a href='#L847'>847</a>
913
+ <a name='L848'></a><a href='#L848'>848</a>
914
+ <a name='L849'></a><a href='#L849'>849</a>
915
+ <a name='L850'></a><a href='#L850'>850</a>
916
+ <a name='L851'></a><a href='#L851'>851</a>
917
+ <a name='L852'></a><a href='#L852'>852</a>
918
+ <a name='L853'></a><a href='#L853'>853</a>
919
+ <a name='L854'></a><a href='#L854'>854</a>
920
+ <a name='L855'></a><a href='#L855'>855</a>
921
+ <a name='L856'></a><a href='#L856'>856</a>
922
+ <a name='L857'></a><a href='#L857'>857</a>
923
+ <a name='L858'></a><a href='#L858'>858</a>
924
+ <a name='L859'></a><a href='#L859'>859</a>
925
+ <a name='L860'></a><a href='#L860'>860</a>
926
+ <a name='L861'></a><a href='#L861'>861</a>
927
+ <a name='L862'></a><a href='#L862'>862</a>
928
+ <a name='L863'></a><a href='#L863'>863</a>
929
+ <a name='L864'></a><a href='#L864'>864</a>
930
+ <a name='L865'></a><a href='#L865'>865</a>
931
+ <a name='L866'></a><a href='#L866'>866</a>
932
+ <a name='L867'></a><a href='#L867'>867</a>
933
+ <a name='L868'></a><a href='#L868'>868</a>
934
+ <a name='L869'></a><a href='#L869'>869</a>
935
+ <a name='L870'></a><a href='#L870'>870</a>
936
+ <a name='L871'></a><a href='#L871'>871</a>
937
+ <a name='L872'></a><a href='#L872'>872</a>
938
+ <a name='L873'></a><a href='#L873'>873</a>
939
+ <a name='L874'></a><a href='#L874'>874</a>
940
+ <a name='L875'></a><a href='#L875'>875</a>
941
+ <a name='L876'></a><a href='#L876'>876</a>
942
+ <a name='L877'></a><a href='#L877'>877</a>
943
+ <a name='L878'></a><a href='#L878'>878</a>
944
+ <a name='L879'></a><a href='#L879'>879</a>
945
+ <a name='L880'></a><a href='#L880'>880</a>
946
+ <a name='L881'></a><a href='#L881'>881</a>
947
+ <a name='L882'></a><a href='#L882'>882</a>
948
+ <a name='L883'></a><a href='#L883'>883</a>
949
+ <a name='L884'></a><a href='#L884'>884</a>
950
+ <a name='L885'></a><a href='#L885'>885</a>
951
+ <a name='L886'></a><a href='#L886'>886</a>
952
+ <a name='L887'></a><a href='#L887'>887</a>
953
+ <a name='L888'></a><a href='#L888'>888</a>
954
+ <a name='L889'></a><a href='#L889'>889</a>
955
+ <a name='L890'></a><a href='#L890'>890</a>
956
+ <a name='L891'></a><a href='#L891'>891</a>
957
+ <a name='L892'></a><a href='#L892'>892</a>
958
+ <a name='L893'></a><a href='#L893'>893</a>
959
+ <a name='L894'></a><a href='#L894'>894</a>
960
+ <a name='L895'></a><a href='#L895'>895</a>
961
+ <a name='L896'></a><a href='#L896'>896</a>
962
+ <a name='L897'></a><a href='#L897'>897</a>
963
+ <a name='L898'></a><a href='#L898'>898</a>
964
+ <a name='L899'></a><a href='#L899'>899</a>
965
+ <a name='L900'></a><a href='#L900'>900</a>
966
+ <a name='L901'></a><a href='#L901'>901</a>
967
+ <a name='L902'></a><a href='#L902'>902</a>
968
+ <a name='L903'></a><a href='#L903'>903</a>
969
+ <a name='L904'></a><a href='#L904'>904</a>
970
+ <a name='L905'></a><a href='#L905'>905</a>
971
+ <a name='L906'></a><a href='#L906'>906</a>
972
+ <a name='L907'></a><a href='#L907'>907</a>
973
+ <a name='L908'></a><a href='#L908'>908</a>
974
+ <a name='L909'></a><a href='#L909'>909</a>
975
+ <a name='L910'></a><a href='#L910'>910</a>
976
+ <a name='L911'></a><a href='#L911'>911</a>
977
+ <a name='L912'></a><a href='#L912'>912</a>
978
+ <a name='L913'></a><a href='#L913'>913</a>
979
+ <a name='L914'></a><a href='#L914'>914</a>
980
+ <a name='L915'></a><a href='#L915'>915</a>
981
+ <a name='L916'></a><a href='#L916'>916</a>
982
+ <a name='L917'></a><a href='#L917'>917</a>
983
+ <a name='L918'></a><a href='#L918'>918</a>
984
+ <a name='L919'></a><a href='#L919'>919</a>
985
+ <a name='L920'></a><a href='#L920'>920</a>
986
+ <a name='L921'></a><a href='#L921'>921</a>
987
+ <a name='L922'></a><a href='#L922'>922</a>
988
+ <a name='L923'></a><a href='#L923'>923</a>
989
+ <a name='L924'></a><a href='#L924'>924</a>
990
+ <a name='L925'></a><a href='#L925'>925</a>
991
+ <a name='L926'></a><a href='#L926'>926</a>
992
+ <a name='L927'></a><a href='#L927'>927</a>
993
+ <a name='L928'></a><a href='#L928'>928</a>
994
+ <a name='L929'></a><a href='#L929'>929</a>
995
+ <a name='L930'></a><a href='#L930'>930</a>
996
+ <a name='L931'></a><a href='#L931'>931</a>
997
+ <a name='L932'></a><a href='#L932'>932</a>
998
+ <a name='L933'></a><a href='#L933'>933</a>
999
+ <a name='L934'></a><a href='#L934'>934</a>
1000
+ <a name='L935'></a><a href='#L935'>935</a>
1001
+ <a name='L936'></a><a href='#L936'>936</a>
1002
+ <a name='L937'></a><a href='#L937'>937</a>
1003
+ <a name='L938'></a><a href='#L938'>938</a>
1004
+ <a name='L939'></a><a href='#L939'>939</a>
1005
+ <a name='L940'></a><a href='#L940'>940</a>
1006
+ <a name='L941'></a><a href='#L941'>941</a>
1007
+ <a name='L942'></a><a href='#L942'>942</a>
1008
+ <a name='L943'></a><a href='#L943'>943</a>
1009
+ <a name='L944'></a><a href='#L944'>944</a>
1010
+ <a name='L945'></a><a href='#L945'>945</a>
1011
+ <a name='L946'></a><a href='#L946'>946</a>
1012
+ <a name='L947'></a><a href='#L947'>947</a>
1013
+ <a name='L948'></a><a href='#L948'>948</a>
1014
+ <a name='L949'></a><a href='#L949'>949</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
1015
+ <span class="cline-any cline-neutral">&nbsp;</span>
1016
+ <span class="cline-any cline-yes">1x</span>
1017
+ <span class="cline-any cline-neutral">&nbsp;</span>
1018
+ <span class="cline-any cline-yes">1x</span>
1019
+ <span class="cline-any cline-yes">1x</span>
1020
+ <span class="cline-any cline-neutral">&nbsp;</span>
1021
+ <span class="cline-any cline-neutral">&nbsp;</span>
1022
+ <span class="cline-any cline-neutral">&nbsp;</span>
1023
+ <span class="cline-any cline-neutral">&nbsp;</span>
1024
+ <span class="cline-any cline-neutral">&nbsp;</span>
1025
+ <span class="cline-any cline-neutral">&nbsp;</span>
1026
+ <span class="cline-any cline-neutral">&nbsp;</span>
1027
+ <span class="cline-any cline-yes">1x</span>
1028
+ <span class="cline-any cline-neutral">&nbsp;</span>
1029
+ <span class="cline-any cline-yes">1x</span>
1030
+ <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-yes">1x</span>
1032
+ <span class="cline-any cline-yes">1x</span>
1033
+ <span class="cline-any cline-neutral">&nbsp;</span>
1034
+ <span class="cline-any cline-neutral">&nbsp;</span>
1035
+ <span class="cline-any cline-neutral">&nbsp;</span>
1036
+ <span class="cline-any cline-neutral">&nbsp;</span>
1037
+ <span class="cline-any cline-neutral">&nbsp;</span>
1038
+ <span class="cline-any cline-neutral">&nbsp;</span>
1039
+ <span class="cline-any cline-neutral">&nbsp;</span>
1040
+ <span class="cline-any cline-yes">1x</span>
1041
+ <span class="cline-any cline-neutral">&nbsp;</span>
1042
+ <span class="cline-any cline-yes">1x</span>
1043
+ <span class="cline-any cline-neutral">&nbsp;</span>
1044
+ <span class="cline-any cline-neutral">&nbsp;</span>
1045
+ <span class="cline-any cline-neutral">&nbsp;</span>
1046
+ <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-neutral">&nbsp;</span>
1048
+ <span class="cline-any cline-neutral">&nbsp;</span>
1049
+ <span class="cline-any cline-neutral">&nbsp;</span>
1050
+ <span class="cline-any cline-neutral">&nbsp;</span>
1051
+ <span class="cline-any cline-neutral">&nbsp;</span>
1052
+ <span class="cline-any cline-neutral">&nbsp;</span>
1053
+ <span class="cline-any cline-neutral">&nbsp;</span>
1054
+ <span class="cline-any cline-yes">22x</span>
1055
+ <span class="cline-any cline-neutral">&nbsp;</span>
1056
+ <span class="cline-any cline-neutral">&nbsp;</span>
1057
+ <span class="cline-any cline-neutral">&nbsp;</span>
1058
+ <span class="cline-any cline-neutral">&nbsp;</span>
1059
+ <span class="cline-any cline-neutral">&nbsp;</span>
1060
+ <span class="cline-any cline-yes">22x</span>
1061
+ <span class="cline-any cline-neutral">&nbsp;</span>
1062
+ <span class="cline-any cline-neutral">&nbsp;</span>
1063
+ <span class="cline-any cline-neutral">&nbsp;</span>
1064
+ <span class="cline-any cline-neutral">&nbsp;</span>
1065
+ <span class="cline-any cline-neutral">&nbsp;</span>
1066
+ <span class="cline-any cline-yes">22x</span>
1067
+ <span class="cline-any cline-neutral">&nbsp;</span>
1068
+ <span class="cline-any cline-neutral">&nbsp;</span>
1069
+ <span class="cline-any cline-neutral">&nbsp;</span>
1070
+ <span class="cline-any cline-neutral">&nbsp;</span>
1071
+ <span class="cline-any cline-neutral">&nbsp;</span>
1072
+ <span class="cline-any cline-yes">22x</span>
1073
+ <span class="cline-any cline-yes">22x</span>
1074
+ <span class="cline-any cline-yes">22x</span>
1075
+ <span class="cline-any cline-neutral">&nbsp;</span>
1076
+ <span class="cline-any cline-neutral">&nbsp;</span>
1077
+ <span class="cline-any cline-neutral">&nbsp;</span>
1078
+ <span class="cline-any cline-yes">22x</span>
1079
+ <span class="cline-any cline-neutral">&nbsp;</span>
1080
+ <span class="cline-any cline-neutral">&nbsp;</span>
1081
+ <span class="cline-any cline-neutral">&nbsp;</span>
1082
+ <span class="cline-any cline-neutral">&nbsp;</span>
1083
+ <span class="cline-any cline-neutral">&nbsp;</span>
1084
+ <span class="cline-any cline-neutral">&nbsp;</span>
1085
+ <span class="cline-any cline-no">&nbsp;</span>
1086
+ <span class="cline-any cline-neutral">&nbsp;</span>
1087
+ <span class="cline-any cline-neutral">&nbsp;</span>
1088
+ <span class="cline-any cline-no">&nbsp;</span>
1089
+ <span class="cline-any cline-neutral">&nbsp;</span>
1090
+ <span class="cline-any cline-neutral">&nbsp;</span>
1091
+ <span class="cline-any cline-neutral">&nbsp;</span>
1092
+ <span class="cline-any cline-neutral">&nbsp;</span>
1093
+ <span class="cline-any cline-neutral">&nbsp;</span>
1094
+ <span class="cline-any cline-neutral">&nbsp;</span>
1095
+ <span class="cline-any cline-neutral">&nbsp;</span>
1096
+ <span class="cline-any cline-neutral">&nbsp;</span>
1097
+ <span class="cline-any cline-no">&nbsp;</span>
1098
+ <span class="cline-any cline-neutral">&nbsp;</span>
1099
+ <span class="cline-any cline-neutral">&nbsp;</span>
1100
+ <span class="cline-any cline-no">&nbsp;</span>
1101
+ <span class="cline-any cline-neutral">&nbsp;</span>
1102
+ <span class="cline-any cline-neutral">&nbsp;</span>
1103
+ <span class="cline-any cline-neutral">&nbsp;</span>
1104
+ <span class="cline-any cline-neutral">&nbsp;</span>
1105
+ <span class="cline-any cline-neutral">&nbsp;</span>
1106
+ <span class="cline-any cline-no">&nbsp;</span>
1107
+ <span class="cline-any cline-no">&nbsp;</span>
1108
+ <span class="cline-any cline-neutral">&nbsp;</span>
1109
+ <span class="cline-any cline-neutral">&nbsp;</span>
1110
+ <span class="cline-any cline-neutral">&nbsp;</span>
1111
+ <span class="cline-any cline-no">&nbsp;</span>
1112
+ <span class="cline-any cline-neutral">&nbsp;</span>
1113
+ <span class="cline-any cline-neutral">&nbsp;</span>
1114
+ <span class="cline-any cline-neutral">&nbsp;</span>
1115
+ <span class="cline-any cline-neutral">&nbsp;</span>
1116
+ <span class="cline-any cline-neutral">&nbsp;</span>
1117
+ <span class="cline-any cline-neutral">&nbsp;</span>
1118
+ <span class="cline-any cline-neutral">&nbsp;</span>
1119
+ <span class="cline-any cline-neutral">&nbsp;</span>
1120
+ <span class="cline-any cline-neutral">&nbsp;</span>
1121
+ <span class="cline-any cline-neutral">&nbsp;</span>
1122
+ <span class="cline-any cline-neutral">&nbsp;</span>
1123
+ <span class="cline-any cline-neutral">&nbsp;</span>
1124
+ <span class="cline-any cline-neutral">&nbsp;</span>
1125
+ <span class="cline-any cline-neutral">&nbsp;</span>
1126
+ <span class="cline-any cline-neutral">&nbsp;</span>
1127
+ <span class="cline-any cline-neutral">&nbsp;</span>
1128
+ <span class="cline-any cline-neutral">&nbsp;</span>
1129
+ <span class="cline-any cline-neutral">&nbsp;</span>
1130
+ <span class="cline-any cline-neutral">&nbsp;</span>
1131
+ <span class="cline-any cline-neutral">&nbsp;</span>
1132
+ <span class="cline-any cline-neutral">&nbsp;</span>
1133
+ <span class="cline-any cline-neutral">&nbsp;</span>
1134
+ <span class="cline-any cline-neutral">&nbsp;</span>
1135
+ <span class="cline-any cline-neutral">&nbsp;</span>
1136
+ <span class="cline-any cline-no">&nbsp;</span>
1137
+ <span class="cline-any cline-no">&nbsp;</span>
1138
+ <span class="cline-any cline-neutral">&nbsp;</span>
1139
+ <span class="cline-any cline-no">&nbsp;</span>
1140
+ <span class="cline-any cline-no">&nbsp;</span>
1141
+ <span class="cline-any cline-neutral">&nbsp;</span>
1142
+ <span class="cline-any cline-neutral">&nbsp;</span>
1143
+ <span class="cline-any cline-neutral">&nbsp;</span>
1144
+ <span class="cline-any cline-neutral">&nbsp;</span>
1145
+ <span class="cline-any cline-neutral">&nbsp;</span>
1146
+ <span class="cline-any cline-neutral">&nbsp;</span>
1147
+ <span class="cline-any cline-neutral">&nbsp;</span>
1148
+ <span class="cline-any cline-no">&nbsp;</span>
1149
+ <span class="cline-any cline-no">&nbsp;</span>
1150
+ <span class="cline-any cline-neutral">&nbsp;</span>
1151
+ <span class="cline-any cline-neutral">&nbsp;</span>
1152
+ <span class="cline-any cline-neutral">&nbsp;</span>
1153
+ <span class="cline-any cline-neutral">&nbsp;</span>
1154
+ <span class="cline-any cline-neutral">&nbsp;</span>
1155
+ <span class="cline-any cline-neutral">&nbsp;</span>
1156
+ <span class="cline-any cline-neutral">&nbsp;</span>
1157
+ <span class="cline-any cline-no">&nbsp;</span>
1158
+ <span class="cline-any cline-no">&nbsp;</span>
1159
+ <span class="cline-any cline-no">&nbsp;</span>
1160
+ <span class="cline-any cline-no">&nbsp;</span>
1161
+ <span class="cline-any cline-neutral">&nbsp;</span>
1162
+ <span class="cline-any cline-no">&nbsp;</span>
1163
+ <span class="cline-any cline-neutral">&nbsp;</span>
1164
+ <span class="cline-any cline-neutral">&nbsp;</span>
1165
+ <span class="cline-any cline-neutral">&nbsp;</span>
1166
+ <span class="cline-any cline-neutral">&nbsp;</span>
1167
+ <span class="cline-any cline-neutral">&nbsp;</span>
1168
+ <span class="cline-any cline-neutral">&nbsp;</span>
1169
+ <span class="cline-any cline-neutral">&nbsp;</span>
1170
+ <span class="cline-any cline-neutral">&nbsp;</span>
1171
+ <span class="cline-any cline-no">&nbsp;</span>
1172
+ <span class="cline-any cline-no">&nbsp;</span>
1173
+ <span class="cline-any cline-neutral">&nbsp;</span>
1174
+ <span class="cline-any cline-neutral">&nbsp;</span>
1175
+ <span class="cline-any cline-neutral">&nbsp;</span>
1176
+ <span class="cline-any cline-neutral">&nbsp;</span>
1177
+ <span class="cline-any cline-neutral">&nbsp;</span>
1178
+ <span class="cline-any cline-neutral">&nbsp;</span>
1179
+ <span class="cline-any cline-neutral">&nbsp;</span>
1180
+ <span class="cline-any cline-neutral">&nbsp;</span>
1181
+ <span class="cline-any cline-neutral">&nbsp;</span>
1182
+ <span class="cline-any cline-neutral">&nbsp;</span>
1183
+ <span class="cline-any cline-neutral">&nbsp;</span>
1184
+ <span class="cline-any cline-neutral">&nbsp;</span>
1185
+ <span class="cline-any cline-neutral">&nbsp;</span>
1186
+ <span class="cline-any cline-neutral">&nbsp;</span>
1187
+ <span class="cline-any cline-neutral">&nbsp;</span>
1188
+ <span class="cline-any cline-neutral">&nbsp;</span>
1189
+ <span class="cline-any cline-neutral">&nbsp;</span>
1190
+ <span class="cline-any cline-neutral">&nbsp;</span>
1191
+ <span class="cline-any cline-neutral">&nbsp;</span>
1192
+ <span class="cline-any cline-neutral">&nbsp;</span>
1193
+ <span class="cline-any cline-neutral">&nbsp;</span>
1194
+ <span class="cline-any cline-no">&nbsp;</span>
1195
+ <span class="cline-any cline-no">&nbsp;</span>
1196
+ <span class="cline-any cline-neutral">&nbsp;</span>
1197
+ <span class="cline-any cline-neutral">&nbsp;</span>
1198
+ <span class="cline-any cline-neutral">&nbsp;</span>
1199
+ <span class="cline-any cline-neutral">&nbsp;</span>
1200
+ <span class="cline-any cline-no">&nbsp;</span>
1201
+ <span class="cline-any cline-neutral">&nbsp;</span>
1202
+ <span class="cline-any cline-neutral">&nbsp;</span>
1203
+ <span class="cline-any cline-neutral">&nbsp;</span>
1204
+ <span class="cline-any cline-neutral">&nbsp;</span>
1205
+ <span class="cline-any cline-neutral">&nbsp;</span>
1206
+ <span class="cline-any cline-neutral">&nbsp;</span>
1207
+ <span class="cline-any cline-neutral">&nbsp;</span>
1208
+ <span class="cline-any cline-neutral">&nbsp;</span>
1209
+ <span class="cline-any cline-neutral">&nbsp;</span>
1210
+ <span class="cline-any cline-neutral">&nbsp;</span>
1211
+ <span class="cline-any cline-neutral">&nbsp;</span>
1212
+ <span class="cline-any cline-neutral">&nbsp;</span>
1213
+ <span class="cline-any cline-neutral">&nbsp;</span>
1214
+ <span class="cline-any cline-neutral">&nbsp;</span>
1215
+ <span class="cline-any cline-neutral">&nbsp;</span>
1216
+ <span class="cline-any cline-neutral">&nbsp;</span>
1217
+ <span class="cline-any cline-neutral">&nbsp;</span>
1218
+ <span class="cline-any cline-neutral">&nbsp;</span>
1219
+ <span class="cline-any cline-neutral">&nbsp;</span>
1220
+ <span class="cline-any cline-neutral">&nbsp;</span>
1221
+ <span class="cline-any cline-neutral">&nbsp;</span>
1222
+ <span class="cline-any cline-neutral">&nbsp;</span>
1223
+ <span class="cline-any cline-neutral">&nbsp;</span>
1224
+ <span class="cline-any cline-neutral">&nbsp;</span>
1225
+ <span class="cline-any cline-no">&nbsp;</span>
1226
+ <span class="cline-any cline-no">&nbsp;</span>
1227
+ <span class="cline-any cline-neutral">&nbsp;</span>
1228
+ <span class="cline-any cline-neutral">&nbsp;</span>
1229
+ <span class="cline-any cline-neutral">&nbsp;</span>
1230
+ <span class="cline-any cline-neutral">&nbsp;</span>
1231
+ <span class="cline-any cline-neutral">&nbsp;</span>
1232
+ <span class="cline-any cline-neutral">&nbsp;</span>
1233
+ <span class="cline-any cline-neutral">&nbsp;</span>
1234
+ <span class="cline-any cline-neutral">&nbsp;</span>
1235
+ <span class="cline-any cline-neutral">&nbsp;</span>
1236
+ <span class="cline-any cline-neutral">&nbsp;</span>
1237
+ <span class="cline-any cline-neutral">&nbsp;</span>
1238
+ <span class="cline-any cline-neutral">&nbsp;</span>
1239
+ <span class="cline-any cline-neutral">&nbsp;</span>
1240
+ <span class="cline-any cline-neutral">&nbsp;</span>
1241
+ <span class="cline-any cline-neutral">&nbsp;</span>
1242
+ <span class="cline-any cline-neutral">&nbsp;</span>
1243
+ <span class="cline-any cline-neutral">&nbsp;</span>
1244
+ <span class="cline-any cline-neutral">&nbsp;</span>
1245
+ <span class="cline-any cline-neutral">&nbsp;</span>
1246
+ <span class="cline-any cline-neutral">&nbsp;</span>
1247
+ <span class="cline-any cline-neutral">&nbsp;</span>
1248
+ <span class="cline-any cline-neutral">&nbsp;</span>
1249
+ <span class="cline-any cline-no">&nbsp;</span>
1250
+ <span class="cline-any cline-no">&nbsp;</span>
1251
+ <span class="cline-any cline-no">&nbsp;</span>
1252
+ <span class="cline-any cline-neutral">&nbsp;</span>
1253
+ <span class="cline-any cline-neutral">&nbsp;</span>
1254
+ <span class="cline-any cline-neutral">&nbsp;</span>
1255
+ <span class="cline-any cline-neutral">&nbsp;</span>
1256
+ <span class="cline-any cline-no">&nbsp;</span>
1257
+ <span class="cline-any cline-neutral">&nbsp;</span>
1258
+ <span class="cline-any cline-neutral">&nbsp;</span>
1259
+ <span class="cline-any cline-neutral">&nbsp;</span>
1260
+ <span class="cline-any cline-neutral">&nbsp;</span>
1261
+ <span class="cline-any cline-neutral">&nbsp;</span>
1262
+ <span class="cline-any cline-neutral">&nbsp;</span>
1263
+ <span class="cline-any cline-neutral">&nbsp;</span>
1264
+ <span class="cline-any cline-neutral">&nbsp;</span>
1265
+ <span class="cline-any cline-neutral">&nbsp;</span>
1266
+ <span class="cline-any cline-neutral">&nbsp;</span>
1267
+ <span class="cline-any cline-neutral">&nbsp;</span>
1268
+ <span class="cline-any cline-neutral">&nbsp;</span>
1269
+ <span class="cline-any cline-neutral">&nbsp;</span>
1270
+ <span class="cline-any cline-neutral">&nbsp;</span>
1271
+ <span class="cline-any cline-neutral">&nbsp;</span>
1272
+ <span class="cline-any cline-neutral">&nbsp;</span>
1273
+ <span class="cline-any cline-neutral">&nbsp;</span>
1274
+ <span class="cline-any cline-no">&nbsp;</span>
1275
+ <span class="cline-any cline-no">&nbsp;</span>
1276
+ <span class="cline-any cline-neutral">&nbsp;</span>
1277
+ <span class="cline-any cline-no">&nbsp;</span>
1278
+ <span class="cline-any cline-no">&nbsp;</span>
1279
+ <span class="cline-any cline-no">&nbsp;</span>
1280
+ <span class="cline-any cline-no">&nbsp;</span>
1281
+ <span class="cline-any cline-neutral">&nbsp;</span>
1282
+ <span class="cline-any cline-no">&nbsp;</span>
1283
+ <span class="cline-any cline-neutral">&nbsp;</span>
1284
+ <span class="cline-any cline-neutral">&nbsp;</span>
1285
+ <span class="cline-any cline-neutral">&nbsp;</span>
1286
+ <span class="cline-any cline-neutral">&nbsp;</span>
1287
+ <span class="cline-any cline-neutral">&nbsp;</span>
1288
+ <span class="cline-any cline-neutral">&nbsp;</span>
1289
+ <span class="cline-any cline-neutral">&nbsp;</span>
1290
+ <span class="cline-any cline-neutral">&nbsp;</span>
1291
+ <span class="cline-any cline-no">&nbsp;</span>
1292
+ <span class="cline-any cline-no">&nbsp;</span>
1293
+ <span class="cline-any cline-neutral">&nbsp;</span>
1294
+ <span class="cline-any cline-neutral">&nbsp;</span>
1295
+ <span class="cline-any cline-neutral">&nbsp;</span>
1296
+ <span class="cline-any cline-neutral">&nbsp;</span>
1297
+ <span class="cline-any cline-neutral">&nbsp;</span>
1298
+ <span class="cline-any cline-neutral">&nbsp;</span>
1299
+ <span class="cline-any cline-neutral">&nbsp;</span>
1300
+ <span class="cline-any cline-neutral">&nbsp;</span>
1301
+ <span class="cline-any cline-neutral">&nbsp;</span>
1302
+ <span class="cline-any cline-neutral">&nbsp;</span>
1303
+ <span class="cline-any cline-neutral">&nbsp;</span>
1304
+ <span class="cline-any cline-neutral">&nbsp;</span>
1305
+ <span class="cline-any cline-neutral">&nbsp;</span>
1306
+ <span class="cline-any cline-neutral">&nbsp;</span>
1307
+ <span class="cline-any cline-neutral">&nbsp;</span>
1308
+ <span class="cline-any cline-no">&nbsp;</span>
1309
+ <span class="cline-any cline-no">&nbsp;</span>
1310
+ <span class="cline-any cline-neutral">&nbsp;</span>
1311
+ <span class="cline-any cline-neutral">&nbsp;</span>
1312
+ <span class="cline-any cline-neutral">&nbsp;</span>
1313
+ <span class="cline-any cline-neutral">&nbsp;</span>
1314
+ <span class="cline-any cline-no">&nbsp;</span>
1315
+ <span class="cline-any cline-neutral">&nbsp;</span>
1316
+ <span class="cline-any cline-neutral">&nbsp;</span>
1317
+ <span class="cline-any cline-neutral">&nbsp;</span>
1318
+ <span class="cline-any cline-neutral">&nbsp;</span>
1319
+ <span class="cline-any cline-neutral">&nbsp;</span>
1320
+ <span class="cline-any cline-neutral">&nbsp;</span>
1321
+ <span class="cline-any cline-neutral">&nbsp;</span>
1322
+ <span class="cline-any cline-neutral">&nbsp;</span>
1323
+ <span class="cline-any cline-neutral">&nbsp;</span>
1324
+ <span class="cline-any cline-neutral">&nbsp;</span>
1325
+ <span class="cline-any cline-neutral">&nbsp;</span>
1326
+ <span class="cline-any cline-neutral">&nbsp;</span>
1327
+ <span class="cline-any cline-neutral">&nbsp;</span>
1328
+ <span class="cline-any cline-neutral">&nbsp;</span>
1329
+ <span class="cline-any cline-neutral">&nbsp;</span>
1330
+ <span class="cline-any cline-neutral">&nbsp;</span>
1331
+ <span class="cline-any cline-neutral">&nbsp;</span>
1332
+ <span class="cline-any cline-no">&nbsp;</span>
1333
+ <span class="cline-any cline-no">&nbsp;</span>
1334
+ <span class="cline-any cline-neutral">&nbsp;</span>
1335
+ <span class="cline-any cline-neutral">&nbsp;</span>
1336
+ <span class="cline-any cline-neutral">&nbsp;</span>
1337
+ <span class="cline-any cline-neutral">&nbsp;</span>
1338
+ <span class="cline-any cline-neutral">&nbsp;</span>
1339
+ <span class="cline-any cline-neutral">&nbsp;</span>
1340
+ <span class="cline-any cline-neutral">&nbsp;</span>
1341
+ <span class="cline-any cline-neutral">&nbsp;</span>
1342
+ <span class="cline-any cline-neutral">&nbsp;</span>
1343
+ <span class="cline-any cline-neutral">&nbsp;</span>
1344
+ <span class="cline-any cline-neutral">&nbsp;</span>
1345
+ <span class="cline-any cline-neutral">&nbsp;</span>
1346
+ <span class="cline-any cline-neutral">&nbsp;</span>
1347
+ <span class="cline-any cline-neutral">&nbsp;</span>
1348
+ <span class="cline-any cline-neutral">&nbsp;</span>
1349
+ <span class="cline-any cline-no">&nbsp;</span>
1350
+ <span class="cline-any cline-no">&nbsp;</span>
1351
+ <span class="cline-any cline-no">&nbsp;</span>
1352
+ <span class="cline-any cline-neutral">&nbsp;</span>
1353
+ <span class="cline-any cline-neutral">&nbsp;</span>
1354
+ <span class="cline-any cline-neutral">&nbsp;</span>
1355
+ <span class="cline-any cline-neutral">&nbsp;</span>
1356
+ <span class="cline-any cline-no">&nbsp;</span>
1357
+ <span class="cline-any cline-neutral">&nbsp;</span>
1358
+ <span class="cline-any cline-neutral">&nbsp;</span>
1359
+ <span class="cline-any cline-neutral">&nbsp;</span>
1360
+ <span class="cline-any cline-no">&nbsp;</span>
1361
+ <span class="cline-any cline-no">&nbsp;</span>
1362
+ <span class="cline-any cline-no">&nbsp;</span>
1363
+ <span class="cline-any cline-no">&nbsp;</span>
1364
+ <span class="cline-any cline-neutral">&nbsp;</span>
1365
+ <span class="cline-any cline-neutral">&nbsp;</span>
1366
+ <span class="cline-any cline-neutral">&nbsp;</span>
1367
+ <span class="cline-any cline-no">&nbsp;</span>
1368
+ <span class="cline-any cline-neutral">&nbsp;</span>
1369
+ <span class="cline-any cline-neutral">&nbsp;</span>
1370
+ <span class="cline-any cline-neutral">&nbsp;</span>
1371
+ <span class="cline-any cline-neutral">&nbsp;</span>
1372
+ <span class="cline-any cline-neutral">&nbsp;</span>
1373
+ <span class="cline-any cline-neutral">&nbsp;</span>
1374
+ <span class="cline-any cline-neutral">&nbsp;</span>
1375
+ <span class="cline-any cline-neutral">&nbsp;</span>
1376
+ <span class="cline-any cline-neutral">&nbsp;</span>
1377
+ <span class="cline-any cline-neutral">&nbsp;</span>
1378
+ <span class="cline-any cline-neutral">&nbsp;</span>
1379
+ <span class="cline-any cline-neutral">&nbsp;</span>
1380
+ <span class="cline-any cline-neutral">&nbsp;</span>
1381
+ <span class="cline-any cline-neutral">&nbsp;</span>
1382
+ <span class="cline-any cline-neutral">&nbsp;</span>
1383
+ <span class="cline-any cline-neutral">&nbsp;</span>
1384
+ <span class="cline-any cline-neutral">&nbsp;</span>
1385
+ <span class="cline-any cline-neutral">&nbsp;</span>
1386
+ <span class="cline-any cline-neutral">&nbsp;</span>
1387
+ <span class="cline-any cline-neutral">&nbsp;</span>
1388
+ <span class="cline-any cline-neutral">&nbsp;</span>
1389
+ <span class="cline-any cline-neutral">&nbsp;</span>
1390
+ <span class="cline-any cline-neutral">&nbsp;</span>
1391
+ <span class="cline-any cline-neutral">&nbsp;</span>
1392
+ <span class="cline-any cline-no">&nbsp;</span>
1393
+ <span class="cline-any cline-no">&nbsp;</span>
1394
+ <span class="cline-any cline-neutral">&nbsp;</span>
1395
+ <span class="cline-any cline-no">&nbsp;</span>
1396
+ <span class="cline-any cline-no">&nbsp;</span>
1397
+ <span class="cline-any cline-neutral">&nbsp;</span>
1398
+ <span class="cline-any cline-neutral">&nbsp;</span>
1399
+ <span class="cline-any cline-neutral">&nbsp;</span>
1400
+ <span class="cline-any cline-neutral">&nbsp;</span>
1401
+ <span class="cline-any cline-neutral">&nbsp;</span>
1402
+ <span class="cline-any cline-neutral">&nbsp;</span>
1403
+ <span class="cline-any cline-neutral">&nbsp;</span>
1404
+ <span class="cline-any cline-no">&nbsp;</span>
1405
+ <span class="cline-any cline-no">&nbsp;</span>
1406
+ <span class="cline-any cline-neutral">&nbsp;</span>
1407
+ <span class="cline-any cline-neutral">&nbsp;</span>
1408
+ <span class="cline-any cline-neutral">&nbsp;</span>
1409
+ <span class="cline-any cline-neutral">&nbsp;</span>
1410
+ <span class="cline-any cline-neutral">&nbsp;</span>
1411
+ <span class="cline-any cline-neutral">&nbsp;</span>
1412
+ <span class="cline-any cline-neutral">&nbsp;</span>
1413
+ <span class="cline-any cline-no">&nbsp;</span>
1414
+ <span class="cline-any cline-no">&nbsp;</span>
1415
+ <span class="cline-any cline-no">&nbsp;</span>
1416
+ <span class="cline-any cline-no">&nbsp;</span>
1417
+ <span class="cline-any cline-neutral">&nbsp;</span>
1418
+ <span class="cline-any cline-no">&nbsp;</span>
1419
+ <span class="cline-any cline-neutral">&nbsp;</span>
1420
+ <span class="cline-any cline-neutral">&nbsp;</span>
1421
+ <span class="cline-any cline-neutral">&nbsp;</span>
1422
+ <span class="cline-any cline-neutral">&nbsp;</span>
1423
+ <span class="cline-any cline-neutral">&nbsp;</span>
1424
+ <span class="cline-any cline-neutral">&nbsp;</span>
1425
+ <span class="cline-any cline-neutral">&nbsp;</span>
1426
+ <span class="cline-any cline-neutral">&nbsp;</span>
1427
+ <span class="cline-any cline-no">&nbsp;</span>
1428
+ <span class="cline-any cline-no">&nbsp;</span>
1429
+ <span class="cline-any cline-neutral">&nbsp;</span>
1430
+ <span class="cline-any cline-neutral">&nbsp;</span>
1431
+ <span class="cline-any cline-neutral">&nbsp;</span>
1432
+ <span class="cline-any cline-neutral">&nbsp;</span>
1433
+ <span class="cline-any cline-neutral">&nbsp;</span>
1434
+ <span class="cline-any cline-neutral">&nbsp;</span>
1435
+ <span class="cline-any cline-neutral">&nbsp;</span>
1436
+ <span class="cline-any cline-neutral">&nbsp;</span>
1437
+ <span class="cline-any cline-neutral">&nbsp;</span>
1438
+ <span class="cline-any cline-neutral">&nbsp;</span>
1439
+ <span class="cline-any cline-neutral">&nbsp;</span>
1440
+ <span class="cline-any cline-neutral">&nbsp;</span>
1441
+ <span class="cline-any cline-neutral">&nbsp;</span>
1442
+ <span class="cline-any cline-neutral">&nbsp;</span>
1443
+ <span class="cline-any cline-neutral">&nbsp;</span>
1444
+ <span class="cline-any cline-neutral">&nbsp;</span>
1445
+ <span class="cline-any cline-neutral">&nbsp;</span>
1446
+ <span class="cline-any cline-neutral">&nbsp;</span>
1447
+ <span class="cline-any cline-neutral">&nbsp;</span>
1448
+ <span class="cline-any cline-neutral">&nbsp;</span>
1449
+ <span class="cline-any cline-neutral">&nbsp;</span>
1450
+ <span class="cline-any cline-no">&nbsp;</span>
1451
+ <span class="cline-any cline-no">&nbsp;</span>
1452
+ <span class="cline-any cline-neutral">&nbsp;</span>
1453
+ <span class="cline-any cline-neutral">&nbsp;</span>
1454
+ <span class="cline-any cline-neutral">&nbsp;</span>
1455
+ <span class="cline-any cline-neutral">&nbsp;</span>
1456
+ <span class="cline-any cline-no">&nbsp;</span>
1457
+ <span class="cline-any cline-neutral">&nbsp;</span>
1458
+ <span class="cline-any cline-neutral">&nbsp;</span>
1459
+ <span class="cline-any cline-neutral">&nbsp;</span>
1460
+ <span class="cline-any cline-neutral">&nbsp;</span>
1461
+ <span class="cline-any cline-neutral">&nbsp;</span>
1462
+ <span class="cline-any cline-neutral">&nbsp;</span>
1463
+ <span class="cline-any cline-neutral">&nbsp;</span>
1464
+ <span class="cline-any cline-neutral">&nbsp;</span>
1465
+ <span class="cline-any cline-neutral">&nbsp;</span>
1466
+ <span class="cline-any cline-neutral">&nbsp;</span>
1467
+ <span class="cline-any cline-neutral">&nbsp;</span>
1468
+ <span class="cline-any cline-neutral">&nbsp;</span>
1469
+ <span class="cline-any cline-neutral">&nbsp;</span>
1470
+ <span class="cline-any cline-neutral">&nbsp;</span>
1471
+ <span class="cline-any cline-neutral">&nbsp;</span>
1472
+ <span class="cline-any cline-neutral">&nbsp;</span>
1473
+ <span class="cline-any cline-neutral">&nbsp;</span>
1474
+ <span class="cline-any cline-neutral">&nbsp;</span>
1475
+ <span class="cline-any cline-neutral">&nbsp;</span>
1476
+ <span class="cline-any cline-neutral">&nbsp;</span>
1477
+ <span class="cline-any cline-neutral">&nbsp;</span>
1478
+ <span class="cline-any cline-neutral">&nbsp;</span>
1479
+ <span class="cline-any cline-neutral">&nbsp;</span>
1480
+ <span class="cline-any cline-neutral">&nbsp;</span>
1481
+ <span class="cline-any cline-no">&nbsp;</span>
1482
+ <span class="cline-any cline-no">&nbsp;</span>
1483
+ <span class="cline-any cline-neutral">&nbsp;</span>
1484
+ <span class="cline-any cline-neutral">&nbsp;</span>
1485
+ <span class="cline-any cline-neutral">&nbsp;</span>
1486
+ <span class="cline-any cline-neutral">&nbsp;</span>
1487
+ <span class="cline-any cline-neutral">&nbsp;</span>
1488
+ <span class="cline-any cline-neutral">&nbsp;</span>
1489
+ <span class="cline-any cline-neutral">&nbsp;</span>
1490
+ <span class="cline-any cline-neutral">&nbsp;</span>
1491
+ <span class="cline-any cline-neutral">&nbsp;</span>
1492
+ <span class="cline-any cline-neutral">&nbsp;</span>
1493
+ <span class="cline-any cline-neutral">&nbsp;</span>
1494
+ <span class="cline-any cline-neutral">&nbsp;</span>
1495
+ <span class="cline-any cline-neutral">&nbsp;</span>
1496
+ <span class="cline-any cline-neutral">&nbsp;</span>
1497
+ <span class="cline-any cline-neutral">&nbsp;</span>
1498
+ <span class="cline-any cline-neutral">&nbsp;</span>
1499
+ <span class="cline-any cline-neutral">&nbsp;</span>
1500
+ <span class="cline-any cline-neutral">&nbsp;</span>
1501
+ <span class="cline-any cline-neutral">&nbsp;</span>
1502
+ <span class="cline-any cline-neutral">&nbsp;</span>
1503
+ <span class="cline-any cline-neutral">&nbsp;</span>
1504
+ <span class="cline-any cline-neutral">&nbsp;</span>
1505
+ <span class="cline-any cline-no">&nbsp;</span>
1506
+ <span class="cline-any cline-no">&nbsp;</span>
1507
+ <span class="cline-any cline-no">&nbsp;</span>
1508
+ <span class="cline-any cline-neutral">&nbsp;</span>
1509
+ <span class="cline-any cline-neutral">&nbsp;</span>
1510
+ <span class="cline-any cline-neutral">&nbsp;</span>
1511
+ <span class="cline-any cline-neutral">&nbsp;</span>
1512
+ <span class="cline-any cline-no">&nbsp;</span>
1513
+ <span class="cline-any cline-neutral">&nbsp;</span>
1514
+ <span class="cline-any cline-neutral">&nbsp;</span>
1515
+ <span class="cline-any cline-neutral">&nbsp;</span>
1516
+ <span class="cline-any cline-neutral">&nbsp;</span>
1517
+ <span class="cline-any cline-neutral">&nbsp;</span>
1518
+ <span class="cline-any cline-neutral">&nbsp;</span>
1519
+ <span class="cline-any cline-neutral">&nbsp;</span>
1520
+ <span class="cline-any cline-neutral">&nbsp;</span>
1521
+ <span class="cline-any cline-neutral">&nbsp;</span>
1522
+ <span class="cline-any cline-neutral">&nbsp;</span>
1523
+ <span class="cline-any cline-neutral">&nbsp;</span>
1524
+ <span class="cline-any cline-neutral">&nbsp;</span>
1525
+ <span class="cline-any cline-neutral">&nbsp;</span>
1526
+ <span class="cline-any cline-neutral">&nbsp;</span>
1527
+ <span class="cline-any cline-neutral">&nbsp;</span>
1528
+ <span class="cline-any cline-neutral">&nbsp;</span>
1529
+ <span class="cline-any cline-no">&nbsp;</span>
1530
+ <span class="cline-any cline-no">&nbsp;</span>
1531
+ <span class="cline-any cline-no">&nbsp;</span>
1532
+ <span class="cline-any cline-no">&nbsp;</span>
1533
+ <span class="cline-any cline-neutral">&nbsp;</span>
1534
+ <span class="cline-any cline-neutral">&nbsp;</span>
1535
+ <span class="cline-any cline-no">&nbsp;</span>
1536
+ <span class="cline-any cline-neutral">&nbsp;</span>
1537
+ <span class="cline-any cline-no">&nbsp;</span>
1538
+ <span class="cline-any cline-neutral">&nbsp;</span>
1539
+ <span class="cline-any cline-neutral">&nbsp;</span>
1540
+ <span class="cline-any cline-neutral">&nbsp;</span>
1541
+ <span class="cline-any cline-neutral">&nbsp;</span>
1542
+ <span class="cline-any cline-neutral">&nbsp;</span>
1543
+ <span class="cline-any cline-neutral">&nbsp;</span>
1544
+ <span class="cline-any cline-neutral">&nbsp;</span>
1545
+ <span class="cline-any cline-neutral">&nbsp;</span>
1546
+ <span class="cline-any cline-neutral">&nbsp;</span>
1547
+ <span class="cline-any cline-no">&nbsp;</span>
1548
+ <span class="cline-any cline-no">&nbsp;</span>
1549
+ <span class="cline-any cline-neutral">&nbsp;</span>
1550
+ <span class="cline-any cline-neutral">&nbsp;</span>
1551
+ <span class="cline-any cline-neutral">&nbsp;</span>
1552
+ <span class="cline-any cline-no">&nbsp;</span>
1553
+ <span class="cline-any cline-no">&nbsp;</span>
1554
+ <span class="cline-any cline-neutral">&nbsp;</span>
1555
+ <span class="cline-any cline-neutral">&nbsp;</span>
1556
+ <span class="cline-any cline-neutral">&nbsp;</span>
1557
+ <span class="cline-any cline-neutral">&nbsp;</span>
1558
+ <span class="cline-any cline-neutral">&nbsp;</span>
1559
+ <span class="cline-any cline-neutral">&nbsp;</span>
1560
+ <span class="cline-any cline-no">&nbsp;</span>
1561
+ <span class="cline-any cline-no">&nbsp;</span>
1562
+ <span class="cline-any cline-no">&nbsp;</span>
1563
+ <span class="cline-any cline-no">&nbsp;</span>
1564
+ <span class="cline-any cline-no">&nbsp;</span>
1565
+ <span class="cline-any cline-no">&nbsp;</span>
1566
+ <span class="cline-any cline-no">&nbsp;</span>
1567
+ <span class="cline-any cline-no">&nbsp;</span>
1568
+ <span class="cline-any cline-no">&nbsp;</span>
1569
+ <span class="cline-any cline-neutral">&nbsp;</span>
1570
+ <span class="cline-any cline-neutral">&nbsp;</span>
1571
+ <span class="cline-any cline-no">&nbsp;</span>
1572
+ <span class="cline-any cline-neutral">&nbsp;</span>
1573
+ <span class="cline-any cline-neutral">&nbsp;</span>
1574
+ <span class="cline-any cline-neutral">&nbsp;</span>
1575
+ <span class="cline-any cline-neutral">&nbsp;</span>
1576
+ <span class="cline-any cline-neutral">&nbsp;</span>
1577
+ <span class="cline-any cline-neutral">&nbsp;</span>
1578
+ <span class="cline-any cline-neutral">&nbsp;</span>
1579
+ <span class="cline-any cline-neutral">&nbsp;</span>
1580
+ <span class="cline-any cline-neutral">&nbsp;</span>
1581
+ <span class="cline-any cline-neutral">&nbsp;</span>
1582
+ <span class="cline-any cline-neutral">&nbsp;</span>
1583
+ <span class="cline-any cline-neutral">&nbsp;</span>
1584
+ <span class="cline-any cline-neutral">&nbsp;</span>
1585
+ <span class="cline-any cline-neutral">&nbsp;</span>
1586
+ <span class="cline-any cline-neutral">&nbsp;</span>
1587
+ <span class="cline-any cline-neutral">&nbsp;</span>
1588
+ <span class="cline-any cline-no">&nbsp;</span>
1589
+ <span class="cline-any cline-no">&nbsp;</span>
1590
+ <span class="cline-any cline-no">&nbsp;</span>
1591
+ <span class="cline-any cline-no">&nbsp;</span>
1592
+ <span class="cline-any cline-neutral">&nbsp;</span>
1593
+ <span class="cline-any cline-neutral">&nbsp;</span>
1594
+ <span class="cline-any cline-no">&nbsp;</span>
1595
+ <span class="cline-any cline-neutral">&nbsp;</span>
1596
+ <span class="cline-any cline-no">&nbsp;</span>
1597
+ <span class="cline-any cline-neutral">&nbsp;</span>
1598
+ <span class="cline-any cline-neutral">&nbsp;</span>
1599
+ <span class="cline-any cline-neutral">&nbsp;</span>
1600
+ <span class="cline-any cline-no">&nbsp;</span>
1601
+ <span class="cline-any cline-no">&nbsp;</span>
1602
+ <span class="cline-any cline-neutral">&nbsp;</span>
1603
+ <span class="cline-any cline-neutral">&nbsp;</span>
1604
+ <span class="cline-any cline-neutral">&nbsp;</span>
1605
+ <span class="cline-any cline-neutral">&nbsp;</span>
1606
+ <span class="cline-any cline-neutral">&nbsp;</span>
1607
+ <span class="cline-any cline-neutral">&nbsp;</span>
1608
+ <span class="cline-any cline-no">&nbsp;</span>
1609
+ <span class="cline-any cline-no">&nbsp;</span>
1610
+ <span class="cline-any cline-no">&nbsp;</span>
1611
+ <span class="cline-any cline-no">&nbsp;</span>
1612
+ <span class="cline-any cline-no">&nbsp;</span>
1613
+ <span class="cline-any cline-no">&nbsp;</span>
1614
+ <span class="cline-any cline-no">&nbsp;</span>
1615
+ <span class="cline-any cline-no">&nbsp;</span>
1616
+ <span class="cline-any cline-no">&nbsp;</span>
1617
+ <span class="cline-any cline-neutral">&nbsp;</span>
1618
+ <span class="cline-any cline-neutral">&nbsp;</span>
1619
+ <span class="cline-any cline-no">&nbsp;</span>
1620
+ <span class="cline-any cline-neutral">&nbsp;</span>
1621
+ <span class="cline-any cline-neutral">&nbsp;</span>
1622
+ <span class="cline-any cline-neutral">&nbsp;</span>
1623
+ <span class="cline-any cline-neutral">&nbsp;</span>
1624
+ <span class="cline-any cline-neutral">&nbsp;</span>
1625
+ <span class="cline-any cline-neutral">&nbsp;</span>
1626
+ <span class="cline-any cline-neutral">&nbsp;</span>
1627
+ <span class="cline-any cline-neutral">&nbsp;</span>
1628
+ <span class="cline-any cline-neutral">&nbsp;</span>
1629
+ <span class="cline-any cline-no">&nbsp;</span>
1630
+ <span class="cline-any cline-no">&nbsp;</span>
1631
+ <span class="cline-any cline-no">&nbsp;</span>
1632
+ <span class="cline-any cline-no">&nbsp;</span>
1633
+ <span class="cline-any cline-neutral">&nbsp;</span>
1634
+ <span class="cline-any cline-no">&nbsp;</span>
1635
+ <span class="cline-any cline-no">&nbsp;</span>
1636
+ <span class="cline-any cline-no">&nbsp;</span>
1637
+ <span class="cline-any cline-no">&nbsp;</span>
1638
+ <span class="cline-any cline-no">&nbsp;</span>
1639
+ <span class="cline-any cline-no">&nbsp;</span>
1640
+ <span class="cline-any cline-no">&nbsp;</span>
1641
+ <span class="cline-any cline-no">&nbsp;</span>
1642
+ <span class="cline-any cline-no">&nbsp;</span>
1643
+ <span class="cline-any cline-no">&nbsp;</span>
1644
+ <span class="cline-any cline-no">&nbsp;</span>
1645
+ <span class="cline-any cline-no">&nbsp;</span>
1646
+ <span class="cline-any cline-no">&nbsp;</span>
1647
+ <span class="cline-any cline-no">&nbsp;</span>
1648
+ <span class="cline-any cline-neutral">&nbsp;</span>
1649
+ <span class="cline-any cline-neutral">&nbsp;</span>
1650
+ <span class="cline-any cline-neutral">&nbsp;</span>
1651
+ <span class="cline-any cline-neutral">&nbsp;</span>
1652
+ <span class="cline-any cline-no">&nbsp;</span>
1653
+ <span class="cline-any cline-no">&nbsp;</span>
1654
+ <span class="cline-any cline-no">&nbsp;</span>
1655
+ <span class="cline-any cline-neutral">&nbsp;</span>
1656
+ <span class="cline-any cline-neutral">&nbsp;</span>
1657
+ <span class="cline-any cline-neutral">&nbsp;</span>
1658
+ <span class="cline-any cline-neutral">&nbsp;</span>
1659
+ <span class="cline-any cline-no">&nbsp;</span>
1660
+ <span class="cline-any cline-neutral">&nbsp;</span>
1661
+ <span class="cline-any cline-neutral">&nbsp;</span>
1662
+ <span class="cline-any cline-neutral">&nbsp;</span>
1663
+ <span class="cline-any cline-neutral">&nbsp;</span>
1664
+ <span class="cline-any cline-no">&nbsp;</span>
1665
+ <span class="cline-any cline-no">&nbsp;</span>
1666
+ <span class="cline-any cline-no">&nbsp;</span>
1667
+ <span class="cline-any cline-no">&nbsp;</span>
1668
+ <span class="cline-any cline-no">&nbsp;</span>
1669
+ <span class="cline-any cline-neutral">&nbsp;</span>
1670
+ <span class="cline-any cline-no">&nbsp;</span>
1671
+ <span class="cline-any cline-neutral">&nbsp;</span>
1672
+ <span class="cline-any cline-neutral">&nbsp;</span>
1673
+ <span class="cline-any cline-neutral">&nbsp;</span>
1674
+ <span class="cline-any cline-no">&nbsp;</span>
1675
+ <span class="cline-any cline-neutral">&nbsp;</span>
1676
+ <span class="cline-any cline-neutral">&nbsp;</span>
1677
+ <span class="cline-any cline-neutral">&nbsp;</span>
1678
+ <span class="cline-any cline-no">&nbsp;</span>
1679
+ <span class="cline-any cline-no">&nbsp;</span>
1680
+ <span class="cline-any cline-no">&nbsp;</span>
1681
+ <span class="cline-any cline-no">&nbsp;</span>
1682
+ <span class="cline-any cline-no">&nbsp;</span>
1683
+ <span class="cline-any cline-no">&nbsp;</span>
1684
+ <span class="cline-any cline-no">&nbsp;</span>
1685
+ <span class="cline-any cline-neutral">&nbsp;</span>
1686
+ <span class="cline-any cline-neutral">&nbsp;</span>
1687
+ <span class="cline-any cline-neutral">&nbsp;</span>
1688
+ <span class="cline-any cline-no">&nbsp;</span>
1689
+ <span class="cline-any cline-no">&nbsp;</span>
1690
+ <span class="cline-any cline-no">&nbsp;</span>
1691
+ <span class="cline-any cline-no">&nbsp;</span>
1692
+ <span class="cline-any cline-no">&nbsp;</span>
1693
+ <span class="cline-any cline-neutral">&nbsp;</span>
1694
+ <span class="cline-any cline-neutral">&nbsp;</span>
1695
+ <span class="cline-any cline-no">&nbsp;</span>
1696
+ <span class="cline-any cline-neutral">&nbsp;</span>
1697
+ <span class="cline-any cline-no">&nbsp;</span>
1698
+ <span class="cline-any cline-neutral">&nbsp;</span>
1699
+ <span class="cline-any cline-neutral">&nbsp;</span>
1700
+ <span class="cline-any cline-neutral">&nbsp;</span>
1701
+ <span class="cline-any cline-neutral">&nbsp;</span>
1702
+ <span class="cline-any cline-no">&nbsp;</span>
1703
+ <span class="cline-any cline-no">&nbsp;</span>
1704
+ <span class="cline-any cline-no">&nbsp;</span>
1705
+ <span class="cline-any cline-no">&nbsp;</span>
1706
+ <span class="cline-any cline-no">&nbsp;</span>
1707
+ <span class="cline-any cline-no">&nbsp;</span>
1708
+ <span class="cline-any cline-neutral">&nbsp;</span>
1709
+ <span class="cline-any cline-neutral">&nbsp;</span>
1710
+ <span class="cline-any cline-neutral">&nbsp;</span>
1711
+ <span class="cline-any cline-no">&nbsp;</span>
1712
+ <span class="cline-any cline-no">&nbsp;</span>
1713
+ <span class="cline-any cline-no">&nbsp;</span>
1714
+ <span class="cline-any cline-no">&nbsp;</span>
1715
+ <span class="cline-any cline-no">&nbsp;</span>
1716
+ <span class="cline-any cline-neutral">&nbsp;</span>
1717
+ <span class="cline-any cline-neutral">&nbsp;</span>
1718
+ <span class="cline-any cline-no">&nbsp;</span>
1719
+ <span class="cline-any cline-neutral">&nbsp;</span>
1720
+ <span class="cline-any cline-no">&nbsp;</span>
1721
+ <span class="cline-any cline-neutral">&nbsp;</span>
1722
+ <span class="cline-any cline-neutral">&nbsp;</span>
1723
+ <span class="cline-any cline-neutral">&nbsp;</span>
1724
+ <span class="cline-any cline-yes">8x</span>
1725
+ <span class="cline-any cline-yes">8x</span>
1726
+ <span class="cline-any cline-yes">8x</span>
1727
+ <span class="cline-any cline-yes">7x</span>
1728
+ <span class="cline-any cline-yes">7x</span>
1729
+ <span class="cline-any cline-yes">4x</span>
1730
+ <span class="cline-any cline-neutral">&nbsp;</span>
1731
+ <span class="cline-any cline-yes">3x</span>
1732
+ <span class="cline-any cline-neutral">&nbsp;</span>
1733
+ <span class="cline-any cline-yes">7x</span>
1734
+ <span class="cline-any cline-neutral">&nbsp;</span>
1735
+ <span class="cline-any cline-yes">8x</span>
1736
+ <span class="cline-any cline-yes">8x</span>
1737
+ <span class="cline-any cline-yes">8x</span>
1738
+ <span class="cline-any cline-yes">3x</span>
1739
+ <span class="cline-any cline-yes">5x</span>
1740
+ <span class="cline-any cline-yes">3x</span>
1741
+ <span class="cline-any cline-neutral">&nbsp;</span>
1742
+ <span class="cline-any cline-yes">2x</span>
1743
+ <span class="cline-any cline-neutral">&nbsp;</span>
1744
+ <span class="cline-any cline-neutral">&nbsp;</span>
1745
+ <span class="cline-any cline-yes">8x</span>
1746
+ <span class="cline-any cline-yes">8x</span>
1747
+ <span class="cline-any cline-yes">4x</span>
1748
+ <span class="cline-any cline-yes">2x</span>
1749
+ <span class="cline-any cline-neutral">&nbsp;</span>
1750
+ <span class="cline-any cline-yes">4x</span>
1751
+ <span class="cline-any cline-neutral">&nbsp;</span>
1752
+ <span class="cline-any cline-neutral">&nbsp;</span>
1753
+ <span class="cline-any cline-yes">7x</span>
1754
+ <span class="cline-any cline-yes">7x</span>
1755
+ <span class="cline-any cline-neutral">&nbsp;</span>
1756
+ <span class="cline-any cline-neutral">&nbsp;</span>
1757
+ <span class="cline-any cline-yes">7x</span>
1758
+ <span class="cline-any cline-neutral">&nbsp;</span>
1759
+ <span class="cline-any cline-neutral">&nbsp;</span>
1760
+ <span class="cline-any cline-neutral">&nbsp;</span>
1761
+ <span class="cline-any cline-yes">1x</span>
1762
+ <span class="cline-any cline-yes">11x</span>
1763
+ <span class="cline-any cline-neutral">&nbsp;</span>
1764
+ <span class="cline-any cline-yes">11x</span>
1765
+ <span class="cline-any cline-yes">11x</span>
1766
+ <span class="cline-any cline-neutral">&nbsp;</span>
1767
+ <span class="cline-any cline-yes">11x</span>
1768
+ <span class="cline-any cline-yes">11x</span>
1769
+ <span class="cline-any cline-yes">8x</span>
1770
+ <span class="cline-any cline-yes">8x</span>
1771
+ <span class="cline-any cline-yes">8x</span>
1772
+ <span class="cline-any cline-yes">8x</span>
1773
+ <span class="cline-any cline-neutral">&nbsp;</span>
1774
+ <span class="cline-any cline-yes">9x</span>
1775
+ <span class="cline-any cline-yes">6x</span>
1776
+ <span class="cline-any cline-yes">6x</span>
1777
+ <span class="cline-any cline-yes">6x</span>
1778
+ <span class="cline-any cline-yes">6x</span>
1779
+ <span class="cline-any cline-neutral">&nbsp;</span>
1780
+ <span class="cline-any cline-no">&nbsp;</span>
1781
+ <span class="cline-any cline-no">&nbsp;</span>
1782
+ <span class="cline-any cline-neutral">&nbsp;</span>
1783
+ <span class="cline-any cline-yes">6x</span>
1784
+ <span class="cline-any cline-yes">6x</span>
1785
+ <span class="cline-any cline-yes">6x</span>
1786
+ <span class="cline-any cline-neutral">&nbsp;</span>
1787
+ <span class="cline-any cline-neutral">&nbsp;</span>
1788
+ <span class="cline-any cline-yes">3x</span>
1789
+ <span class="cline-any cline-yes">1x</span>
1790
+ <span class="cline-any cline-neutral">&nbsp;</span>
1791
+ <span class="cline-any cline-yes">3x</span>
1792
+ <span class="cline-any cline-yes">3x</span>
1793
+ <span class="cline-any cline-yes">3x</span>
1794
+ <span class="cline-any cline-neutral">&nbsp;</span>
1795
+ <span class="cline-any cline-neutral">&nbsp;</span>
1796
+ <span class="cline-any cline-neutral">&nbsp;</span>
1797
+ <span class="cline-any cline-neutral">&nbsp;</span>
1798
+ <span class="cline-any cline-neutral">&nbsp;</span>
1799
+ <span class="cline-any cline-neutral">&nbsp;</span>
1800
+ <span class="cline-any cline-neutral">&nbsp;</span>
1801
+ <span class="cline-any cline-no">&nbsp;</span>
1802
+ <span class="cline-any cline-neutral">&nbsp;</span>
1803
+ <span class="cline-any cline-yes">8x</span>
1804
+ <span class="cline-any cline-neutral">&nbsp;</span>
1805
+ <span class="cline-any cline-yes">8x</span>
1806
+ <span class="cline-any cline-yes">8x</span>
1807
+ <span class="cline-any cline-yes">6x</span>
1808
+ <span class="cline-any cline-yes">3x</span>
1809
+ <span class="cline-any cline-yes">3x</span>
1810
+ <span class="cline-any cline-neutral">&nbsp;</span>
1811
+ <span class="cline-any cline-yes">6x</span>
1812
+ <span class="cline-any cline-neutral">&nbsp;</span>
1813
+ <span class="cline-any cline-neutral">&nbsp;</span>
1814
+ <span class="cline-any cline-neutral">&nbsp;</span>
1815
+ <span class="cline-any cline-neutral">&nbsp;</span>
1816
+ <span class="cline-any cline-neutral">&nbsp;</span>
1817
+ <span class="cline-any cline-neutral">&nbsp;</span>
1818
+ <span class="cline-any cline-yes">8x</span>
1819
+ <span class="cline-any cline-neutral">&nbsp;</span>
1820
+ <span class="cline-any cline-yes">3x</span>
1821
+ <span class="cline-any cline-yes">3x</span>
1822
+ <span class="cline-any cline-yes">3x</span>
1823
+ <span class="cline-any cline-yes">3x</span>
1824
+ <span class="cline-any cline-no">&nbsp;</span>
1825
+ <span class="cline-any cline-no">&nbsp;</span>
1826
+ <span class="cline-any cline-no">&nbsp;</span>
1827
+ <span class="cline-any cline-neutral">&nbsp;</span>
1828
+ <span class="cline-any cline-no">&nbsp;</span>
1829
+ <span class="cline-any cline-neutral">&nbsp;</span>
1830
+ <span class="cline-any cline-neutral">&nbsp;</span>
1831
+ <span class="cline-any cline-neutral">&nbsp;</span>
1832
+ <span class="cline-any cline-neutral">&nbsp;</span>
1833
+ <span class="cline-any cline-neutral">&nbsp;</span>
1834
+ <span class="cline-any cline-neutral">&nbsp;</span>
1835
+ <span class="cline-any cline-yes">3x</span>
1836
+ <span class="cline-any cline-neutral">&nbsp;</span>
1837
+ <span class="cline-any cline-neutral">&nbsp;</span>
1838
+ <span class="cline-any cline-no">&nbsp;</span>
1839
+ <span class="cline-any cline-no">&nbsp;</span>
1840
+ <span class="cline-any cline-no">&nbsp;</span>
1841
+ <span class="cline-any cline-no">&nbsp;</span>
1842
+ <span class="cline-any cline-no">&nbsp;</span>
1843
+ <span class="cline-any cline-neutral">&nbsp;</span>
1844
+ <span class="cline-any cline-no">&nbsp;</span>
1845
+ <span class="cline-any cline-neutral">&nbsp;</span>
1846
+ <span class="cline-any cline-neutral">&nbsp;</span>
1847
+ <span class="cline-any cline-neutral">&nbsp;</span>
1848
+ <span class="cline-any cline-neutral">&nbsp;</span>
1849
+ <span class="cline-any cline-neutral">&nbsp;</span>
1850
+ <span class="cline-any cline-neutral">&nbsp;</span>
1851
+ <span class="cline-any cline-no">&nbsp;</span>
1852
+ <span class="cline-any cline-neutral">&nbsp;</span>
1853
+ <span class="cline-any cline-neutral">&nbsp;</span>
1854
+ <span class="cline-any cline-yes">11x</span>
1855
+ <span class="cline-any cline-neutral">&nbsp;</span>
1856
+ <span class="cline-any cline-neutral">&nbsp;</span>
1857
+ <span class="cline-any cline-neutral">&nbsp;</span>
1858
+ <span class="cline-any cline-neutral">&nbsp;</span>
1859
+ <span class="cline-any cline-yes">1x</span>
1860
+ <span class="cline-any cline-no">&nbsp;</span>
1861
+ <span class="cline-any cline-neutral">&nbsp;</span>
1862
+ <span class="cline-any cline-no">&nbsp;</span>
1863
+ <span class="cline-any cline-no">&nbsp;</span>
1864
+ <span class="cline-any cline-neutral">&nbsp;</span>
1865
+ <span class="cline-any cline-no">&nbsp;</span>
1866
+ <span class="cline-any cline-no">&nbsp;</span>
1867
+ <span class="cline-any cline-no">&nbsp;</span>
1868
+ <span class="cline-any cline-no">&nbsp;</span>
1869
+ <span class="cline-any cline-no">&nbsp;</span>
1870
+ <span class="cline-any cline-no">&nbsp;</span>
1871
+ <span class="cline-any cline-no">&nbsp;</span>
1872
+ <span class="cline-any cline-neutral">&nbsp;</span>
1873
+ <span class="cline-any cline-no">&nbsp;</span>
1874
+ <span class="cline-any cline-no">&nbsp;</span>
1875
+ <span class="cline-any cline-no">&nbsp;</span>
1876
+ <span class="cline-any cline-no">&nbsp;</span>
1877
+ <span class="cline-any cline-no">&nbsp;</span>
1878
+ <span class="cline-any cline-neutral">&nbsp;</span>
1879
+ <span class="cline-any cline-no">&nbsp;</span>
1880
+ <span class="cline-any cline-no">&nbsp;</span>
1881
+ <span class="cline-any cline-neutral">&nbsp;</span>
1882
+ <span class="cline-any cline-no">&nbsp;</span>
1883
+ <span class="cline-any cline-no">&nbsp;</span>
1884
+ <span class="cline-any cline-no">&nbsp;</span>
1885
+ <span class="cline-any cline-neutral">&nbsp;</span>
1886
+ <span class="cline-any cline-neutral">&nbsp;</span>
1887
+ <span class="cline-any cline-no">&nbsp;</span>
1888
+ <span class="cline-any cline-no">&nbsp;</span>
1889
+ <span class="cline-any cline-neutral">&nbsp;</span>
1890
+ <span class="cline-any cline-no">&nbsp;</span>
1891
+ <span class="cline-any cline-no">&nbsp;</span>
1892
+ <span class="cline-any cline-no">&nbsp;</span>
1893
+ <span class="cline-any cline-neutral">&nbsp;</span>
1894
+ <span class="cline-any cline-neutral">&nbsp;</span>
1895
+ <span class="cline-any cline-neutral">&nbsp;</span>
1896
+ <span class="cline-any cline-no">&nbsp;</span>
1897
+ <span class="cline-any cline-neutral">&nbsp;</span>
1898
+ <span class="cline-any cline-no">&nbsp;</span>
1899
+ <span class="cline-any cline-neutral">&nbsp;</span>
1900
+ <span class="cline-any cline-no">&nbsp;</span>
1901
+ <span class="cline-any cline-no">&nbsp;</span>
1902
+ <span class="cline-any cline-no">&nbsp;</span>
1903
+ <span class="cline-any cline-no">&nbsp;</span>
1904
+ <span class="cline-any cline-no">&nbsp;</span>
1905
+ <span class="cline-any cline-neutral">&nbsp;</span>
1906
+ <span class="cline-any cline-no">&nbsp;</span>
1907
+ <span class="cline-any cline-neutral">&nbsp;</span>
1908
+ <span class="cline-any cline-neutral">&nbsp;</span>
1909
+ <span class="cline-any cline-neutral">&nbsp;</span>
1910
+ <span class="cline-any cline-neutral">&nbsp;</span>
1911
+ <span class="cline-any cline-no">&nbsp;</span>
1912
+ <span class="cline-any cline-no">&nbsp;</span>
1913
+ <span class="cline-any cline-neutral">&nbsp;</span>
1914
+ <span class="cline-any cline-no">&nbsp;</span>
1915
+ <span class="cline-any cline-neutral">&nbsp;</span>
1916
+ <span class="cline-any cline-no">&nbsp;</span>
1917
+ <span class="cline-any cline-no">&nbsp;</span>
1918
+ <span class="cline-any cline-no">&nbsp;</span>
1919
+ <span class="cline-any cline-no">&nbsp;</span>
1920
+ <span class="cline-any cline-no">&nbsp;</span>
1921
+ <span class="cline-any cline-no">&nbsp;</span>
1922
+ <span class="cline-any cline-neutral">&nbsp;</span>
1923
+ <span class="cline-any cline-no">&nbsp;</span>
1924
+ <span class="cline-any cline-neutral">&nbsp;</span>
1925
+ <span class="cline-any cline-neutral">&nbsp;</span>
1926
+ <span class="cline-any cline-neutral">&nbsp;</span>
1927
+ <span class="cline-any cline-no">&nbsp;</span>
1928
+ <span class="cline-any cline-no">&nbsp;</span>
1929
+ <span class="cline-any cline-no">&nbsp;</span>
1930
+ <span class="cline-any cline-neutral">&nbsp;</span>
1931
+ <span class="cline-any cline-neutral">&nbsp;</span>
1932
+ <span class="cline-any cline-no">&nbsp;</span>
1933
+ <span class="cline-any cline-no">&nbsp;</span>
1934
+ <span class="cline-any cline-no">&nbsp;</span>
1935
+ <span class="cline-any cline-no">&nbsp;</span>
1936
+ <span class="cline-any cline-neutral">&nbsp;</span>
1937
+ <span class="cline-any cline-no">&nbsp;</span>
1938
+ <span class="cline-any cline-neutral">&nbsp;</span>
1939
+ <span class="cline-any cline-neutral">&nbsp;</span>
1940
+ <span class="cline-any cline-neutral">&nbsp;</span>
1941
+ <span class="cline-any cline-neutral">&nbsp;</span>
1942
+ <span class="cline-any cline-no">&nbsp;</span>
1943
+ <span class="cline-any cline-no">&nbsp;</span>
1944
+ <span class="cline-any cline-no">&nbsp;</span>
1945
+ <span class="cline-any cline-neutral">&nbsp;</span>
1946
+ <span class="cline-any cline-neutral">&nbsp;</span>
1947
+ <span class="cline-any cline-no">&nbsp;</span>
1948
+ <span class="cline-any cline-neutral">&nbsp;</span>
1949
+ <span class="cline-any cline-neutral">&nbsp;</span>
1950
+ <span class="cline-any cline-neutral">&nbsp;</span>
1951
+ <span class="cline-any cline-neutral">&nbsp;</span>
1952
+ <span class="cline-any cline-neutral">&nbsp;</span>
1953
+ <span class="cline-any cline-neutral">&nbsp;</span>
1954
+ <span class="cline-any cline-neutral">&nbsp;</span>
1955
+ <span class="cline-any cline-neutral">&nbsp;</span>
1956
+ <span class="cline-any cline-yes">1x</span>
1957
+ <span class="cline-any cline-neutral">&nbsp;</span>
1958
+ <span class="cline-any cline-neutral">&nbsp;</span>
1959
+ <span class="cline-any cline-neutral">&nbsp;</span>
1960
+ <span class="cline-any cline-neutral">&nbsp;</span>
1961
+ <span class="cline-any cline-neutral">&nbsp;</span>
1962
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// @ts-nocheck
1963
+ import { v4 as uuidv4 } from 'uuid';
1964
+ import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
1965
+ import Match from './Match__';
1966
+ import MemberExpression from './MemberExpression__';
1967
+ import BooleanLiteral from './BooleanLiteral__';
1968
+ import { ElementToVueOptions } from './ViewElement__';
1969
+ &nbsp;
1970
+ //================================================================================
1971
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1972
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1973
+ //================================================================================
1974
+ import { EventPayload, Params } from '../common/EventEmitter';
1975
+ import { concept, excludedInJSON, property, className } from '../decorators';
1976
+ &nbsp;
1977
+ import * as utils from '../utils';
1978
+ import BaseNode from '../common/BaseNode';
1979
+ import LogicItem from './LogicItem__';
1980
+ import TypeAnnotation from './TypeAnnotation__';
1981
+ &nbsp;
1982
+ /**
1983
+ * 匹配分支
1984
+ */
1985
+ @className
1986
+ @concept('匹配分支')
1987
+ // @ts-ignore
1988
+ export class MatchCase extends LogicItem {
1989
+ /** 类名 */
1990
+ static readonly ConceptName = 'MatchCase';
1991
+ &nbsp;
1992
+ /**
1993
+ * 产品概念
1994
+ */
1995
+ // @ts-ignore
1996
+ readonly concept!: 'MatchCase';
1997
+ &nbsp;
1998
+ /**
1999
+ * 条件表达式
2000
+ */
2001
+ @property('LogicItem | TypeAnnotation')
2002
+ patterns: Array&lt;LogicItem | TypeAnnotation&gt; = [];
2003
+ &nbsp;
2004
+ /**
2005
+ * then
2006
+ */
2007
+ @property('LogicItem')
2008
+ body: Array&lt;LogicItem&gt; = [];
2009
+ &nbsp;
2010
+ /**
2011
+ * 是否可枚举
2012
+ */
2013
+ @property()
2014
+ isMatchedTypeEnumable: boolean = false;
2015
+ &nbsp;
2016
+ /**
2017
+ * @param source 需要合并的部分参数
2018
+ */
2019
+ constructor(source?: Partial&lt;MatchCase&gt;) {
2020
+ source = { ...MatchCase.getDefaultOptions(), ...source};
2021
+ super(source);
2022
+ super.subConstructor(source);
2023
+ }
2024
+ &nbsp;
2025
+ static from(source: any, parentNode?: any, parentKey?: string): MatchCase {
2026
+ return super.from(source, parentNode, parentKey) as MatchCase;
2027
+ }
2028
+ &nbsp;
2029
+ /**
2030
+ * 设置条件表达式
2031
+ */
2032
+ <span class="fstat-no" title="function not covered" > setPatterns(</span>patterns: Array&lt;LogicItem | TypeAnnotation&gt;) {
2033
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
2034
+ patterns,
2035
+ };
2036
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
2037
+ ...object,
2038
+ });
2039
+ }
2040
+ &nbsp;
2041
+ /**
2042
+ * 设置是否可枚举
2043
+ */
2044
+ <span class="fstat-no" title="function not covered" > setIsMatchedTypeEnumable(</span>isMatchedTypeEnumable: boolean) {
2045
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
2046
+ isMatchedTypeEnumable,
2047
+ };
2048
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
2049
+ ...object,
2050
+ });
2051
+ }
2052
+ &nbsp;
2053
+ <span class="fstat-no" title="function not covered" > getLogicItemExistingNames(</span>excludedList: Array&lt;LogicItem&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
2054
+ const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
2055
+ <span class="cstat-no" title="statement not covered" > return ((this.patterns as LogicItem[]) || []).filter(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name)</span>;</span>
2056
+ }
2057
+ &nbsp;
2058
+ <span class="fstat-no" title="function not covered" > getLogicItemUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'logicItem1')</span> {
2059
+ <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getLogicItemExistingNames(), undefined, false);</span>
2060
+ }
2061
+ &nbsp;
2062
+ /**
2063
+ * 插入逻辑项
2064
+ * @internal
2065
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
2066
+ */
2067
+ _insertLogicItemInPatternsAt(name: string, index: number): LogicItem;
2068
+ &nbsp;
2069
+ /**
2070
+ * 插入逻辑项
2071
+ * @internal
2072
+ * @param logicItemOptions 逻辑项参数
2073
+ */
2074
+ _insertLogicItemInPatternsAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
2075
+ &nbsp;
2076
+ /**
2077
+ * 插入逻辑项
2078
+ * @internal
2079
+ * @param logicItem 已有的逻辑项实例
2080
+ */
2081
+ _insertLogicItemInPatternsAt(logicItem: LogicItem, index: number): LogicItem;
2082
+ &nbsp;
2083
+ <span class="fstat-no" title="function not covered" > _insertLogicItemInPatternsAt(</span>options: string | Partial&lt;LogicItem&gt; | LogicItem, index: number) {
2084
+ const logicItemOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
2085
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'patterns' };</span>
2086
+ let logicItem: LogicItem;
2087
+ <span class="cstat-no" title="statement not covered" > if (!options) {</span>
2088
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
2089
+ {
2090
+ ...logicItemOptions,
2091
+ name: this.getLogicItemUniqueName(),
2092
+ },
2093
+ this,
2094
+ 'patterns',
2095
+ );
2096
+ } else <span class="cstat-no" title="statement not covered" >if (typeof options === 'string') {</span>
2097
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
2098
+ {
2099
+ ...logicItemOptions,
2100
+ name: options,
2101
+ },
2102
+ this,
2103
+ 'patterns',
2104
+ );
2105
+ } else <span class="cstat-no" title="statement not covered" >if (options instanceof LogicItem) {</span>
2106
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
2107
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
2108
+ <span class="cstat-no" title="statement not covered" > Object.assign(logicItem, relationOptions);</span>
2109
+ } else {
2110
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
2111
+ {
2112
+ ...logicItemOptions,
2113
+ ...options,
2114
+ },
2115
+ this,
2116
+ 'patterns',
2117
+ );
2118
+ }
2119
+ <span class="cstat-no" title="statement not covered" > this.patterns.splice(index, 0, logicItem);</span>
2120
+ <span class="cstat-no" title="statement not covered" > return logicItem;</span>
2121
+ }
2122
+ &nbsp;
2123
+ /**
2124
+ * 插入逻辑项
2125
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
2126
+ */
2127
+ insertLogicItemInPatternsAt(name: string, index: number): LogicItem;
2128
+ &nbsp;
2129
+ /**
2130
+ * 插入逻辑项
2131
+ * @param logicItemOptions 逻辑项参数
2132
+ */
2133
+ insertLogicItemInPatternsAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
2134
+ &nbsp;
2135
+ /**
2136
+ * 插入逻辑项
2137
+ * @param logicItem 已有的逻辑项实例
2138
+ */
2139
+ insertLogicItemInPatternsAt(logicItem: LogicItem, index: number): LogicItem;
2140
+ &nbsp;
2141
+ <span class="fstat-no" title="function not covered" > insertLogicItemInPatternsAt(</span>options: string | Partial&lt;LogicItem&gt; | LogicItem, index: number) {
2142
+ const node = <span class="cstat-no" title="statement not covered" >this._insertLogicItemInPatternsAt(options as any, index);</span>
2143
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2144
+ index,
2145
+ parentNode: this,
2146
+ parentKey: 'patterns',
2147
+ });
2148
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2149
+ }
2150
+ &nbsp;
2151
+ /**
2152
+ * 添加逻辑项
2153
+ * @internal
2154
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
2155
+ */
2156
+ _addLogicItemInPatterns(name?: string): LogicItem;
2157
+ &nbsp;
2158
+ /**
2159
+ * 添加逻辑项
2160
+ * @internal
2161
+ * @param logicItemOptions 逻辑项参数
2162
+ */
2163
+ _addLogicItemInPatterns(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
2164
+ &nbsp;
2165
+ /**
2166
+ * 添加逻辑项
2167
+ * @internal
2168
+ * @param logicItem 已有的逻辑项实例
2169
+ */
2170
+ _addLogicItemInPatterns(logicItem: LogicItem): LogicItem;
2171
+ &nbsp;
2172
+ <span class="fstat-no" title="function not covered" > _addLogicItemInPatterns(</span>options?: string | Partial&lt;LogicItem&gt; | LogicItem) {
2173
+ const index = <span class="cstat-no" title="statement not covered" >this.patterns.length;</span>
2174
+ <span class="cstat-no" title="statement not covered" > return this._insertLogicItemInPatternsAt(options as any, index);</span>
2175
+ }
2176
+ &nbsp;
2177
+ /**
2178
+ * 添加逻辑项
2179
+ * @internal
2180
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
2181
+ */
2182
+ addLogicItemInPatterns(name?: string): LogicItem;
2183
+ &nbsp;
2184
+ /**
2185
+ * 添加逻辑项
2186
+ * @param logicItemOptions 逻辑项参数
2187
+ */
2188
+ addLogicItemInPatterns(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
2189
+ &nbsp;
2190
+ /**
2191
+ * 添加逻辑项
2192
+ * @param logicItem 已有的逻辑项实例
2193
+ */
2194
+ addLogicItemInPatterns(logicItem: LogicItem): LogicItem;
2195
+ &nbsp;
2196
+ <span class="fstat-no" title="function not covered" > addLogicItemInPatterns(</span>options?: string | Partial&lt;LogicItem&gt; | LogicItem) {
2197
+ const node = <span class="cstat-no" title="statement not covered" >this._addLogicItemInPatterns(options as any);</span>
2198
+ const index = <span class="cstat-no" title="statement not covered" >this.patterns.indexOf(node);</span>
2199
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2200
+ index,
2201
+ parentNode: this,
2202
+ parentKey: 'patterns',
2203
+ });
2204
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2205
+ }
2206
+ &nbsp;
2207
+ /**
2208
+ * 插入逻辑项
2209
+ * @internal
2210
+ * @param logicItemOptions 逻辑项参数
2211
+ */
2212
+ _insertItemInBodyAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
2213
+ &nbsp;
2214
+ /**
2215
+ * 插入逻辑项
2216
+ * @internal
2217
+ * @param logicItem 已有的逻辑项实例
2218
+ */
2219
+ _insertItemInBodyAt(logicItem: LogicItem, index: number): LogicItem;
2220
+ &nbsp;
2221
+ <span class="fstat-no" title="function not covered" > _insertItemInBodyAt(</span>options: Partial&lt;LogicItem&gt; | LogicItem, index: number) {
2222
+ const logicItemOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
2223
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'body' };</span>
2224
+ let logicItem: LogicItem;
2225
+ <span class="cstat-no" title="statement not covered" > if (options instanceof LogicItem) {</span>
2226
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
2227
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
2228
+ <span class="cstat-no" title="statement not covered" > Object.assign(logicItem, relationOptions);</span>
2229
+ } else {
2230
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
2231
+ {
2232
+ ...logicItemOptions,
2233
+ ...options,
2234
+ },
2235
+ this,
2236
+ 'body',
2237
+ );
2238
+ }
2239
+ <span class="cstat-no" title="statement not covered" > this.body.splice(index, 0, logicItem);</span>
2240
+ <span class="cstat-no" title="statement not covered" > return logicItem;</span>
2241
+ }
2242
+ &nbsp;
2243
+ /**
2244
+ * 插入逻辑项
2245
+ * @param logicItemOptions 逻辑项参数
2246
+ */
2247
+ insertItemInBodyAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
2248
+ &nbsp;
2249
+ /**
2250
+ * 插入逻辑项
2251
+ * @param logicItem 已有的逻辑项实例
2252
+ */
2253
+ insertItemInBodyAt(logicItem: LogicItem, index: number): LogicItem;
2254
+ &nbsp;
2255
+ <span class="fstat-no" title="function not covered" > insertItemInBodyAt(</span>options: Partial&lt;LogicItem&gt; | LogicItem, index: number) {
2256
+ const node = <span class="cstat-no" title="statement not covered" >this._insertItemInBodyAt(options as any, index);</span>
2257
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2258
+ index,
2259
+ parentNode: this,
2260
+ parentKey: 'body',
2261
+ });
2262
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2263
+ }
2264
+ &nbsp;
2265
+ /**
2266
+ * 添加逻辑项
2267
+ * @internal
2268
+ * @param logicItemOptions 逻辑项参数
2269
+ */
2270
+ _addItemInBody(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
2271
+ &nbsp;
2272
+ /**
2273
+ * 添加逻辑项
2274
+ * @internal
2275
+ * @param logicItem 已有的逻辑项实例
2276
+ */
2277
+ _addItemInBody(logicItem: LogicItem): LogicItem;
2278
+ &nbsp;
2279
+ <span class="fstat-no" title="function not covered" > _addItemInBody(</span>options?: Partial&lt;LogicItem&gt; | LogicItem) {
2280
+ const index = <span class="cstat-no" title="statement not covered" >this.body.length;</span>
2281
+ <span class="cstat-no" title="statement not covered" > return this._insertItemInBodyAt(options as any, index);</span>
2282
+ }
2283
+ &nbsp;
2284
+ /**
2285
+ * 添加逻辑项
2286
+ * @param logicItemOptions 逻辑项参数
2287
+ */
2288
+ addItemInBody(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
2289
+ &nbsp;
2290
+ /**
2291
+ * 添加逻辑项
2292
+ * @param logicItem 已有的逻辑项实例
2293
+ */
2294
+ addItemInBody(logicItem: LogicItem): LogicItem;
2295
+ &nbsp;
2296
+ <span class="fstat-no" title="function not covered" > addItemInBody(</span>options?: Partial&lt;LogicItem&gt; | LogicItem) {
2297
+ const node = <span class="cstat-no" title="statement not covered" >this._addItemInBody(options as any);</span>
2298
+ const index = <span class="cstat-no" title="statement not covered" >this.body.indexOf(node);</span>
2299
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2300
+ index,
2301
+ parentNode: this,
2302
+ parentKey: 'body',
2303
+ });
2304
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2305
+ }
2306
+ &nbsp;
2307
+ <span class="fstat-no" title="function not covered" > getTypeAnnotationExistingNames(</span>excludedList: Array&lt;TypeAnnotation&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
2308
+ const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
2309
+ <span class="cstat-no" title="statement not covered" > return ((this.patterns as TypeAnnotation[]) || [])</span>
2310
+ .filter(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>
2311
+ .map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name)</span>;
2312
+ }
2313
+ &nbsp;
2314
+ <span class="fstat-no" title="function not covered" > getTypeAnnotationUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'typeAnnotation1')</span> {
2315
+ <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getTypeAnnotationExistingNames(), undefined, false);</span>
2316
+ }
2317
+ &nbsp;
2318
+ /**
2319
+ * 插入类型标注
2320
+ * @internal
2321
+ * @param name 类型标注名称,如果不填会自动生成一个唯一名称
2322
+ */
2323
+ _insertTypeAnnotationAt(name: string, index: number): TypeAnnotation;
2324
+ &nbsp;
2325
+ /**
2326
+ * 插入类型标注
2327
+ * @internal
2328
+ * @param typeAnnotationOptions 类型标注参数
2329
+ */
2330
+ _insertTypeAnnotationAt(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;, index: number): TypeAnnotation;
2331
+ &nbsp;
2332
+ /**
2333
+ * 插入类型标注
2334
+ * @internal
2335
+ * @param typeAnnotation 已有的类型标注实例
2336
+ */
2337
+ _insertTypeAnnotationAt(typeAnnotation: TypeAnnotation, index: number): TypeAnnotation;
2338
+ &nbsp;
2339
+ <span class="fstat-no" title="function not covered" > _insertTypeAnnotationAt(</span>options: string | Partial&lt;TypeAnnotation&gt; | TypeAnnotation, index: number) {
2340
+ const typeAnnotationOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
2341
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'patterns' };</span>
2342
+ let typeAnnotation: TypeAnnotation;
2343
+ <span class="cstat-no" title="statement not covered" > if (!options) {</span>
2344
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.from(</span>
2345
+ {
2346
+ ...typeAnnotationOptions,
2347
+ name: this.getTypeAnnotationUniqueName(),
2348
+ },
2349
+ this,
2350
+ 'patterns',
2351
+ );
2352
+ } else <span class="cstat-no" title="statement not covered" >if (typeof options === 'string') {</span>
2353
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.from(</span>
2354
+ {
2355
+ ...typeAnnotationOptions,
2356
+ name: options,
2357
+ },
2358
+ this,
2359
+ 'patterns',
2360
+ );
2361
+ } else <span class="cstat-no" title="statement not covered" >if (options instanceof TypeAnnotation) {</span>
2362
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
2363
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = options;</span>
2364
+ <span class="cstat-no" title="statement not covered" > Object.assign(typeAnnotation, relationOptions);</span>
2365
+ } else {
2366
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.from(</span>
2367
+ {
2368
+ ...typeAnnotationOptions,
2369
+ ...options,
2370
+ },
2371
+ this,
2372
+ 'patterns',
2373
+ );
2374
+ }
2375
+ <span class="cstat-no" title="statement not covered" > this.patterns.splice(index, 0, typeAnnotation);</span>
2376
+ <span class="cstat-no" title="statement not covered" > return typeAnnotation;</span>
2377
+ }
2378
+ &nbsp;
2379
+ /**
2380
+ * 插入类型标注
2381
+ * @param name 类型标注名称,如果不填会自动生成一个唯一名称
2382
+ */
2383
+ insertTypeAnnotationAt(name: string, index: number): TypeAnnotation;
2384
+ &nbsp;
2385
+ /**
2386
+ * 插入类型标注
2387
+ * @param typeAnnotationOptions 类型标注参数
2388
+ */
2389
+ insertTypeAnnotationAt(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;, index: number): TypeAnnotation;
2390
+ &nbsp;
2391
+ /**
2392
+ * 插入类型标注
2393
+ * @param typeAnnotation 已有的类型标注实例
2394
+ */
2395
+ insertTypeAnnotationAt(typeAnnotation: TypeAnnotation, index: number): TypeAnnotation;
2396
+ &nbsp;
2397
+ <span class="fstat-no" title="function not covered" > insertTypeAnnotationAt(</span>options: string | Partial&lt;TypeAnnotation&gt; | TypeAnnotation, index: number) {
2398
+ const node = <span class="cstat-no" title="statement not covered" >this._insertTypeAnnotationAt(options as any, index);</span>
2399
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2400
+ index,
2401
+ parentNode: this,
2402
+ parentKey: 'patterns',
2403
+ });
2404
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2405
+ }
2406
+ &nbsp;
2407
+ /**
2408
+ * 添加类型标注
2409
+ * @internal
2410
+ * @param name 类型标注名称,如果不填会自动生成一个唯一名称
2411
+ */
2412
+ _addTypeAnnotation(name?: string): TypeAnnotation;
2413
+ &nbsp;
2414
+ /**
2415
+ * 添加类型标注
2416
+ * @internal
2417
+ * @param typeAnnotationOptions 类型标注参数
2418
+ */
2419
+ _addTypeAnnotation(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;): TypeAnnotation;
2420
+ &nbsp;
2421
+ /**
2422
+ * 添加类型标注
2423
+ * @internal
2424
+ * @param typeAnnotation 已有的类型标注实例
2425
+ */
2426
+ _addTypeAnnotation(typeAnnotation: TypeAnnotation): TypeAnnotation;
2427
+ &nbsp;
2428
+ <span class="fstat-no" title="function not covered" > _addTypeAnnotation(</span>options?: string | Partial&lt;TypeAnnotation&gt; | TypeAnnotation) {
2429
+ const index = <span class="cstat-no" title="statement not covered" >this.patterns.length;</span>
2430
+ <span class="cstat-no" title="statement not covered" > return this._insertTypeAnnotationAt(options as any, index);</span>
2431
+ }
2432
+ &nbsp;
2433
+ /**
2434
+ * 添加类型标注
2435
+ * @internal
2436
+ * @param name 类型标注名称,如果不填会自动生成一个唯一名称
2437
+ */
2438
+ addTypeAnnotation(name?: string): TypeAnnotation;
2439
+ &nbsp;
2440
+ /**
2441
+ * 添加类型标注
2442
+ * @param typeAnnotationOptions 类型标注参数
2443
+ */
2444
+ addTypeAnnotation(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;): TypeAnnotation;
2445
+ &nbsp;
2446
+ /**
2447
+ * 添加类型标注
2448
+ * @param typeAnnotation 已有的类型标注实例
2449
+ */
2450
+ addTypeAnnotation(typeAnnotation: TypeAnnotation): TypeAnnotation;
2451
+ &nbsp;
2452
+ <span class="fstat-no" title="function not covered" > addTypeAnnotation(</span>options?: string | Partial&lt;TypeAnnotation&gt; | TypeAnnotation) {
2453
+ const node = <span class="cstat-no" title="statement not covered" >this._addTypeAnnotation(options as any);</span>
2454
+ const index = <span class="cstat-no" title="statement not covered" >this.patterns.indexOf(node);</span>
2455
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2456
+ index,
2457
+ parentNode: this,
2458
+ parentKey: 'patterns',
2459
+ });
2460
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2461
+ }
2462
+ &nbsp;
2463
+ /**
2464
+ * 删除逻辑项
2465
+ * @param name 逻辑项名称
2466
+ */
2467
+ removeLogicItemInPatterns(name: string): void;
2468
+ &nbsp;
2469
+ /**
2470
+ * 删除逻辑项
2471
+ * @param logicItem 已有的逻辑项实例
2472
+ */
2473
+ removeLogicItemInPatterns(logicItem: LogicItem): void;
2474
+ &nbsp;
2475
+ <span class="fstat-no" title="function not covered" > removeLogicItemInPatterns(</span>options: string | LogicItem) {
2476
+ let logicItem: LogicItem;
2477
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
2478
+ <span class="cstat-no" title="statement not covered" > logicItem = (this.patterns as LogicItem[]).find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === options)</span>;</span>
2479
+ <span class="cstat-no" title="statement not covered" > if (!logicItem) {</span>
2480
+ <span class="cstat-no" title="statement not covered" > throw new Error(`找不到逻辑项 ${ options}`);</span>
2481
+ }
2482
+ } else {
2483
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
2484
+ }
2485
+ <span class="cstat-no" title="statement not covered" > return logicItem.delete();</span>
2486
+ }
2487
+ &nbsp;
2488
+ /**
2489
+ * 删除逻辑项
2490
+ * @param logicItem 已有的逻辑项实例
2491
+ */
2492
+ removeItemInBody(logicItem: LogicItem): void;
2493
+ &nbsp;
2494
+ <span class="fstat-no" title="function not covered" > removeItemInBody(</span>options: LogicItem) {
2495
+ const logicItem: LogicItem = <span class="cstat-no" title="statement not covered" >options;</span>
2496
+ <span class="cstat-no" title="statement not covered" > return logicItem.delete();</span>
2497
+ }
2498
+ &nbsp;
2499
+ <span class="fstat-no" title="function not covered" > __removeLogicItem(</span>logicItem: LogicItem) {
2500
+ const {parentKey} = <span class="cstat-no" title="statement not covered" >logicItem;</span>
2501
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
2502
+ parentNode: this,
2503
+ parentKey,
2504
+ index: -1,
2505
+ object: null,
2506
+ oldObject: logicItem,
2507
+ };
2508
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
2509
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
2510
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((this as any)[parentKey])) {</span>
2511
+ const index = (<span class="cstat-no" title="statement not covered" >this as any)[parentKey].indexOf(logicItem);</span>
2512
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
2513
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
2514
+ } else <span class="cstat-no" title="statement not covered" >if ((this as any)[parentKey] === logicItem) {</span>
2515
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
2516
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
2517
+ }
2518
+ }
2519
+ <span class="cstat-no" title="statement not covered" > return params;</span>
2520
+ }
2521
+ &nbsp;
2522
+ /**
2523
+ * 删除类型标注
2524
+ * @param name 类型标注名称
2525
+ */
2526
+ removeTypeAnnotation(name: string): void;
2527
+ &nbsp;
2528
+ /**
2529
+ * 删除类型标注
2530
+ * @param typeAnnotation 已有的类型标注实例
2531
+ */
2532
+ removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
2533
+ &nbsp;
2534
+ <span class="fstat-no" title="function not covered" > removeTypeAnnotation(</span>options: string | TypeAnnotation) {
2535
+ let typeAnnotation: TypeAnnotation;
2536
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
2537
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = (this.patterns as TypeAnnotation[]).find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === options)</span>;</span>
2538
+ <span class="cstat-no" title="statement not covered" > if (!typeAnnotation) {</span>
2539
+ <span class="cstat-no" title="statement not covered" > throw new Error(`找不到类型标注 ${ options}`);</span>
2540
+ }
2541
+ } else {
2542
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = options;</span>
2543
+ }
2544
+ <span class="cstat-no" title="statement not covered" > return typeAnnotation.delete();</span>
2545
+ }
2546
+ &nbsp;
2547
+ <span class="fstat-no" title="function not covered" > __removeTypeAnnotation(</span>typeAnnotation: TypeAnnotation) {
2548
+ const {parentKey} = <span class="cstat-no" title="statement not covered" >typeAnnotation;</span>
2549
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
2550
+ parentNode: this,
2551
+ parentKey,
2552
+ index: -1,
2553
+ object: null,
2554
+ oldObject: typeAnnotation,
2555
+ };
2556
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
2557
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
2558
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((this as any)[parentKey])) {</span>
2559
+ const index = (<span class="cstat-no" title="statement not covered" >this as any)[parentKey].indexOf(typeAnnotation);</span>
2560
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
2561
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
2562
+ } else <span class="cstat-no" title="statement not covered" >if ((this as any)[parentKey] === typeAnnotation) {</span>
2563
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
2564
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
2565
+ }
2566
+ }
2567
+ <span class="cstat-no" title="statement not covered" > return params;</span>
2568
+ }
2569
+ &nbsp;
2570
+ //================================================================================
2571
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
2572
+ // 自动生成的代码已结束。下面可以手动编写。
2573
+ //================================================================================
2574
+ &nbsp;
2575
+ // 是否处于禁用状态
2576
+ <span class="fstat-no" title="function not covered" > get i</span>sDisabled() {
2577
+ const matchExpression = <span class="cstat-no" title="statement not covered" >this.parentNode as Match;</span>
2578
+ const cases = <span class="cstat-no" title="statement not covered" >matchExpression?.cases;</span>
2579
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(cases) &amp;&amp; cases.length &gt; 1) {</span>
2580
+ const index = <span class="cstat-no" title="statement not covered" >cases.indexOf(this);</span>
2581
+ // 是最后一项
2582
+ <span class="cstat-no" title="statement not covered" > if (index === cases.length - 1) {</span>
2583
+ const enumerableItems = <span class="cstat-no" title="statement not covered" >matchExpression?.enumerableItems;</span>
2584
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(enumerableItems)) {</span>
2585
+ const map: any = <span class="cstat-no" title="statement not covered" >{};</span>
2586
+ <span class="cstat-no" title="statement not covered" > cases.forEach(<span class="fstat-no" title="function not covered" >(c</span>aseItem) =&gt; {</span>
2587
+ const { patterns } = <span class="cstat-no" title="statement not covered" >caseItem || {};</span>
2588
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(patterns)) {</span>
2589
+ <span class="cstat-no" title="statement not covered" > patterns.forEach(<span class="fstat-no" title="function not covered" >(p</span>attern) =&gt; {</span>
2590
+ <span class="cstat-no" title="statement not covered" > if (pattern instanceof TypeAnnotation) {</span>
2591
+ const patternTypeKey = <span class="cstat-no" title="statement not covered" >pattern.typeKey;</span>
2592
+ <span class="cstat-no" title="statement not covered" > map[patternTypeKey] = true;</span>
2593
+ } else <span class="cstat-no" title="statement not covered" >if (pattern instanceof MemberExpression || pattern instanceof BooleanLiteral) {</span>
2594
+ const patternValue = <span class="cstat-no" title="statement not covered" >pattern.getValue();</span>
2595
+ <span class="cstat-no" title="statement not covered" > map[patternValue] = true;</span>
2596
+ }
2597
+ });
2598
+ }
2599
+ });
2600
+ const enumerableKeys = <span class="cstat-no" title="statement not covered" >Object.keys(map);</span>
2601
+ <span class="cstat-no" title="statement not covered" > if (enumerableKeys.length === enumerableItems.length) {</span>
2602
+ <span class="cstat-no" title="statement not covered" > return true;</span>
2603
+ }
2604
+ }
2605
+ }
2606
+ }
2607
+ <span class="cstat-no" title="statement not covered" > return false;</span>
2608
+ }
2609
+ &nbsp;
2610
+ // 槽位类型是否错误
2611
+ <span class="fstat-no" title="function not covered" > get i</span>sSlotTypeError() {
2612
+ const match: any = <span class="cstat-no" title="statement not covered" >this.parentNode;</span>
2613
+ const expression = <span class="cstat-no" title="statement not covered" >match?.expression;</span>
2614
+ const isMatchedTypeEnumable = <span class="cstat-no" title="statement not covered" >match?.isEnumerable;</span>
2615
+ <span class="cstat-no" title="statement not covered" > if (expression &amp;&amp; isMatchedTypeEnumable !== this.isMatchedTypeEnumable) {</span>
2616
+ <span class="cstat-no" title="statement not covered" > return true;</span>
2617
+ }
2618
+ <span class="cstat-no" title="statement not covered" > return false;</span>
2619
+ }
2620
+ &nbsp;
2621
+ <span class="fstat-no" title="function not covered" > isTypeMatching(</span>) {
2622
+ <span class="cstat-no" title="statement not covered" > return (this.parentNode as Match).isTypeMatching();</span>
2623
+ }
2624
+ &nbsp;
2625
+ <span class="fstat-no" title="function not covered" > toVue(</span>options?: ElementToVueOptions): string {
2626
+ <span class="cstat-no" title="statement not covered" > if (options?.finalCode === false) {</span>
2627
+ let code = <span class="cstat-no" title="statement not covered" >'';</span>
2628
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.patterns)) {</span>
2629
+ <span class="cstat-no" title="statement not covered" > this.patterns.forEach(<span class="fstat-no" title="function not covered" >(p</span>attern, index) =&gt; {</span>
2630
+ <span class="cstat-no" title="statement not covered" > code += pattern?.toVue?.();</span>
2631
+ <span class="cstat-no" title="statement not covered" > if (index !== this.patterns.length - 1) {</span>
2632
+ <span class="cstat-no" title="statement not covered" > code += ' 或 ';</span>
2633
+ }
2634
+ });
2635
+ }
2636
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.body)) {</span>
2637
+ <span class="cstat-no" title="statement not covered" > code += ` =&gt; `;</span>
2638
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {</span>
2639
+ <span class="cstat-no" title="statement not covered" > if (bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2640
+ <span class="cstat-no" title="statement not covered" > code += ` ${logicItem?.toVue?.()} `;</span>
2641
+ }
2642
+ });
2643
+ <span class="cstat-no" title="statement not covered" > code += `; `;</span>
2644
+ }
2645
+ <span class="cstat-no" title="statement not covered" > return code;</span>
2646
+ }
2647
+ }
2648
+ &nbsp;
2649
+ <span class="fstat-no" title="function not covered" > toUI(</span>state?: TranslatorState): string {
2650
+ let code = <span class="cstat-no" title="statement not covered" >'';</span>
2651
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.patterns)) {</span>
2652
+ <span class="cstat-no" title="statement not covered" > this.patterns.forEach(<span class="fstat-no" title="function not covered" >(p</span>attern, index) =&gt; {</span>
2653
+ <span class="cstat-no" title="statement not covered" > code += pattern.toUI?.();</span>
2654
+ <span class="cstat-no" title="statement not covered" > if (index !== this.patterns.length - 1) {</span>
2655
+ <span class="cstat-no" title="statement not covered" > code += ' 或 ';</span>
2656
+ }
2657
+ });
2658
+ }
2659
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.body)) {</span>
2660
+ <span class="cstat-no" title="statement not covered" > code += ` =&gt; `;</span>
2661
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {</span>
2662
+ <span class="cstat-no" title="statement not covered" > if (bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2663
+ <span class="cstat-no" title="statement not covered" > code += ` ${logicItem.toUI?.()} `;</span>
2664
+ }
2665
+ });
2666
+ <span class="cstat-no" title="statement not covered" > code += `; `;</span>
2667
+ }
2668
+ <span class="cstat-no" title="statement not covered" > return code;</span>
2669
+ }
2670
+ &nbsp;
2671
+ toJS(expression: LogicItem, index?: number, length?: number): string {
2672
+ let code = '';
2673
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(this.patterns)) {
2674
+ const patternStrArr = this.patterns.map((pattern) =&gt; {
2675
+ let patternStr = '';
2676
+ if (pattern instanceof TypeAnnotation) {
2677
+ patternStr += `this.$isInstanceOf(${expression.toJS?.()}, '${pattern.sortedTypeKey}')`;
2678
+ } else {
2679
+ patternStr += `this.$global.isEqual(${expression.toJS?.()}, ${pattern.toJS?.()})`;
2680
+ }
2681
+ return patternStr;
2682
+ });
2683
+ const patternStr = patternStrArr.join(' || ');
2684
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (length &gt; 1) {
2685
+ if (index === 0) {
2686
+ code = `if (${patternStr}) {\n`;
2687
+ } else if (index !== length - 1) {
2688
+ code = `else if (${patternStr}) {\n`;
2689
+ } else {
2690
+ code += 'else {\n';
2691
+ }
2692
+ }
2693
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(this.body)) {
2694
+ this.body.forEach((logicItem, bodyIndex) =&gt; {
2695
+ if (this.parentNode.isExpression &amp;&amp; bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Abort') {
2696
+ code += `return `;
2697
+ }
2698
+ code += `${logicItem.toJS()}\n`;
2699
+ });
2700
+ }
2701
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (length &gt; 1) {
2702
+ code += '}\n';
2703
+ }
2704
+ }
2705
+ return code;
2706
+ }
2707
+ &nbsp;
2708
+ @withSourceMap()
2709
+ toEmbeddedTS(state?: TranslatorState, index?: number, parentCode?: string): string {
2710
+ let code = '\n';
2711
+ &nbsp;
2712
+ const parentNode = this.parentNode as Match;
2713
+ const { length } = parentNode.cases;
2714
+ &nbsp;
2715
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (length &gt; 1) {
2716
+ if (index !== length - 1) {
2717
+ code += indent(state?.tabSize || 0);
2718
+ code += 'if (';
2719
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(this.patterns) &amp;&amp; this.patterns.length) {
2720
+ this.patterns.forEach((pattern, index) =&gt; {
2721
+ // nasl.code.isUnionType&lt;typeof ccc, List&lt;Integer&gt; | List&lt;Boolean&gt;&gt;
2722
+ if (pattern instanceof TypeAnnotation) {
2723
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (index === 0) {
2724
+ code += `nasl.core.isUnionType&lt;typeof `;
2725
+ code += `${parentCode},`;
2726
+ code += pattern.toEmbeddedTS(shiftState(state, code));
2727
+ } else {
2728
+ <span class="cstat-no" title="statement not covered" > code += '|';</span>
2729
+ <span class="cstat-no" title="statement not covered" > code += pattern.toEmbeddedTS(shiftState(state, code));</span>
2730
+ }
2731
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (index === this.patterns.length - 1) {
2732
+ code += '&gt;';
2733
+ code += `(${parentCode})`;
2734
+ }
2735
+ } else {
2736
+ if (index !== 0) {
2737
+ code += ' || ';
2738
+ }
2739
+ code += parentCode;
2740
+ code += ' === ';
2741
+ code += pattern.toEmbeddedTS(
2742
+ shiftState(state, code, {
2743
+ tabSize: state?.tabSize || 0,
2744
+ }),
2745
+ );
2746
+ }
2747
+ });
2748
+ } else {
2749
+ <span class="cstat-no" title="statement not covered" > code += '__IDENTIFIER__';</span>
2750
+ }
2751
+ code += ') {\n';
2752
+ &nbsp;
2753
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(this.body)) {
2754
+ this.body.forEach((logicItem, bodyIndex) =&gt; {
2755
+ if (parentNode.isExpression &amp;&amp; bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {
2756
+ code += indent(state?.tabSize || 0);
2757
+ code += `return `;
2758
+ }
2759
+ code += `${logicItem.toEmbeddedTS(
2760
+ shiftState(state, code, {
2761
+ tabSize: state?.tabSize || 0,
2762
+ }),
2763
+ )}\n`;
2764
+ });
2765
+ }
2766
+ code += `${indent(state?.tabSize || 0)}}\n`;
2767
+ } else {
2768
+ code += indent(state?.tabSize || 0);
2769
+ code += 'else {\n';
2770
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(this.body)) {
2771
+ this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {
2772
+ <span class="cstat-no" title="statement not covered" > if (parentNode.isExpression &amp;&amp; bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2773
+ <span class="cstat-no" title="statement not covered" > code += indent(state?.tabSize || 0);</span>
2774
+ <span class="cstat-no" title="statement not covered" > code += `return `;</span>
2775
+ }
2776
+ <span class="cstat-no" title="statement not covered" > code += `${logicItem.toEmbeddedTS(</span>
2777
+ shiftState(state, code, {
2778
+ tabSize: state?.tabSize || 0,
2779
+ }),
2780
+ )}\n`;
2781
+ });
2782
+ }
2783
+ code += `${indent(state?.tabSize || 0)}}\n`;
2784
+ }
2785
+ } else {
2786
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.body)) {</span>
2787
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {</span>
2788
+ <span class="cstat-no" title="statement not covered" > if (parentNode.isExpression &amp;&amp; bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2789
+ <span class="cstat-no" title="statement not covered" > code += indent(state?.tabSize || 0);</span>
2790
+ <span class="cstat-no" title="statement not covered" > code += `return `;</span>
2791
+ }
2792
+ <span class="cstat-no" title="statement not covered" > code += `${logicItem.toEmbeddedTS(</span>
2793
+ shiftState(state, code, {
2794
+ tabSize: state?.tabSize || 0,
2795
+ }),
2796
+ )}\n`;
2797
+ });
2798
+ }
2799
+ <span class="cstat-no" title="statement not covered" > code += '\n';</span>
2800
+ }
2801
+ &nbsp;
2802
+ return code;
2803
+ }
2804
+ &nbsp;
2805
+ &nbsp;
2806
+ @withSourceMap()
2807
+ <span class="fstat-no" title="function not covered" > toNaturalTS(</span>state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState(),</span> index?: number, parentCode?: string): string {
2808
+ let code = <span class="cstat-no" title="statement not covered" >'\n';</span>
2809
+ &nbsp;
2810
+ const parentNode = (<span class="cstat-no" title="statement not covered" >this.parentNode as Match);</span>
2811
+ const length = <span class="cstat-no" title="statement not covered" >parentNode?.cases?.length;</span>
2812
+ &nbsp;
2813
+ <span class="cstat-no" title="statement not covered" > if (length &gt; 1) {</span>
2814
+ <span class="cstat-no" title="statement not covered" > if (index !== length - 1) {</span>
2815
+ <span class="cstat-no" title="statement not covered" > code += indent(state.tabSize);</span>
2816
+ <span class="cstat-no" title="statement not covered" > code += index === 0 ? '' : 'else ';</span>
2817
+ <span class="cstat-no" title="statement not covered" > code += 'if (';</span>
2818
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.patterns) &amp;&amp; this.patterns.length) {</span>
2819
+ <span class="cstat-no" title="statement not covered" > this.patterns.forEach(<span class="fstat-no" title="function not covered" >(p</span>attern, index) =&gt; {</span>
2820
+ // nasl.code.isUnionType&lt;typeof ccc, List&lt;Integer&gt; | List&lt;Boolean&gt;&gt;
2821
+ <span class="cstat-no" title="statement not covered" > if (pattern instanceof TypeAnnotation) {</span>
2822
+ <span class="cstat-no" title="statement not covered" > if (index === 0) {</span>
2823
+ <span class="cstat-no" title="statement not covered" > code += `nasl.core.isUnionType&lt;typeof `;</span>
2824
+ <span class="cstat-no" title="statement not covered" > code += `${parentCode},`;</span>
2825
+ <span class="cstat-no" title="statement not covered" > code += pattern.toNaturalTS(shiftState(state, code, { inline: true }));</span>
2826
+ } else {
2827
+ <span class="cstat-no" title="statement not covered" > code += '|';</span>
2828
+ <span class="cstat-no" title="statement not covered" > code += pattern.toNaturalTS(shiftState(state, code, { inline: true }));</span>
2829
+ }
2830
+ <span class="cstat-no" title="statement not covered" > if (index === this.patterns.length - 1) {</span>
2831
+ <span class="cstat-no" title="statement not covered" > code += '&gt;';</span>
2832
+ <span class="cstat-no" title="statement not covered" > code += `(${parentCode})`;</span>
2833
+ }
2834
+ } else {
2835
+ <span class="cstat-no" title="statement not covered" > if (index !== 0) {</span>
2836
+ <span class="cstat-no" title="statement not covered" > code += ' || ';</span>
2837
+ }
2838
+ <span class="cstat-no" title="statement not covered" > code += parentCode;</span>
2839
+ <span class="cstat-no" title="statement not covered" > code += ' === ';</span>
2840
+ <span class="cstat-no" title="statement not covered" > code += pattern.toNaturalTS(shiftState(state, code, { inline: true }));</span>
2841
+ }
2842
+ });
2843
+ } else {
2844
+ <span class="cstat-no" title="statement not covered" > code += '__IDENTIFIER__';</span>
2845
+ }
2846
+ <span class="cstat-no" title="statement not covered" > code += ') {\n';</span>
2847
+ &nbsp;
2848
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.body)) {</span>
2849
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {</span>
2850
+ <span class="cstat-no" title="statement not covered" > if (bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2851
+ <span class="cstat-no" title="statement not covered" > code += indent(state.tabSize);</span>
2852
+ <span class="cstat-no" title="statement not covered" > code += `return `;</span>
2853
+ }
2854
+ <span class="cstat-no" title="statement not covered" > code</span>
2855
+ += `${logicItem.toNaturalTS(shiftState(state, code, {
2856
+ tabSize: state.tabSize + 1,
2857
+ }))}\n`;
2858
+ });
2859
+ <span class="cstat-no" title="statement not covered" > if (state.focusedNodePath === `${this.nodePath}.body[${this.body.length}]`)</span>
2860
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}// 当前位置\n`;</span>
2861
+ }
2862
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize)}}`;</span>
2863
+ } else {
2864
+ <span class="cstat-no" title="statement not covered" > code += indent(state.tabSize);</span>
2865
+ <span class="cstat-no" title="statement not covered" > code += 'else {\n';</span>
2866
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {</span>
2867
+ <span class="cstat-no" title="statement not covered" > if (bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2868
+ <span class="cstat-no" title="statement not covered" > code += indent(state.tabSize);</span>
2869
+ <span class="cstat-no" title="statement not covered" > code += `return `;</span>
2870
+ }
2871
+ <span class="cstat-no" title="statement not covered" > code += `${logicItem.toNaturalTS(shiftState(state, code, {</span>
2872
+ tabSize: state.tabSize + 1,
2873
+ }))}\n`;
2874
+ });
2875
+ <span class="cstat-no" title="statement not covered" > if (state.focusedNodePath === `${this.nodePath}.body[${this.body.length}]`)</span>
2876
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}// 当前位置\n`;</span>
2877
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize)}}\n`;</span>
2878
+ }
2879
+ } else {
2880
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {</span>
2881
+ <span class="cstat-no" title="statement not covered" > if (bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2882
+ <span class="cstat-no" title="statement not covered" > code += indent(state.tabSize);</span>
2883
+ <span class="cstat-no" title="statement not covered" > code += `return `;</span>
2884
+ }
2885
+ <span class="cstat-no" title="statement not covered" > code</span>
2886
+ += `${logicItem.toNaturalTS(shiftState(state, code, {
2887
+ tabSize: state.tabSize,
2888
+ }))}\n`;
2889
+ });
2890
+ <span class="cstat-no" title="statement not covered" > if (state.focusedNodePath === `${this.nodePath}.body[${this.body.length}]`)</span>
2891
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}// 当前位置\n`;</span>
2892
+ <span class="cstat-no" title="statement not covered" > code += '\n';</span>
2893
+ }
2894
+ &nbsp;
2895
+ <span class="cstat-no" title="statement not covered" > return code;</span>
2896
+ }
2897
+ &nbsp;
2898
+ //= ===============================================================================
2899
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
2900
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
2901
+ //================================================================================
2902
+ }
2903
+ &nbsp;
2904
+ export default MatchCase;
2905
+ //================================================================================
2906
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
2907
+ // 自动生成的代码已结束。下面可以手动编写。
2908
+ //================================================================================
2909
+ // @ts-check
2910
+ &nbsp;</pre></td></tr></table></pre>
2911
+
2912
+ <div class='push'></div><!-- for sticky footer -->
2913
+ </div><!-- /wrapper -->
2914
+ <div class='footer quiet pad2 space-top1 center small'>
2915
+ Code coverage generated by
2916
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2917
+ at 2023-10-18T11:36:07.885Z
2918
+ </div>
2919
+ <script src="../../prettify.js"></script>
2920
+ <script>
2921
+ window.onload = function () {
2922
+ prettyPrint();
2923
+ };
2924
+ </script>
2925
+ <script src="../../sorter.js"></script>
2926
+ <script src="../../block-navigation.js"></script>
2927
+ </body>
2928
+ </html>
2929
+