@lcap/nasl 3.3.0-beta.2 → 3.3.2-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nyc_output/d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json +1 -0
- package/.nyc_output/processinfo/d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +461 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +196 -0
- package/coverage/src/automate/engine/index.html +116 -0
- package/coverage/src/automate/engine/utils.js.html +1414 -0
- package/coverage/src/bak/index.html +116 -0
- package/coverage/src/bak/translator.js.html +622 -0
- package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +175 -0
- package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +169 -0
- package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1246 -0
- package/coverage/src/breakpoint/generator/CallbackNode.ts.html +145 -0
- package/coverage/src/breakpoint/generator/index.html +176 -0
- package/coverage/src/breakpoint/generator/index.ts.html +508 -0
- package/coverage/src/breakpoint/index.html +116 -0
- package/coverage/src/breakpoint/index.ts.html +94 -0
- package/coverage/src/breakpoint/shared/constants.ts.html +436 -0
- package/coverage/src/breakpoint/shared/index.html +176 -0
- package/coverage/src/breakpoint/shared/index.ts.html +94 -0
- package/coverage/src/breakpoint/shared/operations.ts.html +160 -0
- package/coverage/src/breakpoint/shared/socket.ts.html +1297 -0
- package/coverage/src/breakpoint/shared/utils.ts.html +1087 -0
- package/coverage/src/breakpoint/store/core.ts.html +1600 -0
- package/coverage/src/breakpoint/store/dock.ts.html +733 -0
- package/coverage/src/breakpoint/store/index.html +146 -0
- package/coverage/src/breakpoint/store/index.ts.html +91 -0
- package/coverage/src/common/BaseNode.ts.html +3874 -0
- package/coverage/src/common/Command.ts.html +310 -0
- package/coverage/src/common/EventEmitter.ts.html +370 -0
- package/coverage/src/common/Messager.ts.html +820 -0
- package/coverage/src/common/asyncFuncMap.ts.html +127 -0
- package/coverage/src/common/index.html +191 -0
- package/coverage/src/common/index.ts.html +94 -0
- package/coverage/src/concepts/Abort__.ts.html +328 -0
- package/coverage/src/concepts/Anchor__.ts.html +646 -0
- package/coverage/src/concepts/AnonymousFunction__.ts.html +2029 -0
- package/coverage/src/concepts/App__.ts.html +13252 -0
- package/coverage/src/concepts/Argument__.ts.html +964 -0
- package/coverage/src/concepts/Assignee__.ts.html +2236 -0
- package/coverage/src/concepts/AssignmentLine__.ts.html +409 -0
- package/coverage/src/concepts/Assignment__.ts.html +1123 -0
- package/coverage/src/concepts/Attribute__.ts.html +733 -0
- package/coverage/src/concepts/AuthInterface__.ts.html +367 -0
- package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +1984 -0
- package/coverage/src/concepts/AuthLogic__.ts.html +781 -0
- package/coverage/src/concepts/BackendVariable__.ts.html +1483 -0
- package/coverage/src/concepts/Backend__.ts.html +1165 -0
- package/coverage/src/concepts/BatchAssignment__.ts.html +3301 -0
- package/coverage/src/concepts/BinaryExpression__.ts.html +1441 -0
- package/coverage/src/concepts/BindAttribute__.ts.html +3835 -0
- package/coverage/src/concepts/BindDirective__.ts.html +1921 -0
- package/coverage/src/concepts/BindEvent__.ts.html +3406 -0
- package/coverage/src/concepts/BindStyle__.ts.html +1612 -0
- package/coverage/src/concepts/BooleanLiteral__.ts.html +418 -0
- package/coverage/src/concepts/CallAuthInterface__.ts.html +1615 -0
- package/coverage/src/concepts/CallConnector__.ts.html +922 -0
- package/coverage/src/concepts/CallFunction__.ts.html +2122 -0
- package/coverage/src/concepts/CallInterface__.ts.html +2719 -0
- package/coverage/src/concepts/CallLogic__.ts.html +4807 -0
- package/coverage/src/concepts/CallQueryComponent__.ts.html +5308 -0
- package/coverage/src/concepts/Comment__.ts.html +394 -0
- package/coverage/src/concepts/CompletionProperty__.ts.html +925 -0
- package/coverage/src/concepts/ConfigGroup__.ts.html +1105 -0
- package/coverage/src/concepts/ConfigPropertyValue__.ts.html +424 -0
- package/coverage/src/concepts/ConfigProperty__.ts.html +1348 -0
- package/coverage/src/concepts/Configuration__.ts.html +1027 -0
- package/coverage/src/concepts/Connection__.ts.html +1360 -0
- package/coverage/src/concepts/ConnectorTrigger__.ts.html +595 -0
- package/coverage/src/concepts/Connector__.ts.html +4255 -0
- package/coverage/src/concepts/Constant__.ts.html +913 -0
- package/coverage/src/concepts/DataSource__.ts.html +1771 -0
- package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +331 -0
- package/coverage/src/concepts/Destination__.ts.html +2731 -0
- package/coverage/src/concepts/End__.ts.html +433 -0
- package/coverage/src/concepts/EntityIndex__.ts.html +787 -0
- package/coverage/src/concepts/EntityProperty__.ts.html +2668 -0
- package/coverage/src/concepts/Entity__.ts.html +2950 -0
- package/coverage/src/concepts/EnumItem__.ts.html +550 -0
- package/coverage/src/concepts/Enum__.ts.html +1231 -0
- package/coverage/src/concepts/Event__.ts.html +1084 -0
- package/coverage/src/concepts/ExternalDestination__.ts.html +1033 -0
- package/coverage/src/concepts/ForEachStatement__.ts.html +1957 -0
- package/coverage/src/concepts/FrontendLibrary__.ts.html +1711 -0
- package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
- package/coverage/src/concepts/Frontend__.ts.html +3961 -0
- package/coverage/src/concepts/Function__.ts.html +3598 -0
- package/coverage/src/concepts/Identifier__.ts.html +1057 -0
- package/coverage/src/concepts/IfStatement__.ts.html +1594 -0
- package/coverage/src/concepts/Integration__.ts.html +1228 -0
- package/coverage/src/concepts/InterfaceParam__.ts.html +1087 -0
- package/coverage/src/concepts/Interface__.ts.html +3394 -0
- package/coverage/src/concepts/JSBlock__.ts.html +421 -0
- package/coverage/src/concepts/JavaLogic__.ts.html +460 -0
- package/coverage/src/concepts/LogicItem__.ts.html +1171 -0
- package/coverage/src/concepts/Logic__.ts.html +7408 -0
- package/coverage/src/concepts/MatchCase__.ts.html +2929 -0
- package/coverage/src/concepts/Match__.ts.html +2455 -0
- package/coverage/src/concepts/MemberExpression__.ts.html +1726 -0
- package/coverage/src/concepts/MicroApp__.ts.html +436 -0
- package/coverage/src/concepts/Module__.ts.html +9220 -0
- package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1045 -0
- package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1018 -0
- package/coverage/src/concepts/Namespace__.ts.html +7942 -0
- package/coverage/src/concepts/NewComposite__.ts.html +4729 -0
- package/coverage/src/concepts/NewList__.ts.html +1618 -0
- package/coverage/src/concepts/NewMap__.ts.html +2326 -0
- package/coverage/src/concepts/New__.ts.html +289 -0
- package/coverage/src/concepts/NullLiteral__.ts.html +349 -0
- package/coverage/src/concepts/NumericLiteral__.ts.html +676 -0
- package/coverage/src/concepts/OqlQueryComponent__.ts.html +1141 -0
- package/coverage/src/concepts/OverriddenLogic__.ts.html +6817 -0
- package/coverage/src/concepts/Param__.ts.html +1726 -0
- package/coverage/src/concepts/Point__.ts.html +331 -0
- package/coverage/src/concepts/ProcessComponent__.ts.html +1666 -0
- package/coverage/src/concepts/ProcessElement__.ts.html +5884 -0
- package/coverage/src/concepts/ProcessOutcome__.ts.html +352 -0
- package/coverage/src/concepts/ProcessOutcomes__.ts.html +343 -0
- package/coverage/src/concepts/Process__.ts.html +4768 -0
- package/coverage/src/concepts/QueryAggregateExpression__.ts.html +568 -0
- package/coverage/src/concepts/QueryFieldExpression__.ts.html +583 -0
- package/coverage/src/concepts/QueryFromExpression__.ts.html +910 -0
- package/coverage/src/concepts/QueryGroupByExpression__.ts.html +559 -0
- package/coverage/src/concepts/QueryJoinExpression__.ts.html +1567 -0
- package/coverage/src/concepts/QueryLimitExpression__.ts.html +637 -0
- package/coverage/src/concepts/QueryOrderByExpression__.ts.html +679 -0
- package/coverage/src/concepts/QuerySelectExpression__.ts.html +1714 -0
- package/coverage/src/concepts/Rect__.ts.html +373 -0
- package/coverage/src/concepts/Return__.ts.html +1312 -0
- package/coverage/src/concepts/Role__.ts.html +601 -0
- package/coverage/src/concepts/SelectMembers__.ts.html +1246 -0
- package/coverage/src/concepts/Slot__.ts.html +628 -0
- package/coverage/src/concepts/SqlQueryComponent__.ts.html +982 -0
- package/coverage/src/concepts/Start__.ts.html +304 -0
- package/coverage/src/concepts/StringInterpolation__.ts.html +1129 -0
- package/coverage/src/concepts/StringLiteral__.ts.html +505 -0
- package/coverage/src/concepts/StructureProperty__.ts.html +1132 -0
- package/coverage/src/concepts/Structure__.ts.html +2092 -0
- package/coverage/src/concepts/SwitchCase__.ts.html +1174 -0
- package/coverage/src/concepts/SwitchStatement__.ts.html +877 -0
- package/coverage/src/concepts/Theme__.ts.html +358 -0
- package/coverage/src/concepts/Transactional__.ts.html +628 -0
- package/coverage/src/concepts/TriggerEvent__.ts.html +1012 -0
- package/coverage/src/concepts/TriggerLauncher__.ts.html +775 -0
- package/coverage/src/concepts/TypeAnnotation__.ts.html +3718 -0
- package/coverage/src/concepts/TypeParam__.ts.html +319 -0
- package/coverage/src/concepts/UnaryExpression__.ts.html +697 -0
- package/coverage/src/concepts/Unparsed__.ts.html +394 -0
- package/coverage/src/concepts/UseComponent__.ts.html +331 -0
- package/coverage/src/concepts/ValidationRule__.ts.html +1840 -0
- package/coverage/src/concepts/Variable__.ts.html +1489 -0
- package/coverage/src/concepts/ViewBlock__.ts.html +352 -0
- package/coverage/src/concepts/ViewComponent__.ts.html +4180 -0
- package/coverage/src/concepts/ViewElement__.ts.html +8803 -0
- package/coverage/src/concepts/View__.ts.html +8620 -0
- package/coverage/src/concepts/WhileStatement__.ts.html +1063 -0
- package/coverage/src/concepts/basics/stdlib/index.html +356 -0
- package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
- package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
- package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
- package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
- package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
- package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
- package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
- package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
- package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
- package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
- package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
- package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
- package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
- package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6844 -0
- package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
- package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
- package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
- package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
- package/coverage/src/concepts/basics/types/index.html +131 -0
- package/coverage/src/concepts/basics/types/index.ts.html +160 -0
- package/coverage/src/concepts/index.html +1961 -0
- package/coverage/src/concepts/index.ts.html +103 -0
- package/coverage/src/concepts/index__.ts.html +451 -0
- package/coverage/src/config.ts.html +325 -0
- package/coverage/src/decorators/index.html +131 -0
- package/coverage/src/decorators/index.ts.html +574 -0
- package/coverage/src/decorators/promise.ts.html +169 -0
- package/coverage/src/eventBus.ts.html +100 -0
- package/coverage/src/generator/compileComponent.ts.html +142 -0
- package/coverage/src/generator/genBundleFiles.ts.html +1828 -0
- package/coverage/src/generator/genHash.ts.html +124 -0
- package/coverage/src/generator/genMetaData.ts.html +1042 -0
- package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
- package/coverage/src/generator/icestark.ts.html +220 -0
- package/coverage/src/generator/index.html +266 -0
- package/coverage/src/generator/index.ts.html +106 -0
- package/coverage/src/generator/microApp.ts.html +172 -0
- package/coverage/src/generator/permission.ts.html +1036 -0
- package/coverage/src/generator/qiankun.ts.html +232 -0
- package/coverage/src/generator/styleReplacer.ts.html +199 -0
- package/coverage/src/index.html +146 -0
- package/coverage/src/index.ts.html +121 -0
- package/coverage/src/manager/diagnostic.ts.html +442 -0
- package/coverage/src/manager/index.html +131 -0
- package/coverage/src/manager/stepRecorder.ts.html +457 -0
- package/coverage/src/natural/genNaturalTS.ts.html +355 -0
- package/coverage/src/natural/index.html +161 -0
- package/coverage/src/natural/index.ts.html +91 -0
- package/coverage/src/natural/naslStdlibMap.ts.html +157 -0
- package/coverage/src/natural/transformTSCode.ts.html +2647 -0
- package/coverage/src/sentry/index.html +116 -0
- package/coverage/src/sentry/index.ts.html +676 -0
- package/coverage/src/server/createUiTs.ts.html +910 -0
- package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
- package/coverage/src/server/event.js.html +526 -0
- package/coverage/src/server/extendBaseNode.ts.html +1762 -0
- package/coverage/src/server/formatTsUtils.ts.html +2689 -0
- package/coverage/src/server/getConnector.ts.html +316 -0
- package/coverage/src/server/getExtensionModules.ts.html +178 -0
- package/coverage/src/server/getFunctions.ts.html +133 -0
- package/coverage/src/server/getInterfaces.ts.html +229 -0
- package/coverage/src/server/getLogging.ts.html +100 -0
- package/coverage/src/server/getLogics.ts.html +1363 -0
- package/coverage/src/server/getMemberIdentifier.ts.html +1561 -0
- package/coverage/src/server/getProcessComponents.ts.html +112 -0
- package/coverage/src/server/getProcesses.ts.html +2023 -0
- package/coverage/src/server/getValidates.ts.html +115 -0
- package/coverage/src/server/index.html +401 -0
- package/coverage/src/server/index.ts.html +229 -0
- package/coverage/src/server/naslServer.ts.html +14401 -0
- package/coverage/src/server/naslStdlibMap.ts.html +241 -0
- package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
- package/coverage/src/server/translator.ts.html +2566 -0
- package/coverage/src/service/creator/add.configs.js.html +379 -0
- package/coverage/src/service/creator/errHandles.js.html +322 -0
- package/coverage/src/service/creator/index.html +146 -0
- package/coverage/src/service/creator/index.js.html +352 -0
- package/coverage/src/service/datasource/api.js.html +118 -0
- package/coverage/src/service/datasource/index.html +131 -0
- package/coverage/src/service/datasource/index.js.html +103 -0
- package/coverage/src/service/logic/api.js.html +109 -0
- package/coverage/src/service/logic/index.html +131 -0
- package/coverage/src/service/logic/index.js.html +103 -0
- package/coverage/src/service/storage/api.js.html +202 -0
- package/coverage/src/service/storage/index.html +206 -0
- package/coverage/src/service/storage/index.ts.html +103 -0
- package/coverage/src/service/storage/init.ts.html +2761 -0
- package/coverage/src/service/storage/jsoner.ts.html +502 -0
- package/coverage/src/service/storage/map.ts.html +256 -0
- package/coverage/src/service/storage/service.ts.html +331 -0
- package/coverage/src/service/storage/storagePoint.ts.html +304 -0
- package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
- package/coverage/src/templator/genCreateBlock.ts.html +1093 -0
- package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
- package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2254 -0
- package/coverage/src/templator/genEditTableBlock.ts.html +955 -0
- package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
- package/coverage/src/templator/genGetBlock.ts.html +451 -0
- package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
- package/coverage/src/templator/genListViewBlock.ts.html +475 -0
- package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
- package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
- package/coverage/src/templator/genTableBlock.ts.html +910 -0
- package/coverage/src/templator/genUpdateBlock.ts.html +1192 -0
- package/coverage/src/templator/index.html +326 -0
- package/coverage/src/templator/index.ts.html +154 -0
- package/coverage/src/templator/utils.ts.html +1861 -0
- package/coverage/src/translator/constant.ts.html +106 -0
- package/coverage/src/translator/index.html +146 -0
- package/coverage/src/translator/index.ts.html +94 -0
- package/coverage/src/translator/utils.ts.html +436 -0
- package/coverage/src/utils/cookie.ts.html +265 -0
- package/coverage/src/utils/env.ts.html +91 -0
- package/coverage/src/utils/index.html +236 -0
- package/coverage/src/utils/index.ts.html +655 -0
- package/coverage/src/utils/logger.ts.html +145 -0
- package/coverage/src/utils/sortTsString.ts.html +187 -0
- package/coverage/src/utils/string.ts.html +400 -0
- package/coverage/src/utils/time-slicing.ts.html +418 -0
- package/coverage/src/utils/traverse.ts.html +568 -0
- package/coverage/src/utils/window.ts.html +112 -0
- package/out/bak/translator.js +16 -18
- package/out/bak/translator.js.map +1 -1
- package/out/breakpoint/generator/BreakpointNode.js +1 -0
- package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
- package/out/breakpoint/shared/constants.d.ts +2 -0
- package/out/breakpoint/shared/constants.js +3 -1
- package/out/breakpoint/shared/constants.js.map +1 -1
- package/out/breakpoint/shared/socket.d.ts +1 -0
- package/out/breakpoint/shared/socket.js +35 -17
- package/out/breakpoint/shared/socket.js.map +1 -1
- package/out/breakpoint/shared/utils.js +33 -1
- package/out/breakpoint/shared/utils.js.map +1 -1
- package/out/breakpoint/store/core.d.ts +2 -0
- package/out/breakpoint/store/core.js +5 -3
- package/out/breakpoint/store/core.js.map +1 -1
- package/out/breakpoint/store/dock.js +33 -0
- package/out/breakpoint/store/dock.js.map +1 -1
- package/out/concepts/AuthLogicForCallInterface__.js +2 -1
- package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
- package/out/concepts/BinaryExpression__.js +5 -5
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/BindAttribute__.js +3 -3
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/CallConnector__.d.ts +2 -0
- package/out/concepts/CallConnector__.js +17 -1
- package/out/concepts/CallConnector__.js.map +1 -1
- package/out/concepts/CallFunction__.js +31 -24
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallLogic__.js +53 -46
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/Connection__.js +1 -1
- package/out/concepts/Connection__.js.map +1 -1
- package/out/concepts/ForEachStatement__.d.ts +1 -20
- package/out/concepts/ForEachStatement__.js +16 -14
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/IfStatement__.js +24 -25
- package/out/concepts/IfStatement__.js.map +1 -1
- package/out/concepts/Logic__.js +8 -20
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MatchCase__.js +12 -7
- package/out/concepts/MatchCase__.js.map +1 -1
- package/out/concepts/MemberExpression__.js +11 -14
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/NewComposite__.d.ts +1 -1
- package/out/concepts/NewComposite__.js +11 -83
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/NewList__.js +11 -9
- package/out/concepts/NewList__.js.map +1 -1
- package/out/concepts/NewMap__.d.ts +1 -1
- package/out/concepts/NewMap__.js +12 -4
- package/out/concepts/NewMap__.js.map +1 -1
- package/out/concepts/New__.js +3 -1
- package/out/concepts/New__.js.map +1 -1
- package/out/concepts/StringInterpolation__.js +2 -2
- package/out/concepts/StringInterpolation__.js.map +1 -1
- package/out/concepts/SwitchCase__.js +8 -4
- package/out/concepts/SwitchCase__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +4 -2
- package/out/concepts/ViewElement__.js +7 -21
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/WhileStatement__.js +6 -4
- package/out/concepts/WhileStatement__.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.browser.js +19 -3
- package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.d.ts +2 -0
- package/out/concepts/basics/stdlib/nasl.util.js +36 -11
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/stdlib/timeZone.d.ts +5 -0
- package/out/concepts/basics/stdlib/timeZone.js +196 -0
- package/out/concepts/basics/stdlib/timeZone.js.map +1 -0
- package/out/generator/genBundleFiles.js +12 -4
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genReleaseBody.js +1 -1
- package/out/generator/genReleaseBody.js.map +1 -1
- package/out/natural/genNaturalTS.d.ts +2 -2
- package/out/natural/genNaturalTS.js +5 -5
- package/out/natural/genNaturalTS.js.map +1 -1
- package/out/natural/transformTSCode.js +18 -3
- package/out/natural/transformTSCode.js.map +1 -1
- package/out/server/createUiTs.js +3 -0
- package/out/server/createUiTs.js.map +1 -1
- package/out/server/getLogics.js +3 -1
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.js +15 -0
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/naslServer.js +35 -9
- package/out/server/naslServer.js.map +1 -1
- package/out/service/creator/errHandles.js +10 -19
- package/out/service/creator/errHandles.js.map +1 -1
- package/out/service/storage/init.js +7 -2
- package/out/service/storage/init.js.map +1 -1
- package/out/service/storage/jsoner.js +1 -3
- package/out/service/storage/jsoner.js.map +1 -1
- package/out/templator/genEditTableBlock.js +24 -2
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genTableBlock.js +22 -1
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/translator/types.d.ts +1 -0
- package/out/translator/utils.js +13 -0
- package/out/translator/utils.js.map +1 -1
- package/package.json +2 -2
- package/sandbox/stdlib/nasl.browser.ts +2 -0
- package/sandbox/stdlib/nasl.ui.definition.ts +2220 -2218
- package/sandbox/stdlib/nasl.util.ts +20 -10
- package/sandbox-natural/stdlib/nasl.core.ts +6 -3
- package/sandbox-natural/stdlib/nasl.oql.ts +6 -0
- package/sandbox-natural/stdlib/nasl.util.ts +1 -1
- package/src/bak/translator.js +16 -17
- package/src/breakpoint/generator/BreakpointNode.ts +1 -0
- package/src/breakpoint/shared/constants.ts +2 -0
- package/src/breakpoint/shared/socket.ts +41 -17
- package/src/breakpoint/shared/utils.ts +43 -1
- package/src/breakpoint/store/core.ts +2 -2
- package/src/breakpoint/store/dock.ts +50 -0
- package/src/breakpoint/types/index.d.ts +1 -0
- package/src/concepts/AuthLogicForCallInterface__.ts +2 -1
- package/src/concepts/BinaryExpression__.ts +6 -6
- package/src/concepts/BindAttribute__.ts +5 -4
- package/src/concepts/CallConnector__.ts +19 -1
- package/src/concepts/CallFunction__.ts +40 -22
- package/src/concepts/CallLogic__.ts +39 -32
- package/src/concepts/Connection__.ts +1 -1
- package/src/concepts/ForEachStatement__.ts +17 -15
- package/src/concepts/IfStatement__.ts +30 -30
- package/src/concepts/Logic__.ts +13 -27
- package/src/concepts/MatchCase__.ts +15 -7
- package/src/concepts/MemberExpression__.ts +11 -14
- package/src/concepts/NewComposite__.ts +15 -83
- package/src/concepts/NewList__.ts +11 -9
- package/src/concepts/NewMap__.ts +12 -4
- package/src/concepts/New__.ts +1 -0
- package/src/concepts/StringInterpolation__.ts +2 -2
- package/src/concepts/SwitchCase__.ts +9 -5
- package/src/concepts/ViewElement__.ts +8 -22
- package/src/concepts/WhileStatement__.ts +7 -5
- package/src/concepts/basics/stdlib/nasl.browser.ts +19 -3
- package/src/concepts/basics/stdlib/nasl.util.ts +38 -19
- package/src/concepts/basics/stdlib/timeZone.ts +193 -0
- package/src/generator/genBundleFiles.ts +12 -4
- package/src/generator/genReleaseBody.ts +1 -1
- package/src/natural/genNaturalTS.ts +5 -5
- package/src/natural/transformTSCode.ts +18 -4
- package/src/server/createUiTs.ts +3 -0
- package/src/server/getLogics.ts +3 -1
- package/src/server/getMemberIdentifier.ts +15 -0
- package/src/server/naslServer.ts +126 -83
- package/src/service/creator/errHandles.js +10 -16
- package/src/service/storage/init.ts +10 -3
- package/src/service/storage/jsoner.ts +2 -2
- package/src/templator/genEditTableBlock.ts +24 -2
- package/src/templator/genTableBlock.ts +22 -1
- package/src/translator/types.ts +1 -0
- package/src/translator/utils.ts +15 -0
- package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +20 -20
- package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +1 -1
- package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +1 -1
- package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +10 -10
|
@@ -0,0 +1,2719 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/concepts/CallInterface__.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> CallInterface__.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">35.73% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>134/375</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">25.62% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>51/199</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">30.86% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>25/81</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">35.92% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>120/334</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line low'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
+
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
+
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
+
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
+
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
+
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
+
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
+
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
+
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
+
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
+
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
+
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
+
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
+
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
+
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
+
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
+
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
+
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
+
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
+
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
+
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
+
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
+
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
+
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
+
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
+
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
+
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
+
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
+
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
+
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
+
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
+
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
+
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
+
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
+
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
+
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
+
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
+
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
+
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
+
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
+
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
+
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
+
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
+
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
+
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
+
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
+
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
+
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
+
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
+
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
+
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
+
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
+
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
+
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
+
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
+
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
+
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
+
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
+
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
+
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
+
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
+
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
+
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
+
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
+
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
+
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
+
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
+
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
+
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
+
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
+
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
+
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
+
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
+
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
+
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
+
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
+
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
+
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
+
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
+
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
+
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
+
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
+
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
+
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
+
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
+
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
+
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
+
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
+
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
+
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
+
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
+
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
+
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
+
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
+
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
+
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
+
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
+
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
+
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
+
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
+
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
+
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
+
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
+
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
+
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
+
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
|
+
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
+
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
+
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
+
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
+
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
+
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
+
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
+
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
+
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
+
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
+
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
+
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
+
<a name='L369'></a><a href='#L369'>369</a>
|
|
435
|
+
<a name='L370'></a><a href='#L370'>370</a>
|
|
436
|
+
<a name='L371'></a><a href='#L371'>371</a>
|
|
437
|
+
<a name='L372'></a><a href='#L372'>372</a>
|
|
438
|
+
<a name='L373'></a><a href='#L373'>373</a>
|
|
439
|
+
<a name='L374'></a><a href='#L374'>374</a>
|
|
440
|
+
<a name='L375'></a><a href='#L375'>375</a>
|
|
441
|
+
<a name='L376'></a><a href='#L376'>376</a>
|
|
442
|
+
<a name='L377'></a><a href='#L377'>377</a>
|
|
443
|
+
<a name='L378'></a><a href='#L378'>378</a>
|
|
444
|
+
<a name='L379'></a><a href='#L379'>379</a>
|
|
445
|
+
<a name='L380'></a><a href='#L380'>380</a>
|
|
446
|
+
<a name='L381'></a><a href='#L381'>381</a>
|
|
447
|
+
<a name='L382'></a><a href='#L382'>382</a>
|
|
448
|
+
<a name='L383'></a><a href='#L383'>383</a>
|
|
449
|
+
<a name='L384'></a><a href='#L384'>384</a>
|
|
450
|
+
<a name='L385'></a><a href='#L385'>385</a>
|
|
451
|
+
<a name='L386'></a><a href='#L386'>386</a>
|
|
452
|
+
<a name='L387'></a><a href='#L387'>387</a>
|
|
453
|
+
<a name='L388'></a><a href='#L388'>388</a>
|
|
454
|
+
<a name='L389'></a><a href='#L389'>389</a>
|
|
455
|
+
<a name='L390'></a><a href='#L390'>390</a>
|
|
456
|
+
<a name='L391'></a><a href='#L391'>391</a>
|
|
457
|
+
<a name='L392'></a><a href='#L392'>392</a>
|
|
458
|
+
<a name='L393'></a><a href='#L393'>393</a>
|
|
459
|
+
<a name='L394'></a><a href='#L394'>394</a>
|
|
460
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
461
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
462
|
+
<a name='L397'></a><a href='#L397'>397</a>
|
|
463
|
+
<a name='L398'></a><a href='#L398'>398</a>
|
|
464
|
+
<a name='L399'></a><a href='#L399'>399</a>
|
|
465
|
+
<a name='L400'></a><a href='#L400'>400</a>
|
|
466
|
+
<a name='L401'></a><a href='#L401'>401</a>
|
|
467
|
+
<a name='L402'></a><a href='#L402'>402</a>
|
|
468
|
+
<a name='L403'></a><a href='#L403'>403</a>
|
|
469
|
+
<a name='L404'></a><a href='#L404'>404</a>
|
|
470
|
+
<a name='L405'></a><a href='#L405'>405</a>
|
|
471
|
+
<a name='L406'></a><a href='#L406'>406</a>
|
|
472
|
+
<a name='L407'></a><a href='#L407'>407</a>
|
|
473
|
+
<a name='L408'></a><a href='#L408'>408</a>
|
|
474
|
+
<a name='L409'></a><a href='#L409'>409</a>
|
|
475
|
+
<a name='L410'></a><a href='#L410'>410</a>
|
|
476
|
+
<a name='L411'></a><a href='#L411'>411</a>
|
|
477
|
+
<a name='L412'></a><a href='#L412'>412</a>
|
|
478
|
+
<a name='L413'></a><a href='#L413'>413</a>
|
|
479
|
+
<a name='L414'></a><a href='#L414'>414</a>
|
|
480
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
481
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
482
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
483
|
+
<a name='L418'></a><a href='#L418'>418</a>
|
|
484
|
+
<a name='L419'></a><a href='#L419'>419</a>
|
|
485
|
+
<a name='L420'></a><a href='#L420'>420</a>
|
|
486
|
+
<a name='L421'></a><a href='#L421'>421</a>
|
|
487
|
+
<a name='L422'></a><a href='#L422'>422</a>
|
|
488
|
+
<a name='L423'></a><a href='#L423'>423</a>
|
|
489
|
+
<a name='L424'></a><a href='#L424'>424</a>
|
|
490
|
+
<a name='L425'></a><a href='#L425'>425</a>
|
|
491
|
+
<a name='L426'></a><a href='#L426'>426</a>
|
|
492
|
+
<a name='L427'></a><a href='#L427'>427</a>
|
|
493
|
+
<a name='L428'></a><a href='#L428'>428</a>
|
|
494
|
+
<a name='L429'></a><a href='#L429'>429</a>
|
|
495
|
+
<a name='L430'></a><a href='#L430'>430</a>
|
|
496
|
+
<a name='L431'></a><a href='#L431'>431</a>
|
|
497
|
+
<a name='L432'></a><a href='#L432'>432</a>
|
|
498
|
+
<a name='L433'></a><a href='#L433'>433</a>
|
|
499
|
+
<a name='L434'></a><a href='#L434'>434</a>
|
|
500
|
+
<a name='L435'></a><a href='#L435'>435</a>
|
|
501
|
+
<a name='L436'></a><a href='#L436'>436</a>
|
|
502
|
+
<a name='L437'></a><a href='#L437'>437</a>
|
|
503
|
+
<a name='L438'></a><a href='#L438'>438</a>
|
|
504
|
+
<a name='L439'></a><a href='#L439'>439</a>
|
|
505
|
+
<a name='L440'></a><a href='#L440'>440</a>
|
|
506
|
+
<a name='L441'></a><a href='#L441'>441</a>
|
|
507
|
+
<a name='L442'></a><a href='#L442'>442</a>
|
|
508
|
+
<a name='L443'></a><a href='#L443'>443</a>
|
|
509
|
+
<a name='L444'></a><a href='#L444'>444</a>
|
|
510
|
+
<a name='L445'></a><a href='#L445'>445</a>
|
|
511
|
+
<a name='L446'></a><a href='#L446'>446</a>
|
|
512
|
+
<a name='L447'></a><a href='#L447'>447</a>
|
|
513
|
+
<a name='L448'></a><a href='#L448'>448</a>
|
|
514
|
+
<a name='L449'></a><a href='#L449'>449</a>
|
|
515
|
+
<a name='L450'></a><a href='#L450'>450</a>
|
|
516
|
+
<a name='L451'></a><a href='#L451'>451</a>
|
|
517
|
+
<a name='L452'></a><a href='#L452'>452</a>
|
|
518
|
+
<a name='L453'></a><a href='#L453'>453</a>
|
|
519
|
+
<a name='L454'></a><a href='#L454'>454</a>
|
|
520
|
+
<a name='L455'></a><a href='#L455'>455</a>
|
|
521
|
+
<a name='L456'></a><a href='#L456'>456</a>
|
|
522
|
+
<a name='L457'></a><a href='#L457'>457</a>
|
|
523
|
+
<a name='L458'></a><a href='#L458'>458</a>
|
|
524
|
+
<a name='L459'></a><a href='#L459'>459</a>
|
|
525
|
+
<a name='L460'></a><a href='#L460'>460</a>
|
|
526
|
+
<a name='L461'></a><a href='#L461'>461</a>
|
|
527
|
+
<a name='L462'></a><a href='#L462'>462</a>
|
|
528
|
+
<a name='L463'></a><a href='#L463'>463</a>
|
|
529
|
+
<a name='L464'></a><a href='#L464'>464</a>
|
|
530
|
+
<a name='L465'></a><a href='#L465'>465</a>
|
|
531
|
+
<a name='L466'></a><a href='#L466'>466</a>
|
|
532
|
+
<a name='L467'></a><a href='#L467'>467</a>
|
|
533
|
+
<a name='L468'></a><a href='#L468'>468</a>
|
|
534
|
+
<a name='L469'></a><a href='#L469'>469</a>
|
|
535
|
+
<a name='L470'></a><a href='#L470'>470</a>
|
|
536
|
+
<a name='L471'></a><a href='#L471'>471</a>
|
|
537
|
+
<a name='L472'></a><a href='#L472'>472</a>
|
|
538
|
+
<a name='L473'></a><a href='#L473'>473</a>
|
|
539
|
+
<a name='L474'></a><a href='#L474'>474</a>
|
|
540
|
+
<a name='L475'></a><a href='#L475'>475</a>
|
|
541
|
+
<a name='L476'></a><a href='#L476'>476</a>
|
|
542
|
+
<a name='L477'></a><a href='#L477'>477</a>
|
|
543
|
+
<a name='L478'></a><a href='#L478'>478</a>
|
|
544
|
+
<a name='L479'></a><a href='#L479'>479</a>
|
|
545
|
+
<a name='L480'></a><a href='#L480'>480</a>
|
|
546
|
+
<a name='L481'></a><a href='#L481'>481</a>
|
|
547
|
+
<a name='L482'></a><a href='#L482'>482</a>
|
|
548
|
+
<a name='L483'></a><a href='#L483'>483</a>
|
|
549
|
+
<a name='L484'></a><a href='#L484'>484</a>
|
|
550
|
+
<a name='L485'></a><a href='#L485'>485</a>
|
|
551
|
+
<a name='L486'></a><a href='#L486'>486</a>
|
|
552
|
+
<a name='L487'></a><a href='#L487'>487</a>
|
|
553
|
+
<a name='L488'></a><a href='#L488'>488</a>
|
|
554
|
+
<a name='L489'></a><a href='#L489'>489</a>
|
|
555
|
+
<a name='L490'></a><a href='#L490'>490</a>
|
|
556
|
+
<a name='L491'></a><a href='#L491'>491</a>
|
|
557
|
+
<a name='L492'></a><a href='#L492'>492</a>
|
|
558
|
+
<a name='L493'></a><a href='#L493'>493</a>
|
|
559
|
+
<a name='L494'></a><a href='#L494'>494</a>
|
|
560
|
+
<a name='L495'></a><a href='#L495'>495</a>
|
|
561
|
+
<a name='L496'></a><a href='#L496'>496</a>
|
|
562
|
+
<a name='L497'></a><a href='#L497'>497</a>
|
|
563
|
+
<a name='L498'></a><a href='#L498'>498</a>
|
|
564
|
+
<a name='L499'></a><a href='#L499'>499</a>
|
|
565
|
+
<a name='L500'></a><a href='#L500'>500</a>
|
|
566
|
+
<a name='L501'></a><a href='#L501'>501</a>
|
|
567
|
+
<a name='L502'></a><a href='#L502'>502</a>
|
|
568
|
+
<a name='L503'></a><a href='#L503'>503</a>
|
|
569
|
+
<a name='L504'></a><a href='#L504'>504</a>
|
|
570
|
+
<a name='L505'></a><a href='#L505'>505</a>
|
|
571
|
+
<a name='L506'></a><a href='#L506'>506</a>
|
|
572
|
+
<a name='L507'></a><a href='#L507'>507</a>
|
|
573
|
+
<a name='L508'></a><a href='#L508'>508</a>
|
|
574
|
+
<a name='L509'></a><a href='#L509'>509</a>
|
|
575
|
+
<a name='L510'></a><a href='#L510'>510</a>
|
|
576
|
+
<a name='L511'></a><a href='#L511'>511</a>
|
|
577
|
+
<a name='L512'></a><a href='#L512'>512</a>
|
|
578
|
+
<a name='L513'></a><a href='#L513'>513</a>
|
|
579
|
+
<a name='L514'></a><a href='#L514'>514</a>
|
|
580
|
+
<a name='L515'></a><a href='#L515'>515</a>
|
|
581
|
+
<a name='L516'></a><a href='#L516'>516</a>
|
|
582
|
+
<a name='L517'></a><a href='#L517'>517</a>
|
|
583
|
+
<a name='L518'></a><a href='#L518'>518</a>
|
|
584
|
+
<a name='L519'></a><a href='#L519'>519</a>
|
|
585
|
+
<a name='L520'></a><a href='#L520'>520</a>
|
|
586
|
+
<a name='L521'></a><a href='#L521'>521</a>
|
|
587
|
+
<a name='L522'></a><a href='#L522'>522</a>
|
|
588
|
+
<a name='L523'></a><a href='#L523'>523</a>
|
|
589
|
+
<a name='L524'></a><a href='#L524'>524</a>
|
|
590
|
+
<a name='L525'></a><a href='#L525'>525</a>
|
|
591
|
+
<a name='L526'></a><a href='#L526'>526</a>
|
|
592
|
+
<a name='L527'></a><a href='#L527'>527</a>
|
|
593
|
+
<a name='L528'></a><a href='#L528'>528</a>
|
|
594
|
+
<a name='L529'></a><a href='#L529'>529</a>
|
|
595
|
+
<a name='L530'></a><a href='#L530'>530</a>
|
|
596
|
+
<a name='L531'></a><a href='#L531'>531</a>
|
|
597
|
+
<a name='L532'></a><a href='#L532'>532</a>
|
|
598
|
+
<a name='L533'></a><a href='#L533'>533</a>
|
|
599
|
+
<a name='L534'></a><a href='#L534'>534</a>
|
|
600
|
+
<a name='L535'></a><a href='#L535'>535</a>
|
|
601
|
+
<a name='L536'></a><a href='#L536'>536</a>
|
|
602
|
+
<a name='L537'></a><a href='#L537'>537</a>
|
|
603
|
+
<a name='L538'></a><a href='#L538'>538</a>
|
|
604
|
+
<a name='L539'></a><a href='#L539'>539</a>
|
|
605
|
+
<a name='L540'></a><a href='#L540'>540</a>
|
|
606
|
+
<a name='L541'></a><a href='#L541'>541</a>
|
|
607
|
+
<a name='L542'></a><a href='#L542'>542</a>
|
|
608
|
+
<a name='L543'></a><a href='#L543'>543</a>
|
|
609
|
+
<a name='L544'></a><a href='#L544'>544</a>
|
|
610
|
+
<a name='L545'></a><a href='#L545'>545</a>
|
|
611
|
+
<a name='L546'></a><a href='#L546'>546</a>
|
|
612
|
+
<a name='L547'></a><a href='#L547'>547</a>
|
|
613
|
+
<a name='L548'></a><a href='#L548'>548</a>
|
|
614
|
+
<a name='L549'></a><a href='#L549'>549</a>
|
|
615
|
+
<a name='L550'></a><a href='#L550'>550</a>
|
|
616
|
+
<a name='L551'></a><a href='#L551'>551</a>
|
|
617
|
+
<a name='L552'></a><a href='#L552'>552</a>
|
|
618
|
+
<a name='L553'></a><a href='#L553'>553</a>
|
|
619
|
+
<a name='L554'></a><a href='#L554'>554</a>
|
|
620
|
+
<a name='L555'></a><a href='#L555'>555</a>
|
|
621
|
+
<a name='L556'></a><a href='#L556'>556</a>
|
|
622
|
+
<a name='L557'></a><a href='#L557'>557</a>
|
|
623
|
+
<a name='L558'></a><a href='#L558'>558</a>
|
|
624
|
+
<a name='L559'></a><a href='#L559'>559</a>
|
|
625
|
+
<a name='L560'></a><a href='#L560'>560</a>
|
|
626
|
+
<a name='L561'></a><a href='#L561'>561</a>
|
|
627
|
+
<a name='L562'></a><a href='#L562'>562</a>
|
|
628
|
+
<a name='L563'></a><a href='#L563'>563</a>
|
|
629
|
+
<a name='L564'></a><a href='#L564'>564</a>
|
|
630
|
+
<a name='L565'></a><a href='#L565'>565</a>
|
|
631
|
+
<a name='L566'></a><a href='#L566'>566</a>
|
|
632
|
+
<a name='L567'></a><a href='#L567'>567</a>
|
|
633
|
+
<a name='L568'></a><a href='#L568'>568</a>
|
|
634
|
+
<a name='L569'></a><a href='#L569'>569</a>
|
|
635
|
+
<a name='L570'></a><a href='#L570'>570</a>
|
|
636
|
+
<a name='L571'></a><a href='#L571'>571</a>
|
|
637
|
+
<a name='L572'></a><a href='#L572'>572</a>
|
|
638
|
+
<a name='L573'></a><a href='#L573'>573</a>
|
|
639
|
+
<a name='L574'></a><a href='#L574'>574</a>
|
|
640
|
+
<a name='L575'></a><a href='#L575'>575</a>
|
|
641
|
+
<a name='L576'></a><a href='#L576'>576</a>
|
|
642
|
+
<a name='L577'></a><a href='#L577'>577</a>
|
|
643
|
+
<a name='L578'></a><a href='#L578'>578</a>
|
|
644
|
+
<a name='L579'></a><a href='#L579'>579</a>
|
|
645
|
+
<a name='L580'></a><a href='#L580'>580</a>
|
|
646
|
+
<a name='L581'></a><a href='#L581'>581</a>
|
|
647
|
+
<a name='L582'></a><a href='#L582'>582</a>
|
|
648
|
+
<a name='L583'></a><a href='#L583'>583</a>
|
|
649
|
+
<a name='L584'></a><a href='#L584'>584</a>
|
|
650
|
+
<a name='L585'></a><a href='#L585'>585</a>
|
|
651
|
+
<a name='L586'></a><a href='#L586'>586</a>
|
|
652
|
+
<a name='L587'></a><a href='#L587'>587</a>
|
|
653
|
+
<a name='L588'></a><a href='#L588'>588</a>
|
|
654
|
+
<a name='L589'></a><a href='#L589'>589</a>
|
|
655
|
+
<a name='L590'></a><a href='#L590'>590</a>
|
|
656
|
+
<a name='L591'></a><a href='#L591'>591</a>
|
|
657
|
+
<a name='L592'></a><a href='#L592'>592</a>
|
|
658
|
+
<a name='L593'></a><a href='#L593'>593</a>
|
|
659
|
+
<a name='L594'></a><a href='#L594'>594</a>
|
|
660
|
+
<a name='L595'></a><a href='#L595'>595</a>
|
|
661
|
+
<a name='L596'></a><a href='#L596'>596</a>
|
|
662
|
+
<a name='L597'></a><a href='#L597'>597</a>
|
|
663
|
+
<a name='L598'></a><a href='#L598'>598</a>
|
|
664
|
+
<a name='L599'></a><a href='#L599'>599</a>
|
|
665
|
+
<a name='L600'></a><a href='#L600'>600</a>
|
|
666
|
+
<a name='L601'></a><a href='#L601'>601</a>
|
|
667
|
+
<a name='L602'></a><a href='#L602'>602</a>
|
|
668
|
+
<a name='L603'></a><a href='#L603'>603</a>
|
|
669
|
+
<a name='L604'></a><a href='#L604'>604</a>
|
|
670
|
+
<a name='L605'></a><a href='#L605'>605</a>
|
|
671
|
+
<a name='L606'></a><a href='#L606'>606</a>
|
|
672
|
+
<a name='L607'></a><a href='#L607'>607</a>
|
|
673
|
+
<a name='L608'></a><a href='#L608'>608</a>
|
|
674
|
+
<a name='L609'></a><a href='#L609'>609</a>
|
|
675
|
+
<a name='L610'></a><a href='#L610'>610</a>
|
|
676
|
+
<a name='L611'></a><a href='#L611'>611</a>
|
|
677
|
+
<a name='L612'></a><a href='#L612'>612</a>
|
|
678
|
+
<a name='L613'></a><a href='#L613'>613</a>
|
|
679
|
+
<a name='L614'></a><a href='#L614'>614</a>
|
|
680
|
+
<a name='L615'></a><a href='#L615'>615</a>
|
|
681
|
+
<a name='L616'></a><a href='#L616'>616</a>
|
|
682
|
+
<a name='L617'></a><a href='#L617'>617</a>
|
|
683
|
+
<a name='L618'></a><a href='#L618'>618</a>
|
|
684
|
+
<a name='L619'></a><a href='#L619'>619</a>
|
|
685
|
+
<a name='L620'></a><a href='#L620'>620</a>
|
|
686
|
+
<a name='L621'></a><a href='#L621'>621</a>
|
|
687
|
+
<a name='L622'></a><a href='#L622'>622</a>
|
|
688
|
+
<a name='L623'></a><a href='#L623'>623</a>
|
|
689
|
+
<a name='L624'></a><a href='#L624'>624</a>
|
|
690
|
+
<a name='L625'></a><a href='#L625'>625</a>
|
|
691
|
+
<a name='L626'></a><a href='#L626'>626</a>
|
|
692
|
+
<a name='L627'></a><a href='#L627'>627</a>
|
|
693
|
+
<a name='L628'></a><a href='#L628'>628</a>
|
|
694
|
+
<a name='L629'></a><a href='#L629'>629</a>
|
|
695
|
+
<a name='L630'></a><a href='#L630'>630</a>
|
|
696
|
+
<a name='L631'></a><a href='#L631'>631</a>
|
|
697
|
+
<a name='L632'></a><a href='#L632'>632</a>
|
|
698
|
+
<a name='L633'></a><a href='#L633'>633</a>
|
|
699
|
+
<a name='L634'></a><a href='#L634'>634</a>
|
|
700
|
+
<a name='L635'></a><a href='#L635'>635</a>
|
|
701
|
+
<a name='L636'></a><a href='#L636'>636</a>
|
|
702
|
+
<a name='L637'></a><a href='#L637'>637</a>
|
|
703
|
+
<a name='L638'></a><a href='#L638'>638</a>
|
|
704
|
+
<a name='L639'></a><a href='#L639'>639</a>
|
|
705
|
+
<a name='L640'></a><a href='#L640'>640</a>
|
|
706
|
+
<a name='L641'></a><a href='#L641'>641</a>
|
|
707
|
+
<a name='L642'></a><a href='#L642'>642</a>
|
|
708
|
+
<a name='L643'></a><a href='#L643'>643</a>
|
|
709
|
+
<a name='L644'></a><a href='#L644'>644</a>
|
|
710
|
+
<a name='L645'></a><a href='#L645'>645</a>
|
|
711
|
+
<a name='L646'></a><a href='#L646'>646</a>
|
|
712
|
+
<a name='L647'></a><a href='#L647'>647</a>
|
|
713
|
+
<a name='L648'></a><a href='#L648'>648</a>
|
|
714
|
+
<a name='L649'></a><a href='#L649'>649</a>
|
|
715
|
+
<a name='L650'></a><a href='#L650'>650</a>
|
|
716
|
+
<a name='L651'></a><a href='#L651'>651</a>
|
|
717
|
+
<a name='L652'></a><a href='#L652'>652</a>
|
|
718
|
+
<a name='L653'></a><a href='#L653'>653</a>
|
|
719
|
+
<a name='L654'></a><a href='#L654'>654</a>
|
|
720
|
+
<a name='L655'></a><a href='#L655'>655</a>
|
|
721
|
+
<a name='L656'></a><a href='#L656'>656</a>
|
|
722
|
+
<a name='L657'></a><a href='#L657'>657</a>
|
|
723
|
+
<a name='L658'></a><a href='#L658'>658</a>
|
|
724
|
+
<a name='L659'></a><a href='#L659'>659</a>
|
|
725
|
+
<a name='L660'></a><a href='#L660'>660</a>
|
|
726
|
+
<a name='L661'></a><a href='#L661'>661</a>
|
|
727
|
+
<a name='L662'></a><a href='#L662'>662</a>
|
|
728
|
+
<a name='L663'></a><a href='#L663'>663</a>
|
|
729
|
+
<a name='L664'></a><a href='#L664'>664</a>
|
|
730
|
+
<a name='L665'></a><a href='#L665'>665</a>
|
|
731
|
+
<a name='L666'></a><a href='#L666'>666</a>
|
|
732
|
+
<a name='L667'></a><a href='#L667'>667</a>
|
|
733
|
+
<a name='L668'></a><a href='#L668'>668</a>
|
|
734
|
+
<a name='L669'></a><a href='#L669'>669</a>
|
|
735
|
+
<a name='L670'></a><a href='#L670'>670</a>
|
|
736
|
+
<a name='L671'></a><a href='#L671'>671</a>
|
|
737
|
+
<a name='L672'></a><a href='#L672'>672</a>
|
|
738
|
+
<a name='L673'></a><a href='#L673'>673</a>
|
|
739
|
+
<a name='L674'></a><a href='#L674'>674</a>
|
|
740
|
+
<a name='L675'></a><a href='#L675'>675</a>
|
|
741
|
+
<a name='L676'></a><a href='#L676'>676</a>
|
|
742
|
+
<a name='L677'></a><a href='#L677'>677</a>
|
|
743
|
+
<a name='L678'></a><a href='#L678'>678</a>
|
|
744
|
+
<a name='L679'></a><a href='#L679'>679</a>
|
|
745
|
+
<a name='L680'></a><a href='#L680'>680</a>
|
|
746
|
+
<a name='L681'></a><a href='#L681'>681</a>
|
|
747
|
+
<a name='L682'></a><a href='#L682'>682</a>
|
|
748
|
+
<a name='L683'></a><a href='#L683'>683</a>
|
|
749
|
+
<a name='L684'></a><a href='#L684'>684</a>
|
|
750
|
+
<a name='L685'></a><a href='#L685'>685</a>
|
|
751
|
+
<a name='L686'></a><a href='#L686'>686</a>
|
|
752
|
+
<a name='L687'></a><a href='#L687'>687</a>
|
|
753
|
+
<a name='L688'></a><a href='#L688'>688</a>
|
|
754
|
+
<a name='L689'></a><a href='#L689'>689</a>
|
|
755
|
+
<a name='L690'></a><a href='#L690'>690</a>
|
|
756
|
+
<a name='L691'></a><a href='#L691'>691</a>
|
|
757
|
+
<a name='L692'></a><a href='#L692'>692</a>
|
|
758
|
+
<a name='L693'></a><a href='#L693'>693</a>
|
|
759
|
+
<a name='L694'></a><a href='#L694'>694</a>
|
|
760
|
+
<a name='L695'></a><a href='#L695'>695</a>
|
|
761
|
+
<a name='L696'></a><a href='#L696'>696</a>
|
|
762
|
+
<a name='L697'></a><a href='#L697'>697</a>
|
|
763
|
+
<a name='L698'></a><a href='#L698'>698</a>
|
|
764
|
+
<a name='L699'></a><a href='#L699'>699</a>
|
|
765
|
+
<a name='L700'></a><a href='#L700'>700</a>
|
|
766
|
+
<a name='L701'></a><a href='#L701'>701</a>
|
|
767
|
+
<a name='L702'></a><a href='#L702'>702</a>
|
|
768
|
+
<a name='L703'></a><a href='#L703'>703</a>
|
|
769
|
+
<a name='L704'></a><a href='#L704'>704</a>
|
|
770
|
+
<a name='L705'></a><a href='#L705'>705</a>
|
|
771
|
+
<a name='L706'></a><a href='#L706'>706</a>
|
|
772
|
+
<a name='L707'></a><a href='#L707'>707</a>
|
|
773
|
+
<a name='L708'></a><a href='#L708'>708</a>
|
|
774
|
+
<a name='L709'></a><a href='#L709'>709</a>
|
|
775
|
+
<a name='L710'></a><a href='#L710'>710</a>
|
|
776
|
+
<a name='L711'></a><a href='#L711'>711</a>
|
|
777
|
+
<a name='L712'></a><a href='#L712'>712</a>
|
|
778
|
+
<a name='L713'></a><a href='#L713'>713</a>
|
|
779
|
+
<a name='L714'></a><a href='#L714'>714</a>
|
|
780
|
+
<a name='L715'></a><a href='#L715'>715</a>
|
|
781
|
+
<a name='L716'></a><a href='#L716'>716</a>
|
|
782
|
+
<a name='L717'></a><a href='#L717'>717</a>
|
|
783
|
+
<a name='L718'></a><a href='#L718'>718</a>
|
|
784
|
+
<a name='L719'></a><a href='#L719'>719</a>
|
|
785
|
+
<a name='L720'></a><a href='#L720'>720</a>
|
|
786
|
+
<a name='L721'></a><a href='#L721'>721</a>
|
|
787
|
+
<a name='L722'></a><a href='#L722'>722</a>
|
|
788
|
+
<a name='L723'></a><a href='#L723'>723</a>
|
|
789
|
+
<a name='L724'></a><a href='#L724'>724</a>
|
|
790
|
+
<a name='L725'></a><a href='#L725'>725</a>
|
|
791
|
+
<a name='L726'></a><a href='#L726'>726</a>
|
|
792
|
+
<a name='L727'></a><a href='#L727'>727</a>
|
|
793
|
+
<a name='L728'></a><a href='#L728'>728</a>
|
|
794
|
+
<a name='L729'></a><a href='#L729'>729</a>
|
|
795
|
+
<a name='L730'></a><a href='#L730'>730</a>
|
|
796
|
+
<a name='L731'></a><a href='#L731'>731</a>
|
|
797
|
+
<a name='L732'></a><a href='#L732'>732</a>
|
|
798
|
+
<a name='L733'></a><a href='#L733'>733</a>
|
|
799
|
+
<a name='L734'></a><a href='#L734'>734</a>
|
|
800
|
+
<a name='L735'></a><a href='#L735'>735</a>
|
|
801
|
+
<a name='L736'></a><a href='#L736'>736</a>
|
|
802
|
+
<a name='L737'></a><a href='#L737'>737</a>
|
|
803
|
+
<a name='L738'></a><a href='#L738'>738</a>
|
|
804
|
+
<a name='L739'></a><a href='#L739'>739</a>
|
|
805
|
+
<a name='L740'></a><a href='#L740'>740</a>
|
|
806
|
+
<a name='L741'></a><a href='#L741'>741</a>
|
|
807
|
+
<a name='L742'></a><a href='#L742'>742</a>
|
|
808
|
+
<a name='L743'></a><a href='#L743'>743</a>
|
|
809
|
+
<a name='L744'></a><a href='#L744'>744</a>
|
|
810
|
+
<a name='L745'></a><a href='#L745'>745</a>
|
|
811
|
+
<a name='L746'></a><a href='#L746'>746</a>
|
|
812
|
+
<a name='L747'></a><a href='#L747'>747</a>
|
|
813
|
+
<a name='L748'></a><a href='#L748'>748</a>
|
|
814
|
+
<a name='L749'></a><a href='#L749'>749</a>
|
|
815
|
+
<a name='L750'></a><a href='#L750'>750</a>
|
|
816
|
+
<a name='L751'></a><a href='#L751'>751</a>
|
|
817
|
+
<a name='L752'></a><a href='#L752'>752</a>
|
|
818
|
+
<a name='L753'></a><a href='#L753'>753</a>
|
|
819
|
+
<a name='L754'></a><a href='#L754'>754</a>
|
|
820
|
+
<a name='L755'></a><a href='#L755'>755</a>
|
|
821
|
+
<a name='L756'></a><a href='#L756'>756</a>
|
|
822
|
+
<a name='L757'></a><a href='#L757'>757</a>
|
|
823
|
+
<a name='L758'></a><a href='#L758'>758</a>
|
|
824
|
+
<a name='L759'></a><a href='#L759'>759</a>
|
|
825
|
+
<a name='L760'></a><a href='#L760'>760</a>
|
|
826
|
+
<a name='L761'></a><a href='#L761'>761</a>
|
|
827
|
+
<a name='L762'></a><a href='#L762'>762</a>
|
|
828
|
+
<a name='L763'></a><a href='#L763'>763</a>
|
|
829
|
+
<a name='L764'></a><a href='#L764'>764</a>
|
|
830
|
+
<a name='L765'></a><a href='#L765'>765</a>
|
|
831
|
+
<a name='L766'></a><a href='#L766'>766</a>
|
|
832
|
+
<a name='L767'></a><a href='#L767'>767</a>
|
|
833
|
+
<a name='L768'></a><a href='#L768'>768</a>
|
|
834
|
+
<a name='L769'></a><a href='#L769'>769</a>
|
|
835
|
+
<a name='L770'></a><a href='#L770'>770</a>
|
|
836
|
+
<a name='L771'></a><a href='#L771'>771</a>
|
|
837
|
+
<a name='L772'></a><a href='#L772'>772</a>
|
|
838
|
+
<a name='L773'></a><a href='#L773'>773</a>
|
|
839
|
+
<a name='L774'></a><a href='#L774'>774</a>
|
|
840
|
+
<a name='L775'></a><a href='#L775'>775</a>
|
|
841
|
+
<a name='L776'></a><a href='#L776'>776</a>
|
|
842
|
+
<a name='L777'></a><a href='#L777'>777</a>
|
|
843
|
+
<a name='L778'></a><a href='#L778'>778</a>
|
|
844
|
+
<a name='L779'></a><a href='#L779'>779</a>
|
|
845
|
+
<a name='L780'></a><a href='#L780'>780</a>
|
|
846
|
+
<a name='L781'></a><a href='#L781'>781</a>
|
|
847
|
+
<a name='L782'></a><a href='#L782'>782</a>
|
|
848
|
+
<a name='L783'></a><a href='#L783'>783</a>
|
|
849
|
+
<a name='L784'></a><a href='#L784'>784</a>
|
|
850
|
+
<a name='L785'></a><a href='#L785'>785</a>
|
|
851
|
+
<a name='L786'></a><a href='#L786'>786</a>
|
|
852
|
+
<a name='L787'></a><a href='#L787'>787</a>
|
|
853
|
+
<a name='L788'></a><a href='#L788'>788</a>
|
|
854
|
+
<a name='L789'></a><a href='#L789'>789</a>
|
|
855
|
+
<a name='L790'></a><a href='#L790'>790</a>
|
|
856
|
+
<a name='L791'></a><a href='#L791'>791</a>
|
|
857
|
+
<a name='L792'></a><a href='#L792'>792</a>
|
|
858
|
+
<a name='L793'></a><a href='#L793'>793</a>
|
|
859
|
+
<a name='L794'></a><a href='#L794'>794</a>
|
|
860
|
+
<a name='L795'></a><a href='#L795'>795</a>
|
|
861
|
+
<a name='L796'></a><a href='#L796'>796</a>
|
|
862
|
+
<a name='L797'></a><a href='#L797'>797</a>
|
|
863
|
+
<a name='L798'></a><a href='#L798'>798</a>
|
|
864
|
+
<a name='L799'></a><a href='#L799'>799</a>
|
|
865
|
+
<a name='L800'></a><a href='#L800'>800</a>
|
|
866
|
+
<a name='L801'></a><a href='#L801'>801</a>
|
|
867
|
+
<a name='L802'></a><a href='#L802'>802</a>
|
|
868
|
+
<a name='L803'></a><a href='#L803'>803</a>
|
|
869
|
+
<a name='L804'></a><a href='#L804'>804</a>
|
|
870
|
+
<a name='L805'></a><a href='#L805'>805</a>
|
|
871
|
+
<a name='L806'></a><a href='#L806'>806</a>
|
|
872
|
+
<a name='L807'></a><a href='#L807'>807</a>
|
|
873
|
+
<a name='L808'></a><a href='#L808'>808</a>
|
|
874
|
+
<a name='L809'></a><a href='#L809'>809</a>
|
|
875
|
+
<a name='L810'></a><a href='#L810'>810</a>
|
|
876
|
+
<a name='L811'></a><a href='#L811'>811</a>
|
|
877
|
+
<a name='L812'></a><a href='#L812'>812</a>
|
|
878
|
+
<a name='L813'></a><a href='#L813'>813</a>
|
|
879
|
+
<a name='L814'></a><a href='#L814'>814</a>
|
|
880
|
+
<a name='L815'></a><a href='#L815'>815</a>
|
|
881
|
+
<a name='L816'></a><a href='#L816'>816</a>
|
|
882
|
+
<a name='L817'></a><a href='#L817'>817</a>
|
|
883
|
+
<a name='L818'></a><a href='#L818'>818</a>
|
|
884
|
+
<a name='L819'></a><a href='#L819'>819</a>
|
|
885
|
+
<a name='L820'></a><a href='#L820'>820</a>
|
|
886
|
+
<a name='L821'></a><a href='#L821'>821</a>
|
|
887
|
+
<a name='L822'></a><a href='#L822'>822</a>
|
|
888
|
+
<a name='L823'></a><a href='#L823'>823</a>
|
|
889
|
+
<a name='L824'></a><a href='#L824'>824</a>
|
|
890
|
+
<a name='L825'></a><a href='#L825'>825</a>
|
|
891
|
+
<a name='L826'></a><a href='#L826'>826</a>
|
|
892
|
+
<a name='L827'></a><a href='#L827'>827</a>
|
|
893
|
+
<a name='L828'></a><a href='#L828'>828</a>
|
|
894
|
+
<a name='L829'></a><a href='#L829'>829</a>
|
|
895
|
+
<a name='L830'></a><a href='#L830'>830</a>
|
|
896
|
+
<a name='L831'></a><a href='#L831'>831</a>
|
|
897
|
+
<a name='L832'></a><a href='#L832'>832</a>
|
|
898
|
+
<a name='L833'></a><a href='#L833'>833</a>
|
|
899
|
+
<a name='L834'></a><a href='#L834'>834</a>
|
|
900
|
+
<a name='L835'></a><a href='#L835'>835</a>
|
|
901
|
+
<a name='L836'></a><a href='#L836'>836</a>
|
|
902
|
+
<a name='L837'></a><a href='#L837'>837</a>
|
|
903
|
+
<a name='L838'></a><a href='#L838'>838</a>
|
|
904
|
+
<a name='L839'></a><a href='#L839'>839</a>
|
|
905
|
+
<a name='L840'></a><a href='#L840'>840</a>
|
|
906
|
+
<a name='L841'></a><a href='#L841'>841</a>
|
|
907
|
+
<a name='L842'></a><a href='#L842'>842</a>
|
|
908
|
+
<a name='L843'></a><a href='#L843'>843</a>
|
|
909
|
+
<a name='L844'></a><a href='#L844'>844</a>
|
|
910
|
+
<a name='L845'></a><a href='#L845'>845</a>
|
|
911
|
+
<a name='L846'></a><a href='#L846'>846</a>
|
|
912
|
+
<a name='L847'></a><a href='#L847'>847</a>
|
|
913
|
+
<a name='L848'></a><a href='#L848'>848</a>
|
|
914
|
+
<a name='L849'></a><a href='#L849'>849</a>
|
|
915
|
+
<a name='L850'></a><a href='#L850'>850</a>
|
|
916
|
+
<a name='L851'></a><a href='#L851'>851</a>
|
|
917
|
+
<a name='L852'></a><a href='#L852'>852</a>
|
|
918
|
+
<a name='L853'></a><a href='#L853'>853</a>
|
|
919
|
+
<a name='L854'></a><a href='#L854'>854</a>
|
|
920
|
+
<a name='L855'></a><a href='#L855'>855</a>
|
|
921
|
+
<a name='L856'></a><a href='#L856'>856</a>
|
|
922
|
+
<a name='L857'></a><a href='#L857'>857</a>
|
|
923
|
+
<a name='L858'></a><a href='#L858'>858</a>
|
|
924
|
+
<a name='L859'></a><a href='#L859'>859</a>
|
|
925
|
+
<a name='L860'></a><a href='#L860'>860</a>
|
|
926
|
+
<a name='L861'></a><a href='#L861'>861</a>
|
|
927
|
+
<a name='L862'></a><a href='#L862'>862</a>
|
|
928
|
+
<a name='L863'></a><a href='#L863'>863</a>
|
|
929
|
+
<a name='L864'></a><a href='#L864'>864</a>
|
|
930
|
+
<a name='L865'></a><a href='#L865'>865</a>
|
|
931
|
+
<a name='L866'></a><a href='#L866'>866</a>
|
|
932
|
+
<a name='L867'></a><a href='#L867'>867</a>
|
|
933
|
+
<a name='L868'></a><a href='#L868'>868</a>
|
|
934
|
+
<a name='L869'></a><a href='#L869'>869</a>
|
|
935
|
+
<a name='L870'></a><a href='#L870'>870</a>
|
|
936
|
+
<a name='L871'></a><a href='#L871'>871</a>
|
|
937
|
+
<a name='L872'></a><a href='#L872'>872</a>
|
|
938
|
+
<a name='L873'></a><a href='#L873'>873</a>
|
|
939
|
+
<a name='L874'></a><a href='#L874'>874</a>
|
|
940
|
+
<a name='L875'></a><a href='#L875'>875</a>
|
|
941
|
+
<a name='L876'></a><a href='#L876'>876</a>
|
|
942
|
+
<a name='L877'></a><a href='#L877'>877</a>
|
|
943
|
+
<a name='L878'></a><a href='#L878'>878</a>
|
|
944
|
+
<a name='L879'></a><a href='#L879'>879</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
945
|
+
<span class="cline-any cline-yes">1x</span>
|
|
946
|
+
<span class="cline-any cline-neutral"> </span>
|
|
947
|
+
<span class="cline-any cline-yes">1x</span>
|
|
948
|
+
<span class="cline-any cline-neutral"> </span>
|
|
949
|
+
<span class="cline-any cline-yes">1x</span>
|
|
950
|
+
<span class="cline-any cline-neutral"> </span>
|
|
951
|
+
<span class="cline-any cline-yes">1x</span>
|
|
952
|
+
<span class="cline-any cline-neutral"> </span>
|
|
953
|
+
<span class="cline-any cline-yes">1x</span>
|
|
954
|
+
<span class="cline-any cline-neutral"> </span>
|
|
955
|
+
<span class="cline-any cline-neutral"> </span>
|
|
956
|
+
<span class="cline-any cline-neutral"> </span>
|
|
957
|
+
<span class="cline-any cline-neutral"> </span>
|
|
958
|
+
<span class="cline-any cline-neutral"> </span>
|
|
959
|
+
<span class="cline-any cline-neutral"> </span>
|
|
960
|
+
<span class="cline-any cline-yes">1x</span>
|
|
961
|
+
<span class="cline-any cline-neutral"> </span>
|
|
962
|
+
<span class="cline-any cline-neutral"> </span>
|
|
963
|
+
<span class="cline-any cline-neutral"> </span>
|
|
964
|
+
<span class="cline-any cline-neutral"> </span>
|
|
965
|
+
<span class="cline-any cline-yes">1x</span>
|
|
966
|
+
<span class="cline-any cline-yes">1x</span>
|
|
967
|
+
<span class="cline-any cline-neutral"> </span>
|
|
968
|
+
<span class="cline-any cline-neutral"> </span>
|
|
969
|
+
<span class="cline-any cline-neutral"> </span>
|
|
970
|
+
<span class="cline-any cline-neutral"> </span>
|
|
971
|
+
<span class="cline-any cline-neutral"> </span>
|
|
972
|
+
<span class="cline-any cline-neutral"> </span>
|
|
973
|
+
<span class="cline-any cline-neutral"> </span>
|
|
974
|
+
<span class="cline-any cline-yes">1x</span>
|
|
975
|
+
<span class="cline-any cline-neutral"> </span>
|
|
976
|
+
<span class="cline-any cline-yes">1x</span>
|
|
977
|
+
<span class="cline-any cline-neutral"> </span>
|
|
978
|
+
<span class="cline-any cline-neutral"> </span>
|
|
979
|
+
<span class="cline-any cline-neutral"> </span>
|
|
980
|
+
<span class="cline-any cline-neutral"> </span>
|
|
981
|
+
<span class="cline-any cline-neutral"> </span>
|
|
982
|
+
<span class="cline-any cline-neutral"> </span>
|
|
983
|
+
<span class="cline-any cline-neutral"> </span>
|
|
984
|
+
<span class="cline-any cline-neutral"> </span>
|
|
985
|
+
<span class="cline-any cline-neutral"> </span>
|
|
986
|
+
<span class="cline-any cline-neutral"> </span>
|
|
987
|
+
<span class="cline-any cline-neutral"> </span>
|
|
988
|
+
<span class="cline-any cline-yes">16x</span>
|
|
989
|
+
<span class="cline-any cline-neutral"> </span>
|
|
990
|
+
<span class="cline-any cline-neutral"> </span>
|
|
991
|
+
<span class="cline-any cline-neutral"> </span>
|
|
992
|
+
<span class="cline-any cline-neutral"> </span>
|
|
993
|
+
<span class="cline-any cline-neutral"> </span>
|
|
994
|
+
<span class="cline-any cline-neutral"> </span>
|
|
995
|
+
<span class="cline-any cline-yes">1x</span>
|
|
996
|
+
<span class="cline-any cline-neutral"> </span>
|
|
997
|
+
<span class="cline-any cline-neutral"> </span>
|
|
998
|
+
<span class="cline-any cline-neutral"> </span>
|
|
999
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1000
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1001
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1002
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1003
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1004
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1005
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1006
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1007
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1008
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1009
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1010
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1011
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1012
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1013
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1014
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1015
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1016
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1017
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1018
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1019
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1020
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1021
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1022
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1023
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1024
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1025
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1026
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1027
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1028
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1029
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1030
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1031
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1032
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1033
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1034
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1035
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1036
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1037
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1038
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1039
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1040
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1041
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1042
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1043
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1044
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1045
|
+
<span class="cline-any cline-no"> </span>
|
|
1046
|
+
<span class="cline-any cline-no"> </span>
|
|
1047
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1048
|
+
<span class="cline-any cline-no"> </span>
|
|
1049
|
+
<span class="cline-any cline-no"> </span>
|
|
1050
|
+
<span class="cline-any cline-no"> </span>
|
|
1051
|
+
<span class="cline-any cline-no"> </span>
|
|
1052
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1053
|
+
<span class="cline-any cline-no"> </span>
|
|
1054
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1055
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1056
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1057
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1058
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1059
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1060
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1061
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1062
|
+
<span class="cline-any cline-no"> </span>
|
|
1063
|
+
<span class="cline-any cline-no"> </span>
|
|
1064
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1065
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1066
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1067
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1068
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1069
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1070
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1071
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1072
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1073
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1074
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1075
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1076
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1077
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1078
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1079
|
+
<span class="cline-any cline-no"> </span>
|
|
1080
|
+
<span class="cline-any cline-no"> </span>
|
|
1081
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1082
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1083
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1084
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1085
|
+
<span class="cline-any cline-no"> </span>
|
|
1086
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1087
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1088
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1089
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1090
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1091
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1092
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1093
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1094
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1095
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1096
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1097
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1098
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1099
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1100
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1101
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1102
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1103
|
+
<span class="cline-any cline-no"> </span>
|
|
1104
|
+
<span class="cline-any cline-no"> </span>
|
|
1105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1109
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1110
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1111
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1112
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1113
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1114
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1115
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1116
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1117
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1118
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1119
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1120
|
+
<span class="cline-any cline-no"> </span>
|
|
1121
|
+
<span class="cline-any cline-no"> </span>
|
|
1122
|
+
<span class="cline-any cline-no"> </span>
|
|
1123
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1124
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1125
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1126
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1127
|
+
<span class="cline-any cline-no"> </span>
|
|
1128
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1129
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1130
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1131
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1132
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1133
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1134
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1135
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1136
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1137
|
+
<span class="cline-any cline-no"> </span>
|
|
1138
|
+
<span class="cline-any cline-no"> </span>
|
|
1139
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1140
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1141
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1142
|
+
<span class="cline-any cline-no"> </span>
|
|
1143
|
+
<span class="cline-any cline-no"> </span>
|
|
1144
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1145
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1146
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1147
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1148
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1149
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1150
|
+
<span class="cline-any cline-no"> </span>
|
|
1151
|
+
<span class="cline-any cline-no"> </span>
|
|
1152
|
+
<span class="cline-any cline-no"> </span>
|
|
1153
|
+
<span class="cline-any cline-no"> </span>
|
|
1154
|
+
<span class="cline-any cline-no"> </span>
|
|
1155
|
+
<span class="cline-any cline-no"> </span>
|
|
1156
|
+
<span class="cline-any cline-no"> </span>
|
|
1157
|
+
<span class="cline-any cline-no"> </span>
|
|
1158
|
+
<span class="cline-any cline-no"> </span>
|
|
1159
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1160
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1161
|
+
<span class="cline-any cline-no"> </span>
|
|
1162
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1163
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1164
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1165
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1166
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1167
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1168
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1169
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1170
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1171
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1172
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1173
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1174
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1175
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1176
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1177
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1178
|
+
<span class="cline-any cline-no"> </span>
|
|
1179
|
+
<span class="cline-any cline-no"> </span>
|
|
1180
|
+
<span class="cline-any cline-no"> </span>
|
|
1181
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1182
|
+
<span class="cline-any cline-no"> </span>
|
|
1183
|
+
<span class="cline-any cline-no"> </span>
|
|
1184
|
+
<span class="cline-any cline-no"> </span>
|
|
1185
|
+
<span class="cline-any cline-no"> </span>
|
|
1186
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1187
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1188
|
+
<span class="cline-any cline-no"> </span>
|
|
1189
|
+
<span class="cline-any cline-no"> </span>
|
|
1190
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1191
|
+
<span class="cline-any cline-no"> </span>
|
|
1192
|
+
<span class="cline-any cline-no"> </span>
|
|
1193
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1194
|
+
<span class="cline-any cline-no"> </span>
|
|
1195
|
+
<span class="cline-any cline-no"> </span>
|
|
1196
|
+
<span class="cline-any cline-no"> </span>
|
|
1197
|
+
<span class="cline-any cline-no"> </span>
|
|
1198
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1199
|
+
<span class="cline-any cline-no"> </span>
|
|
1200
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1201
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1202
|
+
<span class="cline-any cline-no"> </span>
|
|
1203
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1204
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1205
|
+
<span class="cline-any cline-no"> </span>
|
|
1206
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1207
|
+
<span class="cline-any cline-no"> </span>
|
|
1208
|
+
<span class="cline-any cline-no"> </span>
|
|
1209
|
+
<span class="cline-any cline-no"> </span>
|
|
1210
|
+
<span class="cline-any cline-no"> </span>
|
|
1211
|
+
<span class="cline-any cline-no"> </span>
|
|
1212
|
+
<span class="cline-any cline-no"> </span>
|
|
1213
|
+
<span class="cline-any cline-no"> </span>
|
|
1214
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1215
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1216
|
+
<span class="cline-any cline-no"> </span>
|
|
1217
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1218
|
+
<span class="cline-any cline-no"> </span>
|
|
1219
|
+
<span class="cline-any cline-no"> </span>
|
|
1220
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1221
|
+
<span class="cline-any cline-no"> </span>
|
|
1222
|
+
<span class="cline-any cline-no"> </span>
|
|
1223
|
+
<span class="cline-any cline-no"> </span>
|
|
1224
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1225
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1226
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1227
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1228
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1229
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1230
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1231
|
+
<span class="cline-any cline-no"> </span>
|
|
1232
|
+
<span class="cline-any cline-no"> </span>
|
|
1233
|
+
<span class="cline-any cline-no"> </span>
|
|
1234
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1235
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1236
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1237
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1238
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1239
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1240
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1241
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1242
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1243
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1244
|
+
<span class="cline-any cline-no"> </span>
|
|
1245
|
+
<span class="cline-any cline-no"> </span>
|
|
1246
|
+
<span class="cline-any cline-no"> </span>
|
|
1247
|
+
<span class="cline-any cline-no"> </span>
|
|
1248
|
+
<span class="cline-any cline-no"> </span>
|
|
1249
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1250
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1251
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1252
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1253
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1254
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1255
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1256
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1257
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1258
|
+
<span class="cline-any cline-no"> </span>
|
|
1259
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1260
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1261
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1262
|
+
<span class="cline-any cline-no"> </span>
|
|
1263
|
+
<span class="cline-any cline-no"> </span>
|
|
1264
|
+
<span class="cline-any cline-no"> </span>
|
|
1265
|
+
<span class="cline-any cline-no"> </span>
|
|
1266
|
+
<span class="cline-any cline-no"> </span>
|
|
1267
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1268
|
+
<span class="cline-any cline-no"> </span>
|
|
1269
|
+
<span class="cline-any cline-no"> </span>
|
|
1270
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1271
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1272
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1273
|
+
<span class="cline-any cline-no"> </span>
|
|
1274
|
+
<span class="cline-any cline-no"> </span>
|
|
1275
|
+
<span class="cline-any cline-no"> </span>
|
|
1276
|
+
<span class="cline-any cline-no"> </span>
|
|
1277
|
+
<span class="cline-any cline-no"> </span>
|
|
1278
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1279
|
+
<span class="cline-any cline-no"> </span>
|
|
1280
|
+
<span class="cline-any cline-no"> </span>
|
|
1281
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1282
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1283
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1284
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1285
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1286
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1287
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1288
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1289
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1290
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1291
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1292
|
+
<span class="cline-any cline-no"> </span>
|
|
1293
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1294
|
+
<span class="cline-any cline-no"> </span>
|
|
1295
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1296
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1297
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1298
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1299
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1300
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1301
|
+
<span class="cline-any cline-no"> </span>
|
|
1302
|
+
<span class="cline-any cline-no"> </span>
|
|
1303
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1304
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1305
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1306
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1307
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1308
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1309
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1310
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1311
|
+
<span class="cline-any cline-yes">3x</span>
|
|
1312
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1313
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1314
|
+
<span class="cline-any cline-yes">3x</span>
|
|
1315
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1316
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1317
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1318
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1319
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1320
|
+
<span class="cline-any cline-yes">32x</span>
|
|
1321
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1322
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1323
|
+
<span class="cline-any cline-yes">48x</span>
|
|
1324
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1325
|
+
<span class="cline-any cline-yes">32x</span>
|
|
1326
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1327
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1328
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1329
|
+
<span class="cline-any cline-yes">9x</span>
|
|
1330
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1331
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1332
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1333
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1334
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1335
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1336
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1337
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1338
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1339
|
+
<span class="cline-any cline-yes">32x</span>
|
|
1340
|
+
<span class="cline-any cline-no"> </span>
|
|
1341
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1342
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1343
|
+
<span class="cline-any cline-yes">32x</span>
|
|
1344
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1345
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1346
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1347
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1348
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1349
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1350
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1351
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1352
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1353
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1354
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1355
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1356
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1357
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1358
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1359
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1360
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1361
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1362
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1363
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1364
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1365
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1366
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1367
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1368
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1369
|
+
<span class="cline-any cline-no"> </span>
|
|
1370
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1371
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1372
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1373
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1374
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1375
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1376
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1378
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1380
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1381
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1382
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1383
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1384
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1385
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1386
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1387
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1388
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1389
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1390
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1391
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1392
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1395
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1396
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1397
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1398
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1399
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1400
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1401
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1402
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1403
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1404
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1405
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1406
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1407
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1408
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1409
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1410
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1411
|
+
<span class="cline-any cline-no"> </span>
|
|
1412
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1413
|
+
<span class="cline-any cline-no"> </span>
|
|
1414
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1415
|
+
<span class="cline-any cline-no"> </span>
|
|
1416
|
+
<span class="cline-any cline-no"> </span>
|
|
1417
|
+
<span class="cline-any cline-no"> </span>
|
|
1418
|
+
<span class="cline-any cline-no"> </span>
|
|
1419
|
+
<span class="cline-any cline-no"> </span>
|
|
1420
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1421
|
+
<span class="cline-any cline-no"> </span>
|
|
1422
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1423
|
+
<span class="cline-any cline-no"> </span>
|
|
1424
|
+
<span class="cline-any cline-no"> </span>
|
|
1425
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1426
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1427
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1428
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1429
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1430
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1431
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1432
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1433
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1434
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1435
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1436
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1437
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1438
|
+
<span class="cline-any cline-no"> </span>
|
|
1439
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1440
|
+
<span class="cline-any cline-no"> </span>
|
|
1441
|
+
<span class="cline-any cline-no"> </span>
|
|
1442
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1443
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1444
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1445
|
+
<span class="cline-any cline-no"> </span>
|
|
1446
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1447
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1448
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1449
|
+
<span class="cline-any cline-no"> </span>
|
|
1450
|
+
<span class="cline-any cline-no"> </span>
|
|
1451
|
+
<span class="cline-any cline-no"> </span>
|
|
1452
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1453
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1454
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1455
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1456
|
+
<span class="cline-any cline-yes">24x</span>
|
|
1457
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1458
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1459
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1460
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1461
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1462
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1463
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1464
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1465
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1466
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1467
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1468
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1469
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1470
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1471
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1472
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1473
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1474
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1475
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1476
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1477
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1478
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1479
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1480
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1481
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1482
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1483
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1484
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1485
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1486
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1487
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1488
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1489
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1490
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1491
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1492
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1493
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1494
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1495
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1499
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1500
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1501
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1502
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1503
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1504
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1505
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1506
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1507
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1508
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1509
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1510
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1512
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1513
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1514
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1517
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1519
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1520
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1521
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1522
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1524
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1526
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1527
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1528
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1529
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1530
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1531
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1532
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1533
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1534
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1535
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1536
|
+
<span class="cline-any cline-no"> </span>
|
|
1537
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1538
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1539
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1541
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1542
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1543
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1544
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1545
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1546
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1547
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1548
|
+
<span class="cline-any cline-no"> </span>
|
|
1549
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1550
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1551
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1552
|
+
<span class="cline-any cline-no"> </span>
|
|
1553
|
+
<span class="cline-any cline-no"> </span>
|
|
1554
|
+
<span class="cline-any cline-no"> </span>
|
|
1555
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1556
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1557
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1558
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1559
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1560
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1561
|
+
<span class="cline-any cline-no"> </span>
|
|
1562
|
+
<span class="cline-any cline-no"> </span>
|
|
1563
|
+
<span class="cline-any cline-no"> </span>
|
|
1564
|
+
<span class="cline-any cline-no"> </span>
|
|
1565
|
+
<span class="cline-any cline-no"> </span>
|
|
1566
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1567
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1568
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1569
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1570
|
+
<span class="cline-any cline-no"> </span>
|
|
1571
|
+
<span class="cline-any cline-no"> </span>
|
|
1572
|
+
<span class="cline-any cline-no"> </span>
|
|
1573
|
+
<span class="cline-any cline-no"> </span>
|
|
1574
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1575
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1576
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1577
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1578
|
+
<span class="cline-any cline-no"> </span>
|
|
1579
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1580
|
+
<span class="cline-any cline-no"> </span>
|
|
1581
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1582
|
+
<span class="cline-any cline-no"> </span>
|
|
1583
|
+
<span class="cline-any cline-no"> </span>
|
|
1584
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1585
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1586
|
+
<span class="cline-any cline-no"> </span>
|
|
1587
|
+
<span class="cline-any cline-no"> </span>
|
|
1588
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1589
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1590
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1591
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1592
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1593
|
+
<span class="cline-any cline-no"> </span>
|
|
1594
|
+
<span class="cline-any cline-no"> </span>
|
|
1595
|
+
<span class="cline-any cline-no"> </span>
|
|
1596
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1597
|
+
<span class="cline-any cline-no"> </span>
|
|
1598
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1599
|
+
<span class="cline-any cline-no"> </span>
|
|
1600
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1601
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1602
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1603
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1604
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1605
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1606
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1607
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1608
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1609
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1610
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1611
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1612
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1613
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1614
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1615
|
+
<span class="cline-any cline-no"> </span>
|
|
1616
|
+
<span class="cline-any cline-no"> </span>
|
|
1617
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1618
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1619
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1620
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1621
|
+
<span class="cline-any cline-no"> </span>
|
|
1622
|
+
<span class="cline-any cline-no"> </span>
|
|
1623
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1624
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1625
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1626
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1627
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1628
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1629
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1630
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1631
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1632
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1633
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1634
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1635
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1636
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1637
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1638
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1639
|
+
<span class="cline-any cline-yes">14x</span>
|
|
1640
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1641
|
+
<span class="cline-any cline-yes">24x</span>
|
|
1642
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1643
|
+
<span class="cline-any cline-yes">24x</span>
|
|
1644
|
+
<span class="cline-any cline-yes">24x</span>
|
|
1645
|
+
<span class="cline-any cline-yes">24x</span>
|
|
1646
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1647
|
+
<span class="cline-any cline-yes">24x</span>
|
|
1648
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1649
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1650
|
+
<span class="cline-any cline-yes">10x</span>
|
|
1651
|
+
<span class="cline-any cline-yes">10x</span>
|
|
1652
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1653
|
+
<span class="cline-any cline-yes">24x</span>
|
|
1654
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1655
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1656
|
+
<span class="cline-any cline-yes">16x</span>
|
|
1657
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1658
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1659
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1660
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1661
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1662
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1663
|
+
<span class="cline-any cline-no"> </span>
|
|
1664
|
+
<span class="cline-any cline-no"> </span>
|
|
1665
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1666
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1667
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1668
|
+
<span class="cline-any cline-no"> </span>
|
|
1669
|
+
<span class="cline-any cline-no"> </span>
|
|
1670
|
+
<span class="cline-any cline-no"> </span>
|
|
1671
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1672
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1673
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1674
|
+
<span class="cline-any cline-no"> </span>
|
|
1675
|
+
<span class="cline-any cline-no"> </span>
|
|
1676
|
+
<span class="cline-any cline-no"> </span>
|
|
1677
|
+
<span class="cline-any cline-no"> </span>
|
|
1678
|
+
<span class="cline-any cline-no"> </span>
|
|
1679
|
+
<span class="cline-any cline-no"> </span>
|
|
1680
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1681
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1682
|
+
<span class="cline-any cline-no"> </span>
|
|
1683
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1684
|
+
<span class="cline-any cline-no"> </span>
|
|
1685
|
+
<span class="cline-any cline-no"> </span>
|
|
1686
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1687
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1688
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1689
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1690
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1691
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1692
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1693
|
+
<span class="cline-any cline-no"> </span>
|
|
1694
|
+
<span class="cline-any cline-no"> </span>
|
|
1695
|
+
<span class="cline-any cline-no"> </span>
|
|
1696
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1697
|
+
<span class="cline-any cline-no"> </span>
|
|
1698
|
+
<span class="cline-any cline-no"> </span>
|
|
1699
|
+
<span class="cline-any cline-no"> </span>
|
|
1700
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1701
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1702
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1703
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1704
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1705
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1706
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1707
|
+
<span class="cline-any cline-no"> </span>
|
|
1708
|
+
<span class="cline-any cline-no"> </span>
|
|
1709
|
+
<span class="cline-any cline-no"> </span>
|
|
1710
|
+
<span class="cline-any cline-no"> </span>
|
|
1711
|
+
<span class="cline-any cline-no"> </span>
|
|
1712
|
+
<span class="cline-any cline-no"> </span>
|
|
1713
|
+
<span class="cline-any cline-no"> </span>
|
|
1714
|
+
<span class="cline-any cline-no"> </span>
|
|
1715
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1716
|
+
<span class="cline-any cline-no"> </span>
|
|
1717
|
+
<span class="cline-any cline-no"> </span>
|
|
1718
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1719
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1720
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1721
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1722
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1723
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1724
|
+
<span class="cline-any cline-no"> </span>
|
|
1725
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1726
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1727
|
+
<span class="cline-any cline-no"> </span>
|
|
1728
|
+
<span class="cline-any cline-no"> </span>
|
|
1729
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1730
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1731
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1732
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1733
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1734
|
+
<span class="cline-any cline-no"> </span>
|
|
1735
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1736
|
+
<span class="cline-any cline-no"> </span>
|
|
1737
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1738
|
+
<span class="cline-any cline-no"> </span>
|
|
1739
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1740
|
+
<span class="cline-any cline-no"> </span>
|
|
1741
|
+
<span class="cline-any cline-no"> </span>
|
|
1742
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1743
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1744
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1745
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1746
|
+
<span class="cline-any cline-no"> </span>
|
|
1747
|
+
<span class="cline-any cline-no"> </span>
|
|
1748
|
+
<span class="cline-any cline-no"> </span>
|
|
1749
|
+
<span class="cline-any cline-no"> </span>
|
|
1750
|
+
<span class="cline-any cline-no"> </span>
|
|
1751
|
+
<span class="cline-any cline-no"> </span>
|
|
1752
|
+
<span class="cline-any cline-no"> </span>
|
|
1753
|
+
<span class="cline-any cline-no"> </span>
|
|
1754
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1755
|
+
<span class="cline-any cline-no"> </span>
|
|
1756
|
+
<span class="cline-any cline-no"> </span>
|
|
1757
|
+
<span class="cline-any cline-no"> </span>
|
|
1758
|
+
<span class="cline-any cline-no"> </span>
|
|
1759
|
+
<span class="cline-any cline-no"> </span>
|
|
1760
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1761
|
+
<span class="cline-any cline-no"> </span>
|
|
1762
|
+
<span class="cline-any cline-no"> </span>
|
|
1763
|
+
<span class="cline-any cline-no"> </span>
|
|
1764
|
+
<span class="cline-any cline-no"> </span>
|
|
1765
|
+
<span class="cline-any cline-no"> </span>
|
|
1766
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1767
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1768
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1769
|
+
<span class="cline-any cline-no"> </span>
|
|
1770
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1771
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1772
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1773
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1774
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1775
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1776
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1777
|
+
<span class="cline-any cline-no"> </span>
|
|
1778
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1779
|
+
<span class="cline-any cline-no"> </span>
|
|
1780
|
+
<span class="cline-any cline-no"> </span>
|
|
1781
|
+
<span class="cline-any cline-no"> </span>
|
|
1782
|
+
<span class="cline-any cline-no"> </span>
|
|
1783
|
+
<span class="cline-any cline-no"> </span>
|
|
1784
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1785
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1786
|
+
<span class="cline-any cline-no"> </span>
|
|
1787
|
+
<span class="cline-any cline-no"> </span>
|
|
1788
|
+
<span class="cline-any cline-no"> </span>
|
|
1789
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1790
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1791
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1792
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1793
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1794
|
+
<span class="cline-any cline-no"> </span>
|
|
1795
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1796
|
+
<span class="cline-any cline-no"> </span>
|
|
1797
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1798
|
+
<span class="cline-any cline-no"> </span>
|
|
1799
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1800
|
+
<span class="cline-any cline-no"> </span>
|
|
1801
|
+
<span class="cline-any cline-no"> </span>
|
|
1802
|
+
<span class="cline-any cline-no"> </span>
|
|
1803
|
+
<span class="cline-any cline-no"> </span>
|
|
1804
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1805
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1806
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1807
|
+
<span class="cline-any cline-no"> </span>
|
|
1808
|
+
<span class="cline-any cline-no"> </span>
|
|
1809
|
+
<span class="cline-any cline-no"> </span>
|
|
1810
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1811
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1812
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1813
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1814
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1815
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1816
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1817
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1818
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1819
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1820
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1821
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1822
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { TranslatorState, shiftState, withSourceMap, createCompilerState } from '../translator';
|
|
1823
|
+
import Interface from './Interface__';
|
|
1824
|
+
import { ElementToVueOptions } from './ViewElement__';
|
|
1825
|
+
import { getNodeByNodeCallee } from '../automate/engine/utils';
|
|
1826
|
+
import InterfaceParam from './InterfaceParam__';
|
|
1827
|
+
import Structure from './Structure__';
|
|
1828
|
+
import Module from './Module__';
|
|
1829
|
+
import AuthInterface from './AuthInterface__';
|
|
1830
|
+
import type { MemberExpression } from './MemberExpression__';
|
|
1831
|
+
import Frontend from './Frontend__';
|
|
1832
|
+
import type Connector from './Connector__';
|
|
1833
|
+
//================================================================================
|
|
1834
|
+
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
1835
|
+
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
1836
|
+
//================================================================================
|
|
1837
|
+
import { EventPayload, Params } from '../common/EventEmitter';
|
|
1838
|
+
import { concept, excludedInJSON, property, className } from '../decorators';
|
|
1839
|
+
|
|
1840
|
+
import * as utils from '../utils';
|
|
1841
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
1842
|
+
import BaseNode from '../common/BaseNode';
|
|
1843
|
+
import Argument from './Argument__';
|
|
1844
|
+
import LogicItem from './LogicItem__';
|
|
1845
|
+
|
|
1846
|
+
/**
|
|
1847
|
+
* 调用接口
|
|
1848
|
+
*/
|
|
1849
|
+
@className
|
|
1850
|
+
@concept('调用接口')
|
|
1851
|
+
// @ts-ignore
|
|
1852
|
+
export class CallInterface extends LogicItem {
|
|
1853
|
+
/** 类名 */
|
|
1854
|
+
static readonly ConceptName = 'CallInterface';
|
|
1855
|
+
|
|
1856
|
+
/**
|
|
1857
|
+
* 产品概念
|
|
1858
|
+
*/
|
|
1859
|
+
// @ts-ignore
|
|
1860
|
+
readonly concept!: 'CallInterface' | 'CallAuthInterface';
|
|
1861
|
+
|
|
1862
|
+
/**
|
|
1863
|
+
* 调用接口标题
|
|
1864
|
+
*/
|
|
1865
|
+
@property()
|
|
1866
|
+
label: string = '调用接口';
|
|
1867
|
+
|
|
1868
|
+
/**
|
|
1869
|
+
* calleeNamespace
|
|
1870
|
+
*/
|
|
1871
|
+
@property()
|
|
1872
|
+
// @ts-ignore
|
|
1873
|
+
calleeNamespace!: string;
|
|
1874
|
+
|
|
1875
|
+
/**
|
|
1876
|
+
* calleeName
|
|
1877
|
+
*/
|
|
1878
|
+
@property()
|
|
1879
|
+
// @ts-ignore
|
|
1880
|
+
calleeName!: string;
|
|
1881
|
+
|
|
1882
|
+
/**
|
|
1883
|
+
* shortcut
|
|
1884
|
+
*/
|
|
1885
|
+
@property()
|
|
1886
|
+
// @ts-ignore
|
|
1887
|
+
shortcut!: boolean;
|
|
1888
|
+
|
|
1889
|
+
/**
|
|
1890
|
+
* 实际参数
|
|
1891
|
+
*/
|
|
1892
|
+
@property('Argument')
|
|
1893
|
+
arguments: Array<Argument> = [];
|
|
1894
|
+
|
|
1895
|
+
/**
|
|
1896
|
+
* @param source 需要合并的部分参数
|
|
1897
|
+
*/
|
|
1898
|
+
constructor(source?: Partial<CallInterface>) {
|
|
1899
|
+
source = Object.assign({}, CallInterface.getDefaultOptions(), source);
|
|
1900
|
+
super(source);
|
|
1901
|
+
super.subConstructor(source);
|
|
1902
|
+
}
|
|
1903
|
+
|
|
1904
|
+
static from(source: any, parentNode?: any, parentKey?: string): CallInterface {
|
|
1905
|
+
return super.from(source, parentNode, parentKey) as CallInterface;
|
|
1906
|
+
}
|
|
1907
|
+
|
|
1908
|
+
/**
|
|
1909
|
+
* 插入实际参数
|
|
1910
|
+
* @internal
|
|
1911
|
+
* @param argumentOptions 实际参数参数
|
|
1912
|
+
*/
|
|
1913
|
+
_insertArgumentAt(argumentOptions: Partial<Argument>, index: number): Argument;
|
|
1914
|
+
|
|
1915
|
+
/**
|
|
1916
|
+
* 插入实际参数
|
|
1917
|
+
* @internal
|
|
1918
|
+
* @param argument 已有的实际参数实例
|
|
1919
|
+
*/
|
|
1920
|
+
_insertArgumentAt(argument: Argument, index: number): Argument;
|
|
1921
|
+
|
|
1922
|
+
<span class="fstat-no" title="function not covered" > _insertArgumentAt(</span>options: Partial<Argument> | Argument, index: number) {
|
|
1923
|
+
const argumentOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
|
|
1924
|
+
const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'arguments' };</span>
|
|
1925
|
+
let argument: Argument;
|
|
1926
|
+
<span class="cstat-no" title="statement not covered" > if (options instanceof Argument) {</span>
|
|
1927
|
+
<span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
|
|
1928
|
+
<span class="cstat-no" title="statement not covered" > argument = options;</span>
|
|
1929
|
+
<span class="cstat-no" title="statement not covered" > Object.assign(argument, relationOptions);</span>
|
|
1930
|
+
} else {
|
|
1931
|
+
<span class="cstat-no" title="statement not covered" > argument = Argument.from(</span>
|
|
1932
|
+
{
|
|
1933
|
+
...argumentOptions,
|
|
1934
|
+
...options,
|
|
1935
|
+
},
|
|
1936
|
+
this,
|
|
1937
|
+
'arguments',
|
|
1938
|
+
);
|
|
1939
|
+
}
|
|
1940
|
+
<span class="cstat-no" title="statement not covered" > this.arguments.splice(index, 0, argument);</span>
|
|
1941
|
+
<span class="cstat-no" title="statement not covered" > return argument;</span>
|
|
1942
|
+
}
|
|
1943
|
+
|
|
1944
|
+
/**
|
|
1945
|
+
* 插入实际参数
|
|
1946
|
+
* @param argumentOptions 实际参数参数
|
|
1947
|
+
*/
|
|
1948
|
+
insertArgumentAt(argumentOptions: Partial<Argument>, index: number): Argument;
|
|
1949
|
+
|
|
1950
|
+
/**
|
|
1951
|
+
* 插入实际参数
|
|
1952
|
+
* @param argument 已有的实际参数实例
|
|
1953
|
+
*/
|
|
1954
|
+
insertArgumentAt(argument: Argument, index: number): Argument;
|
|
1955
|
+
|
|
1956
|
+
<span class="fstat-no" title="function not covered" > insertArgumentAt(</span>options: Partial<Argument> | Argument, index: number) {
|
|
1957
|
+
const node = <span class="cstat-no" title="statement not covered" >this._insertArgumentAt(options as any, index);</span>
|
|
1958
|
+
<span class="cstat-no" title="statement not covered" > node.create({</span>
|
|
1959
|
+
index,
|
|
1960
|
+
parentNode: this,
|
|
1961
|
+
parentKey: 'arguments',
|
|
1962
|
+
});
|
|
1963
|
+
<span class="cstat-no" title="statement not covered" > return node;</span>
|
|
1964
|
+
}
|
|
1965
|
+
|
|
1966
|
+
/**
|
|
1967
|
+
* 添加实际参数
|
|
1968
|
+
* @internal
|
|
1969
|
+
* @param argumentOptions 实际参数参数
|
|
1970
|
+
*/
|
|
1971
|
+
_addArgument(argumentOptions: Partial<Argument>): Argument;
|
|
1972
|
+
|
|
1973
|
+
/**
|
|
1974
|
+
* 添加实际参数
|
|
1975
|
+
* @internal
|
|
1976
|
+
* @param argument 已有的实际参数实例
|
|
1977
|
+
*/
|
|
1978
|
+
_addArgument(argument: Argument): Argument;
|
|
1979
|
+
|
|
1980
|
+
<span class="fstat-no" title="function not covered" > _addArgument(</span>options?: Partial<Argument> | Argument) {
|
|
1981
|
+
const index = <span class="cstat-no" title="statement not covered" >this.arguments.length;</span>
|
|
1982
|
+
<span class="cstat-no" title="statement not covered" > return this._insertArgumentAt(options as any, index);</span>
|
|
1983
|
+
}
|
|
1984
|
+
|
|
1985
|
+
/**
|
|
1986
|
+
* 添加实际参数
|
|
1987
|
+
* @param argumentOptions 实际参数参数
|
|
1988
|
+
*/
|
|
1989
|
+
addArgument(argumentOptions: Partial<Argument>): Argument;
|
|
1990
|
+
|
|
1991
|
+
/**
|
|
1992
|
+
* 添加实际参数
|
|
1993
|
+
* @param argument 已有的实际参数实例
|
|
1994
|
+
*/
|
|
1995
|
+
addArgument(argument: Argument): Argument;
|
|
1996
|
+
|
|
1997
|
+
<span class="fstat-no" title="function not covered" > addArgument(</span>options?: Partial<Argument> | Argument) {
|
|
1998
|
+
const node = <span class="cstat-no" title="statement not covered" >this._addArgument(options as any);</span>
|
|
1999
|
+
const index = <span class="cstat-no" title="statement not covered" >this.arguments.indexOf(node);</span>
|
|
2000
|
+
<span class="cstat-no" title="statement not covered" > node.create({</span>
|
|
2001
|
+
index,
|
|
2002
|
+
parentNode: this,
|
|
2003
|
+
parentKey: 'arguments',
|
|
2004
|
+
});
|
|
2005
|
+
<span class="cstat-no" title="statement not covered" > return node;</span>
|
|
2006
|
+
}
|
|
2007
|
+
|
|
2008
|
+
/**
|
|
2009
|
+
* 删除实际参数
|
|
2010
|
+
* @param argument 已有的实际参数实例
|
|
2011
|
+
*/
|
|
2012
|
+
removeArgument(argument: Argument): void;
|
|
2013
|
+
|
|
2014
|
+
<span class="fstat-no" title="function not covered" > removeArgument(</span>options: Argument) {
|
|
2015
|
+
let argument: Argument = <span class="cstat-no" title="statement not covered" >options;</span>
|
|
2016
|
+
<span class="cstat-no" title="statement not covered" > return argument.delete();</span>
|
|
2017
|
+
}
|
|
2018
|
+
|
|
2019
|
+
<span class="fstat-no" title="function not covered" > __removeLogicItem(</span>logicItem: LogicItem) {
|
|
2020
|
+
const parentKey = <span class="cstat-no" title="statement not covered" >logicItem.parentKey;</span>
|
|
2021
|
+
const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
|
|
2022
|
+
parentNode: this,
|
|
2023
|
+
parentKey,
|
|
2024
|
+
index: -1,
|
|
2025
|
+
object: null,
|
|
2026
|
+
oldObject: logicItem,
|
|
2027
|
+
};
|
|
2028
|
+
<span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
|
|
2029
|
+
<span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
|
|
2030
|
+
<span class="cstat-no" title="statement not covered" > if (Array.isArray((this as any)[parentKey])) {</span>
|
|
2031
|
+
const index = (<span class="cstat-no" title="statement not covered" >this as any)[parentKey].indexOf(logicItem);</span>
|
|
2032
|
+
<span class="cstat-no" title="statement not covered" > ~index && (this as any)[parentKey].splice(index, 1);</span>
|
|
2033
|
+
<span class="cstat-no" title="statement not covered" > params.index = index;</span>
|
|
2034
|
+
} else <span class="cstat-no" title="statement not covered" >if ((this as any)[parentKey] === logicItem) {</span>
|
|
2035
|
+
<span class="cstat-no" title="statement not covered" > params.index = 0;</span>
|
|
2036
|
+
(<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
|
|
2037
|
+
}
|
|
2038
|
+
}
|
|
2039
|
+
<span class="cstat-no" title="statement not covered" > return params;</span>
|
|
2040
|
+
}
|
|
2041
|
+
|
|
2042
|
+
//================================================================================
|
|
2043
|
+
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
2044
|
+
// 自动生成的代码已结束。下面可以手动编写。
|
|
2045
|
+
//================================================================================
|
|
2046
|
+
|
|
2047
|
+
/**
|
|
2048
|
+
* 标识当前删除是否为鉴权方式更新导致的删除。
|
|
2049
|
+
* 针对此种删除,删除逻辑已经处理,无需再走 deleteCallNode 逻辑
|
|
2050
|
+
*/
|
|
2051
|
+
@property('Boolean')
|
|
2052
|
+
__authDelete: Boolean = false;
|
|
2053
|
+
|
|
2054
|
+
// 删除调用接口时且接口无引用,删除接口和数据结构
|
|
2055
|
+
<span class="fstat-no" title="function not covered" > async </span>deleteCallNode() {
|
|
2056
|
+
<span class="cstat-no" title="statement not covered" > if (this.calleeKey !== '__IDENTIFIER__' && !this.__authDelete) {</span>
|
|
2057
|
+
(<span class="cstat-no" title="statement not covered" >this as any).__deleteCallNodeTimer = setTimeout(<span class="fstat-no" title="function not covered" >async </span>() => {</span>
|
|
2058
|
+
<span class="cstat-no" title="statement not covered" > clearTimeout((this as any).__deleteCallNodeTimer);</span>
|
|
2059
|
+
// 计算之前选择的接口的引用次数
|
|
2060
|
+
const oldItf: Interface = <span class="cstat-no" title="statement not covered" >this.getCallNode();</span>
|
|
2061
|
+
<span class="cstat-no" title="statement not covered" > if (oldItf) {</span>
|
|
2062
|
+
let refCount = <span class="cstat-no" title="statement not covered" >0;</span>
|
|
2063
|
+
const refs = (<span class="cstat-no" title="statement not covered" >await oldItf.findUsage())</span> as Map<any, any>;
|
|
2064
|
+
|
|
2065
|
+
const isOnlyUsedByFronted =
|
|
2066
|
+
<span class="cstat-no" title="statement not covered" > refs.size === 1 && Array.from(refs.keys()).filter(<span class="fstat-no" title="function not covered" >(k</span>ey) => <span class="cstat-no" title="statement not covered" >key instanceof Frontend)</span>.length > 0;</span>
|
|
2067
|
+
const isAuthInterface = <span class="cstat-no" title="statement not covered" >oldItf instanceof AuthInterface;</span>
|
|
2068
|
+
// 当仅仅只有前端使用,且该接口是鉴权接口时需要将接口还原为普通接口
|
|
2069
|
+
<span class="cstat-no" title="statement not covered" > if (isOnlyUsedByFronted && isAuthInterface) {</span>
|
|
2070
|
+
<span class="cstat-no" title="statement not covered" > this.replaceToInterface(oldItf);</span>
|
|
2071
|
+
}
|
|
2072
|
+
<span class="cstat-no" title="statement not covered" > refs.forEach(<span class="fstat-no" title="function not covered" >(v</span>al: any) => {</span>
|
|
2073
|
+
const loopFindNode = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>tem: any) => {</span>
|
|
2074
|
+
<span class="cstat-no" title="statement not covered" > if (item.children) {</span>
|
|
2075
|
+
<span class="cstat-no" title="statement not covered" > item.children.forEach(<span class="fstat-no" title="function not covered" >(c</span>hild: any) => <span class="cstat-no" title="statement not covered" >loopFindNode(child))</span>;</span>
|
|
2076
|
+
} else {
|
|
2077
|
+
<span class="cstat-no" title="statement not covered" > refCount++;</span>
|
|
2078
|
+
}
|
|
2079
|
+
};
|
|
2080
|
+
<span class="cstat-no" title="statement not covered" > loopFindNode(val);</span>
|
|
2081
|
+
});
|
|
2082
|
+
// 无引用则删除
|
|
2083
|
+
<span class="cstat-no" title="statement not covered" > if (!refCount) {</span>
|
|
2084
|
+
// 删除旧的接口、接口的数据结构
|
|
2085
|
+
<span class="cstat-no" title="statement not covered" > this.app.emit('collect:start', { actionMsg: '删除接口' });</span>
|
|
2086
|
+
const parentModule = <span class="cstat-no" title="statement not covered" >oldItf.module || oldItf.connector;</span>
|
|
2087
|
+
<span class="cstat-no" title="statement not covered" > if (oldItf.module) {</span>
|
|
2088
|
+
const shouldDeleteStructures: Structure[] = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
2089
|
+
<span class="cstat-no" title="statement not covered" > oldItf.module.getInterfaceStructureMap().forEach(<span class="fstat-no" title="function not covered" >(i</span>tfs, stru) => {</span>
|
|
2090
|
+
<span class="cstat-no" title="statement not covered" > if (itfs.size === 1 && itfs.has(oldItf)) {</span>
|
|
2091
|
+
<span class="cstat-no" title="statement not covered" > shouldDeleteStructures.push(stru)</span>
|
|
2092
|
+
}
|
|
2093
|
+
})
|
|
2094
|
+
<span class="cstat-no" title="statement not covered" > shouldDeleteStructures.forEach(<span class="fstat-no" title="function not covered" >(s</span>: Structure) => <span class="cstat-no" title="statement not covered" >s.delete())</span>;</span>
|
|
2095
|
+
} else {
|
|
2096
|
+
const shouldDeleteStructures = <span class="cstat-no" title="statement not covered" >oldItf.getRefStructures(parentModule.structures);</span>
|
|
2097
|
+
<span class="cstat-no" title="statement not covered" > shouldDeleteStructures.forEach(<span class="fstat-no" title="function not covered" >(s</span>: Structure) => <span class="cstat-no" title="statement not covered" >s.delete())</span>;</span>
|
|
2098
|
+
}
|
|
2099
|
+
<span class="cstat-no" title="statement not covered" > oldItf.delete();</span>
|
|
2100
|
+
<span class="cstat-no" title="statement not covered" > oldItf.afterDelete();</span>
|
|
2101
|
+
<span class="cstat-no" title="statement not covered" > this.app.emit('collect:end');</span>
|
|
2102
|
+
}
|
|
2103
|
+
}
|
|
2104
|
+
}, 350);
|
|
2105
|
+
}
|
|
2106
|
+
}
|
|
2107
|
+
|
|
2108
|
+
<span class="fstat-no" title="function not covered" > replaceToInterface(</span>oldItf: AuthInterface) {
|
|
2109
|
+
<span class="cstat-no" title="statement not covered" > this.app.emit('collect:start', { actionMsg: '调用接口恢复为非鉴权' });</span>
|
|
2110
|
+
const { name, originLogicName, path, method, description, params, returns, protocol, protocolParams } = <span class="cstat-no" title="statement not covered" >oldItf;</span>
|
|
2111
|
+
const newInterface = <span class="cstat-no" title="statement not covered" >new Interface({</span>
|
|
2112
|
+
name,
|
|
2113
|
+
originLogicName,
|
|
2114
|
+
path,
|
|
2115
|
+
method,
|
|
2116
|
+
description,
|
|
2117
|
+
params,
|
|
2118
|
+
returns,
|
|
2119
|
+
protocol,
|
|
2120
|
+
protocolParams,
|
|
2121
|
+
});
|
|
2122
|
+
const m = <span class="cstat-no" title="statement not covered" >oldItf.parentNode as Module;</span>
|
|
2123
|
+
const interfaceIndex = <span class="cstat-no" title="statement not covered" >m?.interfaces?.findIndex?.(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name === oldItf.name)</span>;</span>
|
|
2124
|
+
<span class="cstat-no" title="statement not covered" > oldItf.delete();</span>
|
|
2125
|
+
<span class="cstat-no" title="statement not covered" > m.insertInterfaceAt(newInterface, interfaceIndex);</span>
|
|
2126
|
+
<span class="cstat-no" title="statement not covered" > this.app.emit('collect:end');</span>
|
|
2127
|
+
}
|
|
2128
|
+
|
|
2129
|
+
get tsCalleeNamespace() {
|
|
2130
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.calleeNamespace) {
|
|
2131
|
+
let tsCalleeNamespace = this.calleeNamespace;
|
|
2132
|
+
tsCalleeNamespace = tsCalleeNamespace.replace(/\.[0-9]/g, <span class="fstat-no" title="function not covered" >(m</span>) => <span class="cstat-no" title="statement not covered" >m.replace('.', '.$'))</span>;
|
|
2133
|
+
tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
|
|
2134
|
+
return tsCalleeNamespace;
|
|
2135
|
+
}
|
|
2136
|
+
<span class="cstat-no" title="statement not covered" > return '';</span>
|
|
2137
|
+
}
|
|
2138
|
+
|
|
2139
|
+
<span class="fstat-no" title="function not covered" > toVue(</span>options?: ElementToVueOptions): string {
|
|
2140
|
+
let code = <span class="cstat-no" title="statement not covered" >this.calleeName;</span>
|
|
2141
|
+
<span class="cstat-no" title="statement not covered" > code += '(';</span>
|
|
2142
|
+
<span class="cstat-no" title="statement not covered" > this.arguments?.forEach(<span class="fstat-no" title="function not covered" >(a</span>rg, index) => {</span>
|
|
2143
|
+
<span class="cstat-no" title="statement not covered" > code += arg?.toVue(options);</span>
|
|
2144
|
+
<span class="cstat-no" title="statement not covered" > if (index !== this.arguments?.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
|
|
2145
|
+
});
|
|
2146
|
+
<span class="cstat-no" title="statement not covered" > code += ')';</span>
|
|
2147
|
+
<span class="cstat-no" title="statement not covered" > return code;</span>
|
|
2148
|
+
}
|
|
2149
|
+
|
|
2150
|
+
<span class="fstat-no" title="function not covered" > toUI(</span>state?: TranslatorState): string {
|
|
2151
|
+
let code = <span class="cstat-no" title="statement not covered" >this.calleeName;</span>
|
|
2152
|
+
<span class="cstat-no" title="statement not covered" > code += '(';</span>
|
|
2153
|
+
<span class="cstat-no" title="statement not covered" > this.arguments?.forEach(<span class="fstat-no" title="function not covered" >(a</span>rg, index) => {</span>
|
|
2154
|
+
<span class="cstat-no" title="statement not covered" > code += arg?.toUI();</span>
|
|
2155
|
+
<span class="cstat-no" title="statement not covered" > if (index !== this.arguments?.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
|
|
2156
|
+
});
|
|
2157
|
+
<span class="cstat-no" title="statement not covered" > code += ')';</span>
|
|
2158
|
+
<span class="cstat-no" title="statement not covered" > return code;</span>
|
|
2159
|
+
}
|
|
2160
|
+
|
|
2161
|
+
toJS(state?: TranslatorState): string {
|
|
2162
|
+
const { calleewholeKey, app, completeArguments } = this;
|
|
2163
|
+
const [, _name, , _interfaceName] = calleewholeKey.split('.');
|
|
2164
|
+
let _module: Module | Connector;
|
|
2165
|
+
// 由于自定义连接器的引入,目前在 集成中心下也存在着一部分接口
|
|
2166
|
+
// 因此,需要额外判断,如果是自定义连接器需要拿 app.dependencies 中的接口或者 app.integration 中connector下面的接口
|
|
2167
|
+
const isCustomConnector = this.getAncestor('Connector');
|
|
2168
|
+
const isInIntegration = this.getAncestor('Integration');
|
|
2169
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (isCustomConnector && <span class="branch-1 cbranch-no" title="branch not covered" >isInIntegration)</span> {
|
|
2170
|
+
<span class="cstat-no" title="statement not covered" > _module = app?.integration?.connectors?.find?.(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name === _name)</span>;</span>
|
|
2171
|
+
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (isCustomConnector && <span class="branch-1 cbranch-no" title="branch not covered" >!isInIntegration)</span> {
|
|
2172
|
+
<span class="cstat-no" title="statement not covered" > _module = app?.dependencies?.find?.(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name === _name)</span>;</span>
|
|
2173
|
+
} else {
|
|
2174
|
+
// default
|
|
2175
|
+
_module = app?.interfaceDependencies?.find?.((item) => item.name === _name);
|
|
2176
|
+
}
|
|
2177
|
+
const _interface = (_module as Module)?.interfaces?.find?.((item) => item.name === _interfaceName);
|
|
2178
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!_interface) {
|
|
2179
|
+
<span class="cstat-no" title="statement not covered" > if (!this.calleeNamespace || !this.calleeName) <span class="cstat-no" title="statement not covered" >throw new Error('调用接口为空');</span></span>
|
|
2180
|
+
<span class="cstat-no" title="statement not covered" > throw new Error(`${_name}下的${_interfaceName}接口未找到`);</span>
|
|
2181
|
+
}
|
|
2182
|
+
let isSimpleBody = false; // 兼容body只有基本类型的
|
|
2183
|
+
const _params = _interface.params;
|
|
2184
|
+
const _queries = _params.filter((item) => item.in === 'query').map((item) => item.name);
|
|
2185
|
+
const _headers = _params.filter((item) => item.in === 'header').map((item) => item.name);
|
|
2186
|
+
const _body = _params
|
|
2187
|
+
.filter((item) => item.in === 'body')
|
|
2188
|
+
.map((item) => {
|
|
2189
|
+
if (item.typeAnnotation.typeKind === 'primitive') {
|
|
2190
|
+
isSimpleBody = true;
|
|
2191
|
+
}
|
|
2192
|
+
return item.name;
|
|
2193
|
+
});
|
|
2194
|
+
const _paths = _params.filter((item) => item.in === 'path').map(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name)</span>;
|
|
2195
|
+
|
|
2196
|
+
/** 填充参数信息 */
|
|
2197
|
+
const setArgumentCode = (args: Argument[], keys: string[], code: string, useKeyWord: boolean, useRest: boolean) => {
|
|
2198
|
+
const filledArgs = args
|
|
2199
|
+
// 维持原样,暂时不过滤没有填入值的参数
|
|
2200
|
+
// .filter((arg) => Boolean(arg?.expression))
|
|
2201
|
+
.filter((arg) => keys.includes(arg.keyword));
|
|
2202
|
+
|
|
2203
|
+
filledArgs.forEach((arg, index) => {
|
|
2204
|
+
if (useRest) {
|
|
2205
|
+
code += ` ...${arg?.toJS(shiftState(state, code))}`;
|
|
2206
|
+
} else if (useKeyWord) {
|
|
2207
|
+
code += `\n'${arg?.keyword}': ${arg?.toJS(shiftState(state, code))}`;
|
|
2208
|
+
} else {
|
|
2209
|
+
code += ` ${arg?.toJS(shiftState(state, code))}`;
|
|
2210
|
+
}
|
|
2211
|
+
|
|
2212
|
+
if (index !== args.length - 1) {
|
|
2213
|
+
code += ', ';
|
|
2214
|
+
}
|
|
2215
|
+
});
|
|
2216
|
+
|
|
2217
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (filledArgs.length === 0 && !useKeyWord && !useRest) {
|
|
2218
|
+
<span class="cstat-no" title="statement not covered" > code += 'undefined';</span>
|
|
2219
|
+
}
|
|
2220
|
+
|
|
2221
|
+
return code;
|
|
2222
|
+
};
|
|
2223
|
+
|
|
2224
|
+
let code = `await this.$services['_custom']['${this.calleeNamespace}.${this.calleeName}']`;
|
|
2225
|
+
|
|
2226
|
+
code += `({ config: {\ndownload: false,\n },\nquery: {`;
|
|
2227
|
+
code = setArgumentCode(completeArguments, _queries, code, true, false);
|
|
2228
|
+
code += `}, path: {`;
|
|
2229
|
+
code = setArgumentCode(completeArguments, _paths, code, true, false);
|
|
2230
|
+
code += `}, headers: {`;
|
|
2231
|
+
code = setArgumentCode(completeArguments, _headers, code, true, false);
|
|
2232
|
+
code += `},\n`;
|
|
2233
|
+
|
|
2234
|
+
if (isSimpleBody) {
|
|
2235
|
+
code += `body: `;
|
|
2236
|
+
code = setArgumentCode(completeArguments, _body, code, false, false);
|
|
2237
|
+
} else {
|
|
2238
|
+
code += `body: {`;
|
|
2239
|
+
code = setArgumentCode(completeArguments, _body, code, false, true);
|
|
2240
|
+
code += '}';
|
|
2241
|
+
}
|
|
2242
|
+
|
|
2243
|
+
code += '\n})';
|
|
2244
|
+
const typeAnnotation = (this as any).typeAnnotation || this.__TypeAnnotation;
|
|
2245
|
+
const needGenInitFromSchema = typeAnnotation && <span class="branch-1 cbranch-no" title="branch not covered" >!['primitive', 'union'].includes(typeAnnotation.typeKind);</span>
|
|
2246
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (needGenInitFromSchema) {
|
|
2247
|
+
<span class="cstat-no" title="statement not covered" > code = `this.$genInitFromSchema('${typeAnnotation?.sortedTypeKey}', ${code})`;</span>
|
|
2248
|
+
}
|
|
2249
|
+
return code;
|
|
2250
|
+
}
|
|
2251
|
+
|
|
2252
|
+
@withSourceMap()
|
|
2253
|
+
toEmbeddedTS(state = createCompilerState()): string {
|
|
2254
|
+
const { completeArguments, parentNode, parentKey, tsCalleeKey } = this;
|
|
2255
|
+
|
|
2256
|
+
let code = `${tsCalleeKey}(`;
|
|
2257
|
+
|
|
2258
|
+
if (completeArguments?.length) {
|
|
2259
|
+
code += '{';
|
|
2260
|
+
completeArguments?.forEach((arg, index) => {
|
|
2261
|
+
code += arg?.toEmbeddedTS(shiftState(state, code), arg.paramRequired, true);
|
|
2262
|
+
if (index !== this.arguments?.length - 1) code += ', ';
|
|
2263
|
+
});
|
|
2264
|
+
code += '}';
|
|
2265
|
+
}
|
|
2266
|
+
code += ')';
|
|
2267
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (
|
|
2268
|
+
parentNode.concept !== 'Argument' &&
|
|
2269
|
+
parentKey !== 'test' &&
|
|
2270
|
+
parentKey !== 'patterns' &&
|
|
2271
|
+
parentKey !== 'returnExpression' &&
|
|
2272
|
+
parentNode.concept !== 'Assignment' &&
|
|
2273
|
+
parentNode.concept !== 'ForEachStatement' &&
|
|
2274
|
+
parentNode.concept !== 'SelectMembers' &&
|
|
2275
|
+
parentNode.concept !== 'UnaryExpression' &&
|
|
2276
|
+
parentNode.concept !== 'BinaryExpression' &&
|
|
2277
|
+
parentNode.concept !== 'MemberExpression' &&
|
|
2278
|
+
parentNode.concept !== 'StringInterpolation' &&
|
|
2279
|
+
!['NewMap', 'NewList'].includes(parentNode.concept)
|
|
2280
|
+
) {
|
|
2281
|
+
code += ';';
|
|
2282
|
+
}
|
|
2283
|
+
code += '\n';
|
|
2284
|
+
return code;
|
|
2285
|
+
}
|
|
2286
|
+
|
|
2287
|
+
@withSourceMap()
|
|
2288
|
+
<span class="fstat-no" title="function not covered" > toNaturalTS(</span>state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState())</span>: string {
|
|
2289
|
+
const { completeArguments, parentNode, parentKey, tsCalleeKey } = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
2290
|
+
|
|
2291
|
+
let code = <span class="cstat-no" title="statement not covered" >`${tsCalleeKey}(`;</span>
|
|
2292
|
+
|
|
2293
|
+
<span class="cstat-no" title="statement not covered" > if (completeArguments?.length) {</span>
|
|
2294
|
+
<span class="cstat-no" title="statement not covered" > code += '{';</span>
|
|
2295
|
+
<span class="cstat-no" title="statement not covered" > completeArguments?.forEach(<span class="fstat-no" title="function not covered" >(a</span>rg, index) => {</span>
|
|
2296
|
+
<span class="cstat-no" title="statement not covered" > code += arg?.toNaturalTS(shiftState(state, code), arg.paramRequired, true);</span>
|
|
2297
|
+
<span class="cstat-no" title="statement not covered" > if (index !== this.arguments?.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
|
|
2298
|
+
});
|
|
2299
|
+
<span class="cstat-no" title="statement not covered" > code += '}';</span>
|
|
2300
|
+
}
|
|
2301
|
+
<span class="cstat-no" title="statement not covered" > code += ')';</span>
|
|
2302
|
+
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
2303
|
+
parentNode.concept !== 'Argument' &&
|
|
2304
|
+
parentKey !== 'test' &&
|
|
2305
|
+
parentKey !== 'patterns' &&
|
|
2306
|
+
parentKey !== 'returnExpression' &&
|
|
2307
|
+
parentNode.concept !== 'Assignment' &&
|
|
2308
|
+
parentNode.concept !== 'ForEachStatement' &&
|
|
2309
|
+
parentNode.concept !== 'SelectMembers' &&
|
|
2310
|
+
parentNode.concept !== 'UnaryExpression' &&
|
|
2311
|
+
parentNode.concept !== 'BinaryExpression' &&
|
|
2312
|
+
parentNode.concept !== 'MemberExpression' &&
|
|
2313
|
+
parentNode.concept !== 'StringInterpolation' &&
|
|
2314
|
+
!['NewMap', 'NewList'].includes(parentNode.concept)
|
|
2315
|
+
) {
|
|
2316
|
+
<span class="cstat-no" title="statement not covered" > code += ';';</span>
|
|
2317
|
+
}
|
|
2318
|
+
<span class="cstat-no" title="statement not covered" > code += '\n';</span>
|
|
2319
|
+
<span class="cstat-no" title="statement not covered" > return code;</span>
|
|
2320
|
+
}
|
|
2321
|
+
|
|
2322
|
+
<span class="fstat-no" title="function not covered" > toBrief(</span>): string {
|
|
2323
|
+
<span class="cstat-no" title="statement not covered" > return this.arguments.map(<span class="fstat-no" title="function not covered" >(a</span>) => <span class="cstat-no" title="statement not covered" >a.toBrief())</span>.join('<br />');</span>
|
|
2324
|
+
}
|
|
2325
|
+
|
|
2326
|
+
<span class="fstat-no" title="function not covered" > get c</span>alleeKey(): string {
|
|
2327
|
+
const { tsCalleeNamespace } = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
2328
|
+
const { calleeName } = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
2329
|
+
<span class="cstat-no" title="statement not covered" > return calleeName ? `${tsCalleeNamespace}.${calleeName}` : '__IDENTIFIER__';</span>
|
|
2330
|
+
}
|
|
2331
|
+
|
|
2332
|
+
// 用于logic回填
|
|
2333
|
+
get calleewholeKey(): string {
|
|
2334
|
+
return `${this.calleeNamespace}.${this.calleeName}`;
|
|
2335
|
+
}
|
|
2336
|
+
|
|
2337
|
+
get tsCalleeName(): string {
|
|
2338
|
+
const excludeds = [
|
|
2339
|
+
'abstract',
|
|
2340
|
+
'arguments',
|
|
2341
|
+
'await',
|
|
2342
|
+
'boolean',
|
|
2343
|
+
'break',
|
|
2344
|
+
'byte',
|
|
2345
|
+
'case',
|
|
2346
|
+
'catch',
|
|
2347
|
+
'char',
|
|
2348
|
+
'class',
|
|
2349
|
+
'const',
|
|
2350
|
+
'continue',
|
|
2351
|
+
'debugger',
|
|
2352
|
+
'default',
|
|
2353
|
+
'delete',
|
|
2354
|
+
'do',
|
|
2355
|
+
'double',
|
|
2356
|
+
'decimal',
|
|
2357
|
+
'else',
|
|
2358
|
+
'enum',
|
|
2359
|
+
'eval',
|
|
2360
|
+
'export',
|
|
2361
|
+
'extends',
|
|
2362
|
+
'false',
|
|
2363
|
+
'final',
|
|
2364
|
+
'finally',
|
|
2365
|
+
'float',
|
|
2366
|
+
'for',
|
|
2367
|
+
'function',
|
|
2368
|
+
'goto',
|
|
2369
|
+
'if',
|
|
2370
|
+
'implements',
|
|
2371
|
+
'import',
|
|
2372
|
+
'in',
|
|
2373
|
+
'instanceof',
|
|
2374
|
+
'int',
|
|
2375
|
+
'interface',
|
|
2376
|
+
'let',
|
|
2377
|
+
'long',
|
|
2378
|
+
'native',
|
|
2379
|
+
'new',
|
|
2380
|
+
'null',
|
|
2381
|
+
'package',
|
|
2382
|
+
'private',
|
|
2383
|
+
'protected',
|
|
2384
|
+
'public',
|
|
2385
|
+
'return',
|
|
2386
|
+
'short',
|
|
2387
|
+
'static',
|
|
2388
|
+
'super',
|
|
2389
|
+
'switch',
|
|
2390
|
+
'synchronized',
|
|
2391
|
+
'this',
|
|
2392
|
+
'throw',
|
|
2393
|
+
'throws',
|
|
2394
|
+
'transient',
|
|
2395
|
+
'true',
|
|
2396
|
+
'try',
|
|
2397
|
+
'typeof',
|
|
2398
|
+
'var',
|
|
2399
|
+
'void',
|
|
2400
|
+
'volatile',
|
|
2401
|
+
'while',
|
|
2402
|
+
'with',
|
|
2403
|
+
'yield,as',
|
|
2404
|
+
'any',
|
|
2405
|
+
'number',
|
|
2406
|
+
'string',
|
|
2407
|
+
'get',
|
|
2408
|
+
'type',
|
|
2409
|
+
'typeof',
|
|
2410
|
+
'instanceof',
|
|
2411
|
+
'require',
|
|
2412
|
+
];
|
|
2413
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (excludeds.includes(this.calleeName)) {
|
|
2414
|
+
<span class="cstat-no" title="statement not covered" > return `_${this.calleeName}`;</span>
|
|
2415
|
+
}
|
|
2416
|
+
return this.calleeName;
|
|
2417
|
+
}
|
|
2418
|
+
|
|
2419
|
+
get tsCalleeKey(): string {
|
|
2420
|
+
const { tsCalleeNamespace } = this;
|
|
2421
|
+
const calleeName = this.tsCalleeName;
|
|
2422
|
+
return calleeName ? `${tsCalleeNamespace}.${calleeName}` : <span class="branch-1 cbranch-no" title="branch not covered" >'__IDENTIFIER__';</span>
|
|
2423
|
+
}
|
|
2424
|
+
|
|
2425
|
+
<span class="fstat-no" title="function not covered" > get c</span>alleeDefaultKey(): string {
|
|
2426
|
+
<span class="cstat-no" title="statement not covered" > return `${this.calleeNamespace}.${this.calleeName}`;</span>
|
|
2427
|
+
}
|
|
2428
|
+
|
|
2429
|
+
<span class="fstat-no" title="function not covered" > _setCallee(</span>_interface: Interface) {
|
|
2430
|
+
<span class="cstat-no" title="statement not covered" > this.arguments = [];</span>
|
|
2431
|
+
<span class="cstat-no" title="statement not covered" > _interface.params.forEach(<span class="fstat-no" title="function not covered" >(p</span>aram) => {</span>
|
|
2432
|
+
<span class="cstat-no" title="statement not covered" > this._addArgument({</span>
|
|
2433
|
+
keyword: param.name,
|
|
2434
|
+
});
|
|
2435
|
+
});
|
|
2436
|
+
}
|
|
2437
|
+
|
|
2438
|
+
<span class="fstat-no" title="function not covered" > setCallee(</span>_interface: Interface) {
|
|
2439
|
+
const calleeNamespace = <span class="cstat-no" title="statement not covered" >_interface.getNamespace();</span>
|
|
2440
|
+
const calleeName = <span class="cstat-no" title="statement not covered" >_interface.name;</span>
|
|
2441
|
+
const params = <span class="cstat-no" title="statement not covered" >_interface.params.map(<span class="fstat-no" title="function not covered" >(p</span>aram) => {</span>
|
|
2442
|
+
const oldArgument = <span class="cstat-no" title="statement not covered" >this.arguments.find(<span class="fstat-no" title="function not covered" >(n</span>ode) => <span class="cstat-no" title="statement not covered" >node.keyword === param.name)</span></span>
|
|
2443
|
+
<span class="cstat-no" title="statement not covered" > return Argument.from({</span>
|
|
2444
|
+
keyword: param.name,
|
|
2445
|
+
expression: oldArgument ? oldArgument.expression : undefined
|
|
2446
|
+
}, this, 'arguments');
|
|
2447
|
+
});
|
|
2448
|
+
const oldArguments = <span class="cstat-no" title="statement not covered" >this.arguments.reduce(<span class="fstat-no" title="function not covered" >(r</span>es, argumentNode) => {</span>
|
|
2449
|
+
const targetParam = <span class="cstat-no" title="statement not covered" >_interface.params.find(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name === argumentNode.keyword)</span></span>
|
|
2450
|
+
<span class="cstat-no" title="statement not covered" > if (!targetParam) {</span>
|
|
2451
|
+
<span class="cstat-no" title="statement not covered" > res.push(Argument.from({</span>
|
|
2452
|
+
keyword: argumentNode.keyword,
|
|
2453
|
+
expression: argumentNode ? argumentNode.expression : undefined
|
|
2454
|
+
}, this, 'arguments'))
|
|
2455
|
+
}
|
|
2456
|
+
<span class="cstat-no" title="statement not covered" > return res</span>
|
|
2457
|
+
}, [])
|
|
2458
|
+
<span class="cstat-no" title="statement not covered" > params.push(...oldArguments)</span>
|
|
2459
|
+
|
|
2460
|
+
<span class="cstat-no" title="statement not covered" > if (this.app) {</span>
|
|
2461
|
+
<span class="cstat-no" title="statement not covered" > this.app.emit('collect:start', {</span>
|
|
2462
|
+
actionMsg: `切换调用逻辑`,
|
|
2463
|
+
});
|
|
2464
|
+
const { parentNode } = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
2465
|
+
<span class="cstat-no" title="statement not covered" > this.update({</span>
|
|
2466
|
+
calleeNamespace,
|
|
2467
|
+
calleeName,
|
|
2468
|
+
arguments: params,
|
|
2469
|
+
folded: false,
|
|
2470
|
+
});
|
|
2471
|
+
<span class="cstat-no" title="statement not covered" > if (parentNode.concept === 'MemberExpression') {</span>
|
|
2472
|
+
const topNode = (<span class="cstat-no" title="statement not covered" >parentNode as MemberExpression).firstMemberExpressionNode();</span>
|
|
2473
|
+
<span class="cstat-no" title="statement not covered" > topNode.replaceNode(this);</span>
|
|
2474
|
+
}
|
|
2475
|
+
<span class="cstat-no" title="statement not covered" > this.app.emit('collect:end');</span>
|
|
2476
|
+
} else {
|
|
2477
|
+
<span class="cstat-no" title="statement not covered" > this.update({</span>
|
|
2478
|
+
calleeNamespace,
|
|
2479
|
+
calleeName,
|
|
2480
|
+
arguments: params,
|
|
2481
|
+
folded: false,
|
|
2482
|
+
});
|
|
2483
|
+
}
|
|
2484
|
+
}
|
|
2485
|
+
|
|
2486
|
+
// 通过内容过去节点
|
|
2487
|
+
getCallNode() {
|
|
2488
|
+
let node;
|
|
2489
|
+
// 如果是其余app下自定义逻辑
|
|
2490
|
+
try {
|
|
2491
|
+
node = getNodeByNodeCallee(this.app, this.calleewholeKey, <span class="fstat-no" title="function not covered" >(k</span>ey: any, tempPoint: any) => {
|
|
2492
|
+
// 处理 NASL 中未定义的假的节点
|
|
2493
|
+
<span class="cstat-no" title="statement not covered" > if (key === tempPoint.name) {</span>
|
|
2494
|
+
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
2495
|
+
tempPoint,
|
|
2496
|
+
state: 1,
|
|
2497
|
+
};
|
|
2498
|
+
}
|
|
2499
|
+
const t = <span class="cstat-no" title="statement not covered" >tempPoint[key];</span>
|
|
2500
|
+
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
2501
|
+
tempPoint: t,
|
|
2502
|
+
state: Array.isArray(t) ? 2 : 1,
|
|
2503
|
+
};
|
|
2504
|
+
});
|
|
2505
|
+
} catch (err) {}
|
|
2506
|
+
return node;
|
|
2507
|
+
}
|
|
2508
|
+
|
|
2509
|
+
get completeArguments() {
|
|
2510
|
+
const node = this.getCallNode();
|
|
2511
|
+
let logicParam: InterfaceParam[] = [];
|
|
2512
|
+
const Arguments: Argument[] = [];
|
|
2513
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (node?.params) {
|
|
2514
|
+
logicParam = node.params;
|
|
2515
|
+
}
|
|
2516
|
+
if (this.arguments?.length) {
|
|
2517
|
+
this.arguments.forEach((arg) => {
|
|
2518
|
+
const idx = logicParam.findIndex((params) => arg.keyword === params.name);
|
|
2519
|
+
const param = logicParam[idx];
|
|
2520
|
+
|
|
2521
|
+
arg.paramRequired = param?.required;
|
|
2522
|
+
arg.paramTypeAnnotation = undefined;
|
|
2523
|
+
arg.paramDefaultValue = undefined;
|
|
2524
|
+
// 取到是不是必填放入参数中
|
|
2525
|
+
if (param && !arg.expression) {
|
|
2526
|
+
// 非必填时 才会有默认值
|
|
2527
|
+
// 因为之前接口这里的必填非必填,一直是有值的,而且不允许修改
|
|
2528
|
+
arg.paramTypeAnnotation = param.typeAnnotation;
|
|
2529
|
+
arg.paramDefaultValue = param.defaultValue;
|
|
2530
|
+
}
|
|
2531
|
+
Arguments.push(arg);
|
|
2532
|
+
});
|
|
2533
|
+
}
|
|
2534
|
+
return Arguments;
|
|
2535
|
+
}
|
|
2536
|
+
|
|
2537
|
+
/**
|
|
2538
|
+
* 反向查找对应 module 和 interface
|
|
2539
|
+
*/
|
|
2540
|
+
<span class="fstat-no" title="function not covered" > getModuleInterface(</span>) {
|
|
2541
|
+
<span class="cstat-no" title="statement not covered" > if (!this.calleeNamespace || !this.calleeName)</span>
|
|
2542
|
+
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
2543
|
+
_module: null,
|
|
2544
|
+
_interface: null,
|
|
2545
|
+
};
|
|
2546
|
+
const _arr = <span class="cstat-no" title="statement not covered" >this.calleewholeKey.split('.');</span>
|
|
2547
|
+
const _name = <span class="cstat-no" title="statement not covered" >_arr[1];</span>
|
|
2548
|
+
const _interfaceName = <span class="cstat-no" title="statement not covered" >_arr[3];</span>
|
|
2549
|
+
let _module: Module | Connector;
|
|
2550
|
+
// 由于自定义连接器的引入,目前在 集成中心下也存在着一部分接口
|
|
2551
|
+
// 因此,需要额外判断,如果是自定义连接器需要拿 app.dependencies 中的接口或者 app.integration 中connector下面的接口
|
|
2552
|
+
const isCustomConnector = <span class="cstat-no" title="statement not covered" >this.getAncestor('Connector');</span>
|
|
2553
|
+
const isInIntegration = <span class="cstat-no" title="statement not covered" >this.getAncestor('Integration');</span>
|
|
2554
|
+
<span class="cstat-no" title="statement not covered" > if (isCustomConnector && isInIntegration) {</span>
|
|
2555
|
+
<span class="cstat-no" title="statement not covered" > _module = this.app?.integration?.connectors?.find?.(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name === _name)</span>;</span>
|
|
2556
|
+
} else <span class="cstat-no" title="statement not covered" >if (isCustomConnector && !isInIntegration) {</span>
|
|
2557
|
+
<span class="cstat-no" title="statement not covered" > _module = this.app?.dependencies?.find?.(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name === _name)</span>;</span>
|
|
2558
|
+
} else {
|
|
2559
|
+
// default
|
|
2560
|
+
<span class="cstat-no" title="statement not covered" > _module = this.app.interfaceDependencies.find(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name === _name)</span>;</span>
|
|
2561
|
+
}
|
|
2562
|
+
const _interface = <span class="cstat-no" title="statement not covered" >_module?.interfaces.find(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name === _interfaceName)</span>;</span>
|
|
2563
|
+
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
2564
|
+
_module,
|
|
2565
|
+
_interface,
|
|
2566
|
+
};
|
|
2567
|
+
}
|
|
2568
|
+
|
|
2569
|
+
// 导入接口
|
|
2570
|
+
<span class="fstat-no" title="function not covered" > async </span>createOrUpdateInterface({ moduleData, selectedModule }: { moduleData: Partial<Module>; selectedModule: any }) {
|
|
2571
|
+
const moduleName = <span class="cstat-no" title="statement not covered" >moduleData.name;</span>
|
|
2572
|
+
const itfData = <span class="cstat-no" title="statement not covered" >moduleData.interfaces[0];</span>
|
|
2573
|
+
<span class="cstat-no" title="statement not covered" > this.app.emit('collect:start', { actionMsg: '调用接口' });</span>
|
|
2574
|
+
|
|
2575
|
+
let module = <span class="cstat-no" title="statement not covered" >this.app.interfaceDependencies.find(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name === moduleName)</span>;</span>
|
|
2576
|
+
<span class="cstat-no" title="statement not covered" > if (!module) {</span>
|
|
2577
|
+
<span class="cstat-no" title="statement not covered" > module = this.app.addModuleInInterfaceDependencies({</span>
|
|
2578
|
+
name: moduleName,
|
|
2579
|
+
configuration: moduleData.configuration,
|
|
2580
|
+
type: 'interface',
|
|
2581
|
+
isAdd: true,
|
|
2582
|
+
});
|
|
2583
|
+
}
|
|
2584
|
+
// 将依赖库的config添加到APP的config中
|
|
2585
|
+
<span class="cstat-no" title="statement not covered" > if (selectedModule.appType === 'DUBBO' && moduleData.configuration && moduleData.configuration.groups) {</span>
|
|
2586
|
+
const configGroupData = <span class="cstat-no" title="statement not covered" >moduleData.configuration.groups[0];</span>
|
|
2587
|
+
<span class="cstat-no" title="statement not covered" > if (configGroupData) {</span>
|
|
2588
|
+
const configGroup = <span class="cstat-no" title="statement not covered" >this.app.configuration.getGroup(configGroupData.name);</span>
|
|
2589
|
+
<span class="cstat-no" title="statement not covered" > if (configGroup) {</span>
|
|
2590
|
+
const propertyData = <span class="cstat-no" title="statement not covered" >configGroupData.properties[0];</span>
|
|
2591
|
+
<span class="cstat-no" title="statement not covered" > if (propertyData) {</span>
|
|
2592
|
+
const property = <span class="cstat-no" title="statement not covered" >configGroup.getProperty(propertyData.name);</span>
|
|
2593
|
+
// 已导入的不覆盖
|
|
2594
|
+
<span class="cstat-no" title="statement not covered" > if (!property) {</span>
|
|
2595
|
+
<span class="cstat-no" title="statement not covered" > configGroup.addConfigProperty(propertyData);</span>
|
|
2596
|
+
}
|
|
2597
|
+
}
|
|
2598
|
+
}
|
|
2599
|
+
}
|
|
2600
|
+
}
|
|
2601
|
+
|
|
2602
|
+
let targetItf = <span class="cstat-no" title="statement not covered" >module.interfaces.find(<span class="fstat-no" title="function not covered" >(i</span>tem) => <span class="cstat-no" title="statement not covered" >item.name === itfData.name)</span>;</span>
|
|
2603
|
+
// 根据 targetItf 是否是AuthInterface 来确定生成什么类型的接口
|
|
2604
|
+
let newItf;
|
|
2605
|
+
<span class="cstat-no" title="statement not covered" > if (targetItf && targetItf.concept === 'AuthInterface') {</span>
|
|
2606
|
+
<span class="cstat-no" title="statement not covered" > newItf = new AuthInterface({</span>
|
|
2607
|
+
...itfData,
|
|
2608
|
+
authLogic: (targetItf as AuthInterface).authLogic,
|
|
2609
|
+
concept: targetItf.concept,
|
|
2610
|
+
});
|
|
2611
|
+
} else {
|
|
2612
|
+
<span class="cstat-no" title="statement not covered" > newItf = new Interface(itfData);</span>
|
|
2613
|
+
}
|
|
2614
|
+
<span class="cstat-no" title="statement not covered" > if (targetItf) {</span>
|
|
2615
|
+
// 更新已有接口
|
|
2616
|
+
<span class="cstat-no" title="statement not covered" > targetItf.update(newItf.toJSON());</span>
|
|
2617
|
+
} else {
|
|
2618
|
+
<span class="cstat-no" title="statement not covered" > targetItf = newItf;</span>
|
|
2619
|
+
<span class="cstat-no" title="statement not covered" > module.addInterface(targetItf);</span>
|
|
2620
|
+
}
|
|
2621
|
+
|
|
2622
|
+
// 计算之前选择的接口的引用次数
|
|
2623
|
+
let oldItf: Interface;
|
|
2624
|
+
<span class="cstat-no" title="statement not covered" > if (this.calleeKey !== '__IDENTIFIER__') {</span>
|
|
2625
|
+
<span class="cstat-no" title="statement not covered" > oldItf = this.getCallNode();</span>
|
|
2626
|
+
<span class="cstat-no" title="statement not covered" > if (oldItf) {</span>
|
|
2627
|
+
let refCount = <span class="cstat-no" title="statement not covered" >0;</span>
|
|
2628
|
+
let isSelfRef = <span class="cstat-no" title="statement not covered" >false;</span>
|
|
2629
|
+
let isSameItf = <span class="cstat-no" title="statement not covered" >false;</span>
|
|
2630
|
+
<span class="cstat-no" title="statement not covered" > if (selectedModule.appCode === oldItf.parentNode.name && newItf.name === oldItf.name) {</span>
|
|
2631
|
+
<span class="cstat-no" title="statement not covered" > isSameItf = true;</span>
|
|
2632
|
+
}
|
|
2633
|
+
const refs = <span class="cstat-no" title="statement not covered" >await oldItf.findUsage();</span>
|
|
2634
|
+
<span class="cstat-no" title="statement not covered" > refs.forEach(<span class="fstat-no" title="function not covered" >(v</span>al: any) => {</span>
|
|
2635
|
+
const loopFindNode = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>tem: any) => {</span>
|
|
2636
|
+
<span class="cstat-no" title="statement not covered" > if (item.children) {</span>
|
|
2637
|
+
<span class="cstat-no" title="statement not covered" > item.children.forEach(<span class="fstat-no" title="function not covered" >(i</span>: any) => <span class="cstat-no" title="statement not covered" >loopFindNode(i))</span>;</span>
|
|
2638
|
+
} else {
|
|
2639
|
+
<span class="cstat-no" title="statement not covered" > refCount++;</span>
|
|
2640
|
+
<span class="cstat-no" title="statement not covered" > if (item.node === this) {</span>
|
|
2641
|
+
<span class="cstat-no" title="statement not covered" > isSelfRef = true;</span>
|
|
2642
|
+
} else <span class="cstat-no" title="statement not covered" >if (isSameItf) {</span>
|
|
2643
|
+
<span class="cstat-no" title="statement not covered" > item.node.setCallee?.(targetItf);</span>
|
|
2644
|
+
}
|
|
2645
|
+
}
|
|
2646
|
+
};
|
|
2647
|
+
<span class="cstat-no" title="statement not covered" > loopFindNode(val);</span>
|
|
2648
|
+
});
|
|
2649
|
+
|
|
2650
|
+
// 之前选的接口不存在时则删除
|
|
2651
|
+
// if (selectedModule.appCode === oldItf.parentNode.name && selectedModule.apis && !selectedModule.apis.find((api) => api.apiCode === oldItf.name)) {
|
|
2652
|
+
// oldItf.delete();
|
|
2653
|
+
// } else {
|
|
2654
|
+
// 仅被自己引用则删除
|
|
2655
|
+
<span class="cstat-no" title="statement not covered" > if (!isSameItf && isSelfRef && refCount === 1) {</span>
|
|
2656
|
+
// 删除旧的数据结构
|
|
2657
|
+
const shouldDeleteStructures: Structure[] = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
2658
|
+
const structureMap = <span class="cstat-no" title="statement not covered" >oldItf.module.getInterfaceStructureMap()</span>
|
|
2659
|
+
<span class="cstat-no" title="statement not covered" > structureMap.forEach(<span class="fstat-no" title="function not covered" >(i</span>tfs, stru) => {</span>
|
|
2660
|
+
<span class="cstat-no" title="statement not covered" > if (itfs.size === 1 && itfs.has(oldItf)) {</span>
|
|
2661
|
+
<span class="cstat-no" title="statement not covered" > shouldDeleteStructures.push(stru)</span>
|
|
2662
|
+
}
|
|
2663
|
+
})
|
|
2664
|
+
<span class="cstat-no" title="statement not covered" > shouldDeleteStructures.forEach(<span class="fstat-no" title="function not covered" >(s</span>: Structure) => <span class="cstat-no" title="statement not covered" >s.delete())</span>;</span>
|
|
2665
|
+
<span class="cstat-no" title="statement not covered" > oldItf.delete();</span>
|
|
2666
|
+
<span class="cstat-no" title="statement not covered" > oldItf.afterDelete();</span>
|
|
2667
|
+
}
|
|
2668
|
+
// }
|
|
2669
|
+
}
|
|
2670
|
+
}
|
|
2671
|
+
|
|
2672
|
+
<span class="cstat-no" title="statement not covered" > this.setCallee(targetItf);</span>
|
|
2673
|
+
|
|
2674
|
+
const oldStructuresSet = <span class="cstat-no" title="statement not covered" >targetItf.getRefStructures(targetItf.module.structures);</span>
|
|
2675
|
+
// 递归找出 response/request 的 Body/Returns 引用的数据结构
|
|
2676
|
+
const newStructuresSet = <span class="cstat-no" title="statement not covered" >targetItf.getRefStructures(moduleData.structures);</span>
|
|
2677
|
+
// 新导入的数据结构在系统中已存在时 提前进行删除
|
|
2678
|
+
<span class="cstat-no" title="statement not covered" > newStructuresSet.forEach(<span class="fstat-no" title="function not covered" >stru </span>=> {</span>
|
|
2679
|
+
const target = <span class="cstat-no" title="statement not covered" >targetItf.module.structures.find(<span class="fstat-no" title="function not covered" >node </span>=> <span class="cstat-no" title="statement not covered" >node.name === stru.name)</span></span>
|
|
2680
|
+
<span class="cstat-no" title="statement not covered" > if (target) {</span>
|
|
2681
|
+
<span class="cstat-no" title="statement not covered" > oldStructuresSet.add(target)</span>
|
|
2682
|
+
}
|
|
2683
|
+
})
|
|
2684
|
+
// 删除旧的数据结构
|
|
2685
|
+
<span class="cstat-no" title="statement not covered" > oldStructuresSet.forEach(<span class="fstat-no" title="function not covered" >(s</span>) => <span class="cstat-no" title="statement not covered" >s.delete())</span>;</span>
|
|
2686
|
+
<span class="cstat-no" title="statement not covered" > newStructuresSet.forEach(<span class="fstat-no" title="function not covered" >(s</span>) => <span class="cstat-no" title="statement not covered" >module.addStructure(Structure.from(s)))</span>;</span>
|
|
2687
|
+
<span class="cstat-no" title="statement not covered" > this.app.emit('collect:end');</span>
|
|
2688
|
+
}
|
|
2689
|
+
//================================================================================
|
|
2690
|
+
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
2691
|
+
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
2692
|
+
//================================================================================
|
|
2693
|
+
}
|
|
2694
|
+
|
|
2695
|
+
export default CallInterface;
|
|
2696
|
+
//================================================================================
|
|
2697
|
+
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
2698
|
+
// 自动生成的代码已结束。下面可以手动编写。
|
|
2699
|
+
//================================================================================
|
|
2700
|
+
</pre></td></tr></table></pre>
|
|
2701
|
+
|
|
2702
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
2703
|
+
</div><!-- /wrapper -->
|
|
2704
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
2705
|
+
Code coverage generated by
|
|
2706
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
2707
|
+
at 2023-10-18T11:36:07.885Z
|
|
2708
|
+
</div>
|
|
2709
|
+
<script src="../../prettify.js"></script>
|
|
2710
|
+
<script>
|
|
2711
|
+
window.onload = function () {
|
|
2712
|
+
prettyPrint();
|
|
2713
|
+
};
|
|
2714
|
+
</script>
|
|
2715
|
+
<script src="../../sorter.js"></script>
|
|
2716
|
+
<script src="../../block-navigation.js"></script>
|
|
2717
|
+
</body>
|
|
2718
|
+
</html>
|
|
2719
|
+
|