@lcap/nasl 3.3.3-beta.7 → 3.3.3-beta.9

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 (513) hide show
  1. package/.nyc_output/559608df-ab15-4969-acf0-5239dacd6111.json +1 -0
  2. package/.nyc_output/processinfo/559608df-ab15-4969-acf0-5239dacd6111.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 +476 -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 +718 -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 +1282 -0
  19. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +196 -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 +4303 -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 +206 -0
  40. package/coverage/src/common/index.ts.html +97 -0
  41. package/coverage/src/common/utils.ts.html +136 -0
  42. package/coverage/src/concepts/Abort__.ts.html +358 -0
  43. package/coverage/src/concepts/AbstractInterface__.ts.html +280 -0
  44. package/coverage/src/concepts/Anchor__.ts.html +703 -0
  45. package/coverage/src/concepts/AnonymousFunction__.ts.html +2122 -0
  46. package/coverage/src/concepts/App__.ts.html +14305 -0
  47. package/coverage/src/concepts/Argument__.ts.html +1033 -0
  48. package/coverage/src/concepts/Assignee__.ts.html +2326 -0
  49. package/coverage/src/concepts/AssignmentLine__.ts.html +442 -0
  50. package/coverage/src/concepts/Assignment__.ts.html +1201 -0
  51. package/coverage/src/concepts/Attribute__.ts.html +760 -0
  52. package/coverage/src/concepts/AuthInterface__.ts.html +370 -0
  53. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +1948 -0
  54. package/coverage/src/concepts/AuthLogic__.ts.html +793 -0
  55. package/coverage/src/concepts/BackendVariable__.ts.html +1567 -0
  56. package/coverage/src/concepts/Backend__.ts.html +1243 -0
  57. package/coverage/src/concepts/BatchAssignment__.ts.html +3406 -0
  58. package/coverage/src/concepts/BinaryExpression__.ts.html +1519 -0
  59. package/coverage/src/concepts/BindAttribute__.ts.html +3955 -0
  60. package/coverage/src/concepts/BindDirective__.ts.html +2026 -0
  61. package/coverage/src/concepts/BindEvent__.ts.html +3502 -0
  62. package/coverage/src/concepts/BindStyle__.ts.html +1669 -0
  63. package/coverage/src/concepts/Block__.ts.html +910 -0
  64. package/coverage/src/concepts/BooleanLiteral__.ts.html +445 -0
  65. package/coverage/src/concepts/CallAuthInterface__.ts.html +1672 -0
  66. package/coverage/src/concepts/CallConnector__.ts.html +949 -0
  67. package/coverage/src/concepts/CallFunction__.ts.html +2290 -0
  68. package/coverage/src/concepts/CallInterface__.ts.html +2752 -0
  69. package/coverage/src/concepts/CallLogic__.ts.html +4924 -0
  70. package/coverage/src/concepts/CallQueryComponent__.ts.html +5341 -0
  71. package/coverage/src/concepts/Comment__.ts.html +427 -0
  72. package/coverage/src/concepts/CompletionProperty__.ts.html +952 -0
  73. package/coverage/src/concepts/ConfigGroup__.ts.html +1132 -0
  74. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +427 -0
  75. package/coverage/src/concepts/ConfigProperty__.ts.html +1405 -0
  76. package/coverage/src/concepts/Configuration__.ts.html +1054 -0
  77. package/coverage/src/concepts/Connection__.ts.html +1435 -0
  78. package/coverage/src/concepts/ConnectorTrigger__.ts.html +598 -0
  79. package/coverage/src/concepts/Connector__.ts.html +4378 -0
  80. package/coverage/src/concepts/Constant__.ts.html +973 -0
  81. package/coverage/src/concepts/CountersignPolicy__.ts.html +316 -0
  82. package/coverage/src/concepts/DataSource__.ts.html +1825 -0
  83. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +334 -0
  84. package/coverage/src/concepts/DefaultValue__.ts.html +1000 -0
  85. package/coverage/src/concepts/Destination__.ts.html +2773 -0
  86. package/coverage/src/concepts/End__.ts.html +463 -0
  87. package/coverage/src/concepts/EntityIndex__.ts.html +817 -0
  88. package/coverage/src/concepts/EntityProperty__.ts.html +2776 -0
  89. package/coverage/src/concepts/Entity__.ts.html +3028 -0
  90. package/coverage/src/concepts/EnumItem__.ts.html +580 -0
  91. package/coverage/src/concepts/Enum__.ts.html +1291 -0
  92. package/coverage/src/concepts/Event__.ts.html +1111 -0
  93. package/coverage/src/concepts/ExternalDestination__.ts.html +1087 -0
  94. package/coverage/src/concepts/ForEachStatement__.ts.html +2005 -0
  95. package/coverage/src/concepts/FrontendLibrary__.ts.html +1762 -0
  96. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  97. package/coverage/src/concepts/Frontend__.ts.html +4117 -0
  98. package/coverage/src/concepts/Function__.ts.html +3751 -0
  99. package/coverage/src/concepts/I18nInfo__.ts.html +436 -0
  100. package/coverage/src/concepts/Identifier__.ts.html +1087 -0
  101. package/coverage/src/concepts/IfStatement__.ts.html +1657 -0
  102. package/coverage/src/concepts/ImportedInterface__.ts.html +268 -0
  103. package/coverage/src/concepts/Integration__.ts.html +1279 -0
  104. package/coverage/src/concepts/InterfaceParam__.ts.html +1144 -0
  105. package/coverage/src/concepts/Interface__.ts.html +3496 -0
  106. package/coverage/src/concepts/JSBlock__.ts.html +451 -0
  107. package/coverage/src/concepts/JavaLogic__.ts.html +493 -0
  108. package/coverage/src/concepts/LogicItem__.ts.html +1201 -0
  109. package/coverage/src/concepts/Logic__.ts.html +7495 -0
  110. package/coverage/src/concepts/MatchCase__.ts.html +3013 -0
  111. package/coverage/src/concepts/Match__.ts.html +2527 -0
  112. package/coverage/src/concepts/MemberExpression__.ts.html +1783 -0
  113. package/coverage/src/concepts/MetadataType__.ts.html +2053 -0
  114. package/coverage/src/concepts/MicroApp__.ts.html +439 -0
  115. package/coverage/src/concepts/Module__.ts.html +9874 -0
  116. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1072 -0
  117. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1045 -0
  118. package/coverage/src/concepts/MultiApprovalPolicy__.ts.html +292 -0
  119. package/coverage/src/concepts/Namespace__.ts.html +8209 -0
  120. package/coverage/src/concepts/NewComposite__.ts.html +4909 -0
  121. package/coverage/src/concepts/NewList__.ts.html +1756 -0
  122. package/coverage/src/concepts/NewMap__.ts.html +2431 -0
  123. package/coverage/src/concepts/New__.ts.html +319 -0
  124. package/coverage/src/concepts/NullLiteral__.ts.html +376 -0
  125. package/coverage/src/concepts/NumericLiteral__.ts.html +730 -0
  126. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1267 -0
  127. package/coverage/src/concepts/OverriddenLogic__.ts.html +6940 -0
  128. package/coverage/src/concepts/Param__.ts.html +1801 -0
  129. package/coverage/src/concepts/Point__.ts.html +334 -0
  130. package/coverage/src/concepts/ProcessComponent__.ts.html +1717 -0
  131. package/coverage/src/concepts/ProcessElement__.ts.html +6292 -0
  132. package/coverage/src/concepts/ProcessOutcome__.ts.html +424 -0
  133. package/coverage/src/concepts/ProcessOutcomes__.ts.html +415 -0
  134. package/coverage/src/concepts/Process__.ts.html +4915 -0
  135. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +619 -0
  136. package/coverage/src/concepts/QueryFieldExpression__.ts.html +613 -0
  137. package/coverage/src/concepts/QueryFromExpression__.ts.html +970 -0
  138. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +610 -0
  139. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1627 -0
  140. package/coverage/src/concepts/QueryLimitExpression__.ts.html +694 -0
  141. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +739 -0
  142. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1741 -0
  143. package/coverage/src/concepts/Rect__.ts.html +376 -0
  144. package/coverage/src/concepts/Return__.ts.html +1393 -0
  145. package/coverage/src/concepts/Role__.ts.html +631 -0
  146. package/coverage/src/concepts/SelectMembers__.ts.html +1303 -0
  147. package/coverage/src/concepts/SequentialPolicy__.ts.html +259 -0
  148. package/coverage/src/concepts/Slot__.ts.html +655 -0
  149. package/coverage/src/concepts/SqlQueryComponent__.ts.html +1042 -0
  150. package/coverage/src/concepts/Start__.ts.html +331 -0
  151. package/coverage/src/concepts/StaticString__.ts.html +403 -0
  152. package/coverage/src/concepts/StringInterpolation__.ts.html +1210 -0
  153. package/coverage/src/concepts/StringLiteral__.ts.html +535 -0
  154. package/coverage/src/concepts/StructureProperty__.ts.html +1189 -0
  155. package/coverage/src/concepts/Structure__.ts.html +2176 -0
  156. package/coverage/src/concepts/SwitchCase__.ts.html +1225 -0
  157. package/coverage/src/concepts/SwitchStatement__.ts.html +934 -0
  158. package/coverage/src/concepts/Theme__.ts.html +361 -0
  159. package/coverage/src/concepts/Transactional__.ts.html +631 -0
  160. package/coverage/src/concepts/TriggerEvent__.ts.html +1039 -0
  161. package/coverage/src/concepts/TriggerLauncher__.ts.html +808 -0
  162. package/coverage/src/concepts/TypeAnnotation__.ts.html +3949 -0
  163. package/coverage/src/concepts/TypeParam__.ts.html +349 -0
  164. package/coverage/src/concepts/UnaryExpression__.ts.html +775 -0
  165. package/coverage/src/concepts/Unparsed__.ts.html +418 -0
  166. package/coverage/src/concepts/UseComponent__.ts.html +334 -0
  167. package/coverage/src/concepts/ValidationRule__.ts.html +1879 -0
  168. package/coverage/src/concepts/Variable__.ts.html +1570 -0
  169. package/coverage/src/concepts/ViewBlock__.ts.html +355 -0
  170. package/coverage/src/concepts/ViewComponent__.ts.html +4255 -0
  171. package/coverage/src/concepts/ViewElement__.ts.html +9013 -0
  172. package/coverage/src/concepts/View__.ts.html +8932 -0
  173. package/coverage/src/concepts/WhileStatement__.ts.html +1126 -0
  174. package/coverage/src/concepts/basics/constants.ts.html +88 -0
  175. package/coverage/src/concepts/basics/index.html +116 -0
  176. package/coverage/src/concepts/basics/stdlib/index.html +356 -0
  177. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  178. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  179. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  180. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  181. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  182. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  183. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  184. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  185. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  186. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  187. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  188. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  189. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  190. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6844 -0
  191. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  192. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  193. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
  194. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  195. package/coverage/src/concepts/basics/types/index.html +131 -0
  196. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  197. package/coverage/src/concepts/index.html +2021 -0
  198. package/coverage/src/concepts/index.ts.html +103 -0
  199. package/coverage/src/concepts/index__.ts.html +463 -0
  200. package/coverage/src/concepts/utils/asserts.ts.html +27967 -0
  201. package/coverage/src/concepts/utils/index.html +116 -0
  202. package/coverage/src/config.ts.html +325 -0
  203. package/coverage/src/decorators/index.html +131 -0
  204. package/coverage/src/decorators/index.ts.html +574 -0
  205. package/coverage/src/decorators/promise.ts.html +169 -0
  206. package/coverage/src/eventBus.ts.html +100 -0
  207. package/coverage/src/generator/compileComponent.ts.html +142 -0
  208. package/coverage/src/generator/genBundleFiles.ts.html +1822 -0
  209. package/coverage/src/generator/genHash.ts.html +124 -0
  210. package/coverage/src/generator/genMetaData.ts.html +1129 -0
  211. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  212. package/coverage/src/generator/icestark.ts.html +226 -0
  213. package/coverage/src/generator/index.html +266 -0
  214. package/coverage/src/generator/index.ts.html +106 -0
  215. package/coverage/src/generator/microApp.ts.html +172 -0
  216. package/coverage/src/generator/permission.ts.html +1108 -0
  217. package/coverage/src/generator/qiankun.ts.html +238 -0
  218. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  219. package/coverage/src/index.html +146 -0
  220. package/coverage/src/index.ts.html +121 -0
  221. package/coverage/src/manager/diagnostic.ts.html +439 -0
  222. package/coverage/src/manager/index.html +131 -0
  223. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  224. package/coverage/src/natural/genNaturalTS.ts.html +355 -0
  225. package/coverage/src/natural/index.html +161 -0
  226. package/coverage/src/natural/index.ts.html +91 -0
  227. package/coverage/src/natural/naslStdlibMap.ts.html +157 -0
  228. package/coverage/src/natural/transformTSCode.ts.html +2707 -0
  229. package/coverage/src/sentry/index.html +116 -0
  230. package/coverage/src/sentry/index.ts.html +682 -0
  231. package/coverage/src/server/createUiTs.ts.html +919 -0
  232. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  233. package/coverage/src/server/event.js.html +526 -0
  234. package/coverage/src/server/extendBaseNode.ts.html +1792 -0
  235. package/coverage/src/server/formatTsUtils.ts.html +2692 -0
  236. package/coverage/src/server/getConnector.ts.html +316 -0
  237. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  238. package/coverage/src/server/getFunctions.ts.html +133 -0
  239. package/coverage/src/server/getInterfaces.ts.html +229 -0
  240. package/coverage/src/server/getLogging.ts.html +100 -0
  241. package/coverage/src/server/getLogics.ts.html +1375 -0
  242. package/coverage/src/server/getMemberIdentifier.ts.html +1672 -0
  243. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  244. package/coverage/src/server/getProcesses.ts.html +2173 -0
  245. package/coverage/src/server/getValidates.ts.html +115 -0
  246. package/coverage/src/server/index.html +401 -0
  247. package/coverage/src/server/index.ts.html +232 -0
  248. package/coverage/src/server/naslServer.ts.html +14659 -0
  249. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  250. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  251. package/coverage/src/server/translator.ts.html +2611 -0
  252. package/coverage/src/service/creator/add.configs.js.html +397 -0
  253. package/coverage/src/service/creator/errHandles.js.html +313 -0
  254. package/coverage/src/service/creator/index.html +146 -0
  255. package/coverage/src/service/creator/index.js.html +352 -0
  256. package/coverage/src/service/datasource/api.js.html +118 -0
  257. package/coverage/src/service/datasource/index.html +131 -0
  258. package/coverage/src/service/datasource/index.js.html +103 -0
  259. package/coverage/src/service/logic/api.js.html +109 -0
  260. package/coverage/src/service/logic/index.html +131 -0
  261. package/coverage/src/service/logic/index.js.html +103 -0
  262. package/coverage/src/service/storage/api.js.html +202 -0
  263. package/coverage/src/service/storage/index.html +206 -0
  264. package/coverage/src/service/storage/index.ts.html +103 -0
  265. package/coverage/src/service/storage/init.ts.html +3694 -0
  266. package/coverage/src/service/storage/jsoner.ts.html +565 -0
  267. package/coverage/src/service/storage/map.ts.html +256 -0
  268. package/coverage/src/service/storage/service.ts.html +331 -0
  269. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  270. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  271. package/coverage/src/templator/genCreateBlock.ts.html +1072 -0
  272. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
  273. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2236 -0
  274. package/coverage/src/templator/genEditTableBlock.ts.html +1018 -0
  275. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  276. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  277. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  278. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  279. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  280. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  281. package/coverage/src/templator/genTableBlock.ts.html +973 -0
  282. package/coverage/src/templator/genUpdateBlock.ts.html +1195 -0
  283. package/coverage/src/templator/index.html +326 -0
  284. package/coverage/src/templator/index.ts.html +154 -0
  285. package/coverage/src/templator/utils.ts.html +1924 -0
  286. package/coverage/src/translator/constant.ts.html +106 -0
  287. package/coverage/src/translator/index.html +146 -0
  288. package/coverage/src/translator/index.ts.html +94 -0
  289. package/coverage/src/translator/utils.ts.html +757 -0
  290. package/coverage/src/utils/cookie.ts.html +265 -0
  291. package/coverage/src/utils/env.ts.html +91 -0
  292. package/coverage/src/utils/i18nInfo.ts.html +166 -0
  293. package/coverage/src/utils/index.html +221 -0
  294. package/coverage/src/utils/index.ts.html +748 -0
  295. package/coverage/src/utils/logger.ts.html +145 -0
  296. package/coverage/src/utils/sortTsString.ts.html +202 -0
  297. package/coverage/src/utils/string.ts.html +502 -0
  298. package/coverage/src/utils/time-slicing/constant.ts.html +196 -0
  299. package/coverage/src/utils/time-slicing/controller.ts.html +1144 -0
  300. package/coverage/src/utils/time-slicing/index.html +236 -0
  301. package/coverage/src/utils/time-slicing/index.ts.html +103 -0
  302. package/coverage/src/utils/time-slicing/page-state.ts.html +121 -0
  303. package/coverage/src/utils/time-slicing/performance.ts.html +253 -0
  304. package/coverage/src/utils/time-slicing/runner.ts.html +241 -0
  305. package/coverage/src/utils/time-slicing/tool.ts.html +220 -0
  306. package/coverage/src/utils/time-slicing/utils.ts.html +355 -0
  307. package/coverage/src/utils/time-slicing/wrapper.ts.html +259 -0
  308. package/coverage/src/utils/time-slicing.ts.html +418 -0
  309. package/coverage/src/utils/traverse.ts.html +568 -0
  310. package/coverage/src/utils/window.ts.html +112 -0
  311. package/out/bak/translator.js +18 -99
  312. package/out/bak/translator.js.map +1 -1
  313. package/out/breakpoint/generator/BreakpointNode.d.ts +3 -0
  314. package/out/breakpoint/generator/BreakpointNode.js +9 -0
  315. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  316. package/out/breakpoint/generator/CallbackNode.js +15 -0
  317. package/out/breakpoint/generator/CallbackNode.js.map +1 -1
  318. package/out/common/BaseNode.d.ts +1 -1
  319. package/out/common/BaseNode.js +1 -1
  320. package/out/common/BaseNode.js.map +1 -1
  321. package/out/common/Command.js +1 -1
  322. package/out/common/Command.js.map +1 -1
  323. package/out/concepts/Argument__.js +2 -7
  324. package/out/concepts/Argument__.js.map +1 -1
  325. package/out/concepts/Assignment__.js +3 -20
  326. package/out/concepts/Assignment__.js.map +1 -1
  327. package/out/concepts/BackendVariable__.js +12 -27
  328. package/out/concepts/BackendVariable__.js.map +1 -1
  329. package/out/concepts/BinaryExpression__.js +13 -40
  330. package/out/concepts/BinaryExpression__.js.map +1 -1
  331. package/out/concepts/BindAttribute__.d.ts +0 -6
  332. package/out/concepts/BindAttribute__.js +11 -105
  333. package/out/concepts/BindAttribute__.js.map +1 -1
  334. package/out/concepts/CallFunction__.js +10 -2
  335. package/out/concepts/CallFunction__.js.map +1 -1
  336. package/out/concepts/CallLogic__.js +75 -30
  337. package/out/concepts/CallLogic__.js.map +1 -1
  338. package/out/concepts/CountersignPolicy__.d.ts +26 -0
  339. package/out/concepts/CountersignPolicy__.js +73 -0
  340. package/out/concepts/CountersignPolicy__.js.map +1 -0
  341. package/out/concepts/ForEachStatement__.js +12 -26
  342. package/out/concepts/ForEachStatement__.js.map +1 -1
  343. package/out/concepts/Identifier__.js +0 -3
  344. package/out/concepts/Identifier__.js.map +1 -1
  345. package/out/concepts/JSBlock__.js +0 -56
  346. package/out/concepts/JSBlock__.js.map +1 -1
  347. package/out/concepts/LogicItem__.js +2 -1
  348. package/out/concepts/LogicItem__.js.map +1 -1
  349. package/out/concepts/Logic__.js +2 -0
  350. package/out/concepts/Logic__.js.map +1 -1
  351. package/out/concepts/Match__.js +9 -4
  352. package/out/concepts/Match__.js.map +1 -1
  353. package/out/concepts/MemberExpression__.js +1 -0
  354. package/out/concepts/MemberExpression__.js.map +1 -1
  355. package/out/concepts/MultiApprovalPolicy__.d.ts +24 -0
  356. package/out/concepts/MultiApprovalPolicy__.js +65 -0
  357. package/out/concepts/MultiApprovalPolicy__.js.map +1 -0
  358. package/out/concepts/NewComposite__.js +18 -10
  359. package/out/concepts/NewComposite__.js.map +1 -1
  360. package/out/concepts/NumericLiteral__.js +1 -2
  361. package/out/concepts/NumericLiteral__.js.map +1 -1
  362. package/out/concepts/Param__.js +12 -27
  363. package/out/concepts/Param__.js.map +1 -1
  364. package/out/concepts/ProcessElement__.d.ts +16 -0
  365. package/out/concepts/ProcessElement__.js +56 -1
  366. package/out/concepts/ProcessElement__.js.map +1 -1
  367. package/out/concepts/Process__.d.ts +2 -0
  368. package/out/concepts/Process__.js +2 -0
  369. package/out/concepts/Process__.js.map +1 -1
  370. package/out/concepts/Return__.js +12 -27
  371. package/out/concepts/Return__.js.map +1 -1
  372. package/out/concepts/SequentialPolicy__.d.ts +18 -0
  373. package/out/concepts/SequentialPolicy__.js +54 -0
  374. package/out/concepts/SequentialPolicy__.js.map +1 -0
  375. package/out/concepts/StringInterpolation__.js +2 -0
  376. package/out/concepts/StringInterpolation__.js.map +1 -1
  377. package/out/concepts/Variable__.js +12 -27
  378. package/out/concepts/Variable__.js.map +1 -1
  379. package/out/concepts/ViewElement__.d.ts +0 -1
  380. package/out/concepts/ViewElement__.js +12 -75
  381. package/out/concepts/ViewElement__.js.map +1 -1
  382. package/out/concepts/View__.d.ts +0 -2
  383. package/out/concepts/View__.js +3 -12
  384. package/out/concepts/View__.js.map +1 -1
  385. package/out/concepts/basics/stdlib/nasl.process.js +1 -1
  386. package/out/concepts/basics/stdlib/nasl.process.js.map +1 -1
  387. package/out/concepts/index__.d.ts +3 -0
  388. package/out/concepts/index__.js +3 -0
  389. package/out/concepts/index__.js.map +1 -1
  390. package/out/concepts/types__.d.ts +4 -1
  391. package/out/generator/genReleaseBody.js +2 -2
  392. package/out/generator/genReleaseBody.js.map +1 -1
  393. package/out/server/extendBaseNode.js +33 -23
  394. package/out/server/extendBaseNode.js.map +1 -1
  395. package/out/server/formatTsUtils.d.ts +1 -2
  396. package/out/server/formatTsUtils.js +13 -12
  397. package/out/server/formatTsUtils.js.map +1 -1
  398. package/out/server/getLogics.d.ts +1 -0
  399. package/out/server/getLogics.js +6 -2
  400. package/out/server/getLogics.js.map +1 -1
  401. package/out/server/getMemberIdentifier.js +21 -0
  402. package/out/server/getMemberIdentifier.js.map +1 -1
  403. package/out/server/getProcesses.js +56 -6
  404. package/out/server/getProcesses.js.map +1 -1
  405. package/out/server/index.js +1 -0
  406. package/out/server/index.js.map +1 -1
  407. package/out/server/naslServer.d.ts +2 -2
  408. package/out/server/naslServer.js +29 -32
  409. package/out/server/naslServer.js.map +1 -1
  410. package/out/server/translator.js +3 -0
  411. package/out/server/translator.js.map +1 -1
  412. package/out/service/creator/errHandles.js +6 -3
  413. package/out/service/creator/errHandles.js.map +1 -1
  414. package/out/service/storage/init.js +2 -2
  415. package/out/service/storage/init.js.map +1 -1
  416. package/out/templator/genCreateBlock.js +5 -9
  417. package/out/templator/genCreateBlock.js.map +1 -1
  418. package/out/templator/genCurdEditMultipleKeyBlock.js +12 -18
  419. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  420. package/out/templator/genCurdMultipleKeyBlock.js +8 -10
  421. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  422. package/out/templator/genEditTableBlock.js +2 -3
  423. package/out/templator/genEditTableBlock.js.map +1 -1
  424. package/out/templator/genUpdateBlock.js +9 -12
  425. package/out/templator/genUpdateBlock.js.map +1 -1
  426. package/out/templator/utils.js.map +1 -1
  427. package/out/utils/time-slicing/controller.d.ts +1 -1
  428. package/out/utils/time-slicing/controller.js +31 -19
  429. package/out/utils/time-slicing/controller.js.map +1 -1
  430. package/out/utils/time-slicing/runner.d.ts +1 -1
  431. package/out/utils/time-slicing/runner.js +4 -5
  432. package/out/utils/time-slicing/runner.js.map +1 -1
  433. package/out/utils/time-slicing/tool.d.ts +1 -1
  434. package/package.json +2 -2
  435. package/sandbox/stdlib/nasl.core.ts +0 -2
  436. package/sandbox/stdlib/nasl.util.ts +3 -3
  437. package/src/bak/translator.js +19 -99
  438. package/src/breakpoint/generator/BreakpointNode.ts +12 -0
  439. package/src/breakpoint/generator/CallbackNode.ts +17 -0
  440. package/src/common/BaseNode.ts +1 -1
  441. package/src/common/Command.ts +1 -1
  442. package/src/concepts/Argument__.ts +2 -7
  443. package/src/concepts/Assignment__.ts +13 -31
  444. package/src/concepts/BackendVariable__.ts +13 -25
  445. package/src/concepts/BinaryExpression__.ts +13 -39
  446. package/src/concepts/BindAttribute__.ts +11 -108
  447. package/src/concepts/CallFunction__.ts +10 -2
  448. package/src/concepts/CallLogic__.ts +90 -34
  449. package/src/concepts/CountersignPolicy__.ts +77 -0
  450. package/src/concepts/ForEachStatement__.ts +17 -26
  451. package/src/concepts/Identifier__.ts +1 -4
  452. package/src/concepts/JSBlock__.ts +0 -58
  453. package/src/concepts/LogicItem__.ts +2 -2
  454. package/src/concepts/Logic__.ts +1 -0
  455. package/src/concepts/Match__.ts +9 -4
  456. package/src/concepts/MemberExpression__.ts +1 -0
  457. package/src/concepts/MultiApprovalPolicy__.ts +69 -0
  458. package/src/concepts/NewComposite__.ts +18 -9
  459. package/src/concepts/NumericLiteral__.ts +1 -2
  460. package/src/concepts/Param__.ts +12 -25
  461. package/src/concepts/ProcessElement__.ts +70 -1
  462. package/src/concepts/Process__.ts +2 -0
  463. package/src/concepts/Return__.ts +13 -26
  464. package/src/concepts/SequentialPolicy__.ts +58 -0
  465. package/src/concepts/StringInterpolation__.ts +2 -0
  466. package/src/concepts/Variable__.ts +13 -26
  467. package/src/concepts/ViewElement__.ts +15 -83
  468. package/src/concepts/View__.ts +18 -32
  469. package/src/concepts/basics/stdlib/nasl.process.ts +1 -1
  470. package/src/concepts/index__.ts +3 -0
  471. package/src/concepts/types__.ts +6 -0
  472. package/src/generator/genReleaseBody.ts +40 -40
  473. package/src/server/extendBaseNode.ts +32 -23
  474. package/src/server/formatTsUtils.ts +13 -12
  475. package/src/server/getLogics.ts +4 -0
  476. package/src/server/getMemberIdentifier.ts +21 -0
  477. package/src/server/getProcesses.ts +56 -6
  478. package/src/server/index.ts +2 -1
  479. package/src/server/naslServer.ts +35 -33
  480. package/src/server/translator.ts +3 -0
  481. package/src/service/creator/errHandles.js +7 -4
  482. package/src/service/storage/init.ts +2 -2
  483. package/src/templator/genCreateBlock.ts +5 -9
  484. package/src/templator/genCurdEditMultipleKeyBlock.ts +13 -19
  485. package/src/templator/genCurdMultipleKeyBlock.ts +11 -14
  486. package/src/templator/genEditTableBlock.ts +2 -4
  487. package/src/templator/genUpdateBlock.ts +12 -15
  488. package/src/templator/utils.ts +7 -8
  489. package/src/utils/time-slicing/controller.ts +34 -23
  490. package/src/utils/time-slicing/runner.ts +7 -9
  491. package/src/utils/time-slicing/tool.ts +1 -1
  492. package/test/concepts/anonymous-function/__snapshots__/toJS.spec.ts.snap +1 -1
  493. package/test/concepts/assignment/__snapshots__/toJS.spec.ts.snap +1 -1
  494. package/test/concepts/batch-assignment/__snapshots__/toJS.spec.ts.snap +2 -2
  495. package/test/concepts/binary-expression/__snapshots__/toJS.spec.ts.snap +2 -3
  496. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +2 -2
  497. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +24 -0
  498. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +15 -0
  499. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +18 -3
  500. package/test/concepts/call-logic/__snapshots__/toUI.spec.ts.snap +7 -0
  501. package/test/concepts/call-logic/__snapshots__/toVue.spec.ts.snap +101 -0
  502. package/test/concepts/call-logic/__snapshots__/toVueDesigner.spec.ts.snap +7 -0
  503. package/test/concepts/call-logic/fixtures/json-deserialize.json +173 -0
  504. package/test/concepts/call-logic/fixtures/json-serialize-with-string.json +177 -0
  505. package/test/concepts/call-logic/fixtures/json-serialize.json +178 -0
  506. package/test/concepts/call-logic/toUI.spec.ts +16 -0
  507. package/test/concepts/call-logic/toVue.spec.ts +14 -0
  508. package/test/concepts/call-logic/toVueDesigner.spec.ts +16 -0
  509. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +1 -1
  510. package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +1 -1
  511. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +3 -3
  512. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +0 -2
  513. package/test/time-slicing/runner.spec.ts +4 -0
