gitnexus 1.6.10-rc.99 → 1.6.10
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/README.md +177 -18
- package/dist/_shared/graph/types.d.ts +21 -2
- package/dist/_shared/graph/types.d.ts.map +1 -1
- package/dist/_shared/index.d.ts +3 -3
- package/dist/_shared/index.d.ts.map +1 -1
- package/dist/_shared/index.js +1 -1
- package/dist/_shared/index.js.map +1 -1
- package/dist/_shared/integrations/circuit-breaker.d.ts.map +1 -1
- package/dist/_shared/integrations/circuit-breaker.js.map +1 -1
- package/dist/_shared/integrations/resilient-fetch.d.ts +16 -0
- package/dist/_shared/integrations/resilient-fetch.d.ts.map +1 -1
- package/dist/_shared/integrations/resilient-fetch.js +19 -7
- package/dist/_shared/integrations/resilient-fetch.js.map +1 -1
- package/dist/_shared/language-detection.d.ts.map +1 -1
- package/dist/_shared/lbug/schema-constants.d.ts +2 -2
- package/dist/_shared/lbug/schema-constants.d.ts.map +1 -1
- package/dist/_shared/lbug/schema-constants.js +3 -0
- package/dist/_shared/lbug/schema-constants.js.map +1 -1
- package/dist/_shared/scope-resolution/evidence-weights.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts +5 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/finalize-algorithm.js +315 -36
- package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -1
- package/dist/_shared/scope-resolution/reference-site.d.ts +115 -0
- package/dist/_shared/scope-resolution/reference-site.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/registries/field-registry.js.map +1 -1
- package/dist/_shared/scope-resolution/registries/lookup-core.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/registries/lookup-core.js +58 -2
- package/dist/_shared/scope-resolution/registries/lookup-core.js.map +1 -1
- package/dist/_shared/scope-resolution/registries/method-registry.js.map +1 -1
- package/dist/_shared/scope-resolution/scope-tree.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/scope-tree.js.map +1 -1
- package/dist/_shared/scope-resolution/symbol-definition.d.ts +47 -0
- package/dist/_shared/scope-resolution/symbol-definition.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/types.d.ts +278 -3
- package/dist/_shared/scope-resolution/types.d.ts.map +1 -1
- package/dist/cli/ai-context.d.ts +3 -2
- package/dist/cli/ai-context.js +71 -16
- package/dist/cli/analyze-config.d.ts +1 -1
- package/dist/cli/analyze-options.d.ts +131 -0
- package/dist/cli/analyze-options.js +1 -0
- package/dist/cli/analyze.d.ts +21 -113
- package/dist/cli/analyze.js +172 -29
- package/dist/cli/cli-message.d.ts +1 -1
- package/dist/cli/detect-changes-format.js +19 -2
- package/dist/cli/doctor.d.ts +12 -0
- package/dist/cli/doctor.js +32 -5
- package/dist/cli/editor-targets.js +6 -0
- package/dist/cli/eval-server.js +2 -1
- package/dist/cli/format-symbol.d.ts +15 -0
- package/dist/cli/format-symbol.js +17 -0
- package/dist/cli/generated-skill.d.ts +17 -0
- package/dist/cli/generated-skill.js +1 -0
- package/dist/cli/group.js +229 -21
- package/dist/cli/help-i18n.js +1 -2
- package/dist/cli/i18n/en.d.ts +11 -9
- package/dist/cli/i18n/en.js +13 -9
- package/dist/cli/i18n/resources.d.ts +15 -11
- package/dist/cli/i18n/zh-CN.d.ts +4 -2
- package/dist/cli/i18n/zh-CN.js +11 -9
- package/dist/cli/index.js +8 -4
- package/dist/cli/resolve-invocation.d.ts +7 -3
- package/dist/cli/resolve-invocation.js +7 -3
- package/dist/cli/setup.js +4 -3
- package/dist/cli/skill-gen.d.ts +1 -6
- package/dist/cli/tool.d.ts +1 -0
- package/dist/cli/tool.js +74 -17
- package/dist/cli/wiki.js +53 -10
- package/dist/config/ignore-service.d.ts +2 -0
- package/dist/config/ignore-service.js +54 -13
- package/dist/core/analyzer-identity.d.ts +80 -0
- package/dist/core/analyzer-identity.js +364 -26
- package/dist/core/augmentation/engine.js +86 -71
- package/dist/core/embedding-checkpoint.d.ts +143 -0
- package/dist/core/embedding-checkpoint.js +221 -0
- package/dist/core/embedding-count.d.ts +61 -0
- package/dist/core/embedding-count.js +69 -0
- package/dist/core/embeddings/ast-utils.js +9 -1
- package/dist/core/embeddings/embedding-pipeline.d.ts +8 -0
- package/dist/core/embeddings/embedding-pipeline.js +253 -14
- package/dist/core/embeddings/http-client.d.ts +5 -0
- package/dist/core/embeddings/http-client.js +142 -27
- package/dist/core/graph/graph.js +3 -0
- package/dist/core/graph/import-cycles.d.ts +194 -3
- package/dist/core/graph/import-cycles.js +522 -73
- package/dist/core/graph/types.d.ts +18 -0
- package/dist/core/group/bridge-db.d.ts +204 -1
- package/dist/core/group/bridge-db.js +401 -28
- package/dist/core/group/completeness.d.ts +130 -0
- package/dist/core/group/completeness.js +83 -0
- package/dist/core/group/config-parser.js +0 -5
- package/dist/core/group/cross-impact.d.ts +46 -1
- package/dist/core/group/cross-impact.js +220 -19
- package/dist/core/group/cross-trace.d.ts +32 -11
- package/dist/core/group/cross-trace.js +114 -20
- package/dist/core/group/extractors/http-patterns/java.js +278 -22
- package/dist/core/group/extractors/http-patterns/node.js +332 -216
- package/dist/core/group/extractors/http-patterns/types.d.ts +8 -0
- package/dist/core/group/extractors/http-route-extractor.d.ts +1 -0
- package/dist/core/group/extractors/http-route-extractor.js +122 -48
- package/dist/core/group/extractors/include-extractor.js +20 -2
- package/dist/core/group/extractors/manifest-extractor.d.ts +1 -1
- package/dist/core/group/extractors/manifest-extractor.js +7 -7
- package/dist/core/group/extractors/python-workspace-extractor.js +5 -2
- package/dist/core/group/group-lock.d.ts +31 -0
- package/dist/core/group/group-lock.js +166 -0
- package/dist/core/group/service.js +297 -16
- package/dist/core/group/storage.d.ts +3 -0
- package/dist/core/group/storage.js +7 -39
- package/dist/core/group/sync.d.ts +49 -3
- package/dist/core/group/sync.js +0 -0
- package/dist/core/group/types.d.ts +183 -8
- package/dist/core/group/types.js +28 -1
- package/dist/core/incremental/subgraph-extract.d.ts +9 -6
- package/dist/core/incremental/subgraph-extract.js +33 -10
- package/dist/core/index-freshness.d.ts +77 -2
- package/dist/core/index-freshness.js +109 -2
- package/dist/core/ingestion/call-processor.d.ts +13 -1
- package/dist/core/ingestion/call-processor.js +110 -3
- package/dist/core/ingestion/cfg/callee-cell-format.d.ts +42 -0
- package/dist/core/ingestion/cfg/callee-cell-format.js +42 -0
- package/dist/core/ingestion/cfg/emit.d.ts +8 -23
- package/dist/core/ingestion/cfg/emit.js +9 -23
- package/dist/core/ingestion/class-extractors/configs/go.js +10 -5
- package/dist/core/ingestion/cluster-enricher.js +8 -4
- package/dist/core/ingestion/community-processor.d.ts +21 -3
- package/dist/core/ingestion/community-processor.js +81 -82
- package/dist/core/ingestion/di-extractors/index.d.ts +9 -33
- package/dist/core/ingestion/di-extractors/spring.d.ts +1 -1
- package/dist/core/ingestion/di-extractors/spring.js +8 -1
- package/dist/core/ingestion/di-extractors/types.d.ts +60 -0
- package/dist/core/ingestion/di-extractors/types.js +15 -0
- package/dist/core/ingestion/filesystem-walker.js +30 -14
- package/dist/core/ingestion/finalize-orchestrator.js +1 -0
- package/dist/core/ingestion/frameworks/spring/analysis-features.d.ts +6 -0
- package/dist/core/ingestion/frameworks/spring/analysis-features.js +35 -1
- package/dist/core/ingestion/frameworks/spring/annotation-arguments.d.ts +13 -0
- package/dist/core/ingestion/frameworks/spring/annotation-arguments.js +227 -0
- package/dist/core/ingestion/frameworks/spring/aop-candidates.d.ts +15 -0
- package/dist/core/ingestion/frameworks/spring/aop-candidates.js +85 -0
- package/dist/core/ingestion/frameworks/spring/aop.d.ts +118 -0
- package/dist/core/ingestion/frameworks/spring/aop.js +476 -0
- package/dist/core/ingestion/frameworks/spring/auto-configuration.d.ts +8 -0
- package/dist/core/ingestion/frameworks/spring/auto-configuration.js +16 -0
- package/dist/core/ingestion/frameworks/spring/bean-catalog.js +1 -0
- package/dist/core/ingestion/frameworks/spring/bean-factories.d.ts +33 -0
- package/dist/core/ingestion/frameworks/spring/bean-factories.js +65 -0
- package/dist/core/ingestion/frameworks/spring/conditionals.d.ts +25 -0
- package/dist/core/ingestion/frameworks/spring/conditionals.js +319 -0
- package/dist/core/ingestion/frameworks/spring/di-metadata.d.ts +3 -0
- package/dist/core/ingestion/frameworks/spring/di-metadata.js +162 -13
- package/dist/core/ingestion/frameworks/spring/non-http-handlers.d.ts +28 -0
- package/dist/core/ingestion/frameworks/spring/non-http-handlers.js +152 -0
- package/dist/core/ingestion/frameworks/spring/resource-injection.d.ts +5 -0
- package/dist/core/ingestion/frameworks/spring/resource-injection.js +91 -0
- package/dist/core/ingestion/import-resolvers/configs/csharp.js +5 -1
- package/dist/core/ingestion/import-resolvers/configs/swift.js +13 -0
- package/dist/core/ingestion/import-resolvers/csharp.d.ts +9 -1
- package/dist/core/ingestion/import-resolvers/csharp.js +234 -27
- package/dist/core/ingestion/import-resolvers/go.d.ts +11 -1
- package/dist/core/ingestion/import-resolvers/go.js +44 -17
- package/dist/core/ingestion/import-resolvers/jvm.d.ts +2 -2
- package/dist/core/ingestion/import-resolvers/node-workspace-packages.d.ts +90 -0
- package/dist/core/ingestion/import-resolvers/node-workspace-packages.js +429 -0
- package/dist/core/ingestion/import-resolvers/package-dir-index.d.ts +124 -0
- package/dist/core/ingestion/import-resolvers/package-dir-index.js +223 -0
- package/dist/core/ingestion/import-resolvers/pass-cache.d.ts +50 -0
- package/dist/core/ingestion/import-resolvers/pass-cache.js +60 -0
- package/dist/core/ingestion/import-resolvers/per-file-set.d.ts +71 -0
- package/dist/core/ingestion/import-resolvers/per-file-set.js +11 -0
- package/dist/core/ingestion/import-resolvers/php.d.ts +1 -1
- package/dist/core/ingestion/import-resolvers/php.js +65 -19
- package/dist/core/ingestion/import-resolvers/python-file-index.d.ts +201 -0
- package/dist/core/ingestion/import-resolvers/python-file-index.js +302 -0
- package/dist/core/ingestion/import-resolvers/python.js +25 -6
- package/dist/core/ingestion/import-resolvers/ruby.d.ts +1 -1
- package/dist/core/ingestion/import-resolvers/rust.d.ts +2 -2
- package/dist/core/ingestion/import-resolvers/standard.d.ts +1 -1
- package/dist/core/ingestion/import-resolvers/types.d.ts +1 -12
- package/dist/core/ingestion/import-resolvers/utils.d.ts +65 -6
- package/dist/core/ingestion/import-resolvers/utils.js +215 -36
- package/dist/core/ingestion/import-resolvers/workspace-file-index.d.ts +72 -0
- package/dist/core/ingestion/import-resolvers/workspace-file-index.js +58 -0
- package/dist/core/ingestion/language-config.d.ts +29 -1
- package/dist/core/ingestion/language-config.js +110 -35
- package/dist/core/ingestion/language-provider.d.ts +209 -7
- package/dist/core/ingestion/language-provider.js +37 -0
- package/dist/core/ingestion/languages/c/captures.js +7 -0
- package/dist/core/ingestion/languages/c/import-target.js +12 -16
- package/dist/core/ingestion/languages/c/scope-resolver.js +20 -19
- package/dist/core/ingestion/languages/c/static-linkage.js +12 -16
- package/dist/core/ingestion/languages/c-cpp.js +13 -0
- package/dist/core/ingestion/languages/cobol/scope-resolver.js +27 -20
- package/dist/core/ingestion/languages/cobol.js +13 -0
- package/dist/core/ingestion/languages/cpp/adl.d.ts +2 -2
- package/dist/core/ingestion/languages/cpp/adl.js +67 -44
- package/dist/core/ingestion/languages/cpp/captures.js +14 -2
- package/dist/core/ingestion/languages/cpp/file-local-linkage.js +11 -15
- package/dist/core/ingestion/languages/cpp/inline-namespaces.d.ts +28 -8
- package/dist/core/ingestion/languages/cpp/inline-namespaces.js +242 -68
- package/dist/core/ingestion/languages/cpp/interpret.d.ts +2 -0
- package/dist/core/ingestion/languages/cpp/interpret.js +126 -6
- package/dist/core/ingestion/languages/cpp/query.js +106 -0
- package/dist/core/ingestion/languages/cpp/scope-resolver.js +48 -20
- package/dist/core/ingestion/languages/csharp/accessor-unwrap.d.ts +2 -15
- package/dist/core/ingestion/languages/csharp/accessor-unwrap.js +18 -10
- package/dist/core/ingestion/languages/csharp/captures.js +19 -0
- package/dist/core/ingestion/languages/csharp/import-target.js +46 -72
- package/dist/core/ingestion/languages/csharp/namespace-siblings.js +5 -1
- package/dist/core/ingestion/languages/csharp/query.js +25 -5
- package/dist/core/ingestion/languages/csharp/scope-resolver.js +75 -2
- package/dist/core/ingestion/languages/dart/captures.d.ts +10 -0
- package/dist/core/ingestion/languages/dart/captures.js +598 -16
- package/dist/core/ingestion/languages/dart/import-target.js +32 -9
- package/dist/core/ingestion/languages/dart/index.d.ts +1 -1
- package/dist/core/ingestion/languages/dart/index.js +1 -1
- package/dist/core/ingestion/languages/dart/query.js +98 -1
- package/dist/core/ingestion/languages/dart/scope-resolver.js +14 -3
- package/dist/core/ingestion/languages/dart/simple-hooks.js +9 -0
- package/dist/core/ingestion/languages/dart.js +6 -1
- package/dist/core/ingestion/languages/go/captures.js +108 -3
- package/dist/core/ingestion/languages/go/generic-type-parameters.d.ts +31 -0
- package/dist/core/ingestion/languages/go/generic-type-parameters.js +140 -0
- package/dist/core/ingestion/languages/go/import-target.d.ts +3 -10
- package/dist/core/ingestion/languages/go/import-target.js +34 -30
- package/dist/core/ingestion/languages/go/index.d.ts +1 -1
- package/dist/core/ingestion/languages/go/interface-impls.d.ts +9 -1
- package/dist/core/ingestion/languages/go/interface-impls.js +693 -87
- package/dist/core/ingestion/languages/go/interpret.d.ts +2 -0
- package/dist/core/ingestion/languages/go/interpret.js +22 -8
- package/dist/core/ingestion/languages/go/method-owners.js +31 -12
- package/dist/core/ingestion/languages/go/package-clause.d.ts +46 -0
- package/dist/core/ingestion/languages/go/package-clause.js +75 -0
- package/dist/core/ingestion/languages/go/package-siblings.js +7 -11
- package/dist/core/ingestion/languages/go/query.js +56 -3
- package/dist/core/ingestion/languages/go/scope-resolver.js +39 -0
- package/dist/core/ingestion/languages/go.js +9 -0
- package/dist/core/ingestion/languages/java/analysis-features.d.ts +4 -0
- package/dist/core/ingestion/languages/java/analysis-features.js +12 -0
- package/dist/core/ingestion/languages/java/capture-side-channel.d.ts +12 -0
- package/dist/core/ingestion/languages/java/capture-side-channel.js +48 -0
- package/dist/core/ingestion/languages/java/captures.js +77 -32
- package/dist/core/ingestion/languages/java/import-target.d.ts +49 -9
- package/dist/core/ingestion/languages/java/import-target.js +68 -88
- package/dist/core/ingestion/languages/java/interpret.js +3 -2
- package/dist/core/ingestion/languages/java/module-resolution.d.ts +62 -0
- package/dist/core/ingestion/languages/java/module-resolution.js +142 -0
- package/dist/core/ingestion/languages/java/query.js +15 -3
- package/dist/core/ingestion/languages/java/record-components.d.ts +14 -0
- package/dist/core/ingestion/languages/java/record-components.js +185 -0
- package/dist/core/ingestion/languages/java/scope-resolver.js +10 -2
- package/dist/core/ingestion/languages/java/spring-aop.d.ts +12 -0
- package/dist/core/ingestion/languages/java/spring-aop.js +49 -0
- package/dist/core/ingestion/languages/java/spring-conditionals.d.ts +11 -0
- package/dist/core/ingestion/languages/java/spring-conditionals.js +48 -0
- package/dist/core/ingestion/languages/java/spring-di.d.ts +4 -1
- package/dist/core/ingestion/languages/java/spring-di.js +41 -9
- package/dist/core/ingestion/languages/java/spring-non-http-handlers.d.ts +7 -0
- package/dist/core/ingestion/languages/java/spring-non-http-handlers.js +32 -0
- package/dist/core/ingestion/languages/java.js +94 -3
- package/dist/core/ingestion/languages/javascript/captures.d.ts +6 -1
- package/dist/core/ingestion/languages/javascript/captures.js +262 -4
- package/dist/core/ingestion/languages/javascript/import-target.d.ts +17 -21
- package/dist/core/ingestion/languages/javascript/import-target.js +24 -41
- package/dist/core/ingestion/languages/javascript/index.d.ts +54 -5
- package/dist/core/ingestion/languages/javascript/index.js +54 -5
- package/dist/core/ingestion/languages/javascript/query.d.ts +1 -0
- package/dist/core/ingestion/languages/javascript/query.js +211 -5
- package/dist/core/ingestion/languages/javascript/scope-resolver.js +12 -0
- package/dist/core/ingestion/languages/javascript/simple-hooks.js +2 -1
- package/dist/core/ingestion/languages/jvm/package-siblings.js +77 -9
- package/dist/core/ingestion/languages/kotlin/capture-side-channel.d.ts +15 -0
- package/dist/core/ingestion/languages/kotlin/capture-side-channel.js +48 -0
- package/dist/core/ingestion/languages/kotlin/captures.js +43 -1
- package/dist/core/ingestion/languages/kotlin/import-target.d.ts +8 -1
- package/dist/core/ingestion/languages/kotlin/import-target.js +20 -123
- package/dist/core/ingestion/languages/kotlin/index.d.ts +1 -0
- package/dist/core/ingestion/languages/kotlin/index.js +1 -0
- package/dist/core/ingestion/languages/kotlin/module-resolution.d.ts +22 -0
- package/dist/core/ingestion/languages/kotlin/module-resolution.js +108 -0
- package/dist/core/ingestion/languages/kotlin/query.js +28 -2
- package/dist/core/ingestion/languages/kotlin/scope-resolver.js +23 -2
- package/dist/core/ingestion/languages/kotlin/spring-aop.d.ts +12 -0
- package/dist/core/ingestion/languages/kotlin/spring-aop.js +64 -0
- package/dist/core/ingestion/languages/kotlin/spring-conditionals.d.ts +12 -0
- package/dist/core/ingestion/languages/kotlin/spring-conditionals.js +49 -0
- package/dist/core/ingestion/languages/kotlin/spring-di.d.ts +2 -0
- package/dist/core/ingestion/languages/kotlin/spring-di.js +60 -11
- package/dist/core/ingestion/languages/kotlin/spring-non-http-handlers.d.ts +10 -0
- package/dist/core/ingestion/languages/kotlin/spring-non-http-handlers.js +41 -0
- package/dist/core/ingestion/languages/php/captures.d.ts +5 -0
- package/dist/core/ingestion/languages/php/captures.js +319 -51
- package/dist/core/ingestion/languages/php/import-target.d.ts +3 -4
- package/dist/core/ingestion/languages/php/import-target.js +192 -62
- package/dist/core/ingestion/languages/php/query.js +31 -0
- package/dist/core/ingestion/languages/python/arity-metadata.d.ts +1 -0
- package/dist/core/ingestion/languages/python/arity-metadata.js +1 -0
- package/dist/core/ingestion/languages/python/captures.js +29 -0
- package/dist/core/ingestion/languages/python/import-decomposer.js +22 -1
- package/dist/core/ingestion/languages/python/import-target.d.ts +42 -1
- package/dist/core/ingestion/languages/python/import-target.js +277 -91
- package/dist/core/ingestion/languages/python/index.d.ts +1 -1
- package/dist/core/ingestion/languages/python/index.js +1 -1
- package/dist/core/ingestion/languages/python/interpret.d.ts +52 -0
- package/dist/core/ingestion/languages/python/interpret.js +249 -7
- package/dist/core/ingestion/languages/python/query.js +9 -0
- package/dist/core/ingestion/languages/python/receiver-binding.d.ts +8 -6
- package/dist/core/ingestion/languages/python/receiver-binding.js +108 -12
- package/dist/core/ingestion/languages/python/scope-resolver.js +27 -4
- package/dist/core/ingestion/languages/python/simple-hooks.js +2 -8
- package/dist/core/ingestion/languages/python.js +13 -0
- package/dist/core/ingestion/languages/ruby/captures.js +158 -0
- package/dist/core/ingestion/languages/ruby/import-target.js +7 -5
- package/dist/core/ingestion/languages/ruby/query.js +93 -0
- package/dist/core/ingestion/languages/ruby/scope-resolver.js +2 -0
- package/dist/core/ingestion/languages/ruby/simple-hooks.d.ts +1 -1
- package/dist/core/ingestion/languages/ruby/simple-hooks.js +22 -1
- package/dist/core/ingestion/languages/rust/captures.js +39 -1
- package/dist/core/ingestion/languages/rust/method-owners.js +11 -1
- package/dist/core/ingestion/languages/rust/module-path.d.ts +126 -0
- package/dist/core/ingestion/languages/rust/module-path.js +214 -0
- package/dist/core/ingestion/languages/rust/qualified-call.d.ts +41 -0
- package/dist/core/ingestion/languages/rust/qualified-call.js +481 -0
- package/dist/core/ingestion/languages/rust/query.js +39 -6
- package/dist/core/ingestion/languages/rust/scope-resolver.js +21 -2
- package/dist/core/ingestion/languages/rust.js +17 -0
- package/dist/core/ingestion/languages/swift/captures.js +87 -3
- package/dist/core/ingestion/languages/swift/conditional-directive-preprocess.d.ts +48 -0
- package/dist/core/ingestion/languages/swift/conditional-directive-preprocess.js +253 -0
- package/dist/core/ingestion/languages/swift/import-target.js +4 -9
- package/dist/core/ingestion/languages/swift/query.js +17 -0
- package/dist/core/ingestion/languages/swift/receiver-binding.d.ts +8 -0
- package/dist/core/ingestion/languages/swift/receiver-binding.js +6 -2
- package/dist/core/ingestion/languages/swift.js +2 -0
- package/dist/core/ingestion/languages/typescript/captures.d.ts +90 -1
- package/dist/core/ingestion/languages/typescript/captures.js +267 -5
- package/dist/core/ingestion/languages/typescript/cjs-export-assignment.d.ts +134 -0
- package/dist/core/ingestion/languages/typescript/cjs-export-assignment.js +523 -0
- package/dist/core/ingestion/languages/typescript/cjs-module-exports.d.ts +54 -0
- package/dist/core/ingestion/languages/typescript/cjs-module-exports.js +191 -0
- package/dist/core/ingestion/languages/typescript/convex-endpoint-metadata.d.ts +7 -0
- package/dist/core/ingestion/languages/typescript/convex-endpoint-metadata.js +92 -0
- package/dist/core/ingestion/languages/typescript/file-candidates.d.ts +29 -0
- package/dist/core/ingestion/languages/typescript/file-candidates.js +70 -0
- package/dist/core/ingestion/languages/typescript/import-decomposer.d.ts +28 -1
- package/dist/core/ingestion/languages/typescript/import-decomposer.js +125 -10
- package/dist/core/ingestion/languages/typescript/import-target.d.ts +25 -37
- package/dist/core/ingestion/languages/typescript/import-target.js +24 -26
- package/dist/core/ingestion/languages/typescript/interpret.d.ts +21 -1
- package/dist/core/ingestion/languages/typescript/interpret.js +45 -5
- package/dist/core/ingestion/languages/typescript/module-resolution.d.ts +48 -0
- package/dist/core/ingestion/languages/typescript/module-resolution.js +171 -0
- package/dist/core/ingestion/languages/typescript/query.d.ts +1 -0
- package/dist/core/ingestion/languages/typescript/query.js +303 -14
- package/dist/core/ingestion/languages/typescript/receiver-binding.d.ts +17 -0
- package/dist/core/ingestion/languages/typescript/receiver-binding.js +27 -0
- package/dist/core/ingestion/languages/typescript/scope-resolver.js +27 -40
- package/dist/core/ingestion/languages/typescript/simple-hooks.d.ts +0 -10
- package/dist/core/ingestion/languages/typescript/simple-hooks.js +22 -22
- package/dist/core/ingestion/languages/typescript/tsconfig.d.ts +59 -0
- package/dist/core/ingestion/languages/typescript/tsconfig.js +292 -0
- package/dist/core/ingestion/languages/typescript.js +93 -2
- package/dist/core/ingestion/languages/vue/import-target.d.ts +6 -22
- package/dist/core/ingestion/languages/vue/import-target.js +11 -47
- package/dist/core/ingestion/languages/vue/scope-resolver.js +4 -2
- package/dist/core/ingestion/local-symbol-pruner.js +11 -11
- package/dist/core/ingestion/method-extractors/configs/csharp.js +1 -0
- package/dist/core/ingestion/method-extractors/generic.js +1 -0
- package/dist/core/ingestion/method-types.d.ts +16 -0
- package/dist/core/ingestion/pipeline-phases/di.d.ts +1 -1
- package/dist/core/ingestion/pipeline-phases/di.js +136 -21
- package/dist/core/ingestion/pipeline-phases/index.d.ts +2 -0
- package/dist/core/ingestion/pipeline-phases/index.js +2 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.d.ts +15 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.js +154 -4
- package/dist/core/ingestion/pipeline-phases/parse.js +5 -0
- package/dist/core/ingestion/pipeline-phases/processes.d.ts +3 -2
- package/dist/core/ingestion/pipeline-phases/processes.js +91 -6
- package/dist/core/ingestion/pipeline-phases/routes.js +116 -25
- package/dist/core/ingestion/pipeline-phases/spring-aop.d.ts +34 -0
- package/dist/core/ingestion/pipeline-phases/spring-aop.js +439 -0
- package/dist/core/ingestion/pipeline-phases/spring-auto-configuration.d.ts +34 -0
- package/dist/core/ingestion/pipeline-phases/spring-auto-configuration.js +255 -0
- package/dist/core/ingestion/pipeline-phases/types.d.ts +7 -0
- package/dist/core/ingestion/pipeline.d.ts +26 -2
- package/dist/core/ingestion/pipeline.js +60 -11
- package/dist/core/ingestion/process-processor.d.ts +109 -2
- package/dist/core/ingestion/process-processor.js +464 -52
- package/dist/core/ingestion/resolve-references.d.ts +6 -1
- package/dist/core/ingestion/resolve-references.js +66 -6
- package/dist/core/ingestion/route-extractors/constant-resolver.d.ts +8 -2
- package/dist/core/ingestion/route-extractors/constant-resolver.js +11 -7
- package/dist/core/ingestion/route-extractors/data-route-table.d.ts +40 -0
- package/dist/core/ingestion/route-extractors/data-route-table.js +876 -0
- package/dist/core/ingestion/route-extractors/dispatch-guard.d.ts +96 -0
- package/dist/core/ingestion/route-extractors/dispatch-guard.js +1184 -0
- package/dist/core/ingestion/route-extractors/java-const-resolver.d.ts +114 -0
- package/dist/core/ingestion/route-extractors/java-const-resolver.js +569 -0
- package/dist/core/ingestion/route-extractors/js-const-resolver.d.ts +192 -0
- package/dist/core/ingestion/route-extractors/js-const-resolver.js +1033 -0
- package/dist/core/ingestion/route-extractors/nest.d.ts +53 -0
- package/dist/core/ingestion/route-extractors/nest.js +523 -0
- package/dist/core/ingestion/route-extractors/spring-shared.d.ts +11 -0
- package/dist/core/ingestion/route-extractors/spring-shared.js +89 -0
- package/dist/core/ingestion/route-extractors/spring.js +214 -29
- package/dist/core/ingestion/scope-extractor-bridge.js +9 -1
- package/dist/core/ingestion/scope-extractor.d.ts +22 -7
- package/dist/core/ingestion/scope-extractor.js +309 -15
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +311 -21
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.js +16 -5
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.d.ts +12 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.js +47 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/ids.d.ts +20 -15
- package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +280 -42
- package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.d.ts +123 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +171 -17
- package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.d.ts +58 -1
- package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +137 -34
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.d.ts +30 -1
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +39 -1
- package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.d.ts +18 -1
- package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.js +113 -18
- package/dist/core/ingestion/scope-resolution/passes/compound-receiver.d.ts +107 -5
- package/dist/core/ingestion/scope-resolution/passes/compound-receiver.js +590 -33
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +3 -0
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +101 -41
- package/dist/core/ingestion/scope-resolution/passes/imported-value-refs.d.ts +34 -0
- package/dist/core/ingestion/scope-resolution/passes/imported-value-refs.js +62 -0
- package/dist/core/ingestion/scope-resolution/passes/property-dispatch.d.ts +5 -1
- package/dist/core/ingestion/scope-resolution/passes/property-dispatch.js +8 -1
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +105 -5
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +931 -92
- package/dist/core/ingestion/scope-resolution/passes/return-shape-members.d.ts +58 -0
- package/dist/core/ingestion/scope-resolution/passes/return-shape-members.js +458 -0
- package/dist/core/ingestion/scope-resolution/passes/unique-name-properties.d.ts +180 -0
- package/dist/core/ingestion/scope-resolution/passes/unique-name-properties.js +418 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.d.ts +29 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.js +57 -0
- package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +55 -1
- package/dist/core/ingestion/scope-resolution/pipeline/run.js +241 -19
- package/dist/core/ingestion/scope-resolution/resolution-outcome.d.ts +112 -2
- package/dist/core/ingestion/scope-resolution/resolution-outcome.js +38 -1
- package/dist/core/ingestion/scope-resolution/scope/namespace-targets.d.ts +25 -3
- package/dist/core/ingestion/scope-resolution/scope/namespace-targets.js +36 -16
- package/dist/core/ingestion/scope-resolution/scope/walkers.d.ts +210 -9
- package/dist/core/ingestion/scope-resolution/scope/walkers.js +905 -22
- package/dist/core/ingestion/scope-resolution/summary-maps.d.ts +28 -0
- package/dist/core/ingestion/scope-resolution/summary-maps.js +50 -0
- package/dist/core/ingestion/scope-resolution/undecided-satisfaction.d.ts +55 -0
- package/dist/core/ingestion/scope-resolution/undecided-satisfaction.js +37 -0
- package/dist/core/ingestion/scope-resolution/unresolved-receivers.d.ts +109 -0
- package/dist/core/ingestion/scope-resolution/unresolved-receivers.js +204 -0
- package/dist/core/ingestion/scope-resolution/utils/definition-id.d.ts +13 -0
- package/dist/core/ingestion/scope-resolution/utils/definition-id.js +19 -0
- package/dist/core/ingestion/scope-resolution/utils/generic-instantiation.d.ts +171 -0
- package/dist/core/ingestion/scope-resolution/utils/generic-instantiation.js +218 -0
- package/dist/core/ingestion/scope-resolution/workspace-index-types.d.ts +34 -0
- package/dist/core/ingestion/scope-resolution/workspace-index-types.js +15 -0
- package/dist/core/ingestion/scope-resolution/workspace-index.d.ts +7 -20
- package/dist/core/ingestion/tree-sitter-queries.d.ts +11 -11
- package/dist/core/ingestion/tree-sitter-queries.js +678 -4
- package/dist/core/ingestion/type-env.js +11 -7
- package/dist/core/ingestion/type-extractors/shared.d.ts +17 -0
- package/dist/core/ingestion/type-extractors/shared.js +16 -0
- package/dist/core/ingestion/type-extractors/types.d.ts +12 -0
- package/dist/core/ingestion/type-extractors/typescript.d.ts +20 -0
- package/dist/core/ingestion/type-extractors/typescript.js +26 -0
- package/dist/core/ingestion/utils/ast-helpers.d.ts +297 -15
- package/dist/core/ingestion/utils/ast-helpers.js +578 -46
- package/dist/core/ingestion/utils/call-analysis.d.ts +27 -22
- package/dist/core/ingestion/utils/call-analysis.js +202 -7
- package/dist/core/ingestion/utils/callable-flow-captures.d.ts +59 -0
- package/dist/core/ingestion/utils/callable-flow-captures.js +51 -1
- package/dist/core/ingestion/utils/callable-labels.d.ts +25 -0
- package/dist/core/ingestion/utils/callable-labels.js +31 -0
- package/dist/core/ingestion/utils/effective-ram.d.ts +40 -0
- package/dist/core/ingestion/utils/effective-ram.js +58 -0
- package/dist/core/ingestion/utils/line-base.d.ts +14 -0
- package/dist/core/ingestion/utils/line-base.js +14 -0
- package/dist/core/ingestion/utils/method-props.d.ts +27 -4
- package/dist/core/ingestion/utils/method-props.js +29 -4
- package/dist/core/ingestion/utils/receiver-chain-captures.d.ts +31 -0
- package/dist/core/ingestion/utils/receiver-chain-captures.js +57 -0
- package/dist/core/ingestion/utils/receiver-chain-codec.d.ts +89 -0
- package/dist/core/ingestion/utils/receiver-chain-codec.js +182 -0
- package/dist/core/ingestion/utils/scope-tree-walk.d.ts +22 -0
- package/dist/core/ingestion/utils/scope-tree-walk.js +33 -0
- package/dist/core/ingestion/utils/template-arguments.d.ts +96 -0
- package/dist/core/ingestion/utils/template-arguments.js +196 -0
- package/dist/core/ingestion/utils/type-parameters.d.ts +49 -0
- package/dist/core/ingestion/utils/type-parameters.js +206 -0
- package/dist/core/ingestion/workers/callable-id.d.ts +80 -0
- package/dist/core/ingestion/workers/callable-id.js +125 -0
- package/dist/core/ingestion/workers/parse-worker.d.ts +14 -1
- package/dist/core/ingestion/workers/parse-worker.js +493 -54
- package/dist/core/ingestion/workers/worker-pool.d.ts +20 -27
- package/dist/core/ingestion/workers/worker-pool.js +91 -3
- package/dist/core/lbug/csv-generator.d.ts +27 -0
- package/dist/core/lbug/csv-generator.js +72 -17
- package/dist/core/lbug/extension-load-error.js +13 -2
- package/dist/core/lbug/extension-loader.d.ts +29 -0
- package/dist/core/lbug/extension-loader.js +31 -6
- package/dist/core/lbug/graph-emit-sink.d.ts +264 -0
- package/dist/core/lbug/graph-emit-sink.js +581 -0
- package/dist/core/lbug/lbug-adapter.d.ts +290 -11
- package/dist/core/lbug/lbug-adapter.js +652 -69
- package/dist/core/lbug/native-check.d.ts +21 -0
- package/dist/core/lbug/native-check.js +248 -32
- package/dist/core/lbug/pdg-emit-sink.d.ts +13 -4
- package/dist/core/lbug/pdg-emit-sink.js +21 -111
- package/dist/core/lbug/pool-adapter.d.ts +9 -0
- package/dist/core/lbug/pool-adapter.js +164 -14
- package/dist/core/lbug/query-batch.d.ts +75 -0
- package/dist/core/lbug/query-batch.js +102 -0
- package/dist/core/lbug/rel-pair-routing.d.ts +160 -2
- package/dist/core/lbug/rel-pair-routing.js +228 -10
- package/dist/core/lbug/schema.d.ts +163 -4
- package/dist/core/lbug/schema.js +404 -159
- package/dist/core/lbug/sync-csv-writer.d.ts +47 -0
- package/dist/core/lbug/sync-csv-writer.js +108 -0
- package/dist/core/run-analyze.d.ts +147 -0
- package/dist/core/run-analyze.js +1215 -179
- package/dist/core/search/bm25-index.d.ts +11 -0
- package/dist/core/search/bm25-index.js +60 -26
- package/dist/core/search/fts-indexes.d.ts +150 -9
- package/dist/core/search/fts-indexes.js +241 -23
- package/dist/core/wiki/graph-queries.js +145 -112
- package/dist/core/wiki/llm-client.d.ts +29 -3
- package/dist/core/wiki/llm-client.js +47 -12
- package/dist/core/wiki/prompts.d.ts +19 -0
- package/dist/core/wiki/prompts.js +20 -1
- package/dist/lib/utils.d.ts +113 -0
- package/dist/lib/utils.js +185 -0
- package/dist/mcp/local/aop-metadata.d.ts +77 -0
- package/dist/mcp/local/aop-metadata.js +227 -0
- package/dist/mcp/local/bean-metadata.d.ts +2 -1
- package/dist/mcp/local/bean-metadata.js +22 -1
- package/dist/mcp/local/convex-metadata.d.ts +8 -0
- package/dist/mcp/local/convex-metadata.js +45 -0
- package/dist/mcp/local/local-backend.d.ts +174 -11
- package/dist/mcp/local/local-backend.js +1678 -331
- package/dist/mcp/local/path-predicate.d.ts +19 -0
- package/dist/mcp/local/path-predicate.js +21 -0
- package/dist/mcp/local/pdg-impact.d.ts +132 -10
- package/dist/mcp/local/pdg-impact.js +391 -98
- package/dist/mcp/repository-policy.d.ts +1 -0
- package/dist/mcp/repository-policy.js +5 -0
- package/dist/mcp/resources.js +26 -4
- package/dist/mcp/server.js +23 -13
- package/dist/mcp/tools.d.ts +8 -0
- package/dist/mcp/tools.js +76 -23
- package/dist/server/analyze-job.d.ts +37 -2
- package/dist/server/analyze-job.js +13 -2
- package/dist/server/analyze-launch.d.ts +1 -1
- package/dist/server/analyze-launch.js +79 -10
- package/dist/server/analyze-worker-core.d.ts +1 -1
- package/dist/server/analyze-worker-core.js +10 -1
- package/dist/server/analyze-worker-ipc.d.ts +1 -1
- package/dist/server/analyze-worker-ipc.js +4 -0
- package/dist/server/analyze-worker-protocol.d.ts +59 -0
- package/dist/server/analyze-worker-protocol.js +1 -0
- package/dist/server/analyze-worker.d.ts +1 -17
- package/dist/server/api.d.ts +2 -11
- package/dist/server/api.js +164 -163
- package/dist/server/embed-run-outcome.d.ts +89 -0
- package/dist/server/embed-run-outcome.js +88 -0
- package/dist/server/git-clone.js +6 -2
- package/dist/server/middleware.d.ts +116 -9
- package/dist/server/middleware.js +291 -22
- package/dist/server/sse-progress.d.ts +41 -0
- package/dist/server/sse-progress.js +125 -0
- package/dist/storage/branch-index.d.ts +11 -6
- package/dist/storage/branch-index.js +15 -7
- package/dist/storage/file-hash.js +2 -2
- package/dist/storage/fs-atomic.d.ts +25 -0
- package/dist/storage/fs-atomic.js +42 -0
- package/dist/storage/git.d.ts +131 -0
- package/dist/storage/git.js +236 -2
- package/dist/storage/index-lock.d.ts +102 -0
- package/dist/storage/index-lock.js +660 -0
- package/dist/storage/parse-cache.js +588 -6
- package/dist/storage/parsedfile-store.js +76 -6
- package/dist/storage/repo-manager.d.ts +54 -441
- package/dist/storage/repo-manager.js +312 -221
- package/dist/storage/repo-meta.d.ts +530 -0
- package/dist/storage/repo-meta.js +100 -0
- package/dist/types/pipeline.d.ts +37 -0
- package/hooks/antigravity/gitnexus-antigravity-hook.cjs +1 -1
- package/hooks/claude/gitnexus-hook.cjs +1 -1
- package/hooks/claude/resolve-analyze-cmd.cjs +80 -13
- package/package.json +11 -2
- package/scripts/cross-platform-shard.ts +153 -0
- package/scripts/cross-platform-tests.ts +122 -0
- package/scripts/run-cross-platform.ts +16 -5
- package/skills/gitnexus-cli.md +3 -3
- package/skills/gitnexus-debugging.md +37 -7
- package/skills/gitnexus-exploring.md +26 -4
- package/skills/gitnexus-impact-analysis.md +71 -10
- package/skills/gitnexus-plan/README.md +11 -6
- package/skills/gitnexus-plan/references/evidence-provenance.md +49 -12
- package/skills/gitnexus-plan/scripts/evidence-provenance.mjs +654 -372
- package/skills/gitnexus-refactoring.md +48 -5
- package/skills/gitnexus-review/SKILL.md +12 -6
- package/skills/gitnexus-review/ci-personas/ci-adversarial-lens.md +1 -1
- package/skills/gitnexus-review/ci-personas/ci-blast-radius-lens.md +1 -1
- package/skills/gitnexus-review/ci-personas/ci-correctness-lens.md +1 -1
- package/skills/gitnexus-review/ci-personas/ci-coverage-lens.md +1 -1
- package/skills/gitnexus-review/ci-personas/ci-critic-lens.md +1 -1
- package/skills/gitnexus-review/ci-personas/ci-security-lens.md +1 -1
- package/skills/gitnexus-taint-analysis.md +13 -7
- package/skills/gitnexus-work/SKILL.md +4 -1
- package/skills/gitnexus-work/references/evidence-provenance.md +49 -12
- package/skills/gitnexus-work/scripts/evidence-provenance.mjs +654 -372
- package/vendor/leiden/utils.cjs +28 -1
- package/web/assets/ProcessFlowModal-Badh2Pbg.js +24 -0
- package/web/assets/{__vite-browser-external-bMKyYQkO.js → __vite-browser-external-COxE8F0G.js} +1 -1
- package/web/assets/abnfDiagram-QNN2D4NM-Cq2djWWe.js +1 -0
- package/web/assets/agent-Dr4l5EOp.js +662 -0
- package/web/assets/architecture-TIHT7OUA-V6N4J3SY-fTePvLoe.js +1 -0
- package/web/assets/architectureDiagram-OT7VKSJ7-mKEXxkeF.js +36 -0
- package/web/assets/{blockDiagram-7IZFK4PR-DBefcjof.js → blockDiagram-54WLDVWM-Dg_hrRWE.js} +4 -4
- package/web/assets/{c4Diagram-Y2BXMSZH-EjWnjEJl.js → c4Diagram-X2LASM7V-CnhoT4aV.js} +2 -2
- package/web/assets/chunk-224SPVON-B8gxtXpy.js +1 -0
- package/web/assets/chunk-2AEHWXPW-CV4r6-1I.js +127 -0
- package/web/assets/chunk-2SREHG4O-Dip42xOq.js +1 -0
- package/web/assets/chunk-4RFN2BYJ-DHHWuC-n.js +1 -0
- package/web/assets/chunk-66DQ2XMT-CM0xjFAN.js +1 -0
- package/web/assets/chunk-6BELYETK-ChsYtfHW.js +1 -0
- package/web/assets/{chunk-LII3EMHJ-BL6lKJ_P.js → chunk-6L755F7B-CMhLBxi2.js} +1 -1
- package/web/assets/{chunk-QA3QBVWF-DVXPOIxe.js → chunk-7CWYLC5S-DRgGkkpF.js} +1 -1
- package/web/assets/{chunk-ZXARS5L4-C3v-4Fsw.js → chunk-A7VWPJGB-B4O3oQdQ.js} +1 -1
- package/web/assets/chunk-BI6VK774-D0oaWk8V.js +1 -0
- package/web/assets/chunk-D6VWDJW2-BxcBdZ9c.js +2 -0
- package/web/assets/chunk-DMV4VAQV-Bn6WXDSX.js +4 -0
- package/web/assets/chunk-E5QJAATJ-dh-5CtIV.js +2 -0
- package/web/assets/chunk-EQFTRU2I-1ix7TzW9.js +2 -0
- package/web/assets/chunk-FWYVLQTC-BgDItRzJ.js +1 -0
- package/web/assets/chunk-HNC4WDU7-DoU3KnA7.js +1 -0
- package/web/assets/chunk-L5GCOVLC-CE2w8Nm_.js +161 -0
- package/web/assets/chunk-LAHSG3N2-Bz4hcn0N.js +321 -0
- package/web/assets/chunk-LORZLZWG-B57uGw2N.js +88 -0
- package/web/assets/chunk-NLANEA3F-XpH_NPA5.js +62 -0
- package/web/assets/chunk-NV3KIAZN-5yvcpMiu.js +1 -0
- package/web/assets/chunk-OIYT25JQ-CQ6KOZGX.js +1 -0
- package/web/assets/chunk-PE7DX7ZZ-CCvRVj43.js +10 -0
- package/web/assets/chunk-Q67WD55A-BWCH2SVz.js +156 -0
- package/web/assets/chunk-RRFMTAIC-CMN0wcYA.js +1 -0
- package/web/assets/{chunk-RLI5ZMPA-CkXZ0y0U.js → chunk-SATU7PGQ-B1zhgOvc.js} +1 -1
- package/web/assets/chunk-STOV2HOB-GnExfzIX.js +1 -0
- package/web/assets/{chunk-INKRHTLW-Ckl3_KkO.js → chunk-SZD42YQK-ijyKKVr1.js} +21 -21
- package/web/assets/{chunk-LCXTWHL2-C162wE5z.js → chunk-TFPGFQPA-Dj6a-0pC.js} +3 -3
- package/web/assets/chunk-TGVD4F4B-BMc31Gj2.js +2 -0
- package/web/assets/chunk-TZUXEDM2-B7p9AcTw.js +1 -0
- package/web/assets/chunk-UAT7B5JY-DW-A_fpI.js +1 -0
- package/web/assets/{chunk-6764PJDD-C7xxk063.js → chunk-VE5CLXGZ-C1vB7wpY.js} +1 -1
- package/web/assets/{chunk-RG4AUYOV-ZNgyLFq6.js → chunk-VJFVEZTB-CX66F2ep.js} +3 -3
- package/web/assets/chunk-VY5UBI4V-yxPQAWxw.js +1 -0
- package/web/assets/chunk-WJBAP47W-BckNkuEN.js +1 -0
- package/web/assets/chunk-XNMVGMAZ-Cg_LnPtj.js +1 -0
- package/web/assets/classDiagram-VPOSVPXH-BjOiXA_C.js +1 -0
- package/web/assets/classDiagram-v2-5VFNUXQA-BjOiXA_C.js +1 -0
- package/web/assets/{cose-bilkent-UX7MHV2Q-BmnZ7Mvj.js → cose-bilkent-RZA4XIPR-BHpK4Crp.js} +1 -1
- package/web/assets/cynefin-VYW2F7L2-2VAHYKR6-DAsF6GZv.js +1 -0
- package/web/assets/cynefinDiagram-TR7LZUCG-C3Iar9lZ.js +62 -0
- package/web/assets/dagre-K64A6Z3X-CUwi79mA.js +4 -0
- package/web/assets/diagram-2TLGJV2N-C2F5Nfym.js +30 -0
- package/web/assets/diagram-JCD7PQ7C-DC5-9FRr.js +24 -0
- package/web/assets/{diagram-HNR7UZ2L-DVRltWbL.js → diagram-KFBZAVDW-Dfmf_4ti.js} +3 -3
- package/web/assets/diagram-L7DVE3PN-GIRyVUtt.js +41 -0
- package/web/assets/diagram-YP3FGXHI-CyNFYtkd.js +24 -0
- package/web/assets/ebnfDiagram-DRHRQJWO-D8_CI4ZF.js +1 -0
- package/web/assets/erDiagram-SZLJLQMB-CohQjznC.js +85 -0
- package/web/assets/error-D9MtuG9s.js +1 -0
- package/web/assets/eventmodeling-45OFAUF4-AOUJWSLX-BvTc6iQi.js +1 -0
- package/web/assets/flowDiagram-BWE6NHOH-B6RnEvD9.js +1 -0
- package/web/assets/ganttDiagram-2QTCJSNI-Cks_mEcF.js +292 -0
- package/web/assets/gitGraph-TEB2WS4Q-U5VWYIBC-Dy7CCSZ5.js +1 -0
- package/web/assets/gitGraphDiagram-VVZAVV5G-CG41cIVc.js +106 -0
- package/web/assets/{index-D7mTFcvQ.js → index-2zdvEdzg.js} +51 -51
- package/web/assets/index-CJDpyH-n.css +2 -0
- package/web/assets/info-DKCQHKI2-DX6KST54-BLJg1ikX.js +1 -0
- package/web/assets/infoDiagram-FY4PZKRE-BJ3vPVwW.js +2 -0
- package/web/assets/{ishikawaDiagram-BNXS4ZKH-XpjJRU9h.js → ishikawaDiagram-4JDSWWDM-DmqWtjkl.js} +2 -2
- package/web/assets/{journeyDiagram-M6C3CM3L-C6wjooas.js → journeyDiagram-QUS3FAKT-XAzVzrQW.js} +3 -3
- package/web/assets/{kanban-definition-75IXJCU3-5_UVY79g.js → kanban-definition-D4L7SQKK-YurRnmYn.js} +6 -6
- package/web/assets/katex-C5OPUE3Q-Bnbavtmu.js +257 -0
- package/web/assets/{mindmap-definition-2TDM6QVE-8xDLzk2e.js → mindmap-definition-66QP5TD6-ChrWWnil.js} +5 -5
- package/web/assets/node.browser-U-KyT5AW.js +1 -0
- package/web/assets/packet-7NZHBO7P-5WG45QPS-KUxcuvaA.js +1 -0
- package/web/assets/pegDiagram-YKIO5C6U-QGeQLEq2.js +1 -0
- package/web/assets/pie-RZYD4A2V-2OCZ2VTD-DPs08kJY.js +1 -0
- package/web/assets/pieDiagram-YPY3TKG5-BuT3MYzm.js +39 -0
- package/web/assets/{quadrantDiagram-VICAPDV7-DR54jOeR.js → quadrantDiagram-VO5QLCXA-B7098wSc.js} +3 -3
- package/web/assets/radar-I7S5WNFK-EPLSA35B-w5F0K3a7.js +1 -0
- package/web/assets/railroad-3IZDKUUU-PWFQV6Y6-Bu668yqY.js +1 -0
- package/web/assets/railroad-abnf-AHOZXSZD-JYYJX3BS-B6ghpETS.js +1 -0
- package/web/assets/railroad-ebnf-EBAXGLYW-RBZ4ONAP-D-XmHh3M.js +1 -0
- package/web/assets/railroad-peg-LSFZ7HO6-KHNPXGPG-mhkrhzEn.js +1 -0
- package/web/assets/railroadDiagram-M77LTMSB-AXu4vxk_.js +1 -0
- package/web/assets/{requirementDiagram-JXO7QTGE-PEkg7sKC.js → requirementDiagram-RASO5HTO-B-l8InpK.js} +4 -4
- package/web/assets/{sankeyDiagram-URQDO5SZ-DDWEtjcs.js → sankeyDiagram-F32LOJ6L-Kd7zjJgX.js} +3 -3
- package/web/assets/{sequenceDiagram-VS2MUI6T-Bv-uwANx.js → sequenceDiagram-URATNSBD-BlcdY9DS.js} +7 -7
- package/web/assets/sizeCapture-5GORAGP4-BEqQzsxs.js +1 -0
- package/web/assets/src-C5sx_gMp.js +1 -0
- package/web/assets/stateDiagram-DODFXNG5-DTdHc-fF.js +1 -0
- package/web/assets/stateDiagram-v2-JNMM5JRA-DioNLDDo.js +1 -0
- package/web/assets/swimlanes-OSWOYLSK-CA0ofdwY.js +2 -0
- package/web/assets/swimlanesDiagram-RHGX2RDE-PkwUdckC.js +8 -0
- package/web/assets/{timeline-definition-O6YCAMPW-Qmsuo7qS.js → timeline-definition-WJXWRH4I-DUfp1R3E.js} +3 -3
- package/web/assets/treeView-QDETBFTQ-EHYTSQNO-C5lpBgPm.js +1 -0
- package/web/assets/treemap-6X3UGDF4-CCWCF7EK-BB0ZyO-B.js +1 -0
- package/web/assets/vennDiagram-K3VCMQLI-Bj-FN-XS.js +34 -0
- package/web/assets/wardley-OPB4EBWU-6OWERDVT-CEA3Nq0j.js +1 -0
- package/web/assets/wardleyDiagram-XK6FUAWV-CVV0dHFr.js +78 -0
- package/web/assets/xychartDiagram-5VRUVLCW-CK_rbSWE.js +7 -0
- package/web/index.html +16 -15
- package/dist/core/ingestion/languages/python/index-stats.d.ts +0 -18
- package/dist/core/ingestion/languages/python/index-stats.js +0 -25
- package/web/assets/ProcessFlowModal-CwkpVkv-.js +0 -22
- package/web/assets/agent-Ds-lkZjX.js +0 -626
- package/web/assets/architecture-7EHR7CIX-6QZW5X65-BVWFvYz2.js +0 -1
- package/web/assets/architectureDiagram-UL44E2DR-CmG3uPWf.js +0 -36
- package/web/assets/chunk-2T2R6R2M-Bb6Sy3_j.js +0 -4
- package/web/assets/chunk-2UTLFMKG-CXlhF3Pt.js +0 -1
- package/web/assets/chunk-3SSMPTDK-rPsRM1x0.js +0 -321
- package/web/assets/chunk-4R4BOZG6-Be_F0JoX.js +0 -159
- package/web/assets/chunk-67TQ5CYL-CA7OhIEf.js +0 -124
- package/web/assets/chunk-7J6CGLKN-BlKwgXKs.js +0 -10
- package/web/assets/chunk-C62D2QBJ-3gdL8EKc.js +0 -1
- package/web/assets/chunk-CEXFNPSA-CjwtMDkc.js +0 -1
- package/web/assets/chunk-J5EP6P6S-L19oz55R.js +0 -1
- package/web/assets/chunk-KGFNY3KK-BZeP-55u.js +0 -62
- package/web/assets/chunk-KGYTTC2M-zm6n242I.js +0 -1
- package/web/assets/chunk-KNLZD3CH-BGlP6X9R.js +0 -1
- package/web/assets/chunk-LRIF4GLE-n59lhprL.js +0 -1
- package/web/assets/chunk-RERM46MO-B5dAdWpP.js +0 -1
- package/web/assets/chunk-RKZBBQEN-MyIQbGgD.js +0 -1
- package/web/assets/chunk-T2UQINTJ-BEyXhZWe.js +0 -1
- package/web/assets/chunk-UP6H54XL-BG-n7qDp.js +0 -1
- package/web/assets/chunk-UXSXWOXI-CW1_r5cS.js +0 -1
- package/web/assets/chunk-UY5QBCOK-ByqTVLvh.js +0 -1
- package/web/assets/chunk-VU6ZFW4Y-BLeasdkU.js +0 -2
- package/web/assets/classDiagram-KGZ6W3CR-olpO3fMe.js +0 -1
- package/web/assets/classDiagram-v2-72OJOZXJ-olpO3fMe.js +0 -1
- package/web/assets/dagre-ND4H6XIP-CY4iIF7v.js +0 -4
- package/web/assets/diagram-3NCE3AQN-CO6QpzEE.js +0 -43
- package/web/assets/diagram-GF46GFSD-B2atbzmU.js +0 -24
- package/web/assets/diagram-QXG6HAR7-DR6AHD2h.js +0 -24
- package/web/assets/diagram-WEQXMOUZ-DkpoMwTL.js +0 -10
- package/web/assets/erDiagram-L5TCEMPS-n8g_90bc.js +0 -85
- package/web/assets/eventmodeling-FCH6USID-MREXMVOE-CgFBM7e-.js +0 -1
- package/web/assets/flowDiagram-H6V6AXG4-SGMDiCkB.js +0 -162
- package/web/assets/ganttDiagram-JCBTUEKG-Cb3UBqRS.js +0 -292
- package/web/assets/gitGraph-WXDBUCRP-R675I2BI-DCJv7SII.js +0 -1
- package/web/assets/gitGraphDiagram-S2ZK5IYY-Bs9CR7tq.js +0 -106
- package/web/assets/index-CX_fADmQ.css +0 -2
- package/web/assets/info-J43DQDTF-KCYPFFUO-BfNy-9Nd.js +0 -1
- package/web/assets/infoDiagram-3YFTVSEB-T368on4D.js +0 -2
- package/web/assets/katex-K3KEBU37-qRQBy-EZ.js +0 -261
- package/web/assets/node-Ct_zna8U.js +0 -8
- package/web/assets/packet-YPE3B663-LP52Z2RK-D4qkeG9k.js +0 -1
- package/web/assets/pie-LRSECV5Y-TCRJHUBD-B_yMKyQa.js +0 -1
- package/web/assets/pieDiagram-CU6KROY3-Bv4LpAbr.js +0 -30
- package/web/assets/radar-GUYGQ44K-RDLRG3WG-DeD6yN_0.js +0 -1
- package/web/assets/sdk-CzHHH8tD.js +0 -37
- package/web/assets/src-Cv1eWg0o.js +0 -1
- package/web/assets/stateDiagram-7D4R322I-DVNjmkEq.js +0 -1
- package/web/assets/stateDiagram-v2-36443NZ5-CyN4Fh7_.js +0 -1
- package/web/assets/treeView-BLDUP644-QA4HXRO3-CDuSYnd4.js +0 -1
- package/web/assets/treemap-LRROVOQU-LLAWBHMP-imazucyJ.js +0 -1
- package/web/assets/vennDiagram-MWXL3ELB-BD1iK1SX.js +0 -34
- package/web/assets/wardley-L42UT6IY-5TKZOOLJ-DqrT9tB8.js +0 -1
- package/web/assets/wardleyDiagram-CUQ6CDDI-D6TzLVob.js +0 -78
- package/web/assets/xychartDiagram-N2JHSOCM-CoZ_Tits.js +0 -7
- /package/web/assets/{chunk-7W6UQGC5-pyKGssV3.js → chunk-LIEV3EAG-pyKGssV3.js} +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import{t as e}from"./chunk-AQ6EADP3-CZhslHi-.js";import{q as t}from"./chunk-LIEV3EAG-pyKGssV3.js";import{$ as n,E as r,Y as i,_ as a,a as o,rt as s}from"./chunk-2AEHWXPW-CV4r6-1I.js";import{t as c}from"./chunk-6BELYETK-ChsYtfHW.js";var l=``,u=``,d=``,f=[],p=new Map,m=e(e=>r(e,s()),`sanitizeText`),h=e(e=>{switch(e.type){case`terminal`:return{...e,value:m(e.value)};case`nonterminal`:return{...e,name:m(e.name)};case`sequence`:return{...e,elements:e.elements.map(h)};case`choice`:return{...e,alternatives:e.alternatives.map(h)};case`optional`:return{...e,element:h(e.element)};case`repetition`:return{...e,element:h(e.element),separator:e.separator?h(e.separator):void 0};case`special`:return{...e,text:m(e.text)}}},`sanitizeAstNode`),g=e(()=>{l=``,u=``,d=``,f.length=0,p.clear(),n(),t.debug(`[Railroad] Database cleared`)},`clear`),_=e(e=>{l=m(e),t.debug(`[Railroad] Title set:`,e)},`setTitle`),v=e(()=>l,`getTitle`),y={clear:g,setTitle:_,getTitle:v,addRule:e(e=>{let n={...e,name:m(e.name),definition:h(e.definition),comment:e.comment?m(e.comment):void 0};t.debug(`[Railroad] Adding rule:`,n.name),p.has(n.name)&&t.warn(`[Railroad] Rule '${n.name}' is already defined. Overwriting.`),f.push(n),p.set(n.name,n)},`addRule`),getRules:e(()=>f,`getRules`),getRule:e(e=>p.get(e),`getRule`),setAccTitle:e(e=>{u=m(e).replace(/^\s+/g,``),t.debug(`[Railroad] Accessibility title set:`,e)},`setAccTitle`),getAccTitle:e(()=>u,`getAccTitle`),setAccDescription:e(e=>{d=m(e).replace(/\n\s+/g,`
|
|
2
|
+
`),t.debug(`[Railroad] Accessibility description set:`,e)},`setAccDescription`),getAccDescription:e(()=>d,`getAccDescription`),setDiagramTitle:_,getDiagramTitle:v},b={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:`monospace`,terminalFill:`#FFFFC0`,terminalStroke:`#000000`,terminalTextColor:`#000000`,nonTerminalFill:`#FFFFFF`,nonTerminalStroke:`#000000`,nonTerminalTextColor:`#000000`,lineColor:`#000000`,strokeWidth:2,markerFill:`#000000`,commentFill:`#E8E8E8`,commentStroke:`#888888`,commentTextColor:`#666666`,specialFill:`#F0E0FF`,specialStroke:`#8800CC`,ruleNameColor:`#000066`,showMarkers:!0,markerRadius:5},x=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,S=/^[\w "',.-]+$/,C=new Set([`compactMode`,`padding`,`verticalSeparation`,`horizontalSeparation`,`arcRadius`,`fontSize`,`fontFamily`,`terminalFill`,`terminalStroke`,`terminalTextColor`,`nonTerminalFill`,`nonTerminalStroke`,`nonTerminalTextColor`,`lineColor`,`strokeWidth`,`markerFill`,`commentFill`,`commentStroke`,`commentTextColor`,`specialFill`,`specialStroke`,`ruleNameColor`,`showMarkers`,`markerRadius`]),w=e(e=>e?Object.keys(e).every(e=>e===`railroad`||C.has(e)):!1,`isRailroadStyleOptions`),T=e(e=>e?`railroad`in e&&e.railroad?e.railroad:w(e)?e:{}:{},`extractRailroadOverrides`),E=e(e=>{if(!e||w(e))return{};let{railroad:t,svgId:n,theme:r,look:i,...a}=e;return a},`extractThemeOverrides`),D=e((e,t)=>{if(typeof e!=`string`)return t;let n=e.trim();return x.test(n)?n:t},`sanitizeColorValue`),O=e((e,t)=>{if(typeof e!=`string`)return t;let n=e.trim();return S.test(n)?n:t},`sanitizeFontFamilyValue`),k=e((e,t)=>{let n=typeof e==`number`?e:typeof e==`string`?Number.parseFloat(e):NaN;return Number.isFinite(n)&&n>=0?n:t},`sanitizeNumberValue`),A=e(e=>{let t=typeof e==`number`?e:typeof e==`string`?Number.parseFloat(e):NaN;return Number.isFinite(t)&&t>0?t:void 0},`parseThemeFontSize`),j=e(e=>{let t=O(e.fontFamily,b.fontFamily),n=A(e.fontSize)??b.fontSize;return{...b,fontFamily:t,fontSize:n,terminalFill:D(e.secondBkg??e.secondaryColor,b.terminalFill),terminalStroke:D(e.secondaryBorderColor??e.lineColor,b.terminalStroke),terminalTextColor:D(e.secondaryTextColor??e.textColor,b.terminalTextColor),nonTerminalFill:D(e.mainBkg??e.background,b.nonTerminalFill),nonTerminalStroke:D(e.primaryBorderColor??e.lineColor,b.nonTerminalStroke),nonTerminalTextColor:D(e.primaryTextColor??e.textColor,b.nonTerminalTextColor),lineColor:D(e.lineColor,b.lineColor),markerFill:D(e.lineColor,b.markerFill),commentFill:D(e.labelBackground??e.tertiaryColor,b.commentFill),commentStroke:D(e.tertiaryBorderColor??e.lineColor,b.commentStroke),commentTextColor:D(e.tertiaryTextColor??e.textColor,b.commentTextColor),specialFill:D(e.tertiaryColor??e.secondaryColor,b.specialFill),specialStroke:D(e.tertiaryBorderColor??e.secondaryBorderColor,b.specialStroke),ruleNameColor:D(e.titleColor??e.textColor,b.ruleNameColor)}},`buildThemeDefaults`),M=e(e=>{let t=o(),n=j({...a(),...t.themeVariables??{},...E(e)}),r={...t.railroad??{},...T(e)};return{compactMode:r.compactMode??n.compactMode,padding:k(r.padding,n.padding),verticalSeparation:k(r.verticalSeparation,n.verticalSeparation),horizontalSeparation:k(r.horizontalSeparation,n.horizontalSeparation),arcRadius:k(r.arcRadius,n.arcRadius),fontSize:k(r.fontSize,n.fontSize),fontFamily:O(r.fontFamily,n.fontFamily),terminalFill:D(r.terminalFill,n.terminalFill),terminalStroke:D(r.terminalStroke,n.terminalStroke),terminalTextColor:D(r.terminalTextColor,n.terminalTextColor),nonTerminalFill:D(r.nonTerminalFill,n.nonTerminalFill),nonTerminalStroke:D(r.nonTerminalStroke,n.nonTerminalStroke),nonTerminalTextColor:D(r.nonTerminalTextColor,n.nonTerminalTextColor),lineColor:D(r.lineColor,n.lineColor),strokeWidth:k(r.strokeWidth,n.strokeWidth),markerFill:D(r.markerFill,n.markerFill),commentFill:D(r.commentFill,n.commentFill),commentStroke:D(r.commentStroke,n.commentStroke),commentTextColor:D(r.commentTextColor,n.commentTextColor),specialFill:D(r.specialFill,n.specialFill),specialStroke:D(r.specialStroke,n.specialStroke),ruleNameColor:D(r.ruleNameColor,n.ruleNameColor),showMarkers:r.showMarkers??n.showMarkers,markerRadius:k(r.markerRadius,n.markerRadius)}},`buildRailroadStyleOptions`),N=e(e=>{let{fontFamily:t,fontSize:n,terminalFill:r,terminalStroke:i,terminalTextColor:a,nonTerminalFill:o,nonTerminalStroke:s,nonTerminalTextColor:c,lineColor:l,strokeWidth:u,markerFill:d,commentFill:f,commentStroke:p,commentTextColor:m,specialFill:h,specialStroke:g,ruleNameColor:_}=M(e);return`
|
|
3
|
+
.railroad-diagram {
|
|
4
|
+
font-family: ${t};
|
|
5
|
+
font-size: ${n}px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.railroad-terminal rect {
|
|
9
|
+
fill: ${r};
|
|
10
|
+
stroke: ${i};
|
|
11
|
+
stroke-width: ${u}px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.railroad-terminal text {
|
|
15
|
+
fill: ${a};
|
|
16
|
+
font-family: ${t};
|
|
17
|
+
font-size: ${n}px;
|
|
18
|
+
text-anchor: middle;
|
|
19
|
+
dominant-baseline: middle;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.railroad-nonterminal rect {
|
|
23
|
+
fill: ${o};
|
|
24
|
+
stroke: ${s};
|
|
25
|
+
stroke-width: ${u}px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.railroad-nonterminal text {
|
|
29
|
+
fill: ${c};
|
|
30
|
+
font-family: ${t};
|
|
31
|
+
font-size: ${n}px;
|
|
32
|
+
text-anchor: middle;
|
|
33
|
+
dominant-baseline: middle;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.railroad-line {
|
|
37
|
+
stroke: ${l};
|
|
38
|
+
stroke-width: ${u}px;
|
|
39
|
+
fill: none;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.railroad-start circle,
|
|
43
|
+
.railroad-end circle {
|
|
44
|
+
fill: ${d};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.railroad-comment ellipse {
|
|
48
|
+
fill: ${f};
|
|
49
|
+
stroke: ${p};
|
|
50
|
+
stroke-width: ${u}px;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.railroad-comment text {
|
|
54
|
+
fill: ${m};
|
|
55
|
+
font-style: italic;
|
|
56
|
+
font-family: ${t};
|
|
57
|
+
font-size: ${n}px;
|
|
58
|
+
text-anchor: middle;
|
|
59
|
+
dominant-baseline: middle;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.railroad-special rect {
|
|
63
|
+
fill: ${h};
|
|
64
|
+
stroke: ${g};
|
|
65
|
+
stroke-width: ${u}px;
|
|
66
|
+
stroke-dasharray: 5,3;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.railroad-special text {
|
|
70
|
+
fill: ${c};
|
|
71
|
+
font-family: ${t};
|
|
72
|
+
font-size: ${n}px;
|
|
73
|
+
text-anchor: middle;
|
|
74
|
+
dominant-baseline: middle;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.railroad-rule-name {
|
|
78
|
+
font-weight: bold;
|
|
79
|
+
fill: ${_};
|
|
80
|
+
font-family: ${t};
|
|
81
|
+
font-size: ${n}px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.railroad-group {
|
|
85
|
+
/* Grouping container, no specific styles */
|
|
86
|
+
}
|
|
87
|
+
`},`getStyles`),P=class{constructor(){this.d=``}static{e(this,`PathBuilder`)}moveTo(e,t){return this.d+=`M ${e} ${t} `,this}lineTo(e,t){return this.d+=`L ${e} ${t} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,t,n,r,i,a,o){return this.d+=`A ${e} ${t} ${n} ${+!!r} ${+!!i} ${a} ${o} `,this}build(){return this.d.trim()}},F=class{constructor(e,t=M()){this.textCache=new Map,this.svg=e,this.config=t}static{e(this,`RailroadRenderer`)}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);let t=this.svg.append(`text`).attr(`font-family`,this.config.fontFamily).attr(`font-size`,this.config.fontSize).text(e),n=t.node().getBBox(),r={width:n.width,height:n.height};return t.remove(),this.textCache.set(e,r),r}renderTerminal(e,t){let n=this.measureText(t),r=n.width+this.config.padding*2,i=n.height+this.config.padding*2,a=e.append(`g`).attr(`class`,`railroad-terminal`);return a.append(`rect`).attr(`x`,0).attr(`y`,0).attr(`width`,r).attr(`height`,i).attr(`rx`,10).attr(`ry`,10),a.append(`text`).attr(`x`,r/2).attr(`y`,i/2).text(t),{element:a.node(),dimensions:{width:r,height:i,up:i/2,down:i/2}}}renderNonTerminal(e,t){let n=this.measureText(t),r=n.width+this.config.padding*2,i=n.height+this.config.padding*2,a=e.append(`g`).attr(`class`,`railroad-nonterminal`);return a.append(`rect`).attr(`x`,0).attr(`y`,0).attr(`width`,r).attr(`height`,i),a.append(`text`).attr(`x`,r/2).attr(`y`,i/2).text(t),{element:a.node(),dimensions:{width:r,height:i,up:i/2,down:i/2}}}renderSequence(e,t){let n=t.map(t=>this.renderExpression(e,t)),r=0,i=0,a=0;for(let e of n)r+=e.dimensions.width,i=Math.max(i,e.dimensions.up),a=Math.max(a,e.dimensions.down);r+=(n.length-1)*this.config.horizontalSeparation;let o=e.append(`g`).attr(`class`,`railroad-sequence`),s=0;for(let e=0;e<n.length;e++){let t=n[e],r=i-t.dimensions.up;if(o.node().appendChild(t.element).setAttribute(`transform`,`translate(${s}, ${r})`),e<n.length-1){let e=s+t.dimensions.width,n=e+this.config.horizontalSeparation,r=i;o.append(`path`).attr(`class`,`railroad-line`).attr(`d`,new P().moveTo(e,r).lineTo(n,r).build())}s+=t.dimensions.width+this.config.horizontalSeparation}return{element:o.node(),dimensions:{width:r,height:i+a,up:i,down:a}}}renderChoice(e,t){let n=t.map(t=>this.renderExpression(e,t)),r=0,i=0;for(let e of n)r=Math.max(r,e.dimensions.width),i+=e.dimensions.height;i+=(n.length-1)*this.config.verticalSeparation;let a=this.config.arcRadius,o=a*4,s=r+o,c=e.append(`g`).attr(`class`,`railroad-choice`),l=0,u=i/2;for(let e of n){let t=l,n=t+e.dimensions.up,i=a*2+(r-e.dimensions.width)/2;c.node().appendChild(e.element).setAttribute(`transform`,`translate(${i}, ${t})`);let o=new P,d=n>u;n===u?o.moveTo(0,u).lineTo(i,n):o.moveTo(0,u).arcTo(a,a,0,!1,d,a,u+(d?a:-a)).lineTo(a,n-(d?a:-a)).arcTo(a,a,0,!1,!d,a*2,n).lineTo(i,n),c.append(`path`).attr(`class`,`railroad-line`).attr(`d`,o.build());let f=new P,p=i+e.dimensions.width,m=s-a*2;n===u?f.moveTo(p,n).lineTo(s,u):f.moveTo(p,n).lineTo(m,n).arcTo(a,a,0,!1,!d,s-a,n+(d?-a:a)).lineTo(s-a,u+(d?a:-a)).arcTo(a,a,0,!1,d,s,u),c.append(`path`).attr(`class`,`railroad-line`).attr(`d`,f.build()),l+=e.dimensions.height+this.config.verticalSeparation}return{element:c.node(),dimensions:{width:s,height:i,up:u,down:i-u}}}renderOptional(e,t){let n=this.renderExpression(e,t),r=this.config.arcRadius,i=r*2,a=n.dimensions.width+r*4,o=n.dimensions.height+i,s=e.append(`g`).attr(`class`,`railroad-optional`),c=r*2,l=i;s.node().appendChild(n.element).setAttribute(`transform`,`translate(${c}, ${l})`);let u=l+n.dimensions.up,d=new P().moveTo(0,u).lineTo(r*2,u);s.append(`path`).attr(`class`,`railroad-line`).attr(`d`,d.build());let f=new P().moveTo(c+n.dimensions.width,u).lineTo(a,u);s.append(`path`).attr(`class`,`railroad-line`).attr(`d`,f.build());let p=new P().moveTo(0,u).arcTo(r,r,0,!1,!1,r,u-r).lineTo(r,r).arcTo(r,r,0,!1,!0,r*2,0).lineTo(a-r*2,0).arcTo(r,r,0,!1,!0,a-r,r).lineTo(a-r,u-r).arcTo(r,r,0,!1,!1,a,u);return s.append(`path`).attr(`class`,`railroad-line`).attr(`d`,p.build()),{element:s.node(),dimensions:{width:a,height:o,up:u,down:o-u}}}renderRepetition(e,t,n){let r=this.renderExpression(e,t),i=this.config.arcRadius,a=i*2,o=r.dimensions.width+i*4,s=n===0,c=r.dimensions.height+a+(s?a:0),l=e.append(`g`).attr(`class`,`railroad-repetition`),u=i*2,d=s?a:0;l.node().appendChild(r.element).setAttribute(`transform`,`translate(${u}, ${d})`);let f=d+r.dimensions.up;l.append(`path`).attr(`class`,`railroad-line`).attr(`d`,new P().moveTo(0,f).lineTo(i*2,f).build()),l.append(`path`).attr(`class`,`railroad-line`).attr(`d`,new P().moveTo(u+r.dimensions.width,f).lineTo(o,f).build());let p=d+r.dimensions.height+i,m=new P().moveTo(u+r.dimensions.width,f).arcTo(i,i,0,!1,!0,u+r.dimensions.width+i,f+i).lineTo(u+r.dimensions.width+i,p).arcTo(i,i,0,!1,!0,u+r.dimensions.width,p+i).lineTo(i*2,p+i).arcTo(i,i,0,!1,!0,i,p).lineTo(i,f+i).arcTo(i,i,0,!1,!0,i*2,f);if(l.append(`path`).attr(`class`,`railroad-line`).attr(`d`,m.build()),s){let e=new P().moveTo(0,f).arcTo(i,i,0,!1,!1,i,f-i).lineTo(i,i).arcTo(i,i,0,!1,!0,i*2,0).lineTo(o-i*2,0).arcTo(i,i,0,!1,!0,o-i,i).lineTo(o-i,f-i).arcTo(i,i,0,!1,!1,o,f);l.append(`path`).attr(`class`,`railroad-line`).attr(`d`,e.build())}return{element:l.node(),dimensions:{width:o,height:c,up:f,down:c-f}}}renderSpecial(e,t){let n=this.measureText(`? `+t+` ?`),r=n.width+this.config.padding*2,i=n.height+this.config.padding*2,a=e.append(`g`).attr(`class`,`railroad-special`);return a.append(`rect`).attr(`x`,0).attr(`y`,0).attr(`width`,r).attr(`height`,i),a.append(`text`).attr(`x`,r/2).attr(`y`,i/2).text(`? `+t+` ?`),{element:a.node(),dimensions:{width:r,height:i,up:i/2,down:i/2}}}renderExpression(e,t){switch(t.type){case`terminal`:return this.renderTerminal(e,t.value);case`nonterminal`:return this.renderNonTerminal(e,t.name);case`sequence`:return this.renderSequence(e,t.elements);case`choice`:return this.renderChoice(e,t.alternatives);case`optional`:return this.renderOptional(e,t.element);case`repetition`:return this.renderRepetition(e,t.element,t.min);case`special`:return this.renderSpecial(e,t.text);default:throw Error(`Unknown node type: ${t.type}`)}}renderRule(e,t){let n=this.svg.append(`g`).attr(`class`,`railroad-rule`).attr(`transform`,`translate(0, ${t})`),r=e.name+` =`,i=this.measureText(r).width+20,a=i+20,o=n.append(`g`),s=this.renderExpression(o,e.definition),c=Math.max(20,s.dimensions.up),l=c-s.dimensions.up;return o.attr(`transform`,`translate(${a}, ${l})`),n.append(`g`).attr(`class`,`railroad-rule-name-group`).append(`text`).attr(`class`,`railroad-rule-name`).attr(`x`,0).attr(`y`,c).text(r),n.append(`g`).attr(`class`,`railroad-start`).append(`circle`).attr(`cx`,i).attr(`cy`,c).attr(`r`,this.config.markerRadius),n.append(`g`).attr(`class`,`railroad-end`).append(`circle`).attr(`cx`,a+s.dimensions.width+10).attr(`cy`,c).attr(`r`,this.config.markerRadius),n.append(`path`).attr(`class`,`railroad-line`).attr(`d`,new P().moveTo(i+this.config.markerRadius,c).lineTo(a,c).build()),n.append(`path`).attr(`class`,`railroad-line`).attr(`d`,new P().moveTo(a+s.dimensions.width,c).lineTo(a+s.dimensions.width+10-this.config.markerRadius,c).build()),{height:Math.max(40,l+s.dimensions.height+this.config.padding*2),width:a+s.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let t=this.config.padding,n=0;for(let r of e){let e=this.renderRule(r,t);t+=e.height+this.config.verticalSeparation,n=Math.max(n,e.width)}return{width:n+this.config.padding*2,height:t+this.config.padding}}},I=e((e,t,n)=>{i(e,t.height,t.width,n),e.attr(`viewBox`,`0 0 ${t.width} ${t.height}`)},`configureRailroadSvgSize`),L={draw:e((e,n,r)=>{t.debug(`[Railroad] Rendering diagram
|
|
88
|
+
`+e);try{let e=c(n);e.attr(`class`,`railroad-diagram`);let r=o().railroad?.useMaxWidth??!0,i=y.getRules();if(t.debug(`[Railroad] Rendering ${i.length} rules`),i.length===0){t.warn(`[Railroad] No rules to render`),I(e,{height:100,width:200},r);return}I(e,new F(e,M()).renderDiagram(i),r),t.debug(`[Railroad] Render complete`)}catch(e){throw t.error(`[Railroad] Render error:`,e),e}},`draw`)};export{L as n,y as r,N as t};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import{t as e}from"./chunk-AQ6EADP3-CZhslHi-.js";import{V as t,q as n}from"./chunk-LIEV3EAG-pyKGssV3.js";import{E as r,H as i,I as a,a as o,g as s,o as c,r as l,rt as u}from"./chunk-2AEHWXPW-CV4r6-1I.js";import{t as d}from"./chunk-5IMINLNL-DOdTeQri.js";import{a as f,i as p,r as m,t as h}from"./chunk-WJBAP47W-BckNkuEN.js";import{i as g,m as _,r as v}from"./chunk-7CWYLC5S-DRgGkkpF.js";import{n as y,t as b}from"./chunk-UAT7B5JY-DW-A_fpI.js";import{t as x}from"./chunk-2SREHG4O-Dip42xOq.js";import{t as S}from"./chunk-SZD42YQK-ijyKKVr1.js";var C=e(async(e,n,i)=>{let a,o=n.useHtmlLabels||s(u()?.htmlLabels);a=i||`node default`;let c=e.insert(`g`).attr(`class`,a).attr(`id`,n.domId||n.id),l=c.insert(`g`).attr(`class`,`label`).attr(`style`,g(n.labelStyle)),d;d=n.label===void 0?``:typeof n.label==`string`?n.label:n.label[0];let f=!!n.icon||!!n.img,p=n.labelType===`markdown`,m=await S(l,r(v(d),u()),{useHtmlLabels:o,width:n.width||u().flowchart?.wrappingWidth,classes:p?`markdown-node-label`:``,style:n.labelStyle,addSvgBackground:f,markdown:p},u()),h=m.getBBox(),_=(n?.padding??0)/2;if(o){let e=m.children[0],n=t(m);await b(e,d),h=e.getBoundingClientRect(),n.attr(`width`,h.width),n.attr(`height`,h.height)}return o?l.attr(`transform`,`translate(`+-h.width/2+`, `+-h.height/2+`)`):l.attr(`transform`,`translate(0, `+-h.height/2+`)`),n.centerLabel&&l.attr(`transform`,`translate(`+-h.width/2+`, `+-h.height/2+`)`),l.insert(`rect`,`:first-child`),{shapeSvg:c,bbox:h,halfPadding:_,label:l}},`labelHelper`),w=e(async(e,n,a)=>{let o=a.useHtmlLabels??i(u()),s=e.insert(`g`).attr(`class`,`label`).attr(`style`,a.labelStyle||``),c=await S(s,r(v(n),u()),{useHtmlLabels:o,width:a.width||u()?.flowchart?.wrappingWidth,style:a.labelStyle,addSvgBackground:!!a.icon||!!a.img}),l=c.getBBox(),d=a.padding/2;if(i(u())){let e=c.children[0],n=t(c);l=e.getBoundingClientRect(),n.attr(`width`,l.width),n.attr(`height`,l.height)}return o?s.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`):s.attr(`transform`,`translate(0, `+-l.height/2+`)`),a.centerLabel&&s.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`),s.insert(`rect`,`:first-child`),{shapeSvg:e,bbox:l,halfPadding:d,label:s}},`insertLabel`),T=e((e,t)=>{let n=t.node().getBBox();e.width=n.width,e.height=n.height},`updateNodeBounds`),E=e((e,t)=>(e.look===`handDrawn`?`rough-node`:`node`)+` `+e.cssClasses+` `+(t||``),`getNodeClasses`);function D(e){let t=e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`);return t.push(`Z`),t.join(` `)}e(D,`createPathFromPoints`);function O(e,t,n,r,i,a){let o=[],s=n-e,c=r-t,l=s/a,u=2*Math.PI/l,d=t+c/2;for(let t=0;t<=50;t++){let n=e+t/50*s,r=d+i*Math.sin(u*(n-e));o.push({x:n,y:r})}return o}e(O,`generateFullSineWavePoints`);function k(e,t,n,r,i,a){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(k,`generateCirclePoints`);function A(t){let n=Array.from(t.childNodes).filter(e=>e.tagName===`path`),r=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),i=n.map(e=>e.getAttribute(`d`)).filter(e=>e!==null).join(` `);r.setAttribute(`d`,i);let a=n.find(e=>e.getAttribute(`fill`)!==`none`),o=n.find(e=>e.getAttribute(`stroke`)!==`none`),s=e((e,t)=>e?.getAttribute(t)??void 0,`getAttr`);if(a){let e={fill:s(a,`fill`),"fill-opacity":s(a,`fill-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}if(o){let e={stroke:s(o,`stroke`),"stroke-width":s(o,`stroke-width`)??`1`,"stroke-opacity":s(o,`stroke-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}let c=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);return c.appendChild(r),c}e(A,`mergePaths`);var j=e((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`),M=e(async(e,t,n,r=!1,a=!1)=>{let o=t||``;typeof o==`object`&&(o=o[0]);let s=u(),c=i(s);return await S(e,o,{style:n,isTitle:r,useHtmlLabels:c,markdown:!1,isNode:a,width:1/0},s)},`createLabel`),N=e((e,t,n,r,i)=>[`M`,e+i,t,`H`,e+n-i,`A`,i,i,0,0,1,e+n,t+i,`V`,t+r-i,`A`,i,i,0,0,1,e+n-i,t+r,`H`,e+i,`A`,i,i,0,0,1,e,t+r-i,`V`,t+i,`A`,i,i,0,0,1,e+i,t,`Z`].join(` `),`createRoundedRectPathD`),P=e(async(e,r)=>{let i=u(),{themeVariables:a,handDrawnSeed:o}=i,{clusterBkg:c,clusterBorder:l}=a,f=l,{labelStyles:p,nodeStyles:g,borderStyles:_,backgroundStyles:v}=m(r),y=e.insert(`g`).attr(`class`,`cluster swimlane `+(r.cssClasses||``)).attr(`id`,r.id).attr(`data-id`,r.id).attr(`data-et`,`cluster`).attr(`data-look`,r.look),b=s(i.flowchart.htmlLabels),x=r.direction===`LR`,C=y.insert(`g`).attr(`class`,`cluster-label swimlane-label`),w=await S(C,r.label,{style:r.labelStyle,useHtmlLabels:b,isNode:!0,width:r.width}),T=w.getBBox();if(b){let e=w.children[0],n=t(w);T=e.getBoundingClientRect(),n.attr(`width`,T.width),n.attr(`height`,T.height)}let E=r.padding??0,D=r.width<=T.width+E?T.width+E:r.width;r.width<=T.width+E?r.diff=(D-r.width)/2-E:r.diff=-E;let O=r.height,k=r.y-O/2,A=r.y+O/2,M=r.x-D/2,N=r.swimlaneContentTop===void 0?k+O/3:r.swimlaneContentTop,P=x?4:0,F=T.height+2*P,I,L;if(x){let e=Math.max(F,T.height+2*P),t=M+e,n=Math.max(0,D-e);if(r.look===`handDrawn`){let i=d.svg(y),a=h(r,{roughness:.7,fill:c,stroke:f,fillWeight:3,seed:o}),s=h(r,{roughness:.7,fill:`none`,stroke:f,seed:o}),l=i.rectangle(M,k,e,O,a);I=y.insert(()=>l,`:first-child`);let u=i.rectangle(t,k,n,O,s);L=y.insert(()=>u,`:first-child`),I.select(`path:nth-child(2)`).attr(`style`,_.join(`;`)),I.select(`path`).attr(`style`,v.join(`;`).replace(`fill`,`stroke`))}else I=y.insert(`rect`,`:first-child`),L=y.insert(`rect`,`:first-child`),I.attr(`class`,`swimlane-title`).attr(`style`,g).attr(`x`,M).attr(`y`,k).attr(`width`,e).attr(`height`,O).attr(`fill`,c).attr(`stroke`,f),L.attr(`class`,`swimlane-body`).attr(`style`,g).attr(`x`,t).attr(`y`,k).attr(`width`,n).attr(`height`,O).attr(`fill`,`none`).attr(`stroke`,f);let i=M+e/2,a=r.y;C.attr(`transform`,`translate(${i}, ${a}) rotate(-90) translate(${-T.width/2}, ${-T.height/2})`)}else{let e=Math.max(0,N-k),t=Math.min(F,e),n=k+t,i=Math.max(0,A-n),a=r.x-D/2;if(r.look===`handDrawn`){let e=d.svg(y),s=h(r,{roughness:.7,fill:c,stroke:f,fillWeight:3,seed:o}),l=h(r,{roughness:.7,fill:`none`,stroke:f,seed:o}),u=e.rectangle(a,k,D,t,s);I=y.insert(()=>u,`:first-child`);let p=e.rectangle(a,n,D,i,l);L=y.insert(()=>p,`:first-child`),I.select(`path:nth-child(2)`).attr(`style`,_.join(`;`)),I.select(`path`).attr(`style`,v.join(`;`).replace(`fill`,`stroke`))}else I=y.insert(`rect`,`:first-child`),L=y.insert(`rect`,`:first-child`),I.attr(`class`,`swimlane-title`).attr(`style`,g).attr(`x`,a).attr(`y`,k).attr(`width`,D).attr(`height`,t).attr(`fill`,c).attr(`stroke`,f),L.attr(`class`,`swimlane-body`).attr(`style`,g).attr(`x`,a).attr(`y`,n).attr(`width`,D).attr(`height`,i).attr(`fill`,`none`).attr(`stroke`,f);let s=r.x-T.width/2,l=k+(t-T.height)/2;C.attr(`transform`,`translate(${s}, ${l})`)}if(n.trace(`Swimlane data `,r,JSON.stringify(r)),p){let e=C.select(`span`);e&&e.attr(`style`,p)}return r.offsetX=0,r.width=D,r.height=O,r.offsetY=T.height-E/2,r.intersect=function(e){return j(r,e)},{cluster:y,labelBBox:T}},`swimlane`),F=e(async(e,r)=>{n.info(`Creating subgraph rect for `,r.id,r);let a=u(),{themeVariables:o,handDrawnSeed:s}=a,{clusterBkg:c,clusterBorder:l}=o,{labelStyles:f,nodeStyles:p,borderStyles:g,backgroundStyles:_}=m(r),v=e.insert(`g`).attr(`class`,`cluster `+r.cssClasses).attr(`id`,r.domId).attr(`data-look`,r.look),b=i(a),x=v.insert(`g`).attr(`class`,`cluster-label `),C;C=r.labelType===`markdown`?await S(x,r.label,{style:r.labelStyle,useHtmlLabels:b,isNode:!0,width:r.width}):await M(x,r.label,r.labelStyle||``,!1,!0);let w=C.getBBox();if(i(a)){let e=C.children[0],n=t(C);w=e.getBoundingClientRect(),n.attr(`width`,w.width),n.attr(`height`,w.height)}let T=r.width<=w.width+r.padding?w.width+r.padding:r.width;r.width<=w.width+r.padding?r.diff=(T-r.width)/2-r.padding:r.diff=-r.padding;let E=r.height,D=r.x-T/2,O=r.y-E/2;n.trace(`Data `,r,JSON.stringify(r));let k;if(r.look===`handDrawn`){let e=d.svg(v),t=h(r,{roughness:.7,fill:c,stroke:l,fillWeight:3,seed:s}),i=e.path(N(D,O,T,E,0),t);k=v.insert(()=>(n.debug(`Rough node insert CXC`,i),i),`:first-child`),k.select(`path:nth-child(2)`).attr(`style`,g.join(`;`)),k.select(`path`).attr(`style`,_.join(`;`).replace(`fill`,`stroke`))}else k=v.insert(`rect`,`:first-child`),k.attr(`style`,p).attr(`rx`,r.rx).attr(`ry`,r.ry).attr(`x`,D).attr(`y`,O).attr(`width`,T).attr(`height`,E);let{subGraphTitleTopMargin:A}=y(a);if(x.attr(`transform`,`translate(${r.x-w.width/2}, ${r.y-r.height/2+A})`),f){let e=x.select(`span`);e&&e.attr(`style`,f)}let P=k.node().getBBox();return r.offsetX=0,r.width=P.width,r.height=P.height,r.offsetY=w.height-r.padding/2,r.intersect=function(e){return j(r,e)},{cluster:v,labelBBox:w}},`rect`),I=e((e,t)=>{let n=e.insert(`g`).attr(`class`,`note-cluster`).attr(`id`,t.domId),r=n.insert(`rect`,`:first-child`),i=0*t.padding,a=i/2;r.attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,t.x-t.width/2-a).attr(`y`,t.y-t.height/2-a).attr(`width`,t.width+i).attr(`height`,t.height+i).attr(`fill`,`none`);let o=r.node().getBBox();return t.width=o.width,t.height=o.height,t.intersect=function(e){return j(t,e)},{cluster:n,labelBBox:{width:0,height:0}}},`noteGroup`),L=e(async(e,n)=>{let r=u(),{themeVariables:a,handDrawnSeed:o}=r,{altBackground:s,compositeBackground:c,compositeTitleBackground:l,nodeBorder:f}=a,p=e.insert(`g`).attr(`class`,n.cssClasses).attr(`id`,n.domId).attr(`data-id`,n.id).attr(`data-look`,n.look),m=p.insert(`g`,`:first-child`),h=p.insert(`g`).attr(`class`,`cluster-label`),g=p.append(`rect`),_=await M(h,n.label,n.labelStyle,void 0,!0),v=_.getBBox();if(i(r)){let e=_.children[0],n=t(_);v=e.getBoundingClientRect(),n.attr(`width`,v.width),n.attr(`height`,v.height)}let y=0*n.padding,b=y/2,x=(n.width<=v.width+n.padding?v.width+n.padding:n.width)+y;n.width<=v.width+n.padding?n.diff=(x-n.width)/2-n.padding:n.diff=-n.padding;let S=n.height+y,C=n.height+y-v.height-6,w=n.x-x/2,T=n.y-S/2;n.width=x;let E=n.y-n.height/2-b+v.height+2,D;if(n.look===`handDrawn`){let e=n.cssClasses.includes(`statediagram-cluster-alt`),t=d.svg(p),r=n.rx||n.ry?t.path(N(w,T,x,S,10),{roughness:.7,fill:l,fillStyle:`solid`,stroke:f,seed:o}):t.rectangle(w,T,x,S,{seed:o});D=p.insert(()=>r,`:first-child`);let i=t.rectangle(w,E,x,C,{fill:e?s:c,fillStyle:e?`hachure`:`solid`,stroke:f,seed:o});D=p.insert(()=>r,`:first-child`),g=p.insert(()=>i)}else D=m.insert(`rect`,`:first-child`),D.attr(`class`,`outer`).attr(`x`,w).attr(`y`,T).attr(`width`,x).attr(`height`,S).attr(`data-look`,n.look),g.attr(`class`,`inner`).attr(`x`,w).attr(`y`,E).attr(`width`,x).attr(`height`,C);return h.attr(`transform`,`translate(${n.x-v.width/2}, ${T+1-(i(r)?0:3)})`),n.height=D.node().getBBox().height,n.offsetX=0,n.offsetY=v.height-n.padding/2,n.labelBBox=v,n.intersect=function(e){return j(n,e)},{cluster:p,labelBBox:v}},`roundedWithTitle`),ee=e(async(e,r)=>{n.info(`Creating subgraph rect for `,r.id,r);let a=u(),{themeVariables:o,handDrawnSeed:s}=a,{clusterBkg:c,clusterBorder:l}=o,{labelStyles:f,nodeStyles:p,borderStyles:g,backgroundStyles:_}=m(r),v=e.insert(`g`).attr(`class`,`cluster `+r.cssClasses).attr(`id`,r.domId).attr(`data-look`,r.look),b=i(a),x=v.insert(`g`).attr(`class`,`cluster-label `),C=await S(x,r.label,{style:r.labelStyle,useHtmlLabels:b,isNode:!0,width:r.width}),w=C.getBBox();if(i(a)){let e=C.children[0],n=t(C);w=e.getBoundingClientRect(),n.attr(`width`,w.width),n.attr(`height`,w.height)}let T=r.width<=w.width+r.padding?w.width+r.padding:r.width;r.width<=w.width+r.padding?r.diff=(T-r.width)/2-r.padding:r.diff=-r.padding;let E=r.height,D=r.x-T/2,O=r.y-E/2;n.trace(`Data `,r,JSON.stringify(r));let k;if(r.look===`handDrawn`){let e=d.svg(v),t=h(r,{roughness:.7,fill:c,stroke:l,fillWeight:4,seed:s}),i=e.path(N(D,O,T,E,r.rx),t);k=v.insert(()=>(n.debug(`Rough node insert CXC`,i),i),`:first-child`),k.select(`path:nth-child(2)`).attr(`style`,g.join(`;`)),k.select(`path`).attr(`style`,_.join(`;`).replace(`fill`,`stroke`))}else k=v.insert(`rect`,`:first-child`),k.attr(`style`,p).attr(`rx`,r.rx).attr(`ry`,r.ry).attr(`x`,D).attr(`y`,O).attr(`width`,T).attr(`height`,E);let{subGraphTitleTopMargin:A}=y(a);if(x.attr(`transform`,`translate(${r.x-w.width/2}, ${r.y-r.height/2+A})`),f){let e=x.select(`span`);e&&e.attr(`style`,f)}let M=k.node().getBBox();return r.offsetX=0,r.width=M.width,r.height=M.height,r.offsetY=w.height-r.padding/2,r.intersect=function(e){return j(r,e)},{cluster:v,labelBBox:w}},`kanbanSection`),R={rect:F,squareRect:F,roundedWithTitle:L,noteGroup:I,divider:e((e,t)=>{let{themeVariables:n,handDrawnSeed:r}=u(),{nodeBorder:i}=n,a=e.insert(`g`).attr(`class`,t.cssClasses).attr(`id`,t.domId).attr(`data-look`,t.look),o=a.insert(`g`,`:first-child`),s=0*t.padding,c=t.width+s;t.diff=-t.padding;let l=t.height+s,f=t.x-c/2,p=t.y-l/2;t.width=c;let m;if(t.look===`handDrawn`){let e=d.svg(a).rectangle(f,p,c,l,{fill:`lightgrey`,roughness:.5,strokeLineDash:[5],stroke:i,seed:r});m=a.insert(()=>e,`:first-child`)}else{m=o.insert(`rect`,`:first-child`);let e=`outer`;t.look,e=`divider`,m.attr(`class`,e).attr(`x`,f).attr(`y`,p).attr(`width`,c).attr(`height`,l).attr(`data-look`,t.look)}return t.height=m.node().getBBox().height,t.offsetX=0,t.offsetY=0,t.intersect=function(e){return j(t,e)},{cluster:a,labelBBox:{}}},`divider`),kanbanSection:ee,swimlane:P},z=new Map,te=e(async(e,t)=>{let n=await R[t.shape||`rect`](e,t);return z.set(t.id,n),n},`insertCluster`),ne=e(()=>{z=new Map},`clear`);function B(e,t){return e.intersect(t)}e(B,`intersectNode`);var V=B;function H(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}e(H,`intersectEllipse`);var re=H;function ie(e,t,n){return re(e,t,t,n)}e(ie,`intersectCircle`);var U=ie;function W(e,t,n,r){{let i=t.y-e.y,a=e.x-t.x,o=t.x*e.y-e.x*t.y,s=i*n.x+a*n.y+o,c=i*r.x+a*r.y+o,l=1e-6;if(s!==0&&c!==0&&G(s,c))return;let u=r.y-n.y,d=n.x-r.x,f=r.x*n.y-n.x*r.y,p=u*e.x+d*e.y+f,m=u*t.x+d*t.y+f;if(Math.abs(p)<l&&Math.abs(m)<l&&G(p,m))return;let h=i*d-u*a;if(h===0)return;let g=Math.abs(h/2),_=a*f-d*o,v=_<0?(_-g)/h:(_+g)/h;return _=u*o-i*f,{x:v,y:_<0?(_-g)/h:(_+g)/h}}}e(W,`intersectLine`);function G(e,t){return e*t>0}e(G,`sameSign`);var ae=W;function oe(e,t,n){let r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));let c=r-e.width/2-o,l=i-e.height/2-s;for(let r=0;r<t.length;r++){let i=t[r],o=t[r<t.length-1?r+1:0],s=ae(e,n,{x:c+i.x,y:l+i.y},{x:c+o.x,y:l+o.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(e,t){let r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}e(oe,`intersectPolygon`);var K={node:V,circle:U,ellipse:re,polygon:oe,rect:j};function se(e,t){let{labelStyles:r}=m(t);t.labelStyle=r;let i=E(t),a=i;i||(a=`anchor`);let o=e.insert(`g`).attr(`class`,a).attr(`id`,t.domId||t.id),{cssStyles:s}=t,c=d.svg(o),l=h(t,{fill:`black`,stroke:`none`,fillStyle:`solid`});t.look!==`handDrawn`&&(l.roughness=0);let u=c.circle(0,0,2,l),f=o.insert(()=>u,`:first-child`);return f.attr(`class`,`anchor`).attr(`style`,g(s)),T(t,f),t.intersect=function(e){return n.info(`Circle intersect`,t,1,e),K.circle(t,1,e)},o}e(se,`anchor`);function ce(e,t,n,r,i,a,o){let s=(e+n)/2,c=(t+r)/2,l=Math.atan2(r-t,n-e),u=(n-e)/2,d=(r-t)/2,f=u/i,p=d/a,m=Math.sqrt(f**2+p**2);if(m>1)throw Error(`The given radii are too small to create an arc between the points.`);let h=Math.sqrt(1-m**2),g=s+h*a*Math.sin(l)*(o?-1:1),_=c-h*i*Math.cos(l)*(o?-1:1),v=Math.atan2((t-_)/a,(e-g)/i),y=Math.atan2((r-_)/a,(n-g)/i)-v;o&&y<0&&(y+=2*Math.PI),!o&&y>0&&(y-=2*Math.PI);let b=[];for(let e=0;e<20;e++){let t=v+e/19*y,n=g+i*Math.cos(t),r=_+a*Math.sin(t);b.push({x:n,y:r})}return b}e(ce,`generateArcPoints`);function le(e,t,n){let[r,i]=[t,n].sort((e,t)=>t-e);return i*(1-Math.sqrt(1-(e/r/2)**2))}e(le,`calculateArcSagitta`);async function ue(t,n){let{labelStyles:r,nodeStyles:i}=m(n);n.labelStyle=r;let a=n.padding??0,o=n.look===`neo`?16:a,s=n.look===`neo`?12:a,c=e(e=>e+s,`calcTotalHeight`),l=e(e=>{let t=e/2;return[t/(2.5+e/50),t]},`calcEllipseRadius`),{shapeSvg:u,bbox:f}=await C(t,n,E(n)),p=c(n?.height?n?.height:f.height),[g,_]=l(p),v=le(p,g,_),y=(n?.width?n?.width:f.width)+o*2+v-v,b=p,{cssStyles:x}=n,S=[{x:y/2,y:-b/2},{x:-y/2,y:-b/2},...ce(-y/2,-b/2,-y/2,b/2,g,_,!1),{x:y/2,y:b/2},...ce(y/2,b/2,y/2,-b/2,g,_,!0)],w=d.svg(u),O=h(n,{});n.look!==`handDrawn`&&(O.roughness=0,O.fillStyle=`solid`);let k=D(S),A=w.path(k,O),j=u.insert(()=>A,`:first-child`);return j.attr(`class`,`basic label-container outer-path`),x&&n.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,x),i&&n.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,i),j.attr(`transform`,`translate(${g/2}, 0)`),T(n,j),n.intersect=function(e){return K.polygon(n,S,e)},u}e(ue,`bowTieRect`);function q(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}e(q,`insertPolygonShape`);var de=12;async function fe(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?28:i,o=t.look===`neo`?24:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width??c.width)+(t.look===`neo`?a*2:a+de),u=(t?.height??c.height)+(t.look===`neo`?o*2:o),f=l,p=-u,g=[{x:0+de,y:p},{x:f,y:p},{x:f,y:0},{x:0,y:0},{x:0,y:p+de},{x:0+de,y:p}],_,{cssStyles:v}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(g),i=e.path(r,n);_=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-l/2}, ${u/2})`),v&&_.attr(`style`,v)}else _=q(s,l,u,g);return r&&_.attr(`style`,r),T(t,_),t.intersect=function(e){return K.polygon(t,g,e)},s}e(fe,`card`);function pe(e,t){let{nodeStyles:n}=m(t);t.label=``;let r=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:i}=t,a=Math.max(28,t.width??0),o=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],s=d.svg(r),c=h(t,{});t.look!==`handDrawn`&&(c.roughness=0,c.fillStyle=`solid`);let l=D(o),u=s.path(l,c),f=r.insert(()=>u,`:first-child`);return i&&t.look!==`handDrawn`&&f.selectAll(`path`).attr(`style`,i),n&&t.look!==`handDrawn`&&f.selectAll(`path`).attr(`style`,n),t.width=28,t.height=28,t.intersect=function(e){return K.polygon(t,o,e)},r}e(pe,`choice`);async function me(e,t,r){let{labelStyles:i,nodeStyles:a}=m(t);t.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c}=await C(e,t,E(t)),l=r?.padding??c,u=t.look===`neo`?s.width/2+32:s.width/2+l,f,{cssStyles:p}=t;if(t.look===`handDrawn`){let e=d.svg(o),n=h(t,{}),r=e.circle(0,0,u*2,n);f=o.insert(()=>r,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,g(p))}else f=o.insert(`circle`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`r`,u).attr(`cx`,0).attr(`cy`,0);return T(t,f),t.calcIntersect=function(e,t){let n=e.width/2;return K.circle(e,n,t)},t.intersect=function(e){return n.info(`Circle intersect`,t,u,e),K.circle(t,u,e)},o}e(me,`circle`);function he(e){let t=Math.cos(Math.PI/4),n=Math.sin(Math.PI/4),r=e*2,i={x:r/2*t,y:r/2*n},a={x:-(r/2)*t,y:r/2*n},o={x:-(r/2)*t,y:-(r/2)*n},s={x:r/2*t,y:-(r/2)*n};return`M ${a.x},${a.y} L ${s.x},${s.y}
|
|
2
|
+
M ${i.x},${i.y} L ${o.x},${o.y}`}e(he,`createLine`);function ge(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r,t.label=``;let a=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),o=Math.max(30,t?.width??0),{cssStyles:s}=t,c=d.svg(a),l=h(t,{});t.look!==`handDrawn`&&(l.roughness=0,l.fillStyle=`solid`);let u=c.circle(0,0,o*2,l),f=he(o),p=c.path(f,l),g=a.insert(()=>u,`:first-child`);return g.insert(()=>p),g.attr(`class`,`outer-path`),s&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,s),i&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,i),T(t,g),t.intersect=function(e){return n.info(`crossedCircle intersect`,t,{radius:o,point:e}),K.circle(t,o,e)},a}e(ge,`crossedCircle`);function J(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(J,`generateCirclePoints`);async function _e(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+s,u=a.height+c,f=Math.max(5,u*.1),{cssStyles:p}=t,g=[...J(l/2,-u/2,f,30,-90,0),{x:-l/2-f,y:f},...J(l/2+f*2,-f,f,20,-180,-270),...J(l/2+f*2,f,f,20,-90,-180),{x:-l/2-f,y:-u/2},...J(l/2,u/2,f,20,0,90)],_=[{x:l/2,y:-u/2-f},{x:-l/2,y:-u/2-f},...J(l/2,-u/2,f,20,-90,0),{x:-l/2-f,y:-f},...J(l/2+l*.1,-f,f,20,-180,-270),...J(l/2+l*.1,f,f,20,-90,-180),{x:-l/2-f,y:u/2},...J(l/2,u/2,f,20,0,90),{x:-l/2,y:u/2+f},{x:l/2,y:u/2+f}],v=d.svg(i),y=h(t,{fill:`none`});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=D(g).replace(`Z`,``),x=v.path(b,y),S=D(_),w=v.path(S,{...y}),O=i.insert(`g`,`:first-child`);return O.insert(()=>w,`:first-child`).attr(`stroke-opacity`,0),O.insert(()=>x,`:first-child`),O.attr(`class`,`text`),p&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),O.attr(`transform`,`translate(${f}, 0)`),o.attr(`transform`,`translate(${-l/2+f-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,O),t.intersect=function(e){return K.polygon(t,_,e)},i}e(_e,`curlyBraceLeft`);function Y(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:a,y:l})}return o}e(Y,`generateCirclePoints`);async function ve(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),f=Math.max(5,u*.1),{cssStyles:p}=t,g=[...Y(l/2,-u/2,f,20,-90,0),{x:l/2+f,y:-f},...Y(l/2+f*2,-f,f,20,-180,-270),...Y(l/2+f*2,f,f,20,-90,-180),{x:l/2+f,y:u/2},...Y(l/2,u/2,f,20,0,90)],_=[{x:-l/2,y:-u/2-f},{x:l/2,y:-u/2-f},...Y(l/2,-u/2,f,20,-90,0),{x:l/2+f,y:-f},...Y(l/2+f*2,-f,f,20,-180,-270),...Y(l/2+f*2,f,f,20,-90,-180),{x:l/2+f,y:u/2},...Y(l/2,u/2,f,20,0,90),{x:l/2,y:u/2+f},{x:-l/2,y:u/2+f}],v=d.svg(i),y=h(t,{fill:`none`});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=D(g).replace(`Z`,``),x=v.path(b,y),S=D(_),w=v.path(S,{...y}),O=i.insert(`g`,`:first-child`);return O.insert(()=>w,`:first-child`).attr(`stroke-opacity`,0),O.insert(()=>x,`:first-child`),O.attr(`class`,`text`),p&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),O.attr(`transform`,`translate(${-f}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,O),t.intersect=function(e){return K.polygon(t,_,e)},i}e(ve,`curlyBraceRight`);function X(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(X,`generateCirclePoints`);async function ye(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),f=Math.max(5,u*.1),{cssStyles:p}=t,g=[...X(l/2,-u/2,f,30,-90,0),{x:-l/2-f,y:f},...X(l/2+f*2,-f,f,20,-180,-270),...X(l/2+f*2,f,f,20,-90,-180),{x:-l/2-f,y:-u/2},...X(l/2,u/2,f,20,0,90)],_=[...X(-l/2+f+f/2,-u/2,f,20,-90,-180),{x:l/2-f/2,y:f},...X(-l/2-f/2,-f,f,20,0,90),...X(-l/2-f/2,f,f,20,-90,0),{x:l/2-f/2,y:-f},...X(-l/2+f+f/2,u/2,f,30,-180,-270)],v=[{x:l/2,y:-u/2-f},{x:-l/2,y:-u/2-f},...X(l/2,-u/2,f,20,-90,0),{x:-l/2-f,y:-f},...X(l/2+f*2,-f,f,20,-180,-270),...X(l/2+f*2,f,f,20,-90,-180),{x:-l/2-f,y:u/2},...X(l/2,u/2,f,20,0,90),{x:-l/2,y:u/2+f},{x:l/2-f-f/2,y:u/2+f},...X(-l/2+f+f/2,-u/2,f,20,-90,-180),{x:l/2-f/2,y:f},...X(-l/2-f/2,-f,f,20,0,90),...X(-l/2-f/2,f,f,20,-90,0),{x:l/2-f/2,y:-f},...X(-l/2+f+f/2,u/2,f,30,-180,-270)],y=d.svg(i),b=h(t,{fill:`none`});t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let x=D(g).replace(`Z`,``),S=y.path(x,b),w=D(_).replace(`Z`,``),O=y.path(w,b),k=D(v),A=y.path(k,{...b}),j=i.insert(`g`,`:first-child`);return j.insert(()=>A,`:first-child`).attr(`stroke-opacity`,0),j.insert(()=>S,`:first-child`),j.insert(()=>O,`:first-child`),j.attr(`class`,`text`),p&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,r),j.attr(`transform`,`translate(${f-f/4}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,j),t.intersect=function(e){return K.polygon(t,v,e)},i}e(ye,`curlyBraces`);async function be(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=Math.max(20,(c.width+a*2)*1.25,t?.width??0),u=Math.max(5,c.height+o*2,t?.height??0),f=u/2,{cssStyles:p}=t,g=d.svg(s),_=h(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=l,y=u,b=v-f,x=y/4,S=[{x:b,y:0},{x,y:0},{x:0,y:y/2},{x,y},{x:b,y},...k(-b,-y/2,f,50,270,90)],w=D(S),O=g.path(w,_),A=s.insert(()=>O,`:first-child`);return A.attr(`class`,`basic label-container outer-path`),p&&t.look!==`handDrawn`&&A.selectChildren(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&A.selectChildren(`path`).attr(`style`,r),A.attr(`transform`,`translate(${-l/2}, ${-u/2})`),T(t,A),t.intersect=function(e){return K.polygon(t,S,e)},s}e(be,`curvedTrapezoid`);var xe=e((e,t,n,r,i,a)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createCylinderPathD`),Se=e((e,t,n,r,i,a)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createOuterCylinderPathD`),Ce=e((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),we=8,Te=8;async function Ee(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?24:i,o=t.look===`neo`?24:i;if(t.width||t.height){let e=t.width??0;t.width=(t.width??0)-o,t.width<Te&&(t.width=Te);let n=e/2/(2.5+e/50);t.height=(t.height??0)-a-n*3,t.height<we&&(t.height=we)}let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t.width?t.width:c.width)+o,f=u/2,p=f/(2.5+u/50),_=(t.height?t.height:c.height)+a+p,v,{cssStyles:y}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=Se(0,0,u,_,f,p),r=Ce(0,p,u,_,f,p),i=h(t,{}),a=e.path(n,i),o=e.path(r,h(t,{fill:`none`}));v=s.insert(()=>o,`:first-child`),v=s.insert(()=>a,`:first-child`),v.attr(`class`,`basic label-container`),y&&v.attr(`style`,y)}else{let e=xe(0,0,u,_,f,p);v=s.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,g(y)).attr(`style`,r)}return v.attr(`label-offset-y`,p),v.attr(`transform`,`translate(${-u/2}, ${-(_/2+p)})`),T(t,v),l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${-(c.height/2)+(t.padding??0)/1.5-(c.y-(c.top??0))})`),t.intersect=function(e){let n=K.rect(t,e),r=n.x-(t.x??0);if(f!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-p)){let i=p*p*(1-r*r/(f*f));i>0&&(i=Math.sqrt(i)),i=p-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},s}e(Ee,`cylinder`);async function De(e,t,n){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let{shapeSvg:a,bbox:o}=await C(e,t,E(t)),s=Math.max(o.width+n.labelPaddingX*2,t?.width||0),c=Math.max(o.height+n.labelPaddingY*2,t?.height||0),l=-s/2,u=-c/2,f,{rx:p,ry:_}=t,{cssStyles:v}=t;if(n?.rx&&n.ry&&(p=n.rx,_=n.ry),t.look===`handDrawn`){let e=d.svg(a),n=h(t,{}),r=p||_?e.path(N(l,u,s,c,p||0),n):e.rectangle(l,u,s,c,n);f=a.insert(()=>r,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,g(v))}else f=a.insert(`rect`,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,i).attr(`rx`,g(p)).attr(`ry`,g(_)).attr(`x`,l).attr(`y`,u).attr(`width`,s).attr(`height`,c);return T(t,f),t.calcIntersect=function(e,t){return K.rect(e,t)},t.intersect=function(e){return K.rect(t,e)},a}e(De,`drawRect`);async function Oe(e,t){let{cssClasses:n,labelPaddingX:r,labelPaddingY:i,padding:a,width:o,height:s}=t,c=await De(e,t,{rx:0,ry:0,classes:n??``,labelPaddingX:r??(a??0)*2,labelPaddingY:i??a??0});if(t.look===`handDrawn`){let e=d.svg(c),n=h(t,{}),r=c.select(`.basic.label-container > path:nth-child(2)`),i=r.node();if(!i)return c;let a=null;if(i instanceof SVGGraphicsElement)a=i.getBBox();else return c;return c.insert(()=>e.line(a.x,a.y,a.x+a.width,a.y,n),`.basic.label-container g.label`),c.insert(()=>e.line(a.x,a.y+a.height,a.x+a.width,a.y+a.height,n),`.basic.label-container g.label`),r.remove(),c}let l=c.select(`.basic.label-container`),u=(Number(l.attr(`width`))||o)??0,f=(Number(l.attr(`height`))||s)??0;return u>0&&f>0&&l.attr(`stroke-dasharray`,`${u} ${f}`),c}e(Oe,`datastore`);async function ke(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?16:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=s.width+i,u=s.height+a,f=u*.2,p=-l/2,g=-u/2-f/2,{cssStyles:_}=t,v=d.svg(o),y=h(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=[{x:p,y:g+f},{x:-p,y:g+f},{x:-p,y:-g},{x:p,y:-g},{x:p,y:g},{x:-p,y:g},{x:-p,y:g+f}],x=v.polygon(b.map(e=>[e.x,e.y]),y),S=o.insert(()=>x,`:first-child`);return S.attr(`class`,`basic label-container outer-path`),_&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,_),r&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${p+(t.padding??0)/2-(s.x-(s.left??0))}, ${g+f+(t.padding??0)/2-(s.y-(s.top??0))})`),T(t,S),t.intersect=function(e){return K.rect(t,e)},o}e(ke,`dividedRectangle`);async function Ae(e,t){let{labelStyles:r,nodeStyles:i}=m(t),a=t.look===`neo`?12:5;t.labelStyle=r;let o=t.padding??0,s=t.look===`neo`?16:o,{shapeSvg:c,bbox:l}=await C(e,t,E(t)),u=(t?.width?t?.width/2:l.width/2)+(s??0),f=u-a,p,{cssStyles:_}=t;if(t.look===`handDrawn`){let e=d.svg(c),n=h(t,{roughness:.2,strokeWidth:2.5}),r=h(t,{roughness:.2,strokeWidth:1.5}),i=e.circle(0,0,u*2,n),a=e.circle(0,0,f*2,r);p=c.insert(`g`,`:first-child`),p.attr(`class`,g(t.cssClasses)).attr(`style`,g(_)),p.node()?.appendChild(i),p.node()?.appendChild(a)}else{p=c.insert(`g`,`:first-child`);let e=p.insert(`circle`,`:first-child`),t=p.insert(`circle`);p.attr(`class`,`basic label-container`).attr(`style`,i),e.attr(`class`,`outer-circle`).attr(`style`,i).attr(`r`,u).attr(`cx`,0).attr(`cy`,0),t.attr(`class`,`inner-circle`).attr(`style`,i).attr(`r`,f).attr(`cx`,0).attr(`cy`,0)}return T(t,p),t.intersect=function(e){return n.info(`DoubleCircle intersect`,t,u,e),K.circle(t,u,e)},c}e(Ae,`doublecircle`);function je(e,t,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:a}=m(t);t.label=``,t.labelStyle=i;let o=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=d.svg(o),{nodeBorder:l}=r,u=h(t,{fillStyle:`solid`});t.look!==`handDrawn`&&(u.roughness=0);let f=c.circle(0,0,14,u),p=o.insert(()=>f,`:first-child`);return p.selectAll(`path`).attr(`style`,`fill: ${l} !important;`),s&&s.length>0&&t.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,a),T(t,p),t.intersect=function(e){return n.info(`filledCircle intersect`,t,{radius:7,point:e}),K.circle(t,7,e)},o}e(je,`filledCircle`);var Me=10,Ne=10;async function Pe(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let a=t.padding??0,o=t.look===`neo`?a*2:a;(t.width||t.height)&&(t.height=t?.height??0,t.height<Me&&(t.height=Me),t.width=(t?.width??0)-o-o/2,t.width<Ne&&(t.width=Ne));let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width?t?.width:c.width)+(o??0),f=t?.height?t?.height:u+c.height,p=f,g=[{x:0,y:-f},{x:p,y:-f},{x:p/2,y:0}],{cssStyles:_}=t,v=d.svg(s),y=h(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=D(g),x=v.path(b,y),S=s.insert(()=>x,`:first-child`).attr(`transform`,`translate(${-f/2}, ${f/2})`).attr(`class`,`outer-path`);return _&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,_),i&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,i),t.width=u,t.height=f,T(t,S),l.attr(`transform`,`translate(${-c.width/2-(c.x-(c.left??0))}, ${-f/2+(t.padding??0)/2+(c.y-(c.top??0))})`),t.intersect=function(e){return n.info(`Triangle intersect`,t,g,e),K.polygon(t,g,e)},s}e(Pe,`flippedTriangle`);function Fe(e,t,{dir:n,config:{state:r,themeVariables:i}}){let{nodeStyles:a}=m(t);t.label=``;let o=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=Math.max(70,t?.width??0),l=Math.max(10,t?.height??0);n===`LR`&&(c=Math.max(10,t?.width??0),l=Math.max(70,t?.height??0));let u=-1*c/2,f=-1*l/2,p=d.svg(o),g=h(t,{stroke:i.lineColor,fill:i.lineColor});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=p.rectangle(u,f,c,l,g),v=o.insert(()=>_,`:first-child`);s&&t.look!==`handDrawn`&&v.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&v.selectAll(`path`).attr(`style`,a),T(t,v);let y=r?.padding??0;return t.width&&t.height&&(t.width+=y/2||0,t.height+=y/2||0),t.intersect=function(e){return K.rect(t,e)},o}e(Fe,`forkJoin`);async function Ie(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let a=t.look===`neo`?16:t.padding??0,o=t.look===`neo`?12:t.padding??0;(t.width||t.height)&&(t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10),t.width=(t?.width??0)-a*2,t.width<15&&(t.width=15));let{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width?t?.width:Math.max(15,c.width))+a*2,u=(t?.height?t?.height:Math.max(10,c.height))+o*2,f=u/2,{cssStyles:p}=t,g=d.svg(s),_=h(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=[{x:-l/2,y:-u/2},{x:l/2-f,y:-u/2},...k(-l/2+f,0,f,50,90,270),{x:l/2-f,y:u/2},{x:-l/2,y:u/2}],y=D(v),b=g.path(y,_),x=s.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),p&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,p),i&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,i),T(t,x),t.intersect=function(e){return n.info(`Pill intersect`,t,{radius:f,point:e}),K.polygon(t,v,e)},s}e(Ie,`halfRoundedRectangle`);var Le=e((e,t,n,r,i)=>[`M${e+i},${t}`,`L${e+n-i},${t}`,`L${e+n},${t-r/2}`,`L${e+n-i},${t-r}`,`L${e+i},${t-r}`,`L${e},${t-r/2}`,`Z`].join(` `),`createHexagonPathD`);async function Re(e,t){let{labelStyles:n,nodeStyles:r}=m(t),i=t.look===`neo`?3.5:4;t.labelStyle=n;let a=t.padding??0,o=t.look===`neo`?70:a,s=t.look===`neo`?32:a;if(t.width||t.height){let e=(t.height??0)/i;t.width=(t?.width??0)-2*e-s,t.height=(t.height??0)-o}let{shapeSvg:c,bbox:l}=await C(e,t,E(t)),u=(t?.height?t?.height:l.height)+o,f=u/i,p=(t?.width?t?.width:l.width)+2*f+s,g=[{x:f,y:0},{x:p-f,y:0},{x:p,y:-u/2},{x:p-f,y:-u},{x:f,y:-u},{x:0,y:-u/2}],_,{cssStyles:v}=t;if(t.look===`handDrawn`){let e=d.svg(c),n=h(t,{}),r=Le(0,0,p,u,f),i=e.path(r,n);_=c.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-p/2}, ${u/2})`),v&&_.attr(`style`,v)}else _=q(c,p,u,g);return r&&_.attr(`style`,r),t.width=p,t.height=u,T(t,_),t.intersect=function(e){return K.polygon(t,g,e)},c}e(Re,`hexagon`);async function ze(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.label=``,t.labelStyle=r;let{shapeSvg:a}=await C(e,t,E(t)),o=Math.max(30,t?.width??0),s=Math.max(30,t?.height??0),{cssStyles:c}=t,l=d.svg(a),u=h(t,{});t.look!==`handDrawn`&&(u.roughness=0,u.fillStyle=`solid`);let f=[{x:0,y:0},{x:o,y:0},{x:0,y:s},{x:o,y:s}],p=D(f),g=l.path(p,u),_=a.insert(()=>g,`:first-child`);return _.attr(`class`,`basic label-container outer-path`),c&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,c),i&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,i),_.attr(`transform`,`translate(${-o/2}, ${-s/2})`),T(t,_),t.intersect=function(e){return n.info(`Pill intersect`,t,{points:f}),K.polygon(t,f,e)},a}e(ze,`hourglass`);async function Be(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=m(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:f,label:g}=await C(e,t,`icon-shape default`),_=t.pos===`t`,v=c,y=c,{nodeBorder:b}=r,{stylesMap:S}=p(t),w=-y/2,E=-v/2,D=t.label?8:0,O=d.svg(u),k=h(t,{stroke:`none`,fill:`none`});t.look!==`handDrawn`&&(k.roughness=0,k.fillStyle=`solid`);let A=O.rectangle(w,E,y,v,k),j=Math.max(y,f.width),M=v+f.height+D,N=O.rectangle(-j/2,-M/2,j,M,{...k,fill:`transparent`,stroke:`none`}),P=u.insert(()=>A,`:first-child`),F=u.insert(()=>N);if(t.icon){let e=u.append(`g`);e.html(`<g>${await x(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${_?f.height/2+D/2-i/2-o:-f.height/2-D/2-i/2-o})`),e.attr(`style`,`color: ${S.get(`stroke`)??b};`)}return g.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${_?-M/2:M/2-f.height})`),P.attr(`transform`,`translate(0,${_?f.height/2+D/2:-f.height/2-D/2})`),T(t,F),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=_?[{x:r-f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2+f.height+D},{x:r+y/2,y:i-a/2+f.height+D},{x:r+y/2,y:i+a/2},{x:r-y/2,y:i+a/2},{x:r-y/2,y:i-a/2+f.height+D},{x:r-f.width/2,y:i-a/2+f.height+D}]:[{x:r-y/2,y:i-a/2},{x:r+y/2,y:i-a/2},{x:r+y/2,y:i-a/2+v},{x:r+f.width/2,y:i-a/2+v},{x:r+f.width/2/2,y:i+a/2},{x:r-f.width/2,y:i+a/2},{x:r-f.width/2,y:i-a/2+v},{x:r-y/2,y:i-a/2+v}],K.polygon(t,o,e)},u}e(Be,`icon`);async function Ve(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=m(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:f,label:g}=await C(e,t,`icon-shape default`),_=t.label?8:0,v=t.pos===`t`,{nodeBorder:y,mainBkg:b}=r,{stylesMap:S}=p(t),w=d.svg(u),E=h(t,{});t.look!==`handDrawn`&&(E.roughness=0,E.fillStyle=`solid`),E.stroke=S.get(`fill`)??b;let D=u.append(`g`);t.icon&&D.html(`<g>${await x(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let O=D.node().getBBox(),k=O.width,A=O.height,j=O.x,M=O.y,N=Math.max(k,A)*Math.SQRT2+40,P=w.circle(0,0,N,E),F=Math.max(N,f.width),I=N+f.height+_,L=w.rectangle(-F/2,-I/2,F,I,{...E,fill:`transparent`,stroke:`none`}),ee=u.insert(()=>P,`:first-child`),R=u.insert(()=>L);return D.attr(`transform`,`translate(${-k/2-j},${v?f.height/2+_/2-A/2-M:-f.height/2-_/2-A/2-M})`),D.attr(`style`,`color: ${S.get(`stroke`)??y};`),g.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${v?-I/2:I/2-f.height})`),ee.attr(`transform`,`translate(0,${v?f.height/2+_/2:-f.height/2-_/2})`),T(t,R),t.intersect=function(e){return n.info(`iconSquare intersect`,t,e),K.rect(t,e)},u}e(Ve,`iconCircle`);async function He(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=m(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:f,halfPadding:g,label:_}=await C(e,t,`icon-shape default`),v=t.pos===`t`,y=c+g*2,b=c+g*2,{nodeBorder:S,mainBkg:w}=r,{stylesMap:E}=p(t),D=-b/2,O=-y/2,k=t.label?8:0,A=d.svg(u),j=h(t,{});t.look!==`handDrawn`&&(j.roughness=0,j.fillStyle=`solid`),j.stroke=E.get(`fill`)??w;let M=A.path(N(D,O,b,y,5),j),P=Math.max(b,f.width),F=y+f.height+k,I=A.rectangle(-P/2,-F/2,P,F,{...j,fill:`transparent`,stroke:`none`}),L=u.insert(()=>M,`:first-child`).attr(`class`,`icon-shape2`),ee=u.insert(()=>I);if(t.icon){let e=u.append(`g`);e.html(`<g>${await x(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${v?f.height/2+k/2-i/2-o:-f.height/2-k/2-i/2-o})`),e.attr(`style`,`color: ${E.get(`stroke`)??S};`)}return _.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${v?-F/2:F/2-f.height})`),L.attr(`transform`,`translate(0,${v?f.height/2+k/2:-f.height/2-k/2})`),T(t,ee),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=v?[{x:r-f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2+f.height+k},{x:r+b/2,y:i-a/2+f.height+k},{x:r+b/2,y:i+a/2},{x:r-b/2,y:i+a/2},{x:r-b/2,y:i-a/2+f.height+k},{x:r-f.width/2,y:i-a/2+f.height+k}]:[{x:r-b/2,y:i-a/2},{x:r+b/2,y:i-a/2},{x:r+b/2,y:i-a/2+y},{x:r+f.width/2,y:i-a/2+y},{x:r+f.width/2/2,y:i+a/2},{x:r-f.width/2,y:i+a/2},{x:r-f.width/2,y:i-a/2+y},{x:r-b/2,y:i-a/2+y}],K.polygon(t,o,e)},u}e(He,`iconRounded`);async function Ue(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=m(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:f,halfPadding:g,label:_}=await C(e,t,`icon-shape default`),v=t.pos===`t`,y=c+g*2,b=c+g*2,{nodeBorder:S,mainBkg:w}=r,{stylesMap:E}=p(t),D=-b/2,O=-y/2,k=t.label?8:0,A=d.svg(u),j=h(t,{});t.look!==`handDrawn`&&(j.roughness=0,j.fillStyle=`solid`),j.stroke=E.get(`fill`)??w;let M=A.path(N(D,O,b,y,.1),j),P=Math.max(b,f.width),F=y+f.height+k,I=A.rectangle(-P/2,-F/2,P,F,{...j,fill:`transparent`,stroke:`none`}),L=u.insert(()=>M,`:first-child`),ee=u.insert(()=>I);if(t.icon){let e=u.append(`g`);e.html(`<g>${await x(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${v?f.height/2+k/2-i/2-o:-f.height/2-k/2-i/2-o})`),e.attr(`style`,`color: ${E.get(`stroke`)??S};`)}return _.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${v?-F/2:F/2-f.height})`),L.attr(`transform`,`translate(0,${v?f.height/2+k/2:-f.height/2-k/2})`),T(t,ee),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=v?[{x:r-f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2+f.height+k},{x:r+b/2,y:i-a/2+f.height+k},{x:r+b/2,y:i+a/2},{x:r-b/2,y:i+a/2},{x:r-b/2,y:i-a/2+f.height+k},{x:r-f.width/2,y:i-a/2+f.height+k}]:[{x:r-b/2,y:i-a/2},{x:r+b/2,y:i-a/2},{x:r+b/2,y:i-a/2+y},{x:r+f.width/2,y:i-a/2+y},{x:r+f.width/2/2,y:i+a/2},{x:r-f.width/2,y:i+a/2},{x:r-f.width/2,y:i-a/2+y},{x:r-b/2,y:i-a/2+y}],K.polygon(t,o,e)},u}e(Ue,`iconSquare`);async function We(e,t,{config:{flowchart:r}}){let i=new Image;i.src=t?.img??``,await i.decode();let a=Number(i.naturalWidth.toString().replace(`px`,``)),o=Number(i.naturalHeight.toString().replace(`px`,``));t.imageAspectRatio=a/o;let{labelStyles:s}=m(t);t.labelStyle=s;let c=r?.wrappingWidth;t.defaultWidth=r?.wrappingWidth;let l=Math.max(t.label?c??0:0,t?.assetWidth??a),u=t.constraint===`on`&&t?.assetHeight?t.assetHeight*t.imageAspectRatio:l,f=t.constraint===`on`?u/t.imageAspectRatio:t?.assetHeight??o;t.width=Math.max(u,c??0);let{shapeSvg:p,bbox:g,label:_}=await C(e,t,`image-shape default`),v=t.pos===`t`,y=-u/2,b=-f/2,x=t.label?8:0,S=d.svg(p),w=h(t,{});t.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`);let E=S.rectangle(y,b,u,f,w),D=Math.max(u,g.width),O=f+g.height+x,k=S.rectangle(-D/2,-O/2,D,O,{...w,fill:`none`,stroke:`none`}),A=p.insert(()=>E,`:first-child`),j=p.insert(()=>k);if(t.img){let e=p.append(`image`);e.attr(`href`,t.img),e.attr(`width`,u),e.attr(`height`,f),e.attr(`preserveAspectRatio`,`none`),e.attr(`transform`,`translate(${-u/2},${v?O/2-f:-O/2})`)}return _.attr(`transform`,`translate(${-g.width/2-(g.x-(g.left??0))},${v?-f/2-g.height/2-x/2:f/2-g.height/2+x/2})`),A.attr(`transform`,`translate(0,${v?g.height/2+x/2:-g.height/2-x/2})`),T(t,j),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=v?[{x:r-g.width/2,y:i-a/2},{x:r+g.width/2,y:i-a/2},{x:r+g.width/2,y:i-a/2+g.height+x},{x:r+u/2,y:i-a/2+g.height+x},{x:r+u/2,y:i+a/2},{x:r-u/2,y:i+a/2},{x:r-u/2,y:i-a/2+g.height+x},{x:r-g.width/2,y:i-a/2+g.height+x}]:[{x:r-u/2,y:i-a/2},{x:r+u/2,y:i-a/2},{x:r+u/2,y:i-a/2+f},{x:r+g.width/2,y:i-a/2+f},{x:r+g.width/2/2,y:i+a/2},{x:r-g.width/2,y:i+a/2},{x:r-g.width/2,y:i-a/2+f},{x:r-u/2,y:i-a/2+f}],K.polygon(t,o,e)},p}e(We,`imageSquare`);async function Ge(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=Math.max(c.width+(o??0)*2,t?.width??0),u=Math.max(c.height+(a??0)*2,t?.height??0),f=[{x:0,y:0},{x:l,y:0},{x:l+3*u/6,y:-u},{x:-3*u/6,y:-u}],p,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(f),i=e.path(r,n);p=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-l/2}, ${u/2})`),g&&p.attr(`style`,g)}else p=q(s,l,u,f);return r&&p.attr(`style`,r),t.width=l,t.height=u,T(t,p),t.intersect=function(e){return K.polygon(t,f,e)},s}e(Ge,`inv_trapezoid`);async function Ke(e,t){let{shapeSvg:n,bbox:r,label:i}=await C(e,t,`label`),a=n.insert(`rect`,`:first-child`);return a.attr(`width`,.1).attr(`height`,.1),n.attr(`class`,`label edgeLabel`),i.attr(`transform`,`translate(${-(r.width/2)-(r.x-(r.left??0))}, ${-(r.height/2)-(r.y-(r.top??0))})`),T(t,a),t.intersect=function(e){return K.rect(t,e)},n}e(Ke,`labelRect`);async function qe(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.height??c.height)+a,u=(t?.width??c.width)+o,f=[{x:0,y:0},{x:u+3*l/6,y:0},{x:u,y:-l},{x:-(3*l)/6,y:-l}],p,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(f),i=e.path(r,n);p=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),g&&p.attr(`style`,g)}else p=q(s,u,l,f);return r&&p.attr(`style`,r),t.width=u,t.height=l,T(t,p),t.intersect=function(e){return K.polygon(t,f,e)},s}e(qe,`lean_left`);async function Je(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.height??c.height)+a,u=(t?.width??c.width)+o,f=[{x:-3*l/6,y:0},{x:u,y:0},{x:u+3*l/6,y:-l},{x:0,y:-l}],p,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(f),i=e.path(r,n);p=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),g&&p.attr(`style`,g)}else p=q(s,u,l,f);return r&&p.attr(`style`,r),t.width=u,t.height=l,T(t,p),t.intersect=function(e){return K.polygon(t,f,e)},s}e(Je,`lean_right`);function Ye(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.label=``,t.labelStyle=r;let a=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:o}=t,s=Math.max(35,t?.width??0),c=Math.max(35,t?.height??0),l=[{x:s,y:0},{x:0,y:c+7/2},{x:s-14,y:c+7/2},{x:0,y:2*c},{x:s,y:c-7/2},{x:14,y:c-7/2}],u=d.svg(a),f=h(t,{});t.look!==`handDrawn`&&(f.roughness=0,f.fillStyle=`solid`);let p=D(l),g=u.path(p,f),_=a.insert(()=>g,`:first-child`);return _.attr(`class`,`outer-path`),o&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,o),i&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,i),_.attr(`transform`,`translate(-${s/2},${-c})`),T(t,_),t.intersect=function(e){return n.info(`lightningBolt intersect`,t,e),K.polygon(t,l,e)},a}e(Ye,`lightningBolt`);var Xe=e((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createCylinderPathD`),Ze=e((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createOuterCylinderPathD`),Qe=e((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),$e=10,et=10;async function tt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?24:i;if(t.width||t.height){let e=t.width??0;t.width=(t.width??0)-a,t.width<et&&(t.width=et);let n=e/2/(2.5+e/50);t.height=(t.height??0)-o-n*3,t.height<$e&&(t.height=$e)}let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width?t?.width:c.width)+a*2,f=u/2,p=f/(2.5+u/50),_=(t?.height?t?.height:c.height)+p+o*2,v=_*.1,y,{cssStyles:b}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=Ze(0,0,u,_,f,p,v),r=Qe(0,p,u,_,f,p),i=h(t,{}),a=e.path(n,i),o=e.path(r,i);s.insert(()=>o,`:first-child`).attr(`class`,`line`),y=s.insert(()=>a,`:first-child`),y.attr(`class`,`basic label-container`),b&&y.attr(`style`,b)}else{let e=Xe(0,0,u,_,f,p,v);y=s.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,g(b)).attr(`style`,r)}return y.attr(`label-offset-y`,p),y.attr(`transform`,`translate(${-u/2}, ${-(_/2+p)})`),T(t,y),l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${-(c.height/2)+p-(c.y-(c.top??0))})`),t.intersect=function(e){let n=K.rect(t,e),r=n.x-(t.x??0);if(f!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-p)){let i=p*p*(1-r*r/(f*f));i>0&&(i=Math.sqrt(i)),i=p-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},s}e(tt,`linedCylinder`);async function nt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=(t.width??0)*10/11-a*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10));let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width?t?.width:c.width)+(a??0)*2,f=(t?.height?t?.height:c.height)+(o??0)*2,p=t.look===`neo`?f/4:f/8,g=f+p,{cssStyles:_}=t,v=d.svg(s),y=h(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=[{x:-u/2-u/2*.1,y:-g/2},{x:-u/2-u/2*.1,y:g/2},...O(-u/2-u/2*.1,g/2,u/2+u/2*.1,g/2,p,.8),{x:u/2+u/2*.1,y:-g/2},{x:-u/2-u/2*.1,y:-g/2},{x:-u/2,y:-g/2},{x:-u/2,y:g/2*1.1},{x:-u/2,y:-g/2}],x=v.polygon(b.map(e=>[e.x,e.y]),y),S=s.insert(()=>x,`:first-child`);return S.attr(`class`,`basic label-container outer-path`),_&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,_),r&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,r),S.attr(`transform`,`translate(0,${-p/2})`),l.attr(`transform`,`translate(${-u/2+(t.padding??0)+u/2*.1/2-(c.x-(c.left??0))},${-f/2+(t.padding??0)-p/2-(c.y-(c.top??0))})`),T(t,S),t.intersect=function(e){return K.polygon(t,b,e)},s}e(nt,`linedWaveEdgedRect`);async function rt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,s=t.look===`neo`?10:5;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2-2*s,10),t.height=Math.max((t?.height??0)-o*2-2*s,10));let{shapeSvg:c,bbox:l,label:u}=await C(e,t,E(t)),f=(t?.width?t?.width:l.width)+a*2+2*s,p=(t?.height?t?.height:l.height)+o*2+2*s,g=f-2*s,_=p-2*s,v=-g/2,y=-_/2,{cssStyles:b}=t,x=d.svg(c),S=h(t,{}),w=[{x:v-s,y:y+s},{x:v-s,y:y+_+s},{x:v+g-s,y:y+_+s},{x:v+g-s,y:y+_},{x:v+g,y:y+_},{x:v+g,y:y+_-s},{x:v+g+s,y:y+_-s},{x:v+g+s,y:y-s},{x:v+s,y:y-s},{x:v+s,y},{x:v,y},{x:v,y:y+s}],O=[{x:v,y:y+s},{x:v+g-s,y:y+s},{x:v+g-s,y:y+_},{x:v+g,y:y+_},{x:v+g,y},{x:v,y}];t.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let k=D(w),j=x.path(k,S),M=D(O),N=x.path(M,S);t.look!==`handDrawn`&&(j=A(j),N=A(N));let P=c.insert(`g`,`:first-child`);return P.insert(()=>j),P.insert(()=>N),P.attr(`class`,`basic label-container outer-path`),b&&t.look!==`handDrawn`&&P.selectAll(`path`).attr(`style`,b),r&&t.look!==`handDrawn`&&P.selectAll(`path`).attr(`style`,r),u.attr(`transform`,`translate(${-(l.width/2)-s-(l.x-(l.left??0))}, ${-(l.height/2)+s-(l.y-(l.top??0))})`),T(t,P),t.intersect=function(e){return K.polygon(t,w,e)},c}e(rt,`multiRect`);async function it(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.padding??0,c=t.look===`neo`?16:s,l=t.look===`neo`?12:s,u=!0;(t.width||t.height)&&(u=!1,t.width=(t?.width??0)-c*2,t.height=(t?.height??0)-l*3);let f=Math.max(a.width,t?.width??0)+c*2,p=Math.max(a.height,t?.height??0)+l*3,g=t.look===`neo`?p/4:p/8,_=p+(u?g/2:-g/2),v=-f/2,y=-_/2,{cssStyles:b}=t,x=O(v-10,y+_+10,v+f-10,y+_+10,g,.8),S=x?.[x.length-1],w=[{x:v-10,y:y+10},{x:v-10,y:y+_+10},...x,{x:v+f-10,y:S.y-10},{x:v+f,y:S.y-10},{x:v+f,y:S.y-20},{x:v+f+10,y:S.y-20},{x:v+f+10,y:y-10},{x:v+10,y:y-10},{x:v+10,y},{x:v,y},{x:v,y:y+10}],k=[{x:v,y:y+10},{x:v+f-10,y:y+10},{x:v+f-10,y:S.y-10},{x:v+f,y:S.y-10},{x:v+f,y},{x:v,y}],A=d.svg(i),j=h(t,{});t.look!==`handDrawn`&&(j.roughness=0,j.fillStyle=`solid`);let M=D(w),N=A.path(M,j),P=D(k),F=A.path(P,j),I=i.insert(()=>N,`:first-child`);return I.insert(()=>F),I.attr(`class`,`basic label-container outer-path`),b&&t.look!==`handDrawn`&&I.selectAll(`path`).attr(`style`,b),r&&t.look!==`handDrawn`&&I.selectAll(`path`).attr(`style`,r),I.attr(`transform`,`translate(0,${-g/2})`),o.attr(`transform`,`translate(${-(a.width/2)-10-(a.x-(a.left??0))}, ${-(a.height/2)+10-g/2-(a.y-(a.top??0))})`),T(t,I),t.intersect=function(e){return K.polygon(t,w,e)},i}e(it,`multiWaveEdgedRectangle`);async function at(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:a}=m(t);t.labelStyle=r,t.useHtmlLabels||i(o())||(t.centerLabel=!0);let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=Math.max(c.width+(t.padding??0)*2,t?.width??0),f=Math.max(c.height+(t.padding??0)*2,t?.height??0),p=-u/2,g=-f/2,{cssStyles:_}=t,v=d.svg(s),y=h(t,{fill:n.noteBkgColor,stroke:n.noteBorderColor});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=v.rectangle(p,g,u,f,y),x=s.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),l.attr(`class`,`label noteLabel`),_&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,_),a&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,a),l.attr(`transform`,`translate(${-c.width/2-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),T(t,x),t.intersect=function(e){return K.rect(t,e)},s}e(at,`note`);var ot=e((e,t,n)=>[`M${e+n/2},${t}`,`L${e+n},${t-n/2}`,`L${e+n/2},${t-n}`,`L${e},${t-n/2}`,`Z`].join(` `),`createDecisionBoxPathD`);async function st(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=a.width+(t.padding??0)+(a.height+(t.padding??0)),s=.5,c=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}],l,{cssStyles:u}=t;if(t.look===`handDrawn`){let e=d.svg(i),n=h(t,{}),r=ot(0,0,o),a=e.path(r,n);l=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-o/2+s}, ${o/2})`),u&&l.attr(`style`,u)}else l=q(i,o,o,c),l.attr(`transform`,`translate(${-o/2+s}, ${o/2})`);return r&&l.attr(`style`,r),T(t,l),t.calcIntersect=function(e,t){let n=e.width,r=[{x:n/2,y:0},{x:n,y:-n/2},{x:n/2,y:-n},{x:0,y:-n/2}],i=K.polygon(e,r,t);return{x:i.x-.5,y:i.y-.5}},t.intersect=function(e){return this.calcIntersect(t,e)},i}e(st,`question`);async function ct(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?21:i??0,o=t.look===`neo`?12:i??0,{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width??c.width)+(t.look===`neo`?a*2:a),f=(t?.height??c.height)+(t.look===`neo`?o*2:o),p=-u/2,g=-f/2,_=g/2,v=[{x:p+_,y:g},{x:p,y:0},{x:p+_,y:-g},{x:-p,y:-g},{x:-p,y:g}],{cssStyles:y}=t,b=d.svg(s),x=h(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=D(v),w=b.path(S,x),O=s.insert(()=>w,`:first-child`);return O.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),O.attr(`transform`,`translate(${-_/2},0)`),l.attr(`transform`,`translate(${-_/2-c.width/2-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),T(t,O),t.intersect=function(e){return K.polygon(t,v,e)},s}e(ct,`rect_left_inv_arrow`);async function lt(e,r){let{labelStyles:a,nodeStyles:o}=m(r);r.labelStyle=a;let s;s=r.cssClasses?`node `+r.cssClasses:`node default`;let c=e.insert(`g`).attr(`class`,s).attr(`id`,r.domId||r.id),l=c.insert(`g`),f=c.insert(`g`).attr(`class`,`label`).attr(`style`,o),p=r.description,g=r.label,_=await M(f,g,r.labelStyle,!0,!0),v={width:0,height:0};if(i(u())){let e=_.children[0],n=t(_);v=e.getBoundingClientRect(),n.attr(`width`,v.width),n.attr(`height`,v.height)}n.info(`Text 2`,p);let y=p||[],b=_.getBBox(),x=await M(f,Array.isArray(y)?y.join(`<br/>`):y,r.labelStyle,!0,!0),S=x.children[0],C=t(x);v=S.getBoundingClientRect(),C.attr(`width`,v.width),C.attr(`height`,v.height);let w=(r.padding||0)/2;t(x).attr(`transform`,`translate( `+(v.width>b.width?0:(b.width-v.width)/2)+`, `+(b.height+w+5)+`)`),t(_).attr(`transform`,`translate( `+(v.width<b.width?0:-(b.width-v.width)/2)+`, 0)`),v=f.node().getBBox(),f.attr(`transform`,`translate(`+-v.width/2+`, `+(-v.height/2-w+3)+`)`);let E=v.width+(r.padding||0),D=v.height+(r.padding||0),O=-v.width/2-w,k=-v.height/2-w,A,j;if(r.look===`handDrawn`){let e=d.svg(c),t=h(r,{}),i=e.path(N(O,k,E,D,r.rx||0),t),a=e.line(-v.width/2-w,-v.height/2-w+b.height+w,v.width/2+w,-v.height/2-w+b.height+w,t);j=c.insert(()=>(n.debug(`Rough node insert CXC`,i),a),`:first-child`),A=c.insert(()=>(n.debug(`Rough node insert CXC`,i),i),`:first-child`)}else A=l.insert(`rect`,`:first-child`),j=l.insert(`line`),A.attr(`class`,`outer title-state`).attr(`style`,o).attr(`x`,-v.width/2-w).attr(`y`,-v.height/2-w).attr(`width`,v.width+(r.padding||0)).attr(`height`,v.height+(r.padding||0)),j.attr(`class`,`divider`).attr(`x1`,-v.width/2-w).attr(`x2`,v.width/2+w).attr(`y1`,-v.height/2-w+b.height+w).attr(`y2`,-v.height/2-w+b.height+w);return T(r,A),r.intersect=function(e){return K.rect(r,e)},c}e(lt,`rectWithTitle`);async function ut(e,t,{config:{themeVariables:n}}){let r=n?.radius??5;return De(e,t,{rx:r,ry:r,classes:``,labelPaddingX:(t?.padding??0)*1,labelPaddingY:(t?.padding??0)*1})}e(ut,`roundedRect`);var Z=8;async function dt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?12:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=(t?.width??s.width)+i*2+(t.look===`neo`?Z:Z*2),u=(t?.height??s.height)+a*2,f=l-Z,p=u,_=Z-l/2,v=-u/2,{cssStyles:y}=t,b=d.svg(o),x=h(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=[{x:_,y:v},{x:_+f,y:v},{x:_+f,y:v+p},{x:_-Z,y:v+p},{x:_-Z,y:v},{x:_,y:v},{x:_,y:v+p}],w=b.polygon(S.map(e=>[e.x,e.y]),x),D=o.insert(()=>w,`:first-child`);return D.attr(`class`,`basic label-container outer-path`).attr(`style`,g(y)),r&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),y&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${Z/2-s.width/2-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),T(t,D),t.intersect=function(e){return K.rect(t,e)},o}e(dt,`shadedProcess`);async function ft(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2,10),t.height=Math.max((t?.height??0)/1.5-o*2,10));let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width?t?.width:c.width)+a*2,f=((t?.height?t?.height:c.height)+o*2)*1.5,p=u,g=f/1.5,_=-p/2,v=-g/2,{cssStyles:y}=t,b=d.svg(s),x=h(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=[{x:_,y:v},{x:_,y:v+g},{x:_+p,y:v+g},{x:_+p,y:v-g/2}],w=D(S),O=b.path(w,x),k=s.insert(()=>O,`:first-child`);return k.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&k.selectChildren(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&k.selectChildren(`path`).attr(`style`,r),k.attr(`transform`,`translate(0, ${g/4})`),l.attr(`transform`,`translate(${-p/2+(t.padding??0)-(c.x-(c.left??0))}, ${-g/4+(t.padding??0)-(c.y-(c.top??0))})`),T(t,k),t.intersect=function(e){return K.polygon(t,S,e)},s}e(ft,`slopedRect`);async function pt(e,t){let n=t.padding??0,r=t.look===`neo`?16:n*2,i=t.look===`neo`?12:n;return De(e,t,{rx:0,ry:0,classes:``,labelPaddingX:t.labelPaddingX??r,labelPaddingY:i})}e(pt,`squareRect`);async function mt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?20:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=c.height+(t.look===`neo`?o*2:o),u=c.width+l/4+(t.look===`neo`?a*2:a),f=l/2,{cssStyles:p}=t,g=d.svg(s),_=h(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=[{x:-u/2+f,y:-l/2},{x:u/2-f,y:-l/2},...k(-u/2+f,0,f,50,90,270),{x:u/2-f,y:l/2},...k(u/2-f,0,f,50,270,450)],y=D(v),b=g.path(y,_),x=s.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),p&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,r),T(t,x),t.intersect=function(e){return K.polygon(t,v,e)},s}e(mt,`stadium`);async function ht(e,t){return De(e,t,{rx:t.look===`neo`?3:5,ry:t.look===`neo`?3:5,classes:`flowchart-node`})}e(ht,`state`);function gt(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let{cssStyles:a}=t,{lineColor:o,stateBorder:s,nodeBorder:c,nodeShadow:l}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let u=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId??t.id),f=d.svg(u),p=h(t,{});t.look!==`handDrawn`&&(p.roughness=0,p.fillStyle=`solid`);let g=f.circle(0,0,t.width,{...p,stroke:o,strokeWidth:2}),_=s??c,v=(t.width??0)*5/14,y=f.circle(0,0,v,{...p,fill:_,stroke:_,strokeWidth:2,fillStyle:`solid`}),b=u.insert(()=>g,`:first-child`);if(b.insert(()=>y),t.look!==`handDrawn`&&b.attr(`class`,`outer-path`),a&&b.selectAll(`path`).attr(`style`,a),i&&b.selectAll(`path`).attr(`style`,i),t.width<25&&l&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;b.attr(`style`,`filter:url(#${n})`)}return T(t,b),t.intersect=function(e){return K.circle(t,(t.width??0)/2,e)},u}e(gt,`stateEnd`);function _t(e,t,{config:{themeVariables:n}}){let{lineColor:r,nodeShadow:i}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let a=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),o;if(t.look===`handDrawn`){let e=d.svg(a).circle(0,0,t.width,f(r));o=a.insert(()=>e),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14)}else o=a.insert(`circle`,`:first-child`),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14);if(t.width<25&&i&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;o.attr(`style`,`filter:url(#${n})`)}return T(t,o),t.intersect=function(e){return K.circle(t,(t.width??7)/2,e)},a}e(_t,`stateStart`);var vt=8;async function yt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t?.padding??8,a=t.look===`neo`?28:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width??c.width)+2*vt+a,u=(t?.height??c.height)+o,f=l-2*vt,p=u,_=-l/2,v=-u/2,y=[{x:0,y:0},{x:f,y:0},{x:f,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:f+8,y:0},{x:f+8,y:-p},{x:-8,y:-p},{x:-8,y:0}];if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=e.rectangle(_,v,f+16,p,n),i=e.line(_+vt,v,_+vt,v+p,n),a=e.line(_+vt+f,v,_+vt+f,v+p,n);s.insert(()=>i,`:first-child`),s.insert(()=>a,`:first-child`);let o=s.insert(()=>r,`:first-child`),{cssStyles:c}=t;o.attr(`class`,`basic label-container`).attr(`style`,g(c)),T(t,o)}else{let e=q(s,f,p,y);r&&e.attr(`style`,r),T(t,e)}return t.intersect=function(e){return K.polygon(t,y,e)},s}e(yt,`subroutine`);var bt=.2;async function xt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.height=Math.max((t?.height??0)-o*2,10),t.width=Math.max((t?.width??0)-a*2-bt*(t.height+o*2),10));let{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.height?t?.height:c.height)+o*2,u=bt*l,f=bt*l,p=(t?.width?t?.width:c.width)+a*2+u-u,g=l,_=-p/2,v=-g/2,{cssStyles:y}=t,b=d.svg(s),x=h(t,{}),S=[{x:_-u/2,y:v},{x:_+p+u/2,y:v},{x:_+p+u/2,y:v+g},{x:_-u/2,y:v+g}],w=[{x:_+p-u/2,y:v+g},{x:_+p+u/2,y:v+g},{x:_+p+u/2,y:v+g-f}];t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let O=D(S),k=b.path(O,x),A=D(w),j=b.path(A,{...x,fillStyle:`solid`}),M=s.insert(()=>j,`:first-child`);return M.insert(()=>k,`:first-child`),M.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,r),T(t,M),t.intersect=function(e){return K.polygon(t,S,e)},s}e(xt,`taggedRect`);async function St(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=c/8,u=.2*s,f=.2*c,p=c+l,{cssStyles:g}=t,_=d.svg(i),v=h(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:-s/2-s/2*.1,y:p/2},...O(-s/2-s/2*.1,p/2,s/2+s/2*.1,p/2,l,.8),{x:s/2+s/2*.1,y:-p/2},{x:-s/2-s/2*.1,y:-p/2}],b=-s/2+s/2*.1,x=-p/2-f*.4,S=[{x:b+s-u,y:(x+c)*1.3},{x:b+s,y:x+c-f},{x:b+s,y:(x+c)*.9},...O(b+s,(x+c)*1.25,b+s-u,(x+c)*1.3,-c*.02,.5)],w=D(y),k=_.path(w,v),A=D(S),j=_.path(A,{...v,fillStyle:`solid`}),M=i.insert(()=>j,`:first-child`);return M.insert(()=>k,`:first-child`),M.attr(`class`,`basic label-container outer-path`),g&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,g),r&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,r),M.attr(`transform`,`translate(0,${-l/2})`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))},${-c/2+(t.padding??0)-l/2-(a.y-(a.top??0))})`),T(t,M),t.intersect=function(e){return K.polygon(t,y,e)},i}e(St,`taggedWaveEdgedRectangle`);async function Ct(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=Math.max(a.width+(t.padding??0),t?.width||0),s=Math.max(a.height+(t.padding??0),t?.height||0),c=-o/2,l=-s/2,u=i.insert(`rect`,`:first-child`);return u.attr(`class`,`text`).attr(`style`,r).attr(`rx`,0).attr(`ry`,0).attr(`x`,c).attr(`y`,l).attr(`width`,o).attr(`height`,s),T(t,u),t.intersect=function(e){return K.rect(t,e)},i}e(Ct,`text`);var wt=e((e,t,n,r,i,a)=>`M${e},${t}
|
|
3
|
+
a${i},${a} 0,0,1 0,${-r}
|
|
4
|
+
l${n},0
|
|
5
|
+
a${i},${a} 0,0,1 0,${r}
|
|
6
|
+
M${n},${-r}
|
|
7
|
+
a${i},${a} 0,0,0 0,${r}
|
|
8
|
+
l${-n},0`,`createCylinderPathD`),Tt=e((e,t,n,r,i,a)=>[`M${e},${t}`,`M${e+n},${t}`,`a${i},${a} 0,0,0 0,${-r}`,`l${-n},0`,`a${i},${a} 0,0,0 0,${r}`,`l${n},0`].join(` `),`createOuterCylinderPathD`),Et=e((e,t,n,r,i,a)=>[`M${e+n/2},${-r/2}`,`a${i},${a} 0,0,0 0,${r}`].join(` `),`createInnerCylinderPathD`),Dt=5,Ot=10;async function kt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?12:i/2;if(t.width||t.height){let e=t.height??0;t.height=(t.height??0)-a,t.height<Dt&&(t.height=Dt);let n=e/2/(2.5+e/50);t.width=(t.width??0)-a-n*3,t.width<Ot&&(t.width=Ot)}let{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=(t.height?t.height:s.height)+a,u=l/2,f=u/(2.5+l/50),p=(t.width?t.width:s.width)+f+a,{cssStyles:_}=t,v;if(t.look===`handDrawn`){let e=d.svg(o),n=Tt(0,0,p,l,f,u),r=Et(0,0,p,l,f,u),i=e.path(n,h(t,{})),a=e.path(r,h(t,{fill:`none`}));v=o.insert(()=>a,`:first-child`),v=o.insert(()=>i,`:first-child`),v.attr(`class`,`basic label-container`),_&&v.attr(`style`,_)}else{let e=wt(0,0,p,l,f,u);v=o.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container`).attr(`style`,g(_)).attr(`style`,r),v.attr(`class`,`basic label-container outer-path`),_&&v.selectAll(`path`).attr(`style`,_),r&&v.selectAll(`path`).attr(`style`,r)}return v.attr(`label-offset-x`,f),v.attr(`transform`,`translate(${-p/2}, ${l/2} )`),c.attr(`transform`,`translate(${-(s.width/2)-f-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),T(t,v),t.intersect=function(e){let n=K.rect(t,e),r=n.y-(t.y??0);if(u!=0&&(Math.abs(r)<(t.height??0)/2||Math.abs(r)==(t.height??0)/2&&Math.abs(n.x-(t.x??0))>(t.width??0)/2-f)){let i=f*f*(1-r*r/(u*u));i!=0&&(i=Math.sqrt(Math.abs(i))),i=f-i,e.x-(t.x??0)>0&&(i=-i),n.x+=i}return n},o}e(kt,`tiltedCylinder`);async function At(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=(t.look,i),o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.height??c.height)+a,u=(t?.width??c.width)+o,f=[{x:-3*l/6,y:0},{x:u+3*l/6,y:0},{x:u,y:-l},{x:0,y:-l}],p,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(f),i=e.path(r,n);p=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),g&&p.attr(`style`,g)}else p=q(s,u,l,f);return r&&p.attr(`style`,r),t.width=u,t.height=l,T(t,p),t.intersect=function(e){return K.polygon(t,f,e)},s}e(At,`trapezoid`);async function jt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.height=(t.height??0)-o*2,t.height<5&&(t.height=5),t.width=(t.width??0)-a*2,t.width<15&&(t.width=15));let{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width?t?.width:c.width)+a*2,u=(t?.height?t?.height:c.height)+o*2,{cssStyles:f}=t,p=d.svg(s),g=h(t,{});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=[{x:-l/2*.8,y:-u/2},{x:l/2*.8,y:-u/2},{x:l/2,y:-u/2*.6},{x:l/2,y:u/2},{x:-l/2,y:u/2},{x:-l/2,y:-u/2*.6}],v=D(_),y=p.path(v,g),b=s.insert(()=>y,`:first-child`);return b.attr(`class`,`basic label-container outer-path`),f&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,f),r&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,r),T(t,b),t.intersect=function(e){return K.polygon(t,_,e)},s}e(jt,`trapezoidalPentagon`);var Mt=10,Nt=10;async function Pt(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let a=t.padding??0,o=t.look===`neo`?a*2:a;(t.width||t.height)&&(t.width=((t?.width??0)-o)/2,t.width<Nt&&(t.width=Nt),t.height=t?.height??0,t.height<Mt&&(t.height=Mt));let{shapeSvg:c,bbox:l,label:f}=await C(e,t,E(t)),p=s(u().flowchart?.htmlLabels),g=(t?.width?t?.width:l.width)+o,_=t?.height?t?.height:g+l.height,v=_,y=[{x:0,y:0},{x:v,y:0},{x:v/2,y:-_}],{cssStyles:b}=t,x=d.svg(c),S=h(t,{});t.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let w=D(y),O=x.path(w,S),k=c.insert(()=>O,`:first-child`).attr(`transform`,`translate(${-_/2}, ${_/2})`).attr(`class`,`outer-path`);return b&&t.look!==`handDrawn`&&k.selectChildren(`path`).attr(`style`,b),i&&t.look!==`handDrawn`&&k.selectChildren(`path`).attr(`style`,i),t.width=g,t.height=_,T(t,k),f.attr(`transform`,`translate(${-l.width/2-(l.x-(l.left??0))}, ${_/2-(l.height+(t.padding??0)/(p?2:1)-(l.y-(l.top??0)))})`),t.intersect=function(e){return n.info(`Triangle intersect`,t,y,e),K.polygon(t,y,e)},c}e(Pt,`triangle`);async function Ft(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,s=!0;(t.width||t.height)&&(s=!1,t.width=(t?.width??0)-a*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10));let{shapeSvg:c,bbox:l,label:u}=await C(e,t,E(t)),f=(t?.width?t?.width:l.width)+(a??0)*2,p=(t?.height?t?.height:l.height)+(o??0)*2,g=t.look===`neo`?p/4:p/8,_=p+(s?g:-g),{cssStyles:v}=t,y=14-f,b=y>0?y/2:0,x=d.svg(c),S=h(t,{});t.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let w=[{x:-f/2-b,y:_/2},...O(-f/2-b,_/2,f/2+b,_/2,g,.8),{x:f/2+b,y:-_/2},{x:-f/2-b,y:-_/2}],k=D(w),A=x.path(k,S),j=c.insert(()=>A,`:first-child`);return j.attr(`class`,`basic label-container outer-path`),v&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,v),r&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,r),j.attr(`transform`,`translate(0,${-g/2})`),u.attr(`transform`,`translate(${-f/2+(t.padding??0)-(l.x-(l.left??0))},${-p/2+(t.padding??0)-g-(l.y-(l.top??0))})`),T(t,j),t.intersect=function(e){return K.polygon(t,w,e)},c}e(Ft,`waveEdgedRectangle`);async function It(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?20:i;if(t.width||t.height){t.width=t?.width??0,t.width<20&&(t.width=20),t.height=t?.height??0,t.height<10&&(t.height=10);let e=Math.min(t.height*.2,t.height/4);t.height=Math.ceil(t.height-o-20/9*e),t.width-=a*2}let{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width?t?.width:c.width)+a*2,u=(t?.height?t?.height:c.height)+o,f=u/8,p=u+f*2,{cssStyles:g}=t,_=d.svg(s),v=h(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:-l/2,y:p/2},...O(-l/2,p/2,l/2,p/2,f,1),{x:l/2,y:-p/2},...O(l/2,-p/2,-l/2,-p/2,f,-1)],b=D(y),x=_.path(b,v),S=s.insert(()=>x,`:first-child`);return S.attr(`class`,`basic label-container`),g&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,g),r&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,r),T(t,S),t.intersect=function(e){return K.polygon(t,y,e)},s}e(It,`waveRectangle`);var Q=10;async function Lt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?12:t.padding??0;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-i*2-Q,10),t.height=Math.max((t?.height??0)-a*2-Q,10));let{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=(t?.width?t?.width:s.width)+i*2+Q,u=(t?.height?t?.height:s.height)+a*2+Q,f=l-Q,p=u-Q,g=-f/2,_=-p/2,{cssStyles:v}=t,y=d.svg(o),b=h(t,{}),x=[{x:g-Q,y:_-Q},{x:g-Q,y:_+p},{x:g+f,y:_+p},{x:g+f,y:_-Q}],S=`M${g-Q},${_-Q} L${g+f},${_-Q} L${g+f},${_+p} L${g-Q},${_+p} L${g-Q},${_-Q}
|
|
9
|
+
M${g-Q},${_} L${g+f},${_}
|
|
10
|
+
M${g},${_-Q} L${g},${_+p}`;t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let w=y.path(S,b),D=o.insert(()=>w,`:first-child`);return D.attr(`transform`,`translate(${Q/2}, ${Q/2})`),D.attr(`class`,`basic label-container outer-path`),v&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,v),r&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${-(s.width/2)+Q/2-(s.x-(s.left??0))}, ${-(s.height/2)+Q/2-(s.y-(s.top??0))})`),T(t,D),t.intersect=function(e){return K.polygon(t,x,e)},o}e(Lt,`windowPane`);var Rt=new Set([`redux-color`,`redux-dark-color`]),zt=new Set([`redux`,`redux-dark`,`redux-color`,`redux-dark-color`]);async function Bt(e,n){let r=n;r.alias&&(n.label=r.alias);let{theme:i,themeVariables:a}=o(),{rowEven:c,rowOdd:l,nodeBorder:u,borderColorArray:f}=a;if(n.look===`handDrawn`){let{themeVariables:t}=o(),{background:r}=t;await Bt(e,{...n,id:n.id+`-background`,domId:(n.domId||n.id)+`-background`,look:`default`,cssStyles:[`stroke: none`,`fill: ${r}`]})}let p=o();n.useHtmlLabels=p.htmlLabels;let g=p.er?.diagramPadding??10,v=p.er?.entityPadding??6,{cssStyles:y}=n,{labelStyles:b,nodeStyles:x}=m(n);if(r.attributes.length===0&&n.label){let t={rx:0,ry:0,labelPaddingX:g,labelPaddingY:g*1.5,classes:``};_(n.label,p)+t.labelPaddingX*2<p.er.minEntityWidth&&(n.width=p.er.minEntityWidth);let a=await De(e,n,t);if(i!=null&&Rt.has(i)){let e=r.colorIndex??0;a.attr(`data-color-id`,`color-${e%f.length}`)}if(!s(p.htmlLabels)){let e=a.select(`text`),t=e.node()?.getBBox();e.attr(`transform`,`translate(${-t.width/2}, 0)`)}return a}p.htmlLabels||(g*=1.25,v*=1.25);let S=E(n);S||=`node default`;let C=e.insert(`g`).attr(`class`,S).attr(`id`,n.domId||n.id),w=await Vt(C,n.label??``,p,0,0,[`name`],b);w.height+=v;let D=0,O=[],k=[],A=0,j=0,M=0,N=0,P=!0,F=!0;for(let e of r.attributes){let t=await Vt(C,e.type,p,0,D,[`attribute-type`],b);A=Math.max(A,t.width+g);let n=await Vt(C,e.name,p,0,D,[`attribute-name`],b);j=Math.max(j,n.width+g);let r=await Vt(C,e.keys.join(),p,0,D,[`attribute-keys`],b);M=Math.max(M,r.width+g);let i=await Vt(C,e.comment,p,0,D,[`attribute-comment`],b);N=Math.max(N,i.width+g);let a=Math.max(t.height,n.height,r.height,i.height)+v;k.push({yOffset:D,rowHeight:a}),D+=a}let I=4;M<=g&&(P=!1,M=0,I--),N<=g&&(F=!1,N=0,I--);let L=C.node().getBBox();if(w.width+g*2-(A+j+M+N)>0){let e=w.width+g*2-(A+j+M+N);A+=e/I,j+=e/I,M>0&&(M+=e/I),N>0&&(N+=e/I)}let ee=A+j+M+N,R=d.svg(C),z=h(n,{});n.look!==`handDrawn`&&(z.roughness=0,z.fillStyle=`solid`);let te=0;k.length>0&&(te=k.reduce((e,t)=>e+(t?.rowHeight??0),0));let ne=Math.max(L.width+g*2,n?.width||0,ee),B=Math.max((te??0)+w.height,n?.height||0),V=-ne/2,H=-B/2;if(C.selectAll(`g:not(:first-child)`).each((e,n,r)=>{let i=t(r[n]),a=i.attr(`transform`),o=0,s=0;if(a){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(a);e&&(o=parseFloat(e[1]),s=parseFloat(e[2]),i.attr(`class`).includes(`attribute-name`)?o+=A:i.attr(`class`).includes(`attribute-keys`)?o+=A+j:i.attr(`class`).includes(`attribute-comment`)&&(o+=A+j+M))}i.attr(`transform`,`translate(${V+g/2+o}, ${s+H+w.height+v/2})`)}),C.select(`.name`).attr(`transform`,`translate(`+-w.width/2+`, `+(H+v/2)+`)`),i!=null&&Rt.has(i)){let e=r.colorIndex??0;C.attr(`data-color-id`,`color-${e%f.length}`)}let re=R.rectangle(V,H,ne,B,z),ie=C.insert(()=>re,`:first-child`).attr(`class`,`outer-path`).attr(`style`,y.join(``));O.push(0);for(let[e,t]of k.entries()){let n=(e+1)%2==0&&t.yOffset!==0,r=R.rectangle(V,w.height+H+t?.yOffset,ne,t?.rowHeight,{...z,fill:n?c:l,stroke:u});C.insert(()=>r,`g.label`).attr(`style`,y.join(``)).attr(`class`,`row-rect-${n?`even`:`odd`}`)}let U=1e-4,W=Ht(V,w.height+H,ne+V,w.height+H,U),G=R.polygon(W.map(e=>[e.x,e.y]),z);if(C.insert(()=>G).attr(`class`,`divider`),W=Ht(A+V,w.height+H,A+V,B+H,U),G=R.polygon(W.map(e=>[e.x,e.y]),z),C.insert(()=>G).attr(`class`,`divider`),P){let e=A+j+V;W=Ht(e,w.height+H,e,B+H,U),G=R.polygon(W.map(e=>[e.x,e.y]),z),C.insert(()=>G).attr(`class`,`divider`)}if(F){let e=A+j+M+V;W=Ht(e,w.height+H,e,B+H,U),G=R.polygon(W.map(e=>[e.x,e.y]),z),C.insert(()=>G).attr(`class`,`divider`)}for(let e of O){let t=w.height+H+e;W=Ht(V,t,ne+V,t,U),G=R.polygon(W.map(e=>[e.x,e.y]),z),C.insert(()=>G).attr(`class`,`divider`)}if(T(n,ie),x&&n.look!==`handDrawn`)if(i!=null&&zt.has(i))C.selectAll(`path`).attr(`style`,x);else{let e=x.split(`;`)?.filter(e=>e.includes(`stroke`))?.map(e=>`${e}`).join(`; `);C.selectAll(`path`).attr(`style`,e??``),C.selectAll(`.row-rect-even path`).attr(`style`,x)}return n.intersect=function(e){return K.rect(n,e)},C}e(Bt,`erBox`);async function Vt(e,n,r,i=0,a=0,o=[],c=``){let u=e.insert(`g`).attr(`class`,`label ${o.join(` `)}`).attr(`transform`,`translate(${i}, ${a})`).attr(`style`,c);n!==l(n)&&(n=l(n),n=n.replaceAll(`<`,`<`).replaceAll(`>`,`>`));let d=u.node().appendChild(await S(u,n,{width:_(n,r)+100,style:c,useHtmlLabels:r.htmlLabels},r));if(n.includes(`<`)||n.includes(`>`)){let e=d.children[0];for(e.textContent=e.textContent.replaceAll(`<`,`<`).replaceAll(`>`,`>`);e.childNodes[0];)e=e.childNodes[0],e.textContent=e.textContent.replaceAll(`<`,`<`).replaceAll(`>`,`>`)}let f=d.getBBox();if(s(r.htmlLabels)){let e=d.children[0];e.style.textAlign=`start`;let n=t(d);f=e.getBoundingClientRect(),n.attr(`width`,f.width),n.attr(`height`,f.height)}return f}e(Vt,`addText`);function Ht(e,t,n,r,i){return e===n?[{x:e-i/2,y:t},{x:e+i/2,y:t},{x:n+i/2,y:r},{x:n-i/2,y:r}]:[{x:e,y:t-i/2},{x:e,y:t+i/2},{x:n,y:r+i/2},{x:n,y:r-i/2}]}e(Ht,`lineToPolygon`);async function Ut(e,t,n,r,i=n.class.padding??12){let a=r?0:3,o=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId||t.id),s=null,c=null,l=null,u=null,d=0,f=0,p=0;if(s=o.insert(`g`).attr(`class`,`annotation-group text`),t.annotations.length>0){let e=t.annotations[0];await Wt(s,{text:`\xAB${e}\xBB`},0),d=s.node().getBBox().height}c=o.insert(`g`).attr(`class`,`label-group text`),await Wt(c,t,0,[`font-weight: bolder`]);let m=c.node().getBBox();f=m.height,l=o.insert(`g`).attr(`class`,`members-group text`);let h=0;for(let e of t.members){let t=await Wt(l,e,h,[e.parseClassifier()]);h+=t+a}p=l.node().getBBox().height,p<=0&&(p=i/2),u=o.insert(`g`).attr(`class`,`methods-group text`);let g=0;for(let e of t.methods){let t=await Wt(u,e,g,[e.parseClassifier()]);g+=t+a}let _=o.node().getBBox();if(s!==null){let e=s.node().getBBox();s.attr(`transform`,`translate(${-e.width/2})`)}return c.attr(`transform`,`translate(${-m.width/2}, ${d})`),_=o.node().getBBox(),l.attr(`transform`,`translate(0, ${d+f+i*2})`),_=o.node().getBBox(),u.attr(`transform`,`translate(0, ${d+f+(p?p+i*4:i*2)})`),_=o.node().getBBox(),{shapeSvg:o,bbox:_}}e(Ut,`textHelper`);async function Wt(n,r,i,l=[]){let u=n.insert(`g`).attr(`class`,`label`).attr(`style`,l.join(`; `)),d=o(),f=`useHtmlLabels`in r?r.useHtmlLabels:s(d.htmlLabels)??!0,p=``;p=`text`in r?r.text:r.label,!f&&p.startsWith(`\\`)&&(p=p.substring(1)),c(p)&&(f=!0);let m=await S(u,a(v(p)),{width:_(p,d)+50,classes:`markdown-node-label`,useHtmlLabels:f},d),h,g=1;if(f){let n=m.children[0],r=t(m);g=n.innerHTML.split(`<br>`).length,n.innerHTML.includes(`</math>`)&&(g+=n.innerHTML.split(`<mrow>`).length-1);let i=n.getElementsByTagName(`img`);if(i){let t=p.replace(/<img[^>]*>/g,``).trim()===``;await Promise.all([...i].map(n=>new Promise(r=>{function i(){if(n.style.display=`flex`,n.style.flexDirection=`column`,t){let e=d.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,t=parseInt(e,10)*5+`px`;n.style.minWidth=t,n.style.maxWidth=t}else n.style.width=`100%`;r(n)}e(i,`setupImage`),setTimeout(()=>{n.complete&&i()}),n.addEventListener(`error`,i),n.addEventListener(`load`,i)})))}h=n.getBoundingClientRect(),r.attr(`width`,h.width),r.attr(`height`,h.height)}else{l.includes(`font-weight: bolder`)&&t(m).selectAll(`tspan`).attr(`font-weight`,``),g=m.children.length;let e=m.children[0];(m.textContent===``||m.textContent.includes(`>`))&&(e.textContent=p[0]+p.substring(1).replaceAll(`>`,`>`).replaceAll(`<`,`<`).trim(),p[1]===` `&&(e.textContent=e.textContent[0]+` `+e.textContent.substring(1))),e.textContent===`undefined`&&(e.textContent=``),h=m.getBBox()}return u.attr(`transform`,`translate(0,`+(-h.height/(2*g)+i)+`)`),h.height}e(Wt,`addText`);async function Gt(e,n){let r=u(),{themeVariables:i}=r,{useGradient:a}=i,o=r.class.padding??12,c=o,l=n.useHtmlLabels??s(r.htmlLabels)??!0,f=n;f.annotations=f.annotations??[],f.members=f.members??[],f.methods=f.methods??[];let{shapeSvg:p,bbox:g}=await Ut(e,n,r,l,c),{labelStyles:_,nodeStyles:v}=m(n);n.labelStyle=_,n.cssStyles=f.styles||``;let y=f.styles?.join(`;`)||v||``;n.cssStyles||=y.replaceAll(`!important`,``).split(`;`);let b=f.members.length===0&&f.methods.length===0&&!r.class?.hideEmptyMembersBox,x=d.svg(p),S=h(n,{});n.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let C=Math.max(n.width??0,g.width),w=Math.max(n.height??0,g.height),E=(n.height??0)>g.height;f.members.length===0&&f.methods.length===0?w+=c:f.members.length>0&&f.methods.length===0&&(w+=c*2);let D=-C/2,O=-w/2,k=b?o*2:f.members.length===0&&f.methods.length===0?-o:0;E&&(k=o*2);let A=x.rectangle(D-o,O-o-(b?o:f.members.length===0&&f.methods.length===0?-o/2:0),C+2*o,w+2*o+k,S),j=p.insert(()=>A,`:first-child`);j.attr(`class`,`basic label-container outer-path`);let M=j.node().getBBox(),N=p.select(`.annotation-group`).node().getBBox().height-(b?o/2:0)||0,P=p.select(`.label-group`).node().getBBox().height-(b?o/2:0)||0,F=p.select(`.members-group`).node().getBBox().height-(b?o/2:0)||0,I=(N+P+O+o-(O-o-(b?o:f.members.length===0&&f.methods.length===0?-o/2:0)))/2;if(p.selectAll(`.text`).each((e,n,i)=>{let a=t(i[n]),s=a.attr(`transform`),u=0;if(s){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(s);e&&(u=parseFloat(e[2]))}let d=u+O+o-(b?o:f.members.length===0&&f.methods.length===0?-o/2:0);if(a.attr(`class`).includes(`methods-group`)){let e=Math.max(F,c/2);d=E?Math.max(I,N+P+e+O+c*2+o)+c*2:N+P+e+O+c*4+o}f.members.length===0&&f.methods.length===0&&r.class?.hideEmptyMembersBox&&(d=f.annotations.length>0?u-c:u),l||(d-=4);let m=D;(a.attr(`class`).includes(`label-group`)||a.attr(`class`).includes(`annotation-group`))&&(m=-a.node()?.getBBox().width/2||0,p.selectAll(`text`).each(function(e,t,n){window.getComputedStyle(n[t]).textAnchor===`middle`&&(m=0)})),a.attr(`transform`,`translate(${m}, ${d})`)}),f.members.length>0||f.methods.length>0||b){let e=N+P+O+o,t=x.line(M.x,e,M.x+M.width,e+.001,S);p.insert(()=>t).attr(`class`,`divider${n.look===`neo`&&!a?` neo-line`:``}`).attr(`style`,y)}if(b||f.members.length>0||f.methods.length>0){let e=N+P+F+O+c*2+o,t=x.line(M.x,E?Math.max(I,e):e,M.x+M.width,(E?Math.max(I,e):e)+.001,S);p.insert(()=>t).attr(`class`,`divider${n.look===`neo`&&!a?` neo-line`:``}`).attr(`style`,y)}if(f.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,y),j.select(`:nth-child(2)`).attr(`style`,y),p.selectAll(`.divider`).select(`path`).attr(`style`,y),n.labelStyle?p.selectAll(`span`).attr(`style`,n.labelStyle):p.selectAll(`span`).attr(`style`,y),!l){let e=RegExp(/color\s*:\s*([^;]*)/),t=e.exec(y);if(t){let e=t[0].replace(`color`,`fill`);p.selectAll(`tspan`).attr(`style`,e)}else if(_){let t=e.exec(_);if(t){let e=t[0].replace(`color`,`fill`);p.selectAll(`tspan`).attr(`style`,e)}}}return T(n,j),n.intersect=function(e){return K.rect(n,e)},p}e(Gt,`classBox`);async function Kt(e,n){let{labelStyles:r,nodeStyles:i}=m(n);n.labelStyle=r;let a=n,o=n,s=`verifyMethod`in n,c=E(n),{themeVariables:l}=u(),{borderColorArray:f,requirementEdgeLabelBackground:p}=l,g=e.insert(`g`).attr(`class`,c).attr(`id`,n.domId??n.id),_;_=s?await $(g,`<<${a.type}>>`,0,n.labelStyle):await $(g,`<<Element>>`,0,n.labelStyle);let v=_,y=await $(g,a.name,v,n.labelStyle+`; font-weight: bold;`);if(v+=y+20,s){let e=await $(g,`${a.requirementId?`ID: ${a.requirementId}`:``}`,v,n.labelStyle);v+=e;let t=await $(g,`${a.text?`Text: ${a.text}`:``}`,v,n.labelStyle);v+=t;let r=await $(g,`${a.risk?`Risk: ${a.risk}`:``}`,v,n.labelStyle);v+=r,await $(g,`${a.verifyMethod?`Verification: ${a.verifyMethod}`:``}`,v,n.labelStyle)}else{let e=await $(g,`${o.type?`Type: ${o.type}`:``}`,v,n.labelStyle);v+=e,await $(g,`${o.docRef?`Doc Ref: ${o.docRef}`:``}`,v,n.labelStyle)}let b=(g.node()?.getBBox().width??200)+20,x=(g.node()?.getBBox().height??200)+20,S=-b/2,C=-x/2,w=d.svg(g),D=h(n,{});n.look!==`handDrawn`&&(D.roughness=0,D.fillStyle=`solid`);let O=w.rectangle(S,C,b,x,D),k=g.insert(()=>O,`:first-child`);if(k.attr(`class`,`basic label-container outer-path`).attr(`style`,i),f?.length){let e=n.colorIndex??0;g.attr(`data-color-id`,`color-${e%f.length}`)}if(g.selectAll(`.label`).each((e,n,r)=>{let i=t(r[n]),a=i.attr(`transform`),o=0,s=0;if(a){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(a);e&&(o=parseFloat(e[1]),s=parseFloat(e[2]))}let c=s-x/2,l=S+20/2;(n===0||n===1)&&(l=o),i.attr(`transform`,`translate(${l}, ${c+20})`)}),v>_+y+20){let e=C+_+y+20,t;if(n.look===`neo`){let n=[[S,e],[S+b,e],[S+b,e+.001],[S,e+.001]];t=w.polygon(n,D)}else t=w.line(S,e,S+b,e,D);g.insert(()=>t).attr(`class`,`divider`)}return T(n,k),n.intersect=function(e){return K.rect(n,e)},i&&n.look!==`handDrawn`&&(p||f?.length)&&g.selectAll(`path`).attr(`style`,i),g}e(Kt,`requirementBox`);async function $(e,n,r,i=``){if(n===``)return 0;let o=e.insert(`g`).attr(`class`,`label`).attr(`style`,i),s=u(),c=s.htmlLabels??!0,l=await S(o,a(v(n)),{width:_(n,s)+50,classes:`markdown-node-label`,useHtmlLabels:c,style:i},s),d;if(c){let e=l.children[0],n=t(l);d=e.getBoundingClientRect(),n.attr(`width`,d.width),n.attr(`height`,d.height)}else{let e=l.children[0];for(let t of e.children)i&&t.setAttribute(`style`,i);d=l.getBBox(),d.height+=6}return o.attr(`transform`,`translate(${-d.width/2},${-d.height/2+r})`),d.height}e($,`addText`);var qt=e(e=>{switch(e){case`Very High`:return`red`;case`High`:return`orange`;case`Medium`:return null;case`Low`:return`blue`;case`Very Low`:return`lightblue`}},`colorFromPriority`);async function Jt(e,t,{config:n}){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r||``;let a=t.width;t.width=(t.width??200)-10;let{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=t.padding||10,u=``,f;`ticket`in t&&t.ticket&&n?.kanban?.ticketBaseUrl&&(u=n?.kanban?.ticketBaseUrl.replace(`#TICKET#`,t.ticket),f=o.insert(`svg:a`,`:first-child`).attr(`class`,`kanban-ticket-link`).attr(`xlink:href`,u).attr(`target`,`_blank`));let p={useHtmlLabels:t.useHtmlLabels,labelStyle:t.labelStyle||``,width:t.width,img:t.img,padding:t.padding||8,centerLabel:!1},g,_;f?{label:g,bbox:_}=await w(f,`ticket`in t&&t.ticket||``,p):{label:g,bbox:_}=await w(o,`ticket`in t&&t.ticket||``,p);let{label:v,bbox:y}=await w(o,`assigned`in t&&t.assigned||``,p);t.width=a;let b=t?.width||0,x=Math.max(_.height,y.height)/2,S=Math.max(s.height+20,t?.height||0)+x,D=-b/2,O=-S/2;c.attr(`transform`,`translate(`+(l-b/2)+`, `+(-x-s.height/2)+`)`),g.attr(`transform`,`translate(`+(l-b/2)+`, `+(-x+s.height/2)+`)`),v.attr(`transform`,`translate(`+(l+b/2-y.width-20)+`, `+(-x+s.height/2)+`)`);let k,{rx:A,ry:j}=t,{cssStyles:M}=t;if(t.look===`handDrawn`){let e=d.svg(o),n=h(t,{}),r=A||j?e.path(N(D,O,b,S,A||0),n):e.rectangle(D,O,b,S,n);k=o.insert(()=>r,`:first-child`),k.attr(`class`,`basic label-container`).attr(`style`,M||null)}else{k=o.insert(`rect`,`:first-child`),k.attr(`class`,`basic label-container __APA__`).attr(`style`,i).attr(`rx`,A??5).attr(`ry`,j??5).attr(`x`,D).attr(`y`,O).attr(`width`,b).attr(`height`,S);let e=`priority`in t&&t.priority;if(e){let t=o.append(`line`),n=D+2,r=O+Math.floor((A??0)/2),i=O+S-Math.floor((A??0)/2);t.attr(`x1`,n).attr(`y1`,r).attr(`x2`,n).attr(`y2`,i).attr(`stroke-width`,`4`).attr(`stroke`,qt(e))}}return T(t,k),t.height=S,t.intersect=function(e){return K.rect(t,e)},o}e(Jt,`kanbanItem`);async function Yt(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,halfPadding:s,label:c}=await C(e,t,E(t)),l=o.width+10*s,u=o.height+8*s,f=.15*l,{cssStyles:p}=t,_=o.width+20,v=o.height+20,y=Math.max(l,_),b=Math.max(u,v);c.attr(`transform`,`translate(${-o.width/2}, ${-o.height/2})`);let x,S=`M0 0
|
|
11
|
+
a${f},${f} 1 0,0 ${y*.25},${-1*b*.1}
|
|
12
|
+
a${f},${f} 1 0,0 ${y*.25},0
|
|
13
|
+
a${f},${f} 1 0,0 ${y*.25},0
|
|
14
|
+
a${f},${f} 1 0,0 ${y*.25},${b*.1}
|
|
15
|
+
|
|
16
|
+
a${f},${f} 1 0,0 ${y*.15},${b*.33}
|
|
17
|
+
a${f*.8},${f*.8} 1 0,0 0,${b*.34}
|
|
18
|
+
a${f},${f} 1 0,0 ${-1*y*.15},${b*.33}
|
|
19
|
+
|
|
20
|
+
a${f},${f} 1 0,0 ${-1*y*.25},${b*.15}
|
|
21
|
+
a${f},${f} 1 0,0 ${-1*y*.25},0
|
|
22
|
+
a${f},${f} 1 0,0 ${-1*y*.25},0
|
|
23
|
+
a${f},${f} 1 0,0 ${-1*y*.25},${-1*b*.15}
|
|
24
|
+
|
|
25
|
+
a${f},${f} 1 0,0 ${-1*y*.1},${-1*b*.33}
|
|
26
|
+
a${f*.8},${f*.8} 1 0,0 0,${-1*b*.34}
|
|
27
|
+
a${f},${f} 1 0,0 ${y*.1},${-1*b*.33}
|
|
28
|
+
H0 V0 Z`;if(t.look===`handDrawn`){let e=d.svg(a),n=h(t,{}),r=e.path(S,n);x=a.insert(()=>r,`:first-child`),x.attr(`class`,`basic label-container`).attr(`style`,g(p))}else x=a.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,i).attr(`d`,S);return x.attr(`transform`,`translate(${-y/2}, ${-b/2})`),T(t,x),t.calcIntersect=function(e,t){return K.rect(e,t)},t.intersect=function(e){return n.info(`Bang intersect`,t,e),K.rect(t,e)},a}e(Yt,`bang`);async function Xt(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,halfPadding:s,label:c}=await C(e,t,E(t)),l=o.width+2*s,u=o.height+2*s,f=.15*l,p=.25*l,_=.35*l,v=.2*l,{cssStyles:y}=t,b,x=`M0 0
|
|
29
|
+
a${f},${f} 0 0,1 ${l*.25},${-1*l*.1}
|
|
30
|
+
a${_},${_} 1 0,1 ${l*.4},${-1*l*.1}
|
|
31
|
+
a${p},${p} 1 0,1 ${l*.35},${l*.2}
|
|
32
|
+
|
|
33
|
+
a${f},${f} 1 0,1 ${l*.15},${u*.35}
|
|
34
|
+
a${v},${v} 1 0,1 ${-1*l*.15},${u*.65}
|
|
35
|
+
|
|
36
|
+
a${p},${f} 1 0,1 ${-1*l*.25},${l*.15}
|
|
37
|
+
a${_},${_} 1 0,1 ${-1*l*.5},0
|
|
38
|
+
a${f},${f} 1 0,1 ${-1*l*.25},${-1*l*.15}
|
|
39
|
+
|
|
40
|
+
a${f},${f} 1 0,1 ${-1*l*.1},${-1*u*.35}
|
|
41
|
+
a${v},${v} 1 0,1 ${l*.1},${-1*u*.65}
|
|
42
|
+
H0 V0 Z`;if(t.look===`handDrawn`){let e=d.svg(a),n=h(t,{}),r=e.path(x,n);b=a.insert(()=>r,`:first-child`),b.attr(`class`,`basic label-container`).attr(`style`,g(y))}else b=a.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,i).attr(`d`,x);return c.attr(`transform`,`translate(${-o.width/2}, ${-o.height/2})`),b.attr(`transform`,`translate(${-l/2}, ${-u/2})`),T(t,b),t.calcIntersect=function(e,t){return K.rect(e,t)},t.intersect=function(e){return n.info(`Cloud intersect`,t,e),K.rect(t,e)},a}e(Xt,`cloud`);async function Zt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,halfPadding:o,label:s}=await C(e,t,E(t)),c=a.width+8*o,l=a.height+2*o,u=t.look===`neo`?`
|
|
43
|
+
M${-c/2} ${l/2-5}
|
|
44
|
+
v${-l+10}
|
|
45
|
+
q0,-5 5,-5
|
|
46
|
+
h${c-10}
|
|
47
|
+
q5,0 5,5
|
|
48
|
+
v${l-5}
|
|
49
|
+
H${-c/2}
|
|
50
|
+
Z
|
|
51
|
+
`:`
|
|
52
|
+
M${-c/2} ${l/2-5}
|
|
53
|
+
v${-l+10}
|
|
54
|
+
q0,-5 5,-5
|
|
55
|
+
h${c-10}
|
|
56
|
+
q5,0 5,5
|
|
57
|
+
v${l-10}
|
|
58
|
+
q0,5 -5,5
|
|
59
|
+
h${-(c-10)}
|
|
60
|
+
q-5,0 -5,-5
|
|
61
|
+
Z
|
|
62
|
+
`;if(!t.domId)throw Error(`defaultMindmapNode: node "${t.id}" is missing a domId \u2014 was render.ts domId prefixing skipped?`);let d=i.append(`path`).attr(`id`,t.domId).attr(`class`,`node-bkg node-`+t.type).attr(`style`,r).attr(`d`,u);return i.append(`line`).attr(`class`,`node-line-`).attr(`x1`,-c/2).attr(`y1`,l/2).attr(`x2`,c/2).attr(`y2`,l/2),s.attr(`transform`,`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>s.node()),T(t,d),t.calcIntersect=function(e,t){return K.rect(e,t)},t.intersect=function(e){return K.rect(t,e)},i}e(Zt,`defaultMindmapNode`);async function Qt(e,t){return me(e,t,{padding:t.padding??0})}e(Qt,`mindmapCircle`);var $t=[{semanticName:`Process`,name:`Rectangle`,shortName:`rect`,description:`Standard process shape`,aliases:[`proc`,`process`,`rectangle`],internalAliases:[`squareRect`],handler:pt},{semanticName:`Event`,name:`Rounded Rectangle`,shortName:`rounded`,description:`Represents an event`,aliases:[`event`],internalAliases:[`roundedRect`],handler:ut},{semanticName:`Terminal Point`,name:`Stadium`,shortName:`stadium`,description:`Terminal point`,aliases:[`terminal`,`pill`],handler:mt},{semanticName:`Subprocess`,name:`Framed Rectangle`,shortName:`fr-rect`,description:`Subprocess`,aliases:[`subprocess`,`subproc`,`framed-rectangle`,`subroutine`],handler:yt},{semanticName:`Database`,name:`Cylinder`,shortName:`cyl`,description:`Database storage`,aliases:[`db`,`database`,`cylinder`],handler:Ee},{semanticName:`Data Store`,name:`Data Store`,shortName:`datastore`,description:`Data flow diagram data store`,aliases:[`data-store`],handler:Oe},{semanticName:`Start`,name:`Circle`,shortName:`circle`,description:`Starting point`,aliases:[`circ`],handler:me},{semanticName:`Bang`,name:`Bang`,shortName:`bang`,description:`Bang`,aliases:[`bang`],handler:Yt},{semanticName:`Cloud`,name:`Cloud`,shortName:`cloud`,description:`cloud`,aliases:[`cloud`],handler:Xt},{semanticName:`Decision`,name:`Diamond`,shortName:`diam`,description:`Decision-making step`,aliases:[`decision`,`diamond`,`question`],handler:st},{semanticName:`Prepare Conditional`,name:`Hexagon`,shortName:`hex`,description:`Preparation or condition step`,aliases:[`hexagon`,`prepare`],handler:Re},{semanticName:`Data Input/Output`,name:`Lean Right`,shortName:`lean-r`,description:`Represents input or output`,aliases:[`lean-right`,`in-out`],internalAliases:[`lean_right`],handler:Je},{semanticName:`Data Input/Output`,name:`Lean Left`,shortName:`lean-l`,description:`Represents output or input`,aliases:[`lean-left`,`out-in`],internalAliases:[`lean_left`],handler:qe},{semanticName:`Priority Action`,name:`Trapezoid Base Bottom`,shortName:`trap-b`,description:`Priority action`,aliases:[`priority`,`trapezoid-bottom`,`trapezoid`],handler:At},{semanticName:`Manual Operation`,name:`Trapezoid Base Top`,shortName:`trap-t`,description:`Represents a manual task`,aliases:[`manual`,`trapezoid-top`,`inv-trapezoid`],internalAliases:[`inv_trapezoid`],handler:Ge},{semanticName:`Stop`,name:`Double Circle`,shortName:`dbl-circ`,description:`Represents a stop point`,aliases:[`double-circle`],internalAliases:[`doublecircle`],handler:Ae},{semanticName:`Text Block`,name:`Text Block`,shortName:`text`,description:`Text block`,handler:Ct},{semanticName:`Card`,name:`Notched Rectangle`,shortName:`notch-rect`,description:`Represents a card`,aliases:[`card`,`notched-rectangle`],handler:fe},{semanticName:`Lined/Shaded Process`,name:`Lined Rectangle`,shortName:`lin-rect`,description:`Lined process shape`,aliases:[`lined-rectangle`,`lined-process`,`lin-proc`,`shaded-process`],handler:dt},{semanticName:`Start`,name:`Small Circle`,shortName:`sm-circ`,description:`Small starting point`,aliases:[`start`,`small-circle`],internalAliases:[`stateStart`],handler:_t},{semanticName:`Stop`,name:`Framed Circle`,shortName:`fr-circ`,description:`Stop point`,aliases:[`stop`,`framed-circle`],internalAliases:[`stateEnd`],handler:gt},{semanticName:`Fork/Join`,name:`Filled Rectangle`,shortName:`fork`,description:`Fork or join in process flow`,aliases:[`join`],internalAliases:[`forkJoin`],handler:Fe},{semanticName:`Collate`,name:`Hourglass`,shortName:`hourglass`,description:`Represents a collate operation`,aliases:[`hourglass`,`collate`],handler:ze},{semanticName:`Comment`,name:`Curly Brace`,shortName:`brace`,description:`Adds a comment`,aliases:[`comment`,`brace-l`],handler:_e},{semanticName:`Comment Right`,name:`Curly Brace`,shortName:`brace-r`,description:`Adds a comment`,handler:ve},{semanticName:`Comment with braces on both sides`,name:`Curly Braces`,shortName:`braces`,description:`Adds a comment`,handler:ye},{semanticName:`Com Link`,name:`Lightning Bolt`,shortName:`bolt`,description:`Communication link`,aliases:[`com-link`,`lightning-bolt`],handler:Ye},{semanticName:`Document`,name:`Document`,shortName:`doc`,description:`Represents a document`,aliases:[`doc`,`document`],handler:Ft},{semanticName:`Delay`,name:`Half-Rounded Rectangle`,shortName:`delay`,description:`Represents a delay`,aliases:[`half-rounded-rectangle`],handler:Ie},{semanticName:`Direct Access Storage`,name:`Horizontal Cylinder`,shortName:`h-cyl`,description:`Direct access storage`,aliases:[`das`,`horizontal-cylinder`],handler:kt},{semanticName:`Disk Storage`,name:`Lined Cylinder`,shortName:`lin-cyl`,description:`Disk storage`,aliases:[`disk`,`lined-cylinder`],handler:tt},{semanticName:`Display`,name:`Curved Trapezoid`,shortName:`curv-trap`,description:`Represents a display`,aliases:[`curved-trapezoid`,`display`],handler:be},{semanticName:`Divided Process`,name:`Divided Rectangle`,shortName:`div-rect`,description:`Divided process shape`,aliases:[`div-proc`,`divided-rectangle`,`divided-process`],handler:ke},{semanticName:`Extract`,name:`Triangle`,shortName:`tri`,description:`Extraction process`,aliases:[`extract`,`triangle`],handler:Pt},{semanticName:`Internal Storage`,name:`Window Pane`,shortName:`win-pane`,description:`Internal storage`,aliases:[`internal-storage`,`window-pane`],handler:Lt},{semanticName:`Junction`,name:`Filled Circle`,shortName:`f-circ`,description:`Junction point`,aliases:[`junction`,`filled-circle`],handler:je},{semanticName:`Loop Limit`,name:`Trapezoidal Pentagon`,shortName:`notch-pent`,description:`Loop limit step`,aliases:[`loop-limit`,`notched-pentagon`],handler:jt},{semanticName:`Manual File`,name:`Flipped Triangle`,shortName:`flip-tri`,description:`Manual file operation`,aliases:[`manual-file`,`flipped-triangle`],handler:Pe},{semanticName:`Manual Input`,name:`Sloped Rectangle`,shortName:`sl-rect`,description:`Manual input step`,aliases:[`manual-input`,`sloped-rectangle`],handler:ft},{semanticName:`Multi-Document`,name:`Stacked Document`,shortName:`docs`,description:`Multiple documents`,aliases:[`documents`,`st-doc`,`stacked-document`],handler:it},{semanticName:`Multi-Process`,name:`Stacked Rectangle`,shortName:`st-rect`,description:`Multiple processes`,aliases:[`procs`,`processes`,`stacked-rectangle`],handler:rt},{semanticName:`Stored Data`,name:`Bow Tie Rectangle`,shortName:`bow-rect`,description:`Stored data`,aliases:[`stored-data`,`bow-tie-rectangle`],handler:ue},{semanticName:`Summary`,name:`Crossed Circle`,shortName:`cross-circ`,description:`Summary`,aliases:[`summary`,`crossed-circle`],handler:ge},{semanticName:`Tagged Document`,name:`Tagged Document`,shortName:`tag-doc`,description:`Tagged document`,aliases:[`tag-doc`,`tagged-document`],handler:St},{semanticName:`Tagged Process`,name:`Tagged Rectangle`,shortName:`tag-rect`,description:`Tagged process`,aliases:[`tagged-rectangle`,`tag-proc`,`tagged-process`],handler:xt},{semanticName:`Paper Tape`,name:`Flag`,shortName:`flag`,description:`Paper tape`,aliases:[`paper-tape`],handler:It},{semanticName:`Odd`,name:`Odd`,shortName:`odd`,description:`Odd shape`,internalAliases:[`rect_left_inv_arrow`],handler:ct},{semanticName:`Lined Document`,name:`Lined Document`,shortName:`lin-doc`,description:`Lined document`,aliases:[`lined-document`],handler:nt}],en=e(()=>{let e=[...Object.entries({state:ht,choice:pe,note:at,rectWithTitle:lt,labelRect:Ke,iconSquare:Ue,iconCircle:Ve,icon:Be,iconRounded:He,imageSquare:We,anchor:se,kanbanItem:Jt,mindmapCircle:Qt,defaultMindmapNode:Zt,classBox:Gt,erBox:Bt,requirementBox:Kt}),...$t.flatMap(e=>[e.shortName,...`aliases`in e?e.aliases:[],...`internalAliases`in e?e.internalAliases:[]].map(t=>[t,e.handler]))];return Object.fromEntries(e)},`generateShapeMap`)();function tn(e){return e in en}e(tn,`isValidShape`);var nn=new Map;async function rn(e,t,n){let r,i;t.shape===`rect`&&(t.rx&&t.ry?t.shape=`roundedRect`:t.shape=`squareRect`);let a=t.shape?en[t.shape]:void 0;if(!a)throw Error(`No such shape: ${t.shape}. Please check your syntax.`);if(t.link){let o;n.config.securityLevel===`sandbox`?o=`_top`:t.linkTarget&&(o=t.linkTarget||`_blank`),r=e.insert(`svg:a`).attr(`xlink:href`,t.link).attr(`target`,o??null),i=await a(r,t,n)}else i=await a(e,t,n),r=i;return r.attr(`data-look`,g(t.look)),t.tooltip&&i.attr(`title`,t.tooltip),nn.set(t.id,r),t.haveCallback&&r.attr(`class`,r.attr(`class`)+` clickable`),r}e(rn,`insertNode`);var an=e((e,t)=>{nn.set(t.id,e)},`setNodeElem`),on=e(()=>{nn.clear()},`clear`),sn=e(e=>{let t=nn.get(e.id);n.trace(`Transforming node`,e.diff,e,`translate(`+(e.x-e.width/2-5)+`, `+e.width/2+`)`);let r=e.diff||0;return e.clusterNode?t.attr(`transform`,`translate(`+(e.x+r-e.width/2)+`, `+(e.y-e.height/2-8)+`)`):t.attr(`transform`,`translate(`+e.x+`, `+e.y+`)`),r},`positionNode`);export{ne as a,on as c,te as i,rn as l,T as n,an as o,M as r,tn as s,C as t,sn as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./chunk-AQ6EADP3-CZhslHi-.js";import{c as t,i as n,m as r,n as i,o as a,r as o,t as s,v as c,y as l}from"./chunk-L5GCOVLC-CE2w8Nm_.js";var u=class extends n{static{e(this,`GitGraphTokenBuilder`)}static{l(this,`GitGraphTokenBuilder`)}constructor(){super([`gitGraph`])}},d={parser:{TokenBuilder:l(()=>new u,`TokenBuilder`),ValueConverter:l(()=>new r,`ValueConverter`)}};function f(e=t){let n=o(a(e),i),r=o(s({shared:n}),c,d);return n.ServiceRegistry.register(r),{shared:n,GitGraph:r}}e(f,`createGitGraphServices`),l(f,`createGitGraphServices`);export{f as n,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./chunk-AQ6EADP3-CZhslHi-.js";import{a as t,c as n,f as r,i,n as a,o,r as s,t as c,y as l}from"./chunk-L5GCOVLC-CE2w8Nm_.js";var u=class extends i{static{e(this,`ArchitectureTokenBuilder`)}static{l(this,`ArchitectureTokenBuilder`)}constructor(){super([`architecture`])}},d=class extends t{static{e(this,`ArchitectureValueConverter`)}static{l(this,`ArchitectureValueConverter`)}runCustomConverter(e,t,n){if(e.name===`ARCH_ICON`)return t.replace(/[()]/g,``).trim();if(e.name===`ARCH_TEXT_ICON`)return t.replace(/["()]/g,``);if(e.name===`ARCH_TITLE`){let e=t.replace(/^\[|]$/g,``).trim();return(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))&&(e=e.slice(1,-1),e=e.replace(/\\"/g,`"`).replace(/\\'/g,`'`)),e.trim()}}},f={parser:{TokenBuilder:l(()=>new u,`TokenBuilder`),ValueConverter:l(()=>new d,`ValueConverter`)}};function p(e=n){let t=s(o(e),a),i=s(c({shared:t}),r,f);return t.ServiceRegistry.register(i),{shared:t,Architecture:i}}e(p,`createArchitectureServices`),l(p,`createArchitectureServices`);export{f as n,p as t};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{t as e}from"./chunk-AQ6EADP3-CZhslHi-.js";import{D as t,L as n,O as r,Q as i,V as a,_ as o,a as s,b as c,g as l,h as u,o as d,q as f,r as p,x as m,z as h}from"./chunk-LIEV3EAG-pyKGssV3.js";import{H as g,a as _,rt as v}from"./chunk-2AEHWXPW-CV4r6-1I.js";import{t as y}from"./chunk-5IMINLNL-DOdTeQri.js";import{n as b,r as x}from"./chunk-WJBAP47W-BckNkuEN.js";import{i as S,o as C}from"./chunk-7CWYLC5S-DRgGkkpF.js";import{n as w}from"./chunk-UAT7B5JY-DW-A_fpI.js";import{t as T}from"./chunk-SZD42YQK-ijyKKVr1.js";import{r as E}from"./chunk-NLANEA3F-XpH_NPA5.js";import{i as D,n as ee,r as O,t as te}from"./chunk-5VCL7Z4A-CQ-2dYWj.js";var ne=e((e,t,n,r,i,a=!1,o)=>{t.arrowTypeStart&&j(e,`start`,t.arrowTypeStart,n,r,i,a,o),t.arrowTypeEnd&&j(e,`end`,t.arrowTypeEnd,n,r,i,a,o)},`addEdgeMarkers`),k={arrow_cross:{type:`cross`,fill:!1},arrow_point:{type:`point`,fill:!0},arrow_barb:{type:`barb`,fill:!0},arrow_barb_neo:{type:`barb`,fill:!0},arrow_circle:{type:`circle`,fill:!1},aggregation:{type:`aggregation`,fill:!1},extension:{type:`extension`,fill:!1},composition:{type:`composition`,fill:!0},dependency:{type:`dependency`,fill:!0},lollipop:{type:`lollipop`,fill:!1},only_one:{type:`onlyOne`,fill:!1},zero_or_one:{type:`zeroOrOne`,fill:!1},one_or_more:{type:`oneOrMore`,fill:!1},zero_or_more:{type:`zeroOrMore`,fill:!1},requirement_arrow:{type:`requirement_arrow`,fill:!1},requirement_contains:{type:`requirement_contains`,fill:!1}},A=[`cross`,`point`,`circle`,`lollipop`,`aggregation`,`extension`,`composition`,`dependency`,`barb`],j=e((e,t,n,r,i,a,o=!1,s)=>{let c=k[n],l=c&&A.includes(c.type);if(!c){f.warn(`Unknown arrow type: ${n}`);return}let u=`${i}_${a}-${c.type}${t===`start`?`Start`:`End`}${o&&l?`-margin`:``}`;if(s&&s.trim()!==``){let n=`${u}_${s.replace(/[^\dA-Za-z]/g,`_`)}`;if(!document.getElementById(n)){let e=document.getElementById(u);if(e){let t=e.cloneNode(!0);t.id=n,t.querySelectorAll(`path, circle, line`).forEach(e=>{e.setAttribute(`stroke`,s),c.fill&&e.setAttribute(`fill`,s)}),e.parentNode?.appendChild(t)}}e.attr(`marker-${t}`,`url(${r}#${n})`)}else e.attr(`marker-${t}`,`url(${r}#${u})`)},`addEdgeMarker`),re=e(e=>typeof e==`string`?e:v()?.flowchart?.curve,`resolveEdgeCurveType`),M=new Map,N=new Map,P=e(()=>{M.clear(),N.clear()},`clear`),F=e(e=>e?typeof e==`string`?e:e.reduce((e,t)=>e+`;`+t,``):``,`getLabelStyles`),I=e(async(e,t)=>{let n=v(),r=g(n),{labelStyles:i}=x(t);t.labelStyle=i;let o=e.insert(`g`).attr(`class`,`edgeLabel`),s=o.insert(`g`).attr(`class`,`label`).attr(`data-id`,t.id),c=t.labelType===`markdown`,l=await T(e,t.label,{style:F(t.labelStyle),useHtmlLabels:r,addSvgBackground:!0,isNode:!1,markdown:c,width:void 0},n);s.node().appendChild(l),f.info(`abc82`,t,t.labelType);let u=l.getBBox(),d=u;if(r){let e=l.children[0],t=a(l);u=e.getBoundingClientRect(),d=u,t.attr(`width`,u.width),t.attr(`height`,u.height)}else{let e=a(l).select(`text`).node();e&&typeof e.getBBox==`function`&&(d=e.getBBox())}s.attr(`transform`,O(d,r)),M.set(t.id,o),t.width=u.width,t.height=u.height;let p;if(t.startLabelLeft){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),o=await E(i,t.startLabelLeft,F(t.labelStyle)||``,!1,!1);p=o;let s=o.getBBox();if(r){let e=o.children[0],t=a(o);s=e.getBoundingClientRect(),t.attr(`width`,s.width),t.attr(`height`,s.height)}i.attr(`transform`,O(s,r)),N.get(t.id)||N.set(t.id,{}),N.get(t.id).startLeft=n,L(p,t.startLabelLeft)}if(t.startLabelRight){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),o=await E(i,t.startLabelRight,F(t.labelStyle)||``,!1,!1);p=o;let s=o.getBBox();if(r){let e=o.children[0],t=a(o);s=e.getBoundingClientRect(),t.attr(`width`,s.width),t.attr(`height`,s.height)}i.attr(`transform`,O(s,r)),N.get(t.id)||N.set(t.id,{}),N.get(t.id).startRight=n,L(p,t.startLabelRight)}if(t.endLabelLeft){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),o=await E(n,t.endLabelLeft,F(t.labelStyle)||``,!1,!1);p=o;let s=o.getBBox();if(r){let e=o.children[0],t=a(o);s=e.getBoundingClientRect(),t.attr(`width`,s.width),t.attr(`height`,s.height)}i.attr(`transform`,O(s,r)),N.get(t.id)||N.set(t.id,{}),N.get(t.id).endLeft=n,L(p,t.endLabelLeft)}if(t.endLabelRight){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),o=await E(n,t.endLabelRight,F(t.labelStyle)||``,!1,!1);p=o;let s=o.getBBox();if(r){let e=o.children[0],t=a(o);s=e.getBoundingClientRect(),t.attr(`width`,s.width),t.attr(`height`,s.height)}i.attr(`transform`,O(s,r)),N.get(t.id)||N.set(t.id,{}),N.get(t.id).endRight=n,L(p,t.endLabelRight)}return l},`insertEdgeLabel`);function L(e,t){g(v())&&e&&(e.style.width=t.length*9+`px`,e.style.height=`12px`)}e(L,`setTerminalWidth`);var R=e((e,t)=>{f.debug(`Moving label abc88 `,e.id,e.label,M.get(e.id),t);let n=t.updatedPath?t.updatedPath:t.originalPath,{subGraphTitleTotalMargin:r}=w(v());if(e.label){let i=M.get(e.id),a=e.x,o=e.y;if(n){let r=C.calcLabelPosition(n);f.debug(`Moving label `+e.label+` from (`,a,`,`,o,`) to (`,r.x,`,`,r.y,`) abc88`),t.updatedPath&&(a=r.x,o=r.y)}i.attr(`transform`,`translate(${a}, ${o+r/2})`)}if(e.startLabelLeft){let t=N.get(e.id).startLeft,r=e.x,i=e.y;if(n){let t=C.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.startLabelRight){let t=N.get(e.id).startRight,r=e.x,i=e.y;if(n){let t=C.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.endLabelLeft){let t=N.get(e.id).endLeft,r=e.x,i=e.y;if(n){let t=C.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.endLabelRight){let t=N.get(e.id).endRight,r=e.x,i=e.y;if(n){let t=C.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}},`positionEdgeLabel`),ie=e((e,t)=>{if(!e?.isLabelEdge||!e?.id?.endsWith(`-to-label`)||!Array.isArray(t)||t.length!==2)return t;let[n,r]=t,i=Math.abs(r.x-n.x),a=Math.abs(r.y-n.y);return i<.001||a<.001?t:a>=i?[n,{x:n.x,y:r.y},r]:[n,{x:r.x,y:n.y},r]},`orthogonalizeToLabelClippedPoints`),ae=e((e,t)=>{let n=e.x,r=e.y,i=Math.abs(t.x-n),a=Math.abs(t.y-r),o=e.width/2,s=e.height/2;return i>=o||a>=s},`outsideNode`),z=e((e,t,n)=>{f.debug(`intersection calc abc89:
|
|
2
|
+
outsidePoint: ${JSON.stringify(t)}
|
|
3
|
+
insidePoint : ${JSON.stringify(n)}
|
|
4
|
+
node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);let r=e.x,i=e.y,a=Math.abs(r-n.x),o=e.width/2,s=n.x<t.x?o-a:o+a,c=e.height/2,l=Math.abs(t.y-n.y),u=Math.abs(t.x-n.x);if(Math.abs(i-t.y)*o>Math.abs(r-t.x)*c){let e=n.y<t.y?t.y-c-i:i-c-t.y;s=u*e/l;let r={x:n.x<t.x?n.x+s:n.x-u+s,y:n.y<t.y?n.y+l-e:n.y-l+e};return s===0&&(r.x=t.x,r.y=t.y),u===0&&(r.x=t.x),l===0&&(r.y=t.y),f.debug(`abc89 top/bottom calc, Q ${l}, q ${e}, R ${u}, r ${s}`,r),r}else{s=n.x<t.x?t.x-o-r:r-o-t.x;let e=l*s/u,i=n.x<t.x?n.x+u-s:n.x-u+s,a=n.y<t.y?n.y+e:n.y-e;return f.debug(`sides calc abc89, Q ${l}, q ${e}, R ${u}, r ${s}`,{_x:i,_y:a}),s===0&&(i=t.x,a=t.y),u===0&&(i=t.x),l===0&&(a=t.y),{x:i,y:a}}},`intersection`),B=e((e,t)=>{f.warn(`abc88 cutPathAtIntersect`,e,t);let n=[],r=e[0],i=!1;return e.forEach(e=>{if(f.info(`abc88 checking point`,e,t),!ae(t,e)&&!i){let a=z(t,r,e);f.debug(`abc88 inside`,e,r,a),f.debug(`abc88 intersection`,a,t);let o=!1;n.forEach(e=>{o||=e.x===a.x&&e.y===a.y}),n.some(e=>e.x===a.x&&e.y===a.y)?f.warn(`abc88 no intersect`,a,n):n.push(a),i=!0}else f.warn(`abc88 outside`,e,r),r=e,i||n.push(e)}),f.debug(`returning points`,n),n},`cutPathAtIntersect`);function V(e){let t=[],n=[];for(let r=1;r<e.length-1;r++){let i=e[r-1],a=e[r],o=e[r+1];(i.x===a.x&&a.y===o.y&&Math.abs(a.x-o.x)>5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===o.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-o.y)>5)&&(t.push(a),n.push(r))}return{cornerPoints:t,cornerPointPositions:n}}e(V,`extractCornerPoints`);var H=e(function(e,t,n){let r=t.x-e.x,i=t.y-e.y,a=n/Math.sqrt(r*r+i*i);return{x:t.x-a*r,y:t.y-a*i}},`findAdjacentPoint`),oe=e(function(e){let{cornerPointPositions:t}=V(e),n=[];for(let r=0;r<e.length;r++)if(t.includes(r)){let t=e[r-1],i=e[r+1],a=e[r],o=H(t,a,5),s=H(i,a,5),c=s.x-o.x,l=s.y-o.y;n.push(o);let u=Math.sqrt(2)*2,d={x:a.x,y:a.y};Math.abs(i.x-t.x)>10&&Math.abs(i.y-t.y)>=10?(f.debug(`Corner point fixing`,Math.abs(i.x-t.x),Math.abs(i.y-t.y)),d=a.x===o.x?{x:c<0?o.x-5+u:o.x+5-u,y:l<0?o.y-u:o.y+u}:{x:c<0?o.x-u:o.x+u,y:l<0?o.y-5+u:o.y+5-u}):f.debug(`Corner point skipping fixing`,Math.abs(i.x-t.x),Math.abs(i.y-t.y)),n.push(d,s)}else n.push(e[r]);return n},`fixCorners`),se=e((e,t,n)=>{let r=e-t-n,i=Math.floor(r/4);return`0 ${t} ${Array(i).fill(`2 2`).join(` `)} ${n}`},`generateDashArray`),U=e(function(e,g,_,x,w,T,E,D=!1){if(!E)throw Error(`insertEdge: missing diagramId for edge "${g.id}" \u2014 edge IDs require a diagram prefix for uniqueness`);let{handDrawnSeed:O,layout:k}=v(),A=g.points,j=!1,M=w;var N=T;let P=[];for(let e in g.cssCompiledStyles)b(e)||P.push(g.cssCompiledStyles[e]);if(k===`swimlane`){if(N.intersect&&M.intersect&&Array.isArray(A)&&A.length>=2)if(A.length===2)A=[M.intersect(A[0]),N.intersect(A[1])];else{let e=A.slice(1,-1),t=e[0],n=e[e.length-1],r=.5,i=Math.abs(A[A.length-1].x-n.x)<r&&Math.abs(A[A.length-1].y-n.y)<r,a=M.intersect(t),o=i?n:N.intersect(n),s=Math.abs(o.x-n.x)<r&&Math.abs(o.y-n.y)<r,c=Math.abs(a.x-t.x)<r&&Math.abs(a.y-t.y)<r?[]:[a],l=s?[]:[o];A=[...c,...e,...l]}A=ie(g,A)}else N.intersect&&M.intersect&&!D&&(A=A.slice(1,g.points.length-1),A.unshift(M.intersect(A[0])),A.push(N.intersect(A[A.length-1])));let F=btoa(JSON.stringify(A));g.toCluster&&(f.info(`to cluster abc88`,_.get(g.toCluster)),A=B(g.points,_.get(g.toCluster).node),j=!0),g.fromCluster&&(f.debug(`from cluster abc88`,_.get(g.fromCluster),JSON.stringify(A,null,2)),A=B(A.reverse(),_.get(g.fromCluster).node).reverse(),j=!0);let I=A.filter(e=>!Number.isNaN(e.y)),L=re(g.curve);L!==`rounded`&&(I=oe(I));let R=r;switch(L){case`linear`:R=r;break;case`basis`:R=p;break;case`cardinal`:R=d;break;case`bumpX`:R=o;break;case`bumpY`:R=i;break;case`catmullRom`:R=t;break;case`monotoneX`:R=n;break;case`monotoneY`:R=c;break;case`natural`:R=h;break;case`step`:R=m;break;case`stepAfter`:R=u;break;case`stepBefore`:R=l;break;case`rounded`:R=r;break;default:R=p}let{x:ae,y:z}=te(g),V=s().x(ae).y(z).curve(R),H;switch(g.thickness){case`normal`:H=`edge-thickness-normal`;break;case`thick`:H=`edge-thickness-thick`;break;case`invisible`:H=`edge-thickness-invisible`;break;default:H=`edge-thickness-normal`}switch(g.pattern){case`solid`:H+=` edge-pattern-solid`;break;case`dotted`:H+=` edge-pattern-dotted`;break;case`dashed`:H+=` edge-pattern-dashed`;break;default:H+=` edge-pattern-solid`}let U,G=L===`rounded`?W(K(I,g),5):V(I),q=Array.isArray(g.style)?g.style:[g.style],J=q.find(e=>e?.startsWith(`stroke:`)),Y=``;g.animate&&(Y=`edge-animation-fast`),g.animation&&(Y=`edge-animation-`+g.animation);let X=!1;if(g.look===`handDrawn`){let t=y.svg(e);Object.assign([],I);let n=t.path(G,{roughness:.3,seed:O});H+=` transition`,U=a(n).select(`path`).attr(`id`,`${E}-${g.id}`).attr(`class`,` `+H+(g.classes?` `+g.classes:``)+(Y?` `+Y:``)).attr(`style`,q?q.reduce((e,t)=>e+`;`+t,``):``);let r=U.attr(`d`);U.attr(`d`,r),e.node().appendChild(U.node())}else{let t=P.join(`;`),n=q?q.reduce((e,t)=>e+t+`;`,``):``,r=(t?t+`;`+n+`;`:n)+`;`+(q?q.reduce((e,t)=>e+`;`+t,``):``);U=e.append(`path`).attr(`d`,G).attr(`id`,`${E}-${g.id}`).attr(`class`,` `+H+(g.classes?` `+g.classes:``)+(Y?` `+Y:``)).attr(`style`,r),J=r.match(/stroke:([^;]+)/)?.[1],X=g.animate===!0||!!g.animation||t.includes(`animation`);let i=U.node(),a=typeof i.getTotalLength==`function`?i.getTotalLength():0,o=ee[g.arrowTypeStart]||0,s=ee[g.arrowTypeEnd]||0;if(g.look===`neo`&&!X){let e=`stroke-dasharray: ${g.pattern===`dotted`||g.pattern===`dashed`?se(a,o,s):`0 ${o} ${a-o-s} ${s}`}; stroke-dashoffset: 0;`;U.attr(`style`,e+U.attr(`style`))}}U.attr(`data-edge`,!0),U.attr(`data-et`,`edge`),U.attr(`data-id`,g.id),U.attr(`data-points`,F),U.attr(`data-look`,S(g.look)),g.showPoints&&I.forEach(t=>{e.append(`circle`).style(`stroke`,`red`).style(`fill`,`red`).attr(`r`,1).attr(`cx`,t.x).attr(`cy`,t.y)});let Z=``;(v().flowchart.arrowMarkerAbsolute||v().state.arrowMarkerAbsolute)&&(Z=window.location.protocol+`//`+window.location.host+window.location.pathname+window.location.search,Z=Z.replace(/\(/g,`\\(`).replace(/\)/g,`\\)`)),f.info(`arrowTypeStart`,g.arrowTypeStart),f.info(`arrowTypeEnd`,g.arrowTypeEnd);let Q=!X&&g?.look===`neo`;ne(U,g,Z,E,x,Q,J);let ce=Math.floor(A.length/2),le=A[ce];C.isLabelCoordinateInPath(le,U.attr(`d`))||(j=!0);let $={};return j&&($.updatedPath=A),$.originalPath=g.points,$},`insertEdge`);function W(e,t){if(e.length<2)return``;let n=``,r=e.length,i=1e-5;for(let a=0;a<r;a++){let o=e[a],s=e[a-1],c=e[a+1];if(a===0)n+=`M${o.x},${o.y}`;else if(a===r-1)n+=`L${o.x},${o.y}`;else{let e=o.x-s.x,r=o.y-s.y,a=c.x-o.x,l=c.y-o.y,u=Math.hypot(e,r),d=Math.hypot(a,l);if(u<i||d<i){n+=`L${o.x},${o.y}`;continue}let f=e/u,p=r/u,m=a/d,h=l/d,g=f*m+p*h,_=Math.acos(Math.max(-1,Math.min(1,g)));if(_<i||Math.abs(Math.PI-_)<i){n+=`L${o.x},${o.y}`;continue}let v=Math.min(t/Math.sin(_/2),u/2,d/2),y=o.x-f*v,b=o.y-p*v,x=o.x+m*v,S=o.y+h*v;n+=`L${y},${b}`,n+=`Q${o.x},${o.y} ${x},${S}`}}return n}e(W,`generateRoundedPath`);function G(e,t){if(!e||!t)return{angle:0,deltaX:0,deltaY:0};let n=t.x-e.x,r=t.y-e.y;return{angle:Math.atan2(r,n),deltaX:n,deltaY:r}}e(G,`calculateDeltaAndAngle`);function K(e,t){let n=e.map(e=>({...e}));if(e.length>=2&&D[t.arrowTypeStart]){let r=D[t.arrowTypeStart],i=e[0],a=e[1],{angle:o}=G(i,a),s=r*Math.cos(o),c=r*Math.sin(o);n[0].x=i.x+s,n[0].y=i.y+c}let r=e.length;if(r>=2&&D[t.arrowTypeEnd]){let i=D[t.arrowTypeEnd],a=e[r-1],o=e[r-2],{angle:s}=G(o,a),c=i*Math.cos(s),l=i*Math.sin(s);n[r-1].x=a.x-c,n[r-1].y=a.y-l}return n}e(K,`applyMarkerOffsetsToPoints`);var q=e((e,t,n,r)=>{t.forEach(t=>{Se[t](e,n,r)})},`insertMarkers`),J=e((e,t,n)=>{f.trace(`Making markers for `,n),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionStart`).attr(`class`,`marker extension `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M 1,7 L18,13 V 1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionEnd`).attr(`class`,`marker extension `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 V 13 L18,7 Z`),e.append(`marker`).attr(`id`,n+`_`+t+`-extensionStart-margin`).attr(`class`,`marker extension `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).attr(`viewBox`,`0 0 20 14`).append(`polygon`).attr(`points`,`10,7 18,13 18,1`).style(`stroke-width`,2).style(`stroke-dasharray`,`0`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionEnd-margin`).attr(`class`,`marker extension `+t).attr(`refX`,9).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).attr(`viewBox`,`0 0 20 14`).append(`polygon`).attr(`points`,`10,1 10,13 18,7`).style(`stroke-width`,2).style(`stroke-dasharray`,`0`)},`extension`),Y=e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionStart`).attr(`class`,`marker composition `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionEnd`).attr(`class`,`marker composition `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionStart-margin`).attr(`class`,`marker composition `+t).attr(`refX`,15).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,0).attr(`viewBox`,`0 0 15 15`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionEnd-margin`).attr(`class`,`marker composition `+t).attr(`refX`,3.5).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,0).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`composition`),X=e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationStart`).attr(`class`,`marker aggregation `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationEnd`).attr(`class`,`marker aggregation `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationStart-margin`).attr(`class`,`marker aggregation `+t).attr(`refX`,15).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,2).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationEnd-margin`).attr(`class`,`marker aggregation `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,2).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`aggregation`),Z=e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyStart`).attr(`class`,`marker dependency `+t).attr(`refX`,6).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 5,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyEnd`).attr(`class`,`marker dependency `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L14,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyStart-margin`).attr(`class`,`marker dependency `+t).attr(`refX`,4).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,0).attr(`d`,`M 5,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyEnd-margin`).attr(`class`,`marker dependency `+t).attr(`refX`,16).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,0).attr(`d`,`M 18,7 L9,13 L14,7 L9,1 Z`)},`dependency`),Q=e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopStart`).attr(`class`,`marker lollipop `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`circle`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopEnd`).attr(`class`,`marker lollipop `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`circle`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopStart-margin`).attr(`class`,`marker lollipop `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`circle`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6).attr(`stroke-width`,2),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopEnd-margin`).attr(`class`,`marker lollipop `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`circle`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6).attr(`stroke-width`,2)},`lollipop`),ce=e((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-pointEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,5).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,8).attr(`markerHeight`,8).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-pointStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,4.5).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,8).attr(`markerHeight`,8).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 5 L 10 10 L 10 0 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-pointEnd-margin`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 11.5 14`).attr(`refX`,11.5).attr(`refY`,7).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,10.5).attr(`markerHeight`,14).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 11.5 7 L 0 14 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,0).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-pointStart-margin`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 11.5 14`).attr(`refX`,1).attr(`refY`,7).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11.5).attr(`markerHeight`,14).attr(`orient`,`auto`).append(`polygon`).attr(`points`,`0,7 11.5,14 11.5,0`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,0).style(`stroke-dasharray`,`1,0`)},`point`),le=e((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-circleEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,11).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-circleStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,-1).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-circleEnd-margin`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refY`,5).attr(`refX`,12.25).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,14).attr(`markerHeight`,14).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,0).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-circleStart-margin`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,-2).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,14).attr(`markerHeight`,14).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,0).style(`stroke-dasharray`,`1,0`)},`circle`),$=e((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-crossEnd`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,12).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-crossStart`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,-1).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-crossEnd-margin`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 15 15`).attr(`refX`,17.7).attr(`refY`,7.5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,12).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 L 14,14 M 1,14 L 14,1`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2.5),e.append(`marker`).attr(`id`,n+`_`+t+`-crossStart-margin`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 15 15`).attr(`refX`,-3.5).attr(`refY`,7.5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,12).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 L 14,14 M 1,14 L 14,1`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2.5).style(`stroke-dasharray`,`1,0`)},`cross`),ue=e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-barbEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,14).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`barb`),de=e((e,t,n)=>{let{themeVariables:r}=_(),{transitionColor:i}=r;e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-barbEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,14).attr(`markerUnits`,`strokeWidth`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L11,14 L13,7 L11,0 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-barbEnd-margin`).attr(`refX`,17).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,14).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L11,14 L13,7 L11,0 Z`).attr(`fill`,`${i}`)},`barbNeo`),fe=e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-onlyOneStart`).attr(`class`,`marker onlyOne `+t).attr(`refX`,0).attr(`refY`,9).attr(`markerWidth`,18).attr(`markerHeight`,18).attr(`orient`,`auto`).append(`path`).attr(`d`,`M9,0 L9,18 M15,0 L15,18`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-onlyOneEnd`).attr(`class`,`marker onlyOne `+t).attr(`refX`,18).attr(`refY`,9).attr(`markerWidth`,18).attr(`markerHeight`,18).attr(`orient`,`auto`).append(`path`).attr(`d`,`M3,0 L3,18 M9,0 L9,18`)},`only_one`),pe=e((e,t,n)=>{let r=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrOneStart`).attr(`class`,`marker zeroOrOne `+t).attr(`refX`,0).attr(`refY`,9).attr(`markerWidth`,30).attr(`markerHeight`,18).attr(`orient`,`auto`);r.append(`circle`).attr(`fill`,`white`).attr(`cx`,21).attr(`cy`,9).attr(`r`,6),r.append(`path`).attr(`d`,`M9,0 L9,18`);let i=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrOneEnd`).attr(`class`,`marker zeroOrOne `+t).attr(`refX`,30).attr(`refY`,9).attr(`markerWidth`,30).attr(`markerHeight`,18).attr(`orient`,`auto`);i.append(`circle`).attr(`fill`,`white`).attr(`cx`,9).attr(`cy`,9).attr(`r`,6),i.append(`path`).attr(`d`,`M21,0 L21,18`)},`zero_or_one`),me=e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-oneOrMoreStart`).attr(`class`,`marker oneOrMore `+t).attr(`refX`,18).attr(`refY`,18).attr(`markerWidth`,45).attr(`markerHeight`,36).attr(`orient`,`auto`).append(`path`).attr(`d`,`M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-oneOrMoreEnd`).attr(`class`,`marker oneOrMore `+t).attr(`refX`,27).attr(`refY`,18).attr(`markerWidth`,45).attr(`markerHeight`,36).attr(`orient`,`auto`).append(`path`).attr(`d`,`M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18`)},`one_or_more`),he=e((e,t,n)=>{let r=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrMoreStart`).attr(`class`,`marker zeroOrMore `+t).attr(`refX`,18).attr(`refY`,18).attr(`markerWidth`,57).attr(`markerHeight`,36).attr(`orient`,`auto`);r.append(`circle`).attr(`fill`,`white`).attr(`cx`,48).attr(`cy`,18).attr(`r`,6),r.append(`path`).attr(`d`,`M0,18 Q18,0 36,18 Q18,36 0,18`);let i=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrMoreEnd`).attr(`class`,`marker zeroOrMore `+t).attr(`refX`,39).attr(`refY`,18).attr(`markerWidth`,57).attr(`markerHeight`,36).attr(`orient`,`auto`);i.append(`circle`).attr(`fill`,`white`).attr(`cx`,9).attr(`cy`,18).attr(`r`,6),i.append(`path`).attr(`d`,`M21,18 Q39,0 57,18 Q39,36 21,18`)},`zero_or_more`),ge=e((e,t,n)=>{let{themeVariables:r}=_(),{strokeWidth:i}=r;e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-onlyOneStart`).attr(`class`,`marker onlyOne `+t).attr(`refX`,0).attr(`refY`,9).attr(`markerWidth`,18).attr(`markerHeight`,18).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M9,0 L9,18 M15,0 L15,18`).attr(`stroke-width`,`${i}`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-onlyOneEnd`).attr(`class`,`marker onlyOne `+t).attr(`refX`,18).attr(`refY`,9).attr(`markerWidth`,18).attr(`markerHeight`,18).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M3,0 L3,18 M9,0 L9,18`).attr(`stroke-width`,`${i}`)},`only_one_neo`),_e=e((e,t,n)=>{let{themeVariables:r}=_(),{strokeWidth:i,mainBkg:a}=r,o=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrOneStart`).attr(`class`,`marker zeroOrOne `+t).attr(`refX`,0).attr(`refY`,9).attr(`markerWidth`,30).attr(`markerHeight`,18).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`);o.append(`circle`).attr(`fill`,a??`white`).attr(`cx`,21).attr(`cy`,9).attr(`stroke-width`,`${i}`).attr(`r`,6),o.append(`path`).attr(`d`,`M9,0 L9,18`).attr(`stroke-width`,`${i}`);let s=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrOneEnd`).attr(`class`,`marker zeroOrOne `+t).attr(`refX`,30).attr(`refY`,9).attr(`markerWidth`,30).attr(`markerHeight`,18).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`);s.append(`circle`).attr(`fill`,a??`white`).attr(`cx`,9).attr(`cy`,9).attr(`stroke-width`,`${i}`).attr(`r`,6),s.append(`path`).attr(`d`,`M21,0 L21,18`).attr(`stroke-width`,`${i}`)},`zero_or_one_neo`),ve=e((e,t,n)=>{let{themeVariables:r}=_(),{strokeWidth:i}=r;e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-oneOrMoreStart`).attr(`class`,`marker oneOrMore `+t).attr(`refX`,18).attr(`refY`,18).attr(`markerWidth`,45).attr(`markerHeight`,36).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27`).attr(`stroke-width`,`${i}`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-oneOrMoreEnd`).attr(`class`,`marker oneOrMore `+t).attr(`refX`,27).attr(`refY`,18).attr(`markerWidth`,45).attr(`markerHeight`,36).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18`).attr(`stroke-width`,`${i}`)},`one_or_more_neo`),ye=e((e,t,n)=>{let{themeVariables:r}=_(),{strokeWidth:i,mainBkg:a}=r,o=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrMoreStart`).attr(`class`,`marker zeroOrMore `+t).attr(`refX`,18).attr(`refY`,18).attr(`markerWidth`,57).attr(`markerHeight`,36).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`);o.append(`circle`).attr(`fill`,a??`white`).attr(`cx`,45.5).attr(`cy`,18).attr(`r`,6).attr(`stroke-width`,`${i}`),o.append(`path`).attr(`d`,`M0,18 Q18,0 36,18 Q18,36 0,18`).attr(`stroke-width`,`${i}`);let s=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrMoreEnd`).attr(`class`,`marker zeroOrMore `+t).attr(`refX`,39).attr(`refY`,18).attr(`markerWidth`,57).attr(`markerHeight`,36).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`);s.append(`circle`).attr(`fill`,a??`white`).attr(`cx`,11).attr(`cy`,18).attr(`r`,6).attr(`stroke-width`,`${i}`),s.append(`path`).attr(`d`,`M21,18 Q39,0 57,18 Q39,36 21,18`).attr(`stroke-width`,`${i}`)},`zero_or_more_neo`),be=e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-requirement_arrowEnd`).attr(`refX`,20).attr(`refY`,10).attr(`markerWidth`,20).attr(`markerHeight`,20).attr(`orient`,`auto`).append(`path`).attr(`d`,`M0,0
|
|
5
|
+
L20,10
|
|
6
|
+
M20,10
|
|
7
|
+
L0,20`)},`requirement_arrow`),xe=e((e,t,n)=>{let{themeVariables:r}=_(),{strokeWidth:i}=r;e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-requirement_arrowEnd`).attr(`refX`,20).attr(`refY`,10).attr(`markerWidth`,20).attr(`markerHeight`,20).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).attr(`stroke-width`,`${i}`).attr(`viewBox`,`0 0 25 20`).append(`path`).attr(`d`,`M0,0
|
|
8
|
+
L20,10
|
|
9
|
+
M20,10
|
|
10
|
+
L0,20`).attr(`stroke-linejoin`,`miter`)},`requirement_arrow_neo`),Se={extension:J,composition:Y,aggregation:X,dependency:Z,lollipop:Q,point:ce,circle:le,cross:$,barb:ue,barbNeo:de,only_one:fe,zero_or_one:pe,one_or_more:me,zero_or_more:he,only_one_neo:ge,zero_or_one_neo:_e,one_or_more_neo:ve,zero_or_more_neo:ye,requirement_arrow:be,requirement_contains:e((e,t,n)=>{let r=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-requirement_containsStart`).attr(`refX`,0).attr(`refY`,10).attr(`markerWidth`,20).attr(`markerHeight`,20).attr(`orient`,`auto`).append(`g`);r.append(`circle`).attr(`cx`,10).attr(`cy`,10).attr(`r`,9).attr(`fill`,`none`),r.append(`line`).attr(`x1`,1).attr(`x2`,19).attr(`y1`,10).attr(`y2`,10),r.append(`line`).attr(`y1`,1).attr(`y2`,19).attr(`x1`,10).attr(`x2`,10)},`requirement_contains`),requirement_arrow_neo:xe,requirement_contains_neo:e((e,t,n)=>{let{themeVariables:r}=_(),{strokeWidth:i}=r,a=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-requirement_containsStart`).attr(`refX`,0).attr(`refY`,10).attr(`markerWidth`,20).attr(`markerHeight`,20).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`g`);a.append(`circle`).attr(`cx`,10).attr(`cy`,10).attr(`r`,9).attr(`fill`,`none`),a.append(`line`).attr(`x1`,1).attr(`x2`,19).attr(`y1`,10).attr(`y2`,10),a.append(`line`).attr(`y1`,1).attr(`y2`,19).attr(`x1`,10).attr(`x2`,10),a.selectAll(`*`).attr(`stroke-width`,`${i}`)},`requirement_contains_neo`)},Ce=q;export{I as a,Ce as i,M as n,R as o,N as r,U as s,P as t};
|