@@ -0,0 +1,2326 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/concepts/Assignee__.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> Assignee__.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">9.89% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>18/182</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/95</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/38</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">9.58% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>16/167</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
814
+ <span class="cline-any cline-yes">1x</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-neutral">&nbsp;</span>
817
+ <span class="cline-any cline-neutral">&nbsp;</span>
818
+ <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-neutral">&nbsp;</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-neutral">&nbsp;</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
827
+ <span class="cline-any cline-neutral">&nbsp;</span>
828
+ <span class="cline-any cline-neutral">&nbsp;</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-neutral">&nbsp;</span>
831
+ <span class="cline-any cline-yes">1x</span>
832
+ <span class="cline-any cline-neutral">&nbsp;</span>
833
+ <span class="cline-any cline-yes">1x</span>
834
+ <span class="cline-any cline-neutral">&nbsp;</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-yes">1x</span>
837
+ <span class="cline-any cline-yes">1x</span>
838
+ <span class="cline-any cline-neutral">&nbsp;</span>
839
+ <span class="cline-any cline-neutral">&nbsp;</span>
840
+ <span class="cline-any cline-neutral">&nbsp;</span>
841
+ <span class="cline-any cline-neutral">&nbsp;</span>
842
+ <span class="cline-any cline-neutral">&nbsp;</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span>
845
+ <span class="cline-any cline-yes">1x</span>
846
+ <span class="cline-any cline-neutral">&nbsp;</span>
847
+ <span class="cline-any cline-yes">1x</span>
848
+ <span class="cline-any cline-neutral">&nbsp;</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-neutral">&nbsp;</span>
851
+ <span class="cline-any cline-neutral">&nbsp;</span>
852
+ <span class="cline-any cline-neutral">&nbsp;</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-yes">1x</span>
855
+ <span class="cline-any cline-neutral">&nbsp;</span>
856
+ <span class="cline-any cline-neutral">&nbsp;</span>
857
+ <span class="cline-any cline-neutral">&nbsp;</span>
858
+ <span class="cline-any cline-neutral">&nbsp;</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-yes">1x</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-neutral">&nbsp;</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-neutral">&nbsp;</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-yes">1x</span>
867
+ <span class="cline-any cline-neutral">&nbsp;</span>
868
+ <span class="cline-any cline-neutral">&nbsp;</span>
869
+ <span class="cline-any cline-neutral">&nbsp;</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-yes">1x</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-neutral">&nbsp;</span>
878
+ <span class="cline-any cline-yes">1x</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-neutral">&nbsp;</span>
881
+ <span class="cline-any cline-neutral">&nbsp;</span>
882
+ <span class="cline-any cline-neutral">&nbsp;</span>
883
+ <span class="cline-any cline-neutral">&nbsp;</span>
884
+ <span class="cline-any cline-yes">1x</span>
885
+ <span class="cline-any cline-neutral">&nbsp;</span>
886
+ <span class="cline-any cline-neutral">&nbsp;</span>
887
+ <span class="cline-any cline-neutral">&nbsp;</span>
888
+ <span class="cline-any cline-neutral">&nbsp;</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-no">&nbsp;</span>
891
+ <span class="cline-any cline-no">&nbsp;</span>
892
+ <span class="cline-any cline-no">&nbsp;</span>
893
+ <span class="cline-any cline-neutral">&nbsp;</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-no">&nbsp;</span>
897
+ <span class="cline-any cline-neutral">&nbsp;</span>
898
+ <span class="cline-any cline-neutral">&nbsp;</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-no">&nbsp;</span>
901
+ <span class="cline-any cline-no">&nbsp;</span>
902
+ <span class="cline-any cline-no">&nbsp;</span>
903
+ <span class="cline-any cline-no">&nbsp;</span>
904
+ <span class="cline-any cline-neutral">&nbsp;</span>
905
+ <span class="cline-any cline-neutral">&nbsp;</span>
906
+ <span class="cline-any cline-no">&nbsp;</span>
907
+ <span class="cline-any cline-neutral">&nbsp;</span>
908
+ <span class="cline-any cline-neutral">&nbsp;</span>
909
+ <span class="cline-any cline-neutral">&nbsp;</span>
910
+ <span class="cline-any cline-neutral">&nbsp;</span>
911
+ <span class="cline-any cline-neutral">&nbsp;</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-neutral">&nbsp;</span>
914
+ <span class="cline-any cline-neutral">&nbsp;</span>
915
+ <span class="cline-any cline-neutral">&nbsp;</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-neutral">&nbsp;</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-neutral">&nbsp;</span>
920
+ <span class="cline-any cline-neutral">&nbsp;</span>
921
+ <span class="cline-any cline-neutral">&nbsp;</span>
922
+ <span class="cline-any cline-neutral">&nbsp;</span>
923
+ <span class="cline-any cline-neutral">&nbsp;</span>
924
+ <span class="cline-any cline-neutral">&nbsp;</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
926
+ <span class="cline-any cline-neutral">&nbsp;</span>
927
+ <span class="cline-any cline-neutral">&nbsp;</span>
928
+ <span class="cline-any cline-neutral">&nbsp;</span>
929
+ <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-neutral">&nbsp;</span>
931
+ <span class="cline-any cline-no">&nbsp;</span>
932
+ <span class="cline-any cline-no">&nbsp;</span>
933
+ <span class="cline-any cline-neutral">&nbsp;</span>
934
+ <span class="cline-any cline-no">&nbsp;</span>
935
+ <span class="cline-any cline-no">&nbsp;</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-neutral">&nbsp;</span>
938
+ <span class="cline-any cline-neutral">&nbsp;</span>
939
+ <span class="cline-any cline-neutral">&nbsp;</span>
940
+ <span class="cline-any cline-neutral">&nbsp;</span>
941
+ <span class="cline-any cline-neutral">&nbsp;</span>
942
+ <span class="cline-any cline-neutral">&nbsp;</span>
943
+ <span class="cline-any cline-no">&nbsp;</span>
944
+ <span class="cline-any cline-no">&nbsp;</span>
945
+ <span class="cline-any cline-neutral">&nbsp;</span>
946
+ <span class="cline-any cline-neutral">&nbsp;</span>
947
+ <span class="cline-any cline-neutral">&nbsp;</span>
948
+ <span class="cline-any cline-neutral">&nbsp;</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
950
+ <span class="cline-any cline-neutral">&nbsp;</span>
951
+ <span class="cline-any cline-neutral">&nbsp;</span>
952
+ <span class="cline-any cline-no">&nbsp;</span>
953
+ <span class="cline-any cline-no">&nbsp;</span>
954
+ <span class="cline-any cline-no">&nbsp;</span>
955
+ <span class="cline-any cline-no">&nbsp;</span>
956
+ <span class="cline-any cline-neutral">&nbsp;</span>
957
+ <span class="cline-any cline-no">&nbsp;</span>
958
+ <span class="cline-any cline-neutral">&nbsp;</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-neutral">&nbsp;</span>
961
+ <span class="cline-any cline-neutral">&nbsp;</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
+ <span class="cline-any cline-neutral">&nbsp;</span>
964
+ <span class="cline-any cline-neutral">&nbsp;</span>
965
+ <span class="cline-any cline-neutral">&nbsp;</span>
966
+ <span class="cline-any cline-no">&nbsp;</span>
967
+ <span class="cline-any cline-no">&nbsp;</span>
968
+ <span class="cline-any cline-neutral">&nbsp;</span>
969
+ <span class="cline-any cline-neutral">&nbsp;</span>
970
+ <span class="cline-any cline-neutral">&nbsp;</span>
971
+ <span class="cline-any cline-neutral">&nbsp;</span>
972
+ <span class="cline-any cline-neutral">&nbsp;</span>
973
+ <span class="cline-any cline-neutral">&nbsp;</span>
974
+ <span class="cline-any cline-neutral">&nbsp;</span>
975
+ <span class="cline-any cline-neutral">&nbsp;</span>
976
+ <span class="cline-any cline-neutral">&nbsp;</span>
977
+ <span class="cline-any cline-neutral">&nbsp;</span>
978
+ <span class="cline-any cline-neutral">&nbsp;</span>
979
+ <span class="cline-any cline-neutral">&nbsp;</span>
980
+ <span class="cline-any cline-neutral">&nbsp;</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
982
+ <span class="cline-any cline-neutral">&nbsp;</span>
983
+ <span class="cline-any cline-neutral">&nbsp;</span>
984
+ <span class="cline-any cline-neutral">&nbsp;</span>
985
+ <span class="cline-any cline-neutral">&nbsp;</span>
986
+ <span class="cline-any cline-neutral">&nbsp;</span>
987
+ <span class="cline-any cline-neutral">&nbsp;</span>
988
+ <span class="cline-any cline-neutral">&nbsp;</span>
989
+ <span class="cline-any cline-no">&nbsp;</span>
990
+ <span class="cline-any cline-no">&nbsp;</span>
991
+ <span class="cline-any cline-neutral">&nbsp;</span>
992
+ <span class="cline-any cline-neutral">&nbsp;</span>
993
+ <span class="cline-any cline-neutral">&nbsp;</span>
994
+ <span class="cline-any cline-neutral">&nbsp;</span>
995
+ <span class="cline-any cline-no">&nbsp;</span>
996
+ <span class="cline-any cline-neutral">&nbsp;</span>
997
+ <span class="cline-any cline-neutral">&nbsp;</span>
998
+ <span class="cline-any cline-neutral">&nbsp;</span>
999
+ <span class="cline-any cline-neutral">&nbsp;</span>
1000
+ <span class="cline-any cline-neutral">&nbsp;</span>
1001
+ <span class="cline-any cline-neutral">&nbsp;</span>
1002
+ <span class="cline-any cline-neutral">&nbsp;</span>
1003
+ <span class="cline-any cline-neutral">&nbsp;</span>
1004
+ <span class="cline-any cline-neutral">&nbsp;</span>
1005
+ <span class="cline-any cline-neutral">&nbsp;</span>
1006
+ <span class="cline-any cline-neutral">&nbsp;</span>
1007
+ <span class="cline-any cline-neutral">&nbsp;</span>
1008
+ <span class="cline-any cline-neutral">&nbsp;</span>
1009
+ <span class="cline-any cline-neutral">&nbsp;</span>
1010
+ <span class="cline-any cline-neutral">&nbsp;</span>
1011
+ <span class="cline-any cline-neutral">&nbsp;</span>
1012
+ <span class="cline-any cline-neutral">&nbsp;</span>
1013
+ <span class="cline-any cline-neutral">&nbsp;</span>
1014
+ <span class="cline-any cline-neutral">&nbsp;</span>
1015
+ <span class="cline-any cline-neutral">&nbsp;</span>
1016
+ <span class="cline-any cline-neutral">&nbsp;</span>
1017
+ <span class="cline-any cline-neutral">&nbsp;</span>
1018
+ <span class="cline-any cline-neutral">&nbsp;</span>
1019
+ <span class="cline-any cline-neutral">&nbsp;</span>
1020
+ <span class="cline-any cline-no">&nbsp;</span>
1021
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1028
+ <span class="cline-any cline-neutral">&nbsp;</span>
1029
+ <span class="cline-any cline-neutral">&nbsp;</span>
1030
+ <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-neutral">&nbsp;</span>
1032
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
1041
+ <span class="cline-any cline-neutral">&nbsp;</span>
1042
+ <span class="cline-any cline-neutral">&nbsp;</span>
1043
+ <span class="cline-any cline-neutral">&nbsp;</span>
1044
+ <span class="cline-any cline-no">&nbsp;</span>
1045
+ <span class="cline-any cline-no">&nbsp;</span>
1046
+ <span class="cline-any cline-no">&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-no">&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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</span>
1073
+ <span class="cline-any cline-neutral">&nbsp;</span>
1074
+ <span class="cline-any cline-neutral">&nbsp;</span>
1075
+ <span class="cline-any cline-neutral">&nbsp;</span>
1076
+ <span class="cline-any cline-no">&nbsp;</span>
1077
+ <span class="cline-any cline-no">&nbsp;</span>
1078
+ <span class="cline-any cline-neutral">&nbsp;</span>
1079
+ <span class="cline-any cline-no">&nbsp;</span>
1080
+ <span class="cline-any cline-no">&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-neutral">&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-no">&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-no">&nbsp;</span>
1099
+ <span class="cline-any cline-no">&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-no">&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-neutral">&nbsp;</span>
1107
+ <span class="cline-any cline-neutral">&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-no">&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-no">&nbsp;</span>
1135
+ <span class="cline-any cline-no">&nbsp;</span>
1136
+ <span class="cline-any cline-neutral">&nbsp;</span>
1137
+ <span class="cline-any cline-neutral">&nbsp;</span>
1138
+ <span class="cline-any cline-neutral">&nbsp;</span>
1139
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1149
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1158
+ <span class="cline-any cline-neutral">&nbsp;</span>
1159
+ <span class="cline-any cline-neutral">&nbsp;</span>
1160
+ <span class="cline-any cline-neutral">&nbsp;</span>
1161
+ <span class="cline-any cline-neutral">&nbsp;</span>
1162
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1166
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1172
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1190
+ <span class="cline-any cline-no">&nbsp;</span>
1191
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1195
+ <span class="cline-any cline-neutral">&nbsp;</span>
1196
+ <span class="cline-any cline-no">&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-no">&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-no">&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-neutral">&nbsp;</span>
1226
+ <span class="cline-any cline-neutral">&nbsp;</span>
1227
+ <span class="cline-any cline-neutral">&nbsp;</span>
1228
+ <span class="cline-any cline-neutral">&nbsp;</span>
1229
+ <span class="cline-any cline-no">&nbsp;</span>
1230
+ <span class="cline-any cline-no">&nbsp;</span>
1231
+ <span class="cline-any cline-neutral">&nbsp;</span>
1232
+ <span class="cline-any cline-no">&nbsp;</span>
1233
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1242
+ <span class="cline-any cline-no">&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-neutral">&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-no">&nbsp;</span>
1253
+ <span class="cline-any cline-no">&nbsp;</span>
1254
+ <span class="cline-any cline-neutral">&nbsp;</span>
1255
+ <span class="cline-any cline-no">&nbsp;</span>
1256
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1265
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1275
+ <span class="cline-any cline-neutral">&nbsp;</span>
1276
+ <span class="cline-any cline-neutral">&nbsp;</span>
1277
+ <span class="cline-any cline-neutral">&nbsp;</span>
1278
+ <span class="cline-any cline-neutral">&nbsp;</span>
1279
+ <span class="cline-any cline-neutral">&nbsp;</span>
1280
+ <span class="cline-any cline-neutral">&nbsp;</span>
1281
+ <span class="cline-any cline-neutral">&nbsp;</span>
1282
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1288
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1292
+ <span class="cline-any cline-neutral">&nbsp;</span>
1293
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1309
+ <span class="cline-any cline-neutral">&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-neutral">&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-no">&nbsp;</span>
1319
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1333
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1343
+ <span class="cline-any cline-no">&nbsp;</span>
1344
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1351
+ <span class="cline-any cline-neutral">&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-neutral">&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-neutral">&nbsp;</span>
1361
+ <span class="cline-any cline-neutral">&nbsp;</span>
1362
+ <span class="cline-any cline-neutral">&nbsp;</span>
1363
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1367
+ <span class="cline-any cline-no">&nbsp;</span>
1368
+ <span class="cline-any cline-no">&nbsp;</span>
1369
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1373
+ <span class="cline-any cline-neutral">&nbsp;</span>
1374
+ <span class="cline-any cline-no">&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-no">&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-no">&nbsp;</span>
1395
+ <span class="cline-any cline-neutral">&nbsp;</span>
1396
+ <span class="cline-any cline-neutral">&nbsp;</span>
1397
+ <span class="cline-any cline-no">&nbsp;</span>
1398
+ <span class="cline-any cline-neutral">&nbsp;</span>
1399
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1404
+ <span class="cline-any cline-no">&nbsp;</span>
1405
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1412
+ <span class="cline-any cline-no">&nbsp;</span>
1413
+ <span class="cline-any cline-neutral">&nbsp;</span>
1414
+ <span class="cline-any cline-no">&nbsp;</span>
1415
+ <span class="cline-any cline-neutral">&nbsp;</span>
1416
+ <span class="cline-any cline-no">&nbsp;</span>
1417
+ <span class="cline-any cline-no">&nbsp;</span>
1418
+ <span class="cline-any cline-neutral">&nbsp;</span>
1419
+ <span class="cline-any cline-no">&nbsp;</span>
1420
+ <span class="cline-any cline-no">&nbsp;</span>
1421
+ <span class="cline-any cline-no">&nbsp;</span>
1422
+ <span class="cline-any cline-neutral">&nbsp;</span>
1423
+ <span class="cline-any cline-no">&nbsp;</span>
1424
+ <span class="cline-any cline-no">&nbsp;</span>
1425
+ <span class="cline-any cline-no">&nbsp;</span>
1426
+ <span class="cline-any cline-no">&nbsp;</span>
1427
+ <span class="cline-any cline-neutral">&nbsp;</span>
1428
+ <span class="cline-any cline-neutral">&nbsp;</span>
1429
+ <span class="cline-any cline-neutral">&nbsp;</span>
1430
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1448
+ <span class="cline-any cline-no">&nbsp;</span>
1449
+ <span class="cline-any cline-no">&nbsp;</span>
1450
+ <span class="cline-any cline-no">&nbsp;</span>
1451
+ <span class="cline-any cline-neutral">&nbsp;</span>
1452
+ <span class="cline-any cline-neutral">&nbsp;</span>
1453
+ <span class="cline-any cline-no">&nbsp;</span>
1454
+ <span class="cline-any cline-neutral">&nbsp;</span>
1455
+ <span class="cline-any cline-no">&nbsp;</span>
1456
+ <span class="cline-any cline-neutral">&nbsp;</span>
1457
+ <span class="cline-any cline-neutral">&nbsp;</span>
1458
+ <span class="cline-any cline-neutral">&nbsp;</span>
1459
+ <span class="cline-any cline-no">&nbsp;</span>
1460
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1468
+ <span class="cline-any cline-no">&nbsp;</span>
1469
+ <span class="cline-any cline-neutral">&nbsp;</span>
1470
+ <span class="cline-any cline-no">&nbsp;</span>
1471
+ <span class="cline-any cline-neutral">&nbsp;</span>
1472
+ <span class="cline-any cline-no">&nbsp;</span>
1473
+ <span class="cline-any cline-no">&nbsp;</span>
1474
+ <span class="cline-any cline-neutral">&nbsp;</span>
1475
+ <span class="cline-any cline-no">&nbsp;</span>
1476
+ <span class="cline-any cline-no">&nbsp;</span>
1477
+ <span class="cline-any cline-no">&nbsp;</span>
1478
+ <span class="cline-any cline-neutral">&nbsp;</span>
1479
+ <span class="cline-any cline-no">&nbsp;</span>
1480
+ <span class="cline-any cline-no">&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-no">&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-no">&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-no">&nbsp;</span>
1505
+ <span class="cline-any cline-neutral">&nbsp;</span>
1506
+ <span class="cline-any cline-neutral">&nbsp;</span>
1507
+ <span class="cline-any cline-neutral">&nbsp;</span>
1508
+ <span class="cline-any cline-no">&nbsp;</span>
1509
+ <span class="cline-any cline-no">&nbsp;</span>
1510
+ <span class="cline-any cline-no">&nbsp;</span>
1511
+ <span class="cline-any cline-no">&nbsp;</span>
1512
+ <span class="cline-any cline-no">&nbsp;</span>
1513
+ <span class="cline-any cline-no">&nbsp;</span>
1514
+ <span class="cline-any cline-neutral">&nbsp;</span>
1515
+ <span class="cline-any cline-no">&nbsp;</span>
1516
+ <span class="cline-any cline-neutral">&nbsp;</span>
1517
+ <span class="cline-any cline-no">&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-yes">1x</span>
1522
+ <span class="cline-any cline-no">&nbsp;</span>
1523
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1527
+ <span class="cline-any cline-no">&nbsp;</span>
1528
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1536
+ <span class="cline-any cline-neutral">&nbsp;</span>
1537
+ <span class="cline-any cline-neutral">&nbsp;</span>
1538
+ <span class="cline-any cline-neutral">&nbsp;</span>
1539
+ <span class="cline-any cline-neutral">&nbsp;</span>
1540
+ <span class="cline-any cline-no">&nbsp;</span>
1541
+ <span class="cline-any cline-no">&nbsp;</span>
1542
+ <span class="cline-any cline-no">&nbsp;</span>
1543
+ <span class="cline-any cline-no">&nbsp;</span>
1544
+ <span class="cline-any cline-neutral">&nbsp;</span>
1545
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1549
+ <span class="cline-any cline-neutral">&nbsp;</span>
1550
+ <span class="cline-any cline-neutral">&nbsp;</span>
1551
+ <span class="cline-any cline-neutral">&nbsp;</span>
1552
+ <span class="cline-any cline-neutral">&nbsp;</span>
1553
+ <span class="cline-any cline-neutral">&nbsp;</span>
1554
+ <span class="cline-any cline-neutral">&nbsp;</span>
1555
+ <span class="cline-any cline-yes">1x</span>
1556
+ <span class="cline-any cline-neutral">&nbsp;</span>
1557
+ <span class="cline-any cline-neutral">&nbsp;</span>
1558
+ <span class="cline-any cline-neutral">&nbsp;</span>
1559
+ <span class="cline-any cline-neutral">&nbsp;</span>
1560
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { wrapForEachToGenerator as wrapForEach } from '../utils/time-slicing';
1561
+ import {
1562
+ TranslatorState,
1563
+ shiftState,
1564
+ withSourceMap,
1565
+ indent,
1566
+ createCompilerState,
1567
+ withSourceMapGenerator,
1568
+ withGenerator,
1569
+ TranslatorGenerator,
1570
+ } from '../translator';
1571
+ import { ProcessElement, Process } from '..';
1572
+ import Namespace from './Namespace__';
1573
+ //================================================================================
1574
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1575
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1576
+ //================================================================================
1577
+ import { EventPayload, Params } from '../common/EventEmitter';
1578
+ import { concept, excludedInJSON, property, className } from '../decorators';
1579
+ &nbsp;
1580
+ import * as utils from '../utils';
1581
+ import { v4 as uuidv4 } from 'uuid';
1582
+ import BaseNode from '../common/BaseNode';
1583
+ import LogicItem from './LogicItem__';
1584
+ import Logic from './Logic__';
1585
+ &nbsp;
1586
+ /**
1587
+ * 经办人
1588
+ */
1589
+ @className
1590
+ @concept('经办人')
1591
+ // @ts-ignore
1592
+ export class Assignee extends LogicItem {
1593
+ /** 类名 */
1594
+ static readonly ConceptName = 'Assignee';
1595
+ &nbsp;
1596
+ /**
1597
+ * 产品概念
1598
+ */
1599
+ @property('concept')
1600
+ // @ts-ignore
1601
+ readonly concept!: 'Assignee';
1602
+ &nbsp;
1603
+ /**
1604
+ * 绑定用户
1605
+ */
1606
+ @property()
1607
+ users: Array&lt;string&gt; = <span class="cstat-no" title="statement not covered" >[];</span>
1608
+ &nbsp;
1609
+ /**
1610
+ * 动态用户
1611
+ */
1612
+ @property('LogicItem')
1613
+ dynamicUsers: Array&lt;LogicItem&gt; = <span class="cstat-no" title="statement not covered" >[];</span>
1614
+ &nbsp;
1615
+ /**
1616
+ * 绑定角色
1617
+ */
1618
+ @property()
1619
+ roles: Array&lt;string&gt; = <span class="cstat-no" title="statement not covered" >[];</span>
1620
+ &nbsp;
1621
+ /**
1622
+ * 动态角色
1623
+ */
1624
+ @property('LogicItem')
1625
+ dynamicRoles: Array&lt;LogicItem&gt; = <span class="cstat-no" title="statement not covered" >[];</span>
1626
+ &nbsp;
1627
+ /**
1628
+ * 逻辑用户
1629
+ */
1630
+ @property('Logic')
1631
+ logicUsers: Array&lt;Logic&gt; = <span class="cstat-no" title="statement not covered" >[];</span>
1632
+ &nbsp;
1633
+ /**
1634
+ * @param source 需要合并的部分参数
1635
+ */
1636
+ <span class="fstat-no" title="function not covered" > constructor(s</span>ource?: Partial&lt;Assignee&gt;) {
1637
+ <span class="cstat-no" title="statement not covered" > source = Object.assign({}, Assignee.getDefaultOptions(), source);</span>
1638
+ <span class="cstat-no" title="statement not covered" > super(source);</span>
1639
+ <span class="cstat-no" title="statement not covered" > super.subConstructor(source);</span>
1640
+ }
1641
+ &nbsp;
1642
+ <span class="fstat-no" title="function not covered" > static </span>from(source: any, parentNode?: any, parentKey?: string): Assignee {
1643
+ <span class="cstat-no" title="statement not covered" > return super.from(source, parentNode, parentKey) as Assignee;</span>
1644
+ }
1645
+ &nbsp;
1646
+ <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> {
1647
+ const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
1648
+ <span class="cstat-no" title="statement not covered" > return ((this.dynamicUsers as LogicItem[]) || [])</span>
1649
+ .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>
1650
+ .map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item?.name)</span>;
1651
+ }
1652
+ <span class="fstat-no" title="function not covered" > getLogicItemUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'logicItem1')</span> {
1653
+ <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getLogicItemExistingNames(), undefined, false);</span>
1654
+ }
1655
+ &nbsp;
1656
+ /**
1657
+ * 插入逻辑项
1658
+ * @internal
1659
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
1660
+ */
1661
+ _insertLogicItemInDynamicUsersAt(name: string, index: number): LogicItem;
1662
+ &nbsp;
1663
+ /**
1664
+ * 插入逻辑项
1665
+ * @internal
1666
+ * @param logicItemOptions 逻辑项参数
1667
+ */
1668
+ _insertLogicItemInDynamicUsersAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
1669
+ &nbsp;
1670
+ /**
1671
+ * 插入逻辑项
1672
+ * @internal
1673
+ * @param logicItem 已有的逻辑项实例
1674
+ */
1675
+ _insertLogicItemInDynamicUsersAt(logicItem: LogicItem, index: number): LogicItem;
1676
+ &nbsp;
1677
+ <span class="fstat-no" title="function not covered" > _insertLogicItemInDynamicUsersAt(</span>options: string | Partial&lt;LogicItem&gt; | LogicItem, index: number) {
1678
+ const logicItemOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
1679
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'dynamicUsers' };</span>
1680
+ let logicItem: LogicItem;
1681
+ <span class="cstat-no" title="statement not covered" > if (!options) {</span>
1682
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
1683
+ {
1684
+ ...logicItemOptions,
1685
+ name: this.getLogicItemUniqueName(),
1686
+ },
1687
+ this,
1688
+ 'dynamicUsers',
1689
+ );
1690
+ } else <span class="cstat-no" title="statement not covered" >if (typeof options === 'string') {</span>
1691
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
1692
+ {
1693
+ ...logicItemOptions,
1694
+ name: options,
1695
+ },
1696
+ this,
1697
+ 'dynamicUsers',
1698
+ );
1699
+ } else <span class="cstat-no" title="statement not covered" >if (options instanceof LogicItem) {</span>
1700
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
1701
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
1702
+ <span class="cstat-no" title="statement not covered" > Object.assign(logicItem, relationOptions);</span>
1703
+ } else {
1704
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
1705
+ {
1706
+ ...logicItemOptions,
1707
+ ...options,
1708
+ },
1709
+ this,
1710
+ 'dynamicUsers',
1711
+ );
1712
+ }
1713
+ <span class="cstat-no" title="statement not covered" > this.dynamicUsers.splice(index, 0, logicItem);</span>
1714
+ <span class="cstat-no" title="statement not covered" > return logicItem;</span>
1715
+ }
1716
+ &nbsp;
1717
+ /**
1718
+ * 插入逻辑项
1719
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
1720
+ */
1721
+ insertLogicItemInDynamicUsersAt(name: string, index: number): LogicItem;
1722
+ &nbsp;
1723
+ /**
1724
+ * 插入逻辑项
1725
+ * @param logicItemOptions 逻辑项参数
1726
+ */
1727
+ insertLogicItemInDynamicUsersAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
1728
+ &nbsp;
1729
+ /**
1730
+ * 插入逻辑项
1731
+ * @param logicItem 已有的逻辑项实例
1732
+ */
1733
+ insertLogicItemInDynamicUsersAt(logicItem: LogicItem, index: number): LogicItem;
1734
+ &nbsp;
1735
+ <span class="fstat-no" title="function not covered" > insertLogicItemInDynamicUsersAt(</span>options: string | Partial&lt;LogicItem&gt; | LogicItem, index: number) {
1736
+ const node = <span class="cstat-no" title="statement not covered" >this._insertLogicItemInDynamicUsersAt(options as any, index);</span>
1737
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1738
+ index,
1739
+ parentNode: this,
1740
+ parentKey: 'dynamicUsers',
1741
+ });
1742
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1743
+ }
1744
+ &nbsp;
1745
+ /**
1746
+ * 添加逻辑项
1747
+ * @internal
1748
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
1749
+ */
1750
+ _addLogicItemInDynamicUsers(name?: string): LogicItem;
1751
+ &nbsp;
1752
+ /**
1753
+ * 添加逻辑项
1754
+ * @internal
1755
+ * @param logicItemOptions 逻辑项参数
1756
+ */
1757
+ _addLogicItemInDynamicUsers(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
1758
+ &nbsp;
1759
+ /**
1760
+ * 添加逻辑项
1761
+ * @internal
1762
+ * @param logicItem 已有的逻辑项实例
1763
+ */
1764
+ _addLogicItemInDynamicUsers(logicItem: LogicItem): LogicItem;
1765
+ &nbsp;
1766
+ <span class="fstat-no" title="function not covered" > _addLogicItemInDynamicUsers(</span>options?: string | Partial&lt;LogicItem&gt; | LogicItem) {
1767
+ const index = <span class="cstat-no" title="statement not covered" >this.dynamicUsers.length;</span>
1768
+ <span class="cstat-no" title="statement not covered" > return this._insertLogicItemInDynamicUsersAt(options as any, index);</span>
1769
+ }
1770
+ &nbsp;
1771
+ /**
1772
+ * 添加逻辑项
1773
+ * @internal
1774
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
1775
+ */
1776
+ addLogicItemInDynamicUsers(name?: string): LogicItem;
1777
+ &nbsp;
1778
+ /**
1779
+ * 添加逻辑项
1780
+ * @param logicItemOptions 逻辑项参数
1781
+ */
1782
+ addLogicItemInDynamicUsers(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
1783
+ &nbsp;
1784
+ /**
1785
+ * 添加逻辑项
1786
+ * @param logicItem 已有的逻辑项实例
1787
+ */
1788
+ addLogicItemInDynamicUsers(logicItem: LogicItem): LogicItem;
1789
+ &nbsp;
1790
+ <span class="fstat-no" title="function not covered" > addLogicItemInDynamicUsers(</span>options?: string | Partial&lt;LogicItem&gt; | LogicItem) {
1791
+ const node = <span class="cstat-no" title="statement not covered" >this._addLogicItemInDynamicUsers(options as any);</span>
1792
+ const index = <span class="cstat-no" title="statement not covered" >this.dynamicUsers.indexOf(node);</span>
1793
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1794
+ index,
1795
+ parentNode: this,
1796
+ parentKey: 'dynamicUsers',
1797
+ });
1798
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1799
+ }
1800
+ &nbsp;
1801
+ /**
1802
+ * 插入逻辑项
1803
+ * @internal
1804
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
1805
+ */
1806
+ _insertLogicItemInDynamicRolesAt(name: string, index: number): LogicItem;
1807
+ &nbsp;
1808
+ /**
1809
+ * 插入逻辑项
1810
+ * @internal
1811
+ * @param logicItemOptions 逻辑项参数
1812
+ */
1813
+ _insertLogicItemInDynamicRolesAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
1814
+ &nbsp;
1815
+ /**
1816
+ * 插入逻辑项
1817
+ * @internal
1818
+ * @param logicItem 已有的逻辑项实例
1819
+ */
1820
+ _insertLogicItemInDynamicRolesAt(logicItem: LogicItem, index: number): LogicItem;
1821
+ &nbsp;
1822
+ <span class="fstat-no" title="function not covered" > _insertLogicItemInDynamicRolesAt(</span>options: string | Partial&lt;LogicItem&gt; | LogicItem, index: number) {
1823
+ const logicItemOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
1824
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'dynamicRoles' };</span>
1825
+ let logicItem: LogicItem;
1826
+ <span class="cstat-no" title="statement not covered" > if (!options) {</span>
1827
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
1828
+ {
1829
+ ...logicItemOptions,
1830
+ name: this.getLogicItemUniqueName(),
1831
+ },
1832
+ this,
1833
+ 'dynamicRoles',
1834
+ );
1835
+ } else <span class="cstat-no" title="statement not covered" >if (typeof options === 'string') {</span>
1836
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
1837
+ {
1838
+ ...logicItemOptions,
1839
+ name: options,
1840
+ },
1841
+ this,
1842
+ 'dynamicRoles',
1843
+ );
1844
+ } else <span class="cstat-no" title="statement not covered" >if (options instanceof LogicItem) {</span>
1845
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
1846
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
1847
+ <span class="cstat-no" title="statement not covered" > Object.assign(logicItem, relationOptions);</span>
1848
+ } else {
1849
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
1850
+ {
1851
+ ...logicItemOptions,
1852
+ ...options,
1853
+ },
1854
+ this,
1855
+ 'dynamicRoles',
1856
+ );
1857
+ }
1858
+ <span class="cstat-no" title="statement not covered" > this.dynamicRoles.splice(index, 0, logicItem);</span>
1859
+ <span class="cstat-no" title="statement not covered" > return logicItem;</span>
1860
+ }
1861
+ &nbsp;
1862
+ /**
1863
+ * 插入逻辑项
1864
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
1865
+ */
1866
+ insertLogicItemInDynamicRolesAt(name: string, index: number): LogicItem;
1867
+ &nbsp;
1868
+ /**
1869
+ * 插入逻辑项
1870
+ * @param logicItemOptions 逻辑项参数
1871
+ */
1872
+ insertLogicItemInDynamicRolesAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
1873
+ &nbsp;
1874
+ /**
1875
+ * 插入逻辑项
1876
+ * @param logicItem 已有的逻辑项实例
1877
+ */
1878
+ insertLogicItemInDynamicRolesAt(logicItem: LogicItem, index: number): LogicItem;
1879
+ &nbsp;
1880
+ <span class="fstat-no" title="function not covered" > insertLogicItemInDynamicRolesAt(</span>options: string | Partial&lt;LogicItem&gt; | LogicItem, index: number) {
1881
+ const node = <span class="cstat-no" title="statement not covered" >this._insertLogicItemInDynamicRolesAt(options as any, index);</span>
1882
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1883
+ index,
1884
+ parentNode: this,
1885
+ parentKey: 'dynamicRoles',
1886
+ });
1887
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1888
+ }
1889
+ &nbsp;
1890
+ /**
1891
+ * 添加逻辑项
1892
+ * @internal
1893
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
1894
+ */
1895
+ _addLogicItemInDynamicRoles(name?: string): LogicItem;
1896
+ &nbsp;
1897
+ /**
1898
+ * 添加逻辑项
1899
+ * @internal
1900
+ * @param logicItemOptions 逻辑项参数
1901
+ */
1902
+ _addLogicItemInDynamicRoles(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
1903
+ &nbsp;
1904
+ /**
1905
+ * 添加逻辑项
1906
+ * @internal
1907
+ * @param logicItem 已有的逻辑项实例
1908
+ */
1909
+ _addLogicItemInDynamicRoles(logicItem: LogicItem): LogicItem;
1910
+ &nbsp;
1911
+ <span class="fstat-no" title="function not covered" > _addLogicItemInDynamicRoles(</span>options?: string | Partial&lt;LogicItem&gt; | LogicItem) {
1912
+ const index = <span class="cstat-no" title="statement not covered" >this.dynamicRoles.length;</span>
1913
+ <span class="cstat-no" title="statement not covered" > return this._insertLogicItemInDynamicRolesAt(options as any, index);</span>
1914
+ }
1915
+ &nbsp;
1916
+ /**
1917
+ * 添加逻辑项
1918
+ * @internal
1919
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
1920
+ */
1921
+ addLogicItemInDynamicRoles(name?: string): LogicItem;
1922
+ &nbsp;
1923
+ /**
1924
+ * 添加逻辑项
1925
+ * @param logicItemOptions 逻辑项参数
1926
+ */
1927
+ addLogicItemInDynamicRoles(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
1928
+ &nbsp;
1929
+ /**
1930
+ * 添加逻辑项
1931
+ * @param logicItem 已有的逻辑项实例
1932
+ */
1933
+ addLogicItemInDynamicRoles(logicItem: LogicItem): LogicItem;
1934
+ &nbsp;
1935
+ <span class="fstat-no" title="function not covered" > addLogicItemInDynamicRoles(</span>options?: string | Partial&lt;LogicItem&gt; | LogicItem) {
1936
+ const node = <span class="cstat-no" title="statement not covered" >this._addLogicItemInDynamicRoles(options as any);</span>
1937
+ const index = <span class="cstat-no" title="statement not covered" >this.dynamicRoles.indexOf(node);</span>
1938
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1939
+ index,
1940
+ parentNode: this,
1941
+ parentKey: 'dynamicRoles',
1942
+ });
1943
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1944
+ }
1945
+ &nbsp;
1946
+ <span class="fstat-no" title="function not covered" > getLogicExistingNames(</span>excludedList: Array&lt;Logic&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
1947
+ const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
1948
+ <span class="cstat-no" title="statement not covered" > return ((this.logicUsers as Logic[]) || []).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>
1949
+ }
1950
+ <span class="fstat-no" title="function not covered" > getLogicUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'logic1')</span> {
1951
+ <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getLogicExistingNames(), undefined, false);</span>
1952
+ }
1953
+ &nbsp;
1954
+ /**
1955
+ * 插入逻辑
1956
+ * @internal
1957
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
1958
+ */
1959
+ _insertLogicAt(name: string, index: number): Logic;
1960
+ &nbsp;
1961
+ /**
1962
+ * 插入逻辑
1963
+ * @internal
1964
+ * @param logicOptions 逻辑参数
1965
+ */
1966
+ _insertLogicAt(logicOptions: Partial&lt;Logic&gt;, index: number): Logic;
1967
+ &nbsp;
1968
+ /**
1969
+ * 插入逻辑
1970
+ * @internal
1971
+ * @param logic 已有的逻辑实例
1972
+ */
1973
+ _insertLogicAt(logic: Logic, index: number): Logic;
1974
+ &nbsp;
1975
+ <span class="fstat-no" title="function not covered" > _insertLogicAt(</span>options: string | Partial&lt;Logic&gt; | Logic, index: number) {
1976
+ const logicOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
1977
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'logicUsers' };</span>
1978
+ let logic: Logic;
1979
+ <span class="cstat-no" title="statement not covered" > if (!options) {</span>
1980
+ <span class="cstat-no" title="statement not covered" > logic = Logic.from(</span>
1981
+ {
1982
+ ...logicOptions,
1983
+ name: this.getLogicUniqueName(),
1984
+ },
1985
+ this,
1986
+ 'logicUsers',
1987
+ );
1988
+ } else <span class="cstat-no" title="statement not covered" >if (typeof options === 'string') {</span>
1989
+ <span class="cstat-no" title="statement not covered" > logic = Logic.from(</span>
1990
+ {
1991
+ ...logicOptions,
1992
+ name: options,
1993
+ },
1994
+ this,
1995
+ 'logicUsers',
1996
+ );
1997
+ } else <span class="cstat-no" title="statement not covered" >if (options instanceof Logic) {</span>
1998
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
1999
+ <span class="cstat-no" title="statement not covered" > logic = options;</span>
2000
+ <span class="cstat-no" title="statement not covered" > Object.assign(logic, relationOptions);</span>
2001
+ } else {
2002
+ <span class="cstat-no" title="statement not covered" > logic = Logic.from(</span>
2003
+ {
2004
+ ...logicOptions,
2005
+ ...options,
2006
+ },
2007
+ this,
2008
+ 'logicUsers',
2009
+ );
2010
+ }
2011
+ <span class="cstat-no" title="statement not covered" > this.logicUsers.splice(index, 0, logic);</span>
2012
+ <span class="cstat-no" title="statement not covered" > return logic;</span>
2013
+ }
2014
+ &nbsp;
2015
+ /**
2016
+ * 插入逻辑
2017
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
2018
+ */
2019
+ insertLogicAt(name: string, index: number): Logic;
2020
+ &nbsp;
2021
+ /**
2022
+ * 插入逻辑
2023
+ * @param logicOptions 逻辑参数
2024
+ */
2025
+ insertLogicAt(logicOptions: Partial&lt;Logic&gt;, index: number): Logic;
2026
+ &nbsp;
2027
+ /**
2028
+ * 插入逻辑
2029
+ * @param logic 已有的逻辑实例
2030
+ */
2031
+ insertLogicAt(logic: Logic, index: number): Logic;
2032
+ &nbsp;
2033
+ <span class="fstat-no" title="function not covered" > insertLogicAt(</span>options: string | Partial&lt;Logic&gt; | Logic, index: number) {
2034
+ const node = <span class="cstat-no" title="statement not covered" >this._insertLogicAt(options as any, index);</span>
2035
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2036
+ index,
2037
+ parentNode: this,
2038
+ parentKey: 'logicUsers',
2039
+ });
2040
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2041
+ }
2042
+ &nbsp;
2043
+ /**
2044
+ * 添加逻辑
2045
+ * @internal
2046
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
2047
+ */
2048
+ _addLogic(name?: string): Logic;
2049
+ &nbsp;
2050
+ /**
2051
+ * 添加逻辑
2052
+ * @internal
2053
+ * @param logicOptions 逻辑参数
2054
+ */
2055
+ _addLogic(logicOptions: Partial&lt;Logic&gt;): Logic;
2056
+ &nbsp;
2057
+ /**
2058
+ * 添加逻辑
2059
+ * @internal
2060
+ * @param logic 已有的逻辑实例
2061
+ */
2062
+ _addLogic(logic: Logic): Logic;
2063
+ &nbsp;
2064
+ <span class="fstat-no" title="function not covered" > _addLogic(</span>options?: string | Partial&lt;Logic&gt; | Logic) {
2065
+ const index = <span class="cstat-no" title="statement not covered" >this.logicUsers.length;</span>
2066
+ <span class="cstat-no" title="statement not covered" > return this._insertLogicAt(options as any, index);</span>
2067
+ }
2068
+ &nbsp;
2069
+ /**
2070
+ * 添加逻辑
2071
+ * @internal
2072
+ * @param name 逻辑名称,如果不填会自动生成一个唯一名称
2073
+ */
2074
+ addLogic(name?: string): Logic;
2075
+ &nbsp;
2076
+ /**
2077
+ * 添加逻辑
2078
+ * @param logicOptions 逻辑参数
2079
+ */
2080
+ addLogic(logicOptions: Partial&lt;Logic&gt;): Logic;
2081
+ &nbsp;
2082
+ /**
2083
+ * 添加逻辑
2084
+ * @param logic 已有的逻辑实例
2085
+ */
2086
+ addLogic(logic: Logic): Logic;
2087
+ &nbsp;
2088
+ <span class="fstat-no" title="function not covered" > addLogic(</span>options?: string | Partial&lt;Logic&gt; | Logic) {
2089
+ const node = <span class="cstat-no" title="statement not covered" >this._addLogic(options as any);</span>
2090
+ const index = <span class="cstat-no" title="statement not covered" >this.logicUsers.indexOf(node);</span>
2091
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2092
+ index,
2093
+ parentNode: this,
2094
+ parentKey: 'logicUsers',
2095
+ });
2096
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2097
+ }
2098
+ &nbsp;
2099
+ /**
2100
+ * 删除逻辑项
2101
+ * @param name 逻辑项名称
2102
+ */
2103
+ removeLogicItemInDynamicUsers(name: string): void;
2104
+ &nbsp;
2105
+ /**
2106
+ * 删除逻辑项
2107
+ * @param logicItem 已有的逻辑项实例
2108
+ */
2109
+ removeLogicItemInDynamicUsers(logicItem: LogicItem): void;
2110
+ &nbsp;
2111
+ <span class="fstat-no" title="function not covered" > removeLogicItemInDynamicUsers(</span>options: string | LogicItem) {
2112
+ let logicItem: LogicItem;
2113
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
2114
+ <span class="cstat-no" title="statement not covered" > logicItem = (this.dynamicUsers 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>
2115
+ <span class="cstat-no" title="statement not covered" > if (!logicItem) {</span>
2116
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到逻辑项 ' + options);</span>
2117
+ }
2118
+ } else {
2119
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
2120
+ }
2121
+ <span class="cstat-no" title="statement not covered" > return logicItem.delete();</span>
2122
+ }
2123
+ &nbsp;
2124
+ /**
2125
+ * 删除逻辑项
2126
+ * @param name 逻辑项名称
2127
+ */
2128
+ removeLogicItemInDynamicRoles(name: string): void;
2129
+ &nbsp;
2130
+ /**
2131
+ * 删除逻辑项
2132
+ * @param logicItem 已有的逻辑项实例
2133
+ */
2134
+ removeLogicItemInDynamicRoles(logicItem: LogicItem): void;
2135
+ &nbsp;
2136
+ <span class="fstat-no" title="function not covered" > removeLogicItemInDynamicRoles(</span>options: string | LogicItem) {
2137
+ let logicItem: LogicItem;
2138
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
2139
+ <span class="cstat-no" title="statement not covered" > logicItem = (this.dynamicRoles 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>
2140
+ <span class="cstat-no" title="statement not covered" > if (!logicItem) {</span>
2141
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到逻辑项 ' + options);</span>
2142
+ }
2143
+ } else {
2144
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
2145
+ }
2146
+ <span class="cstat-no" title="statement not covered" > return logicItem.delete();</span>
2147
+ }
2148
+ &nbsp;
2149
+ <span class="fstat-no" title="function not covered" > __removeLogicItem(</span>logicItem: LogicItem) {
2150
+ const parentKey = <span class="cstat-no" title="statement not covered" >logicItem.parentKey;</span>
2151
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
2152
+ parentNode: this,
2153
+ parentKey,
2154
+ index: -1,
2155
+ object: null,
2156
+ oldObject: logicItem,
2157
+ };
2158
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
2159
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
2160
+ // @ts-ignore
2161
+ const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
2162
+ // @ts-ignore
2163
+ const n = <span class="cstat-no" title="statement not covered" >logicItem.__v_raw || logicItem;</span>
2164
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
2165
+ // @ts-ignore
2166
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
2167
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
2168
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
2169
+ } else {
2170
+ const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
2171
+ <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
2172
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
2173
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
2174
+ }
2175
+ }
2176
+ }
2177
+ <span class="cstat-no" title="statement not covered" > return params;</span>
2178
+ }
2179
+ &nbsp;
2180
+ /**
2181
+ * 删除逻辑
2182
+ * @param name 逻辑名称
2183
+ */
2184
+ removeLogic(name: string): void;
2185
+ &nbsp;
2186
+ /**
2187
+ * 删除逻辑
2188
+ * @param logic 已有的逻辑实例
2189
+ */
2190
+ removeLogic(logic: Logic): void;
2191
+ &nbsp;
2192
+ <span class="fstat-no" title="function not covered" > removeLogic(</span>options: string | Logic) {
2193
+ let logic: Logic;
2194
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
2195
+ <span class="cstat-no" title="statement not covered" > logic = (this.logicUsers as Logic[]).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>
2196
+ <span class="cstat-no" title="statement not covered" > if (!logic) {</span>
2197
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到逻辑 ' + options);</span>
2198
+ }
2199
+ } else {
2200
+ <span class="cstat-no" title="statement not covered" > logic = options;</span>
2201
+ }
2202
+ <span class="cstat-no" title="statement not covered" > return logic.delete();</span>
2203
+ }
2204
+ &nbsp;
2205
+ <span class="fstat-no" title="function not covered" > __removeLogic(</span>logic: Logic) {
2206
+ const parentKey = <span class="cstat-no" title="statement not covered" >logic.parentKey;</span>
2207
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
2208
+ parentNode: this,
2209
+ parentKey,
2210
+ index: -1,
2211
+ object: null,
2212
+ oldObject: logic,
2213
+ };
2214
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
2215
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
2216
+ // @ts-ignore
2217
+ const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
2218
+ // @ts-ignore
2219
+ const n = <span class="cstat-no" title="statement not covered" >logic.__v_raw || logic;</span>
2220
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
2221
+ // @ts-ignore
2222
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
2223
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
2224
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
2225
+ } else {
2226
+ const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
2227
+ <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
2228
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
2229
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
2230
+ }
2231
+ }
2232
+ }
2233
+ <span class="cstat-no" title="statement not covered" > return params;</span>
2234
+ }
2235
+ &nbsp;
2236
+ //================================================================================
2237
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
2238
+ // 自动生成的代码已结束。下面可以手动编写。
2239
+ //================================================================================
2240
+ /**
2241
+ * 祖先 ProcessElement
2242
+ */
2243
+ <span class="fstat-no" title="function not covered" > get p</span>rocessElement() {
2244
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('ProcessElement') as ProcessElement;</span>
2245
+ }
2246
+ &nbsp;
2247
+ /**
2248
+ * 祖先 Process
2249
+ */
2250
+ <span class="fstat-no" title="function not covered" > get p</span>rocess() {
2251
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('Process') as Process;</span>
2252
+ }
2253
+ &nbsp;
2254
+ <span class="fstat-no" title="function not covered" > getNamespace(</span>ns: string) {
2255
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode &amp;&amp; (this.parentNode as Namespace).getNamespace) {</span>
2256
+ const parentNamespace = (<span class="cstat-no" title="statement not covered" >this.parentNode as Namespace).getNamespace();</span>
2257
+ const parentName = <span class="cstat-no" title="statement not covered" >this.parentNode.name;</span>
2258
+ const arr = <span class="cstat-no" title="statement not covered" >[parentNamespace];</span>
2259
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode.concept !== 'App' &amp;&amp; parentName) {</span>
2260
+ <span class="cstat-no" title="statement not covered" > arr.push(parentName);</span>
2261
+ }
2262
+ <span class="cstat-no" title="statement not covered" > return `${arr.join('.')}.${ns || 'assignee'}`;</span>
2263
+ }
2264
+ <span class="cstat-no" title="statement not covered" > throw new Error('无法获取命名空间,请设置 parentNode!');</span>
2265
+ }
2266
+ &nbsp;
2267
+ @withSourceMapGenerator
2268
+ <span class="fstat-no" title="function not covered" > *t</span>oEmbeddedTSInProcess(state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState(),</span> prevCode: string): TranslatorGenerator {
2269
+ const self = <span class="cstat-no" title="statement not covered" >this;</span>
2270
+ const tab = <span class="cstat-no" title="statement not covered" >indent(state?.tabSize || 0);</span>
2271
+ &nbsp;
2272
+ // 任务完成人拿不到自己任务下的输出参数,所以不需要__ProcessIdentification__标注
2273
+ <span class="cstat-no" title="statement not covered" > prevCode = prevCode.replace('__ProcessIdentification__', '');</span>
2274
+ let code = <span class="cstat-no" title="statement not covered" >prevCode;</span>
2275
+ <span class="cstat-no" title="statement not covered" > if (!self.users.length &amp;&amp; !self.dynamicUsers.length &amp;&amp; !self.logicUsers.length &amp;&amp; !self.roles.length)</span>
2276
+ <span class="cstat-no" title="statement not covered" > code += `${tab}__UsersEmpty__;\n`;</span>
2277
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(self.logicUsers)) {</span>
2278
+ <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.logicUsers, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>logic) {</span>
2279
+ <span class="cstat-no" title="statement not covered" > code += `${yield* logic.toEmbeddedTSInProcess(</span>
2280
+ shiftState(state, code, { tabSize: state?.tabSize || 0 }),
2281
+ prevCode,
2282
+ false,
2283
+ true,
2284
+ )}\n`;
2285
+ });
2286
+ }
2287
+ <span class="cstat-no" title="statement not covered" > code += `${tab}nasl.util.concatString(`;</span>
2288
+ <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.dynamicUsers, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>u, index) {</span>
2289
+ <span class="cstat-no" title="statement not covered" > code += yield* u.toEmbeddedTS(shiftState(state, code));</span>
2290
+ <span class="cstat-no" title="statement not covered" > if (index + 1 &lt; self.dynamicUsers.length) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
2291
+ });
2292
+ <span class="cstat-no" title="statement not covered" > code += ')\n';</span>
2293
+ // code += `${this.dynamicUsers.map(u =&gt; u.toEmbeddedTS(shiftState(state, code))).join(',\n')})\n`;
2294
+ <span class="cstat-no" title="statement not covered" > return code;</span>
2295
+ }
2296
+ //================================================================================
2297
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
2298
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
2299
+ //================================================================================
2300
+ }
2301
+ &nbsp;
2302
+ export default Assignee;
2303
+ //================================================================================
2304
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
2305
+ // 自动生成的代码已结束。下面可以手动编写。
2306
+ //================================================================================
2307
+ &nbsp;</pre></td></tr></table></pre>
2308
+
2309
+ <div class='push'></div><!-- for sticky footer -->
2310
+ </div><!-- /wrapper -->
2311
+ <div class='footer quiet pad2 space-top1 center small'>
2312
+ Code coverage generated by
2313
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2314
+ at 2023-12-14T04:42:19.254Z
2315
+ </div>
2316
+ <script src="../../prettify.js"></script>
2317
+ <script>
2318
+ window.onload = function () {
2319
+ prettyPrint();
2320
+ };
2321
+ </script>
2322
+ <script src="../../sorter.js"></script>
2323
+ <script src="../../block-navigation.js"></script>
2324
+ </body>
2325
+ </html>
2326
+