ts2famix 2.0.0 → 2.0.3
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/LICENSE +1 -0
- package/README.md +29 -60
- package/dist/analyze.js +1 -1
- package/dist/analyze_functions/process_functions.js +49 -43
- package/dist/famix_functions/EntityDictionary.js +309 -182
- package/dist/famix_functions/helpers_creation.js +36 -5
- package/dist/fqn.js +76 -114
- package/dist/lib/famix/famix_JSON_exporter.js +55 -0
- package/dist/lib/famix/famix_base_element.js +18 -0
- package/dist/lib/famix/famix_repository.js +224 -0
- package/dist/lib/famix/{src/index.js → index.js} +1 -1
- package/dist/lib/famix/model/famix/access.js +40 -0
- package/dist/lib/famix/model/famix/accessor.js +17 -0
- package/dist/lib/famix/model/famix/alias.js +33 -0
- package/dist/lib/famix/model/famix/arrow_function.js +17 -0
- package/dist/lib/famix/model/famix/behavioral_entity.js +79 -0
- package/dist/lib/famix/model/famix/class.js +71 -0
- package/dist/lib/famix/model/famix/comment.js +39 -0
- package/dist/lib/famix/model/famix/concretisation.js +31 -0
- package/dist/lib/famix/model/famix/container_entity.js +126 -0
- package/dist/lib/famix/model/famix/decorator.js +32 -0
- package/dist/lib/famix/model/famix/entity.js +17 -0
- package/dist/lib/famix/model/famix/enum.js +31 -0
- package/dist/lib/famix/model/famix/enum_value.js +25 -0
- package/dist/lib/famix/model/famix/function.js +17 -0
- package/dist/lib/famix/model/famix/import_clause.js +41 -0
- package/dist/lib/famix/{src/model → model}/famix/index.js +6 -10
- package/dist/lib/famix/model/famix/indexed_file_anchor.js +38 -0
- package/dist/lib/famix/model/famix/inheritance.js +33 -0
- package/dist/lib/famix/model/famix/interface.js +64 -0
- package/dist/lib/famix/model/famix/invocation.js +54 -0
- package/dist/lib/famix/model/famix/method.js +67 -0
- package/dist/lib/famix/model/famix/module.js +60 -0
- package/dist/lib/famix/model/famix/named_entity.js +78 -0
- package/dist/lib/famix/model/famix/parameter.js +25 -0
- package/dist/lib/famix/model/famix/parameter_concretisation.js +44 -0
- package/dist/lib/famix/model/famix/parameter_type.js +45 -0
- package/dist/lib/famix/model/famix/parametric_arrow_function.js +31 -0
- package/dist/lib/famix/model/famix/parametric_class.js +44 -0
- package/dist/lib/famix/model/famix/parametric_function.js +31 -0
- package/dist/lib/famix/model/famix/parametric_interface.js +44 -0
- package/dist/lib/famix/model/famix/parametric_method.js +31 -0
- package/dist/lib/famix/model/famix/primitive_type.js +17 -0
- package/dist/lib/famix/model/famix/property.js +73 -0
- package/dist/lib/famix/model/famix/reference.js +33 -0
- package/dist/lib/famix/model/famix/scoping_entity.js +36 -0
- package/dist/lib/famix/model/famix/script_entity.js +29 -0
- package/dist/lib/famix/model/famix/source_anchor.js +27 -0
- package/dist/lib/famix/model/famix/source_language.js +35 -0
- package/dist/lib/famix/model/famix/sourced_entity.js +60 -0
- package/dist/lib/famix/model/famix/structural_entity.js +39 -0
- package/dist/lib/famix/model/famix/type.js +73 -0
- package/dist/lib/famix/model/famix/variable.js +24 -0
- package/dist/lib/ts-complex/cyclomatic-service.js +2 -2
- package/dist/refactorer/refactor-getter-setter.js +142 -0
- package/dist/ts2famix-cli-wrapper.js +29 -3
- package/dist/ts2famix-cli.js +1 -1
- package/doc-uml/famix-typescript-model.puml +390 -341
- package/doc-uml/famix-typescript-model.svg +1 -1
- package/package.json +26 -9
- package/src/analyze.ts +2 -2
- package/src/analyze_functions/process_functions.ts +49 -44
- package/src/famix_functions/EntityDictionary.ts +345 -216
- package/src/famix_functions/helpers_creation.ts +36 -4
- package/src/fqn.ts +76 -125
- package/src/lib/famix/famix_JSON_exporter.ts +56 -0
- package/src/lib/famix/famix_base_element.ts +22 -0
- package/src/lib/famix/famix_repository.ts +243 -0
- package/src/lib/famix/model/famix/access.ts +50 -0
- package/src/lib/famix/model/famix/alias.ts +39 -0
- package/src/lib/famix/model/famix/behavioral_entity.ts +97 -0
- package/src/lib/famix/model/famix/class.ts +85 -0
- package/src/lib/famix/model/famix/comment.ts +47 -0
- package/src/lib/famix/model/famix/concretisation.ts +40 -0
- package/src/lib/famix/model/famix/container_entity.ts +160 -0
- package/src/lib/famix/model/famix/decorator.ts +37 -0
- package/src/lib/famix/model/famix/enum.ts +30 -0
- package/src/lib/famix/model/famix/enum_value.ts +28 -0
- package/src/lib/famix/model/famix/import_clause.ts +51 -0
- package/src/lib/famix/{src/model → model}/famix/index.ts +2 -4
- package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -0
- package/src/lib/famix/model/famix/inheritance.ts +40 -0
- package/src/lib/famix/model/famix/interface.ts +75 -0
- package/src/lib/famix/model/famix/invocation.ts +65 -0
- package/src/lib/famix/model/famix/method.ts +89 -0
- package/src/lib/famix/model/famix/module.ts +71 -0
- package/src/lib/famix/model/famix/named_entity.ts +95 -0
- package/src/lib/famix/{src/model → model}/famix/parameter.ts +11 -12
- package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -0
- package/src/lib/famix/model/famix/parameter_type.ts +58 -0
- package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -0
- package/src/lib/famix/model/famix/parametric_class.ts +49 -0
- package/src/lib/famix/model/famix/parametric_function.ts +32 -0
- package/src/lib/famix/model/famix/parametric_interface.ts +49 -0
- package/src/lib/famix/model/famix/parametric_method.ts +32 -0
- package/src/lib/famix/model/famix/primitive_type.ts +15 -0
- package/src/lib/famix/model/famix/property.ts +94 -0
- package/src/lib/famix/model/famix/reference.ts +40 -0
- package/src/lib/famix/model/famix/scoping_entity.ts +35 -0
- package/src/lib/famix/model/famix/script_entity.ts +34 -0
- package/src/lib/famix/model/famix/source_anchor.ts +30 -0
- package/src/lib/famix/model/famix/source_language.ts +35 -0
- package/src/lib/famix/model/famix/sourced_entity.ts +70 -0
- package/src/lib/famix/model/famix/structural_entity.ts +43 -0
- package/src/lib/famix/model/famix/type.ts +87 -0
- package/src/lib/famix/model/famix/variable.ts +27 -0
- package/src/lib/famix/package.json +1 -1
- package/src/lib/ts-complex/cyclomatic-service.ts +10 -10
- package/src/refactorer/refactor-getter-setter.ts +140 -0
- package/src/ts2famix-cli-wrapper.ts +6 -2
- package/src/ts2famix-cli.ts +1 -1
- package/tsconfig.check-tests.json +14 -0
- package/tsconfig.json +70 -68
- package/dist/famix2puml.js +0 -126
- package/dist/lib/famix/src/famix_JSON_exporter.js +0 -55
- package/dist/lib/famix/src/famix_base_element.js +0 -18
- package/dist/lib/famix/src/famix_repository.js +0 -223
- package/dist/lib/famix/src/model/famix/access.js +0 -40
- package/dist/lib/famix/src/model/famix/accessor.js +0 -17
- package/dist/lib/famix/src/model/famix/alias.js +0 -33
- package/dist/lib/famix/src/model/famix/arrowFunction.js +0 -17
- package/dist/lib/famix/src/model/famix/behavioral_entity.js +0 -79
- package/dist/lib/famix/src/model/famix/class.js +0 -71
- package/dist/lib/famix/src/model/famix/comment.js +0 -39
- package/dist/lib/famix/src/model/famix/concretisation.js +0 -31
- package/dist/lib/famix/src/model/famix/container_entity.js +0 -126
- package/dist/lib/famix/src/model/famix/decorator.js +0 -32
- package/dist/lib/famix/src/model/famix/entity.js +0 -17
- package/dist/lib/famix/src/model/famix/enum.js +0 -31
- package/dist/lib/famix/src/model/famix/enum_value.js +0 -25
- package/dist/lib/famix/src/model/famix/function.js +0 -17
- package/dist/lib/famix/src/model/famix/implicit_variable.js +0 -17
- package/dist/lib/famix/src/model/famix/import_clause.js +0 -41
- package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +0 -52
- package/dist/lib/famix/src/model/famix/inheritance.js +0 -33
- package/dist/lib/famix/src/model/famix/interface.js +0 -64
- package/dist/lib/famix/src/model/famix/invocation.js +0 -54
- package/dist/lib/famix/src/model/famix/method.js +0 -67
- package/dist/lib/famix/src/model/famix/module.js +0 -84
- package/dist/lib/famix/src/model/famix/named_entity.js +0 -78
- package/dist/lib/famix/src/model/famix/parameter.js +0 -25
- package/dist/lib/famix/src/model/famix/parameterConcretisation.js +0 -44
- package/dist/lib/famix/src/model/famix/parameter_type.js +0 -45
- package/dist/lib/famix/src/model/famix/parametric_arrow_function.js +0 -31
- package/dist/lib/famix/src/model/famix/parametric_class.js +0 -44
- package/dist/lib/famix/src/model/famix/parametric_function.js +0 -31
- package/dist/lib/famix/src/model/famix/parametric_interface.js +0 -44
- package/dist/lib/famix/src/model/famix/parametric_method.js +0 -31
- package/dist/lib/famix/src/model/famix/primitive_type.js +0 -17
- package/dist/lib/famix/src/model/famix/property.js +0 -126
- package/dist/lib/famix/src/model/famix/reference.js +0 -33
- package/dist/lib/famix/src/model/famix/scoping_entity.js +0 -37
- package/dist/lib/famix/src/model/famix/script_entity.js +0 -29
- package/dist/lib/famix/src/model/famix/source_anchor.js +0 -27
- package/dist/lib/famix/src/model/famix/source_language.js +0 -35
- package/dist/lib/famix/src/model/famix/sourced_entity.js +0 -60
- package/dist/lib/famix/src/model/famix/structural_entity.js +0 -39
- package/dist/lib/famix/src/model/famix/text_anchor.js +0 -38
- package/dist/lib/famix/src/model/famix/type.js +0 -73
- package/dist/lib/famix/src/model/famix/variable.js +0 -24
- package/jest.config-old.ts +0 -199
- package/src/famix2puml.ts +0 -119
- package/src/lib/famix/package-lock.json +0 -301
- package/src/lib/famix/readme.md +0 -5
- package/src/lib/famix/src/famix_JSON_exporter.ts +0 -56
- package/src/lib/famix/src/famix_base_element.ts +0 -22
- package/src/lib/famix/src/famix_repository.ts +0 -243
- package/src/lib/famix/src/model/famix/access.ts +0 -53
- package/src/lib/famix/src/model/famix/alias.ts +0 -41
- package/src/lib/famix/src/model/famix/behavioral_entity.ts +0 -100
- package/src/lib/famix/src/model/famix/class.ts +0 -86
- package/src/lib/famix/src/model/famix/comment.ts +0 -50
- package/src/lib/famix/src/model/famix/concretisation.ts +0 -42
- package/src/lib/famix/src/model/famix/container_entity.ts +0 -165
- package/src/lib/famix/src/model/famix/decorator.ts +0 -39
- package/src/lib/famix/src/model/famix/enum.ts +0 -31
- package/src/lib/famix/src/model/famix/enum_value.ts +0 -29
- package/src/lib/famix/src/model/famix/implicit_variable.ts +0 -15
- package/src/lib/famix/src/model/famix/import_clause.ts +0 -54
- package/src/lib/famix/src/model/famix/indexed_file_anchor.ts +0 -71
- package/src/lib/famix/src/model/famix/inheritance.ts +0 -41
- package/src/lib/famix/src/model/famix/interface.ts +0 -75
- package/src/lib/famix/src/model/famix/invocation.ts +0 -68
- package/src/lib/famix/src/model/famix/method.ts +0 -96
- package/src/lib/famix/src/model/famix/module.ts +0 -97
- package/src/lib/famix/src/model/famix/named_entity.ts +0 -98
- package/src/lib/famix/src/model/famix/parameterConcretisation.ts +0 -54
- package/src/lib/famix/src/model/famix/parameter_type.ts +0 -60
- package/src/lib/famix/src/model/famix/parametric_arrow_function.ts +0 -32
- package/src/lib/famix/src/model/famix/parametric_class.ts +0 -49
- package/src/lib/famix/src/model/famix/parametric_function.ts +0 -32
- package/src/lib/famix/src/model/famix/parametric_interface.ts +0 -49
- package/src/lib/famix/src/model/famix/parametric_method.ts +0 -32
- package/src/lib/famix/src/model/famix/primitive_type.ts +0 -15
- package/src/lib/famix/src/model/famix/property.ts +0 -152
- package/src/lib/famix/src/model/famix/reference.ts +0 -42
- package/src/lib/famix/src/model/famix/scoping_entity.ts +0 -36
- package/src/lib/famix/src/model/famix/script_entity.ts +0 -36
- package/src/lib/famix/src/model/famix/source_anchor.ts +0 -31
- package/src/lib/famix/src/model/famix/source_language.ts +0 -36
- package/src/lib/famix/src/model/famix/sourced_entity.ts +0 -73
- package/src/lib/famix/src/model/famix/structural_entity.ts +0 -44
- package/src/lib/famix/src/model/famix/text_anchor.ts +0 -49
- package/src/lib/famix/src/model/famix/type.ts +0 -89
- package/src/lib/famix/src/model/famix/variable.ts +0 -28
- package/src/lib/famix/tsconfig.json +0 -27
- package/src/lib/famix/tslint.json +0 -15
- /package/src/lib/famix/{src/index.ts → index.ts} +0 -0
- /package/src/lib/famix/{src/model → model}/famix/accessor.ts +0 -0
- /package/src/lib/famix/{src/model/famix/arrowFunction.ts → model/famix/arrow_function.ts} +0 -0
- /package/src/lib/famix/{src/model → model}/famix/entity.ts +0 -0
- /package/src/lib/famix/{src/model → model}/famix/function.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="690px" preserveAspectRatio="none" style="width:1708px;height:690px;background:#FFFFFF;" version="1.1" viewBox="0 0 1708 690" width="1708px" zoomAndPan="magnify"><defs/><g><!--class Entity--><g id="elem_Entity"><rect codeLine="1" fill="#F1F1F1" height="32" id="Entity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="68" x="705.5" y="99"/><ellipse cx="720.5" cy="115" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M720.4375,110.8281 Q719.6875,110.8281 719.125,111.125 Q718.5625,111.4063 718.1719,111.9375 Q717.7813,112.4688 717.5781,113.25 Q717.3906,114.0156 717.3906,114.9688 Q717.3906,115.9375 717.5625,116.7031 Q717.75,117.4531 718.1094,117.9688 Q718.4844,118.4844 719.0625,118.7656 Q719.6406,119.0313 720.4375,119.0313 Q721.1719,119.0313 721.9063,118.8594 Q722.6563,118.6875 723.5313,118.3906 L723.5313,120.5469 Q723.125,120.7031 722.7344,120.8281 Q722.3438,120.9375 721.9375,121.0156 Q721.5313,121.0938 721.1094,121.125 Q720.6875,121.1719 720.1875,121.1719 Q718.7813,121.1719 717.75,120.7188 Q716.7344,120.2656 716.0625,119.4531 Q715.3906,118.6406 715.0625,117.5 Q714.7344,116.3438 714.7344,114.9531 Q714.7344,113.5781 715.1094,112.4219 Q715.4844,111.2656 716.2031,110.4375 Q716.9219,109.6094 717.9844,109.1563 Q719.0469,108.6875 720.4375,108.6875 Q721.3438,108.6875 722.25,108.9219 Q723.1563,109.1406 723.9844,109.5469 L723.1563,111.6406 Q722.4688,111.3125 721.7813,111.0781 Q721.0938,110.8281 720.4375,110.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="734.5" y="119.8467">Entity</text></g><!--class FamixBaseElement--><g id="elem_FamixBaseElement"><rect codeLine="546" fill="#F1F1F1" height="32" id="FamixBaseElement" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="153" x="663" y="7"/><ellipse cx="678" cy="23" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M680.9531,28 L680.125,25.1094 L675.9375,25.1094 L675.0938,28 L672.5,28 L676.4375,15.8125 L679.5938,15.8125 L683.5469,28 L680.9531,28 Z M679.5156,22.9531 L678.75,20.2969 Q678.6875,20.1406 678.5938,19.8125 Q678.5,19.4688 678.375,19.0625 Q678.2656,18.6406 678.1563,18.2344 Q678.0625,17.8125 678.0313,17.5313 Q678,17.7031 677.9375,17.9531 Q677.8906,18.2031 677.8125,18.4844 Q677.75,18.7656 677.6719,19.0469 Q677.5938,19.3281 677.5313,19.5781 Q677.4688,19.8281 677.4063,20.0156 Q677.3594,20.2031 677.3281,20.2969 L676.5625,22.9531 L679.5156,22.9531 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="121" x="692" y="27.8467">FamixBaseElement</text></g><!--class SourceLanguage--><g id="elem_SourceLanguage"><rect codeLine="5" fill="#F1F1F1" height="32" id="SourceLanguage" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="134" x="510.5" y="191"/><ellipse cx="525.5" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M525.4375,202.8281 Q524.6875,202.8281 524.125,203.125 Q523.5625,203.4063 523.1719,203.9375 Q522.7813,204.4688 522.5781,205.25 Q522.3906,206.0156 522.3906,206.9688 Q522.3906,207.9375 522.5625,208.7031 Q522.75,209.4531 523.1094,209.9688 Q523.4844,210.4844 524.0625,210.7656 Q524.6406,211.0313 525.4375,211.0313 Q526.1719,211.0313 526.9063,210.8594 Q527.6563,210.6875 528.5313,210.3906 L528.5313,212.5469 Q528.125,212.7031 527.7344,212.8281 Q527.3438,212.9375 526.9375,213.0156 Q526.5313,213.0938 526.1094,213.125 Q525.6875,213.1719 525.1875,213.1719 Q523.7813,213.1719 522.75,212.7188 Q521.7344,212.2656 521.0625,211.4531 Q520.3906,210.6406 520.0625,209.5 Q519.7344,208.3438 519.7344,206.9531 Q519.7344,205.5781 520.1094,204.4219 Q520.4844,203.2656 521.2031,202.4375 Q521.9219,201.6094 522.9844,201.1563 Q524.0469,200.6875 525.4375,200.6875 Q526.3438,200.6875 527.25,200.9219 Q528.1563,201.1406 528.9844,201.5469 L528.1563,203.6406 Q527.4688,203.3125 526.7813,203.0781 Q526.0938,202.8281 525.4375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102" x="539.5" y="211.8467">SourceLanguage</text></g><!--class Comment--><g id="elem_Comment"><rect codeLine="13" fill="#F1F1F1" height="32" id="Comment" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="95" x="430" y="283"/><ellipse cx="445" cy="299" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M444.9375,294.8281 Q444.1875,294.8281 443.625,295.125 Q443.0625,295.4063 442.6719,295.9375 Q442.2813,296.4688 442.0781,297.25 Q441.8906,298.0156 441.8906,298.9688 Q441.8906,299.9375 442.0625,300.7031 Q442.25,301.4531 442.6094,301.9688 Q442.9844,302.4844 443.5625,302.7656 Q444.1406,303.0313 444.9375,303.0313 Q445.6719,303.0313 446.4063,302.8594 Q447.1563,302.6875 448.0313,302.3906 L448.0313,304.5469 Q447.625,304.7031 447.2344,304.8281 Q446.8438,304.9375 446.4375,305.0156 Q446.0313,305.0938 445.6094,305.125 Q445.1875,305.1719 444.6875,305.1719 Q443.2813,305.1719 442.25,304.7188 Q441.2344,304.2656 440.5625,303.4531 Q439.8906,302.6406 439.5625,301.5 Q439.2344,300.3438 439.2344,298.9531 Q439.2344,297.5781 439.6094,296.4219 Q439.9844,295.2656 440.7031,294.4375 Q441.4219,293.6094 442.4844,293.1563 Q443.5469,292.6875 444.9375,292.6875 Q445.8438,292.6875 446.75,292.9219 Q447.6563,293.1406 448.4844,293.5469 L447.6563,295.6406 Q446.9688,295.3125 446.2813,295.0781 Q445.5938,294.8281 444.9375,294.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="459" y="303.8467">Comment</text></g><!--class SourcedEntity--><g id="elem_SourcedEntity"><rect codeLine="33" fill="#F1F1F1" height="32" id="SourcedEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="119" x="680" y="191"/><ellipse cx="695" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M694.9375,202.8281 Q694.1875,202.8281 693.625,203.125 Q693.0625,203.4063 692.6719,203.9375 Q692.2813,204.4688 692.0781,205.25 Q691.8906,206.0156 691.8906,206.9688 Q691.8906,207.9375 692.0625,208.7031 Q692.25,209.4531 692.6094,209.9688 Q692.9844,210.4844 693.5625,210.7656 Q694.1406,211.0313 694.9375,211.0313 Q695.6719,211.0313 696.4063,210.8594 Q697.1563,210.6875 698.0313,210.3906 L698.0313,212.5469 Q697.625,212.7031 697.2344,212.8281 Q696.8438,212.9375 696.4375,213.0156 Q696.0313,213.0938 695.6094,213.125 Q695.1875,213.1719 694.6875,213.1719 Q693.2813,213.1719 692.25,212.7188 Q691.2344,212.2656 690.5625,211.4531 Q689.8906,210.6406 689.5625,209.5 Q689.2344,208.3438 689.2344,206.9531 Q689.2344,205.5781 689.6094,204.4219 Q689.9844,203.2656 690.7031,202.4375 Q691.4219,201.6094 692.4844,201.1563 Q693.5469,200.6875 694.9375,200.6875 Q695.8438,200.6875 696.75,200.9219 Q697.6563,201.1406 698.4844,201.5469 L697.6563,203.6406 Q696.9688,203.3125 696.2813,203.0781 Q695.5938,202.8281 694.9375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="87" x="709" y="211.8467">SourcedEntity</text></g><!--class SourceAnchor--><g id="elem_SourceAnchor"><rect codeLine="26" fill="#F1F1F1" height="32" id="SourceAnchor" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="120" x="1041.5" y="191"/><ellipse cx="1056.5" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1056.4375,202.8281 Q1055.6875,202.8281 1055.125,203.125 Q1054.5625,203.4063 1054.1719,203.9375 Q1053.7813,204.4688 1053.5781,205.25 Q1053.3906,206.0156 1053.3906,206.9688 Q1053.3906,207.9375 1053.5625,208.7031 Q1053.75,209.4531 1054.1094,209.9688 Q1054.4844,210.4844 1055.0625,210.7656 Q1055.6406,211.0313 1056.4375,211.0313 Q1057.1719,211.0313 1057.9063,210.8594 Q1058.6563,210.6875 1059.5313,210.3906 L1059.5313,212.5469 Q1059.125,212.7031 1058.7344,212.8281 Q1058.3438,212.9375 1057.9375,213.0156 Q1057.5313,213.0938 1057.1094,213.125 Q1056.6875,213.1719 1056.1875,213.1719 Q1054.7813,213.1719 1053.75,212.7188 Q1052.7344,212.2656 1052.0625,211.4531 Q1051.3906,210.6406 1051.0625,209.5 Q1050.7344,208.3438 1050.7344,206.9531 Q1050.7344,205.5781 1051.1094,204.4219 Q1051.4844,203.2656 1052.2031,202.4375 Q1052.9219,201.6094 1053.9844,201.1563 Q1055.0469,200.6875 1056.4375,200.6875 Q1057.3438,200.6875 1058.25,200.9219 Q1059.1563,201.1406 1059.9844,201.5469 L1059.1563,203.6406 Q1058.4688,203.3125 1057.7813,203.0781 Q1057.0938,202.8281 1056.4375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="1070.5" y="211.8467">SourceAnchor</text></g><!--class Association--><g id="elem_Association"><rect codeLine="49" fill="#F1F1F1" height="32" id="Association" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="103" x="560" y="283"/><ellipse cx="575" cy="299" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M574.9375,294.8281 Q574.1875,294.8281 573.625,295.125 Q573.0625,295.4063 572.6719,295.9375 Q572.2813,296.4688 572.0781,297.25 Q571.8906,298.0156 571.8906,298.9688 Q571.8906,299.9375 572.0625,300.7031 Q572.25,301.4531 572.6094,301.9688 Q572.9844,302.4844 573.5625,302.7656 Q574.1406,303.0313 574.9375,303.0313 Q575.6719,303.0313 576.4063,302.8594 Q577.1563,302.6875 578.0313,302.3906 L578.0313,304.5469 Q577.625,304.7031 577.2344,304.8281 Q576.8438,304.9375 576.4375,305.0156 Q576.0313,305.0938 575.6094,305.125 Q575.1875,305.1719 574.6875,305.1719 Q573.2813,305.1719 572.25,304.7188 Q571.2344,304.2656 570.5625,303.4531 Q569.8906,302.6406 569.5625,301.5 Q569.2344,300.3438 569.2344,298.9531 Q569.2344,297.5781 569.6094,296.4219 Q569.9844,295.2656 570.7031,294.4375 Q571.4219,293.6094 572.4844,293.1563 Q573.5469,292.6875 574.9375,292.6875 Q575.8438,292.6875 576.75,292.9219 Q577.6563,293.1406 578.4844,293.5469 L577.6563,295.6406 Q576.9688,295.3125 576.2813,295.0781 Q575.5938,294.8281 574.9375,294.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="71" x="589" y="303.8467">Association</text></g><!--class Namespace--><g id="elem_Namespace"><rect codeLine="59" fill="#F1F1F1" height="32" id="Namespace" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="105" x="7" y="559"/><ellipse cx="22" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M21.9375,570.8281 Q21.1875,570.8281 20.625,571.125 Q20.0625,571.4063 19.6719,571.9375 Q19.2813,572.4688 19.0781,573.25 Q18.8906,574.0156 18.8906,574.9688 Q18.8906,575.9375 19.0625,576.7031 Q19.25,577.4531 19.6094,577.9688 Q19.9844,578.4844 20.5625,578.7656 Q21.1406,579.0313 21.9375,579.0313 Q22.6719,579.0313 23.4063,578.8594 Q24.1563,578.6875 25.0313,578.3906 L25.0313,580.5469 Q24.625,580.7031 24.2344,580.8281 Q23.8438,580.9375 23.4375,581.0156 Q23.0313,581.0938 22.6094,581.125 Q22.1875,581.1719 21.6875,581.1719 Q20.2813,581.1719 19.25,580.7188 Q18.2344,580.2656 17.5625,579.4531 Q16.8906,578.6406 16.5625,577.5 Q16.2344,576.3438 16.2344,574.9531 Q16.2344,573.5781 16.6094,572.4219 Q16.9844,571.2656 17.7031,570.4375 Q18.4219,569.6094 19.4844,569.1563 Q20.5469,568.6875 21.9375,568.6875 Q22.8438,568.6875 23.75,568.9219 Q24.6563,569.1406 25.4844,569.5469 L24.6563,571.6406 Q23.9688,571.3125 23.2813,571.0781 Q22.5938,570.8281 21.9375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="36" y="579.8467">Namespace</text></g><!--class ScopingEntity--><g id="elem_ScopingEntity"><rect codeLine="66" fill="#F1F1F1" height="32" id="ScopingEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="116" x="141.5" y="467"/><ellipse cx="156.5" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M156.4375,478.8281 Q155.6875,478.8281 155.125,479.125 Q154.5625,479.4063 154.1719,479.9375 Q153.7813,480.4688 153.5781,481.25 Q153.3906,482.0156 153.3906,482.9688 Q153.3906,483.9375 153.5625,484.7031 Q153.75,485.4531 154.1094,485.9688 Q154.4844,486.4844 155.0625,486.7656 Q155.6406,487.0313 156.4375,487.0313 Q157.1719,487.0313 157.9063,486.8594 Q158.6563,486.6875 159.5313,486.3906 L159.5313,488.5469 Q159.125,488.7031 158.7344,488.8281 Q158.3438,488.9375 157.9375,489.0156 Q157.5313,489.0938 157.1094,489.125 Q156.6875,489.1719 156.1875,489.1719 Q154.7813,489.1719 153.75,488.7188 Q152.7344,488.2656 152.0625,487.4531 Q151.3906,486.6406 151.0625,485.5 Q150.7344,484.3438 150.7344,482.9531 Q150.7344,481.5781 151.1094,480.4219 Q151.4844,479.2656 152.2031,478.4375 Q152.9219,477.6094 153.9844,477.1563 Q155.0469,476.6875 156.4375,476.6875 Q157.3438,476.6875 158.25,476.9219 Q159.1563,477.1406 159.9844,477.5469 L159.1563,479.6406 Q158.4688,479.3125 157.7813,479.0781 Q157.0938,478.8281 156.4375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="170.5" y="487.8467">ScopingEntity</text></g><!--class ContainerEntity--><g id="elem_ContainerEntity"><rect codeLine="322" fill="#F1F1F1" height="32" id="ContainerEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="130" x="803.5" y="375"/><ellipse cx="818.5" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M818.4375,386.8281 Q817.6875,386.8281 817.125,387.125 Q816.5625,387.4063 816.1719,387.9375 Q815.7813,388.4688 815.5781,389.25 Q815.3906,390.0156 815.3906,390.9688 Q815.3906,391.9375 815.5625,392.7031 Q815.75,393.4531 816.1094,393.9688 Q816.4844,394.4844 817.0625,394.7656 Q817.6406,395.0313 818.4375,395.0313 Q819.1719,395.0313 819.9063,394.8594 Q820.6563,394.6875 821.5313,394.3906 L821.5313,396.5469 Q821.125,396.7031 820.7344,396.8281 Q820.3438,396.9375 819.9375,397.0156 Q819.5313,397.0938 819.1094,397.125 Q818.6875,397.1719 818.1875,397.1719 Q816.7813,397.1719 815.75,396.7188 Q814.7344,396.2656 814.0625,395.4531 Q813.3906,394.6406 813.0625,393.5 Q812.7344,392.3438 812.7344,390.9531 Q812.7344,389.5781 813.1094,388.4219 Q813.4844,387.2656 814.2031,386.4375 Q814.9219,385.6094 815.9844,385.1563 Q817.0469,384.6875 818.4375,384.6875 Q819.3438,384.6875 820.25,384.9219 Q821.1563,385.1406 821.9844,385.5469 L821.1563,387.6406 Q820.4688,387.3125 819.7813,387.0781 Q819.0938,386.8281 818.4375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="832.5" y="395.8467">ContainerEntity</text></g><!--class ScriptEntity--><g id="elem_ScriptEntity"><rect codeLine="73" fill="#F1F1F1" height="32" id="ScriptEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="104" x="147.5" y="559"/><ellipse cx="162.5" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M162.4375,570.8281 Q161.6875,570.8281 161.125,571.125 Q160.5625,571.4063 160.1719,571.9375 Q159.7813,572.4688 159.5781,573.25 Q159.3906,574.0156 159.3906,574.9688 Q159.3906,575.9375 159.5625,576.7031 Q159.75,577.4531 160.1094,577.9688 Q160.4844,578.4844 161.0625,578.7656 Q161.6406,579.0313 162.4375,579.0313 Q163.1719,579.0313 163.9063,578.8594 Q164.6563,578.6875 165.5313,578.3906 L165.5313,580.5469 Q165.125,580.7031 164.7344,580.8281 Q164.3438,580.9375 163.9375,581.0156 Q163.5313,581.0938 163.1094,581.125 Q162.6875,581.1719 162.1875,581.1719 Q160.7813,581.1719 159.75,580.7188 Q158.7344,580.2656 158.0625,579.4531 Q157.3906,578.6406 157.0625,577.5 Q156.7344,576.3438 156.7344,574.9531 Q156.7344,573.5781 157.1094,572.4219 Q157.4844,571.2656 158.2031,570.4375 Q158.9219,569.6094 159.9844,569.1563 Q161.0469,568.6875 162.4375,568.6875 Q163.3438,568.6875 164.25,568.9219 Q165.1563,569.1406 165.9844,569.5469 L165.1563,571.6406 Q164.4688,571.3125 163.7813,571.0781 Q163.0938,570.8281 162.4375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="176.5" y="579.8467">ScriptEntity</text></g><!--class Module--><g id="elem_Module"><rect codeLine="83" fill="#F1F1F1" height="32" id="Module" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="80" x="139.5" y="651"/><ellipse cx="154.5" cy="667" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M154.4375,662.8281 Q153.6875,662.8281 153.125,663.125 Q152.5625,663.4063 152.1719,663.9375 Q151.7813,664.4688 151.5781,665.25 Q151.3906,666.0156 151.3906,666.9688 Q151.3906,667.9375 151.5625,668.7031 Q151.75,669.4531 152.1094,669.9688 Q152.4844,670.4844 153.0625,670.7656 Q153.6406,671.0313 154.4375,671.0313 Q155.1719,671.0313 155.9063,670.8594 Q156.6563,670.6875 157.5313,670.3906 L157.5313,672.5469 Q157.125,672.7031 156.7344,672.8281 Q156.3438,672.9375 155.9375,673.0156 Q155.5313,673.0938 155.1094,673.125 Q154.6875,673.1719 154.1875,673.1719 Q152.7813,673.1719 151.75,672.7188 Q150.7344,672.2656 150.0625,671.4531 Q149.3906,670.6406 149.0625,669.5 Q148.7344,668.3438 148.7344,666.9531 Q148.7344,665.5781 149.1094,664.4219 Q149.4844,663.2656 150.2031,662.4375 Q150.9219,661.6094 151.9844,661.1563 Q153.0469,660.6875 154.4375,660.6875 Q155.3438,660.6875 156.25,660.9219 Q157.1563,661.1406 157.9844,661.5469 L157.1563,663.6406 Q156.4688,663.3125 155.7813,663.0781 Q155.0938,662.8281 154.4375,662.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48" x="168.5" y="671.8467">Module</text></g><!--class ImportClause--><g id="elem_ImportClause"><rect codeLine="90" fill="#F1F1F1" height="32" id="ImportClause" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="118" x="135.5" y="375"/><ellipse cx="150.5" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M150.4375,386.8281 Q149.6875,386.8281 149.125,387.125 Q148.5625,387.4063 148.1719,387.9375 Q147.7813,388.4688 147.5781,389.25 Q147.3906,390.0156 147.3906,390.9688 Q147.3906,391.9375 147.5625,392.7031 Q147.75,393.4531 148.1094,393.9688 Q148.4844,394.4844 149.0625,394.7656 Q149.6406,395.0313 150.4375,395.0313 Q151.1719,395.0313 151.9063,394.8594 Q152.6563,394.6875 153.5313,394.3906 L153.5313,396.5469 Q153.125,396.7031 152.7344,396.8281 Q152.3438,396.9375 151.9375,397.0156 Q151.5313,397.0938 151.1094,397.125 Q150.6875,397.1719 150.1875,397.1719 Q148.7813,397.1719 147.75,396.7188 Q146.7344,396.2656 146.0625,395.4531 Q145.3906,394.6406 145.0625,393.5 Q144.7344,392.3438 144.7344,390.9531 Q144.7344,389.5781 145.1094,388.4219 Q145.4844,387.2656 146.2031,386.4375 Q146.9219,385.6094 147.9844,385.1563 Q149.0469,384.6875 150.4375,384.6875 Q151.3438,384.6875 152.25,384.9219 Q153.1563,385.1406 153.9844,385.5469 L153.1563,387.6406 Q152.4688,387.3125 151.7813,387.0781 Q151.0938,386.8281 150.4375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="164.5" y="395.8467">ImportClause</text></g><!--class Alias--><g id="elem_Alias"><rect codeLine="103" fill="#F1F1F1" height="32" id="Alias" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="62" x="968.5" y="375"/><ellipse cx="983.5" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M983.4375,386.8281 Q982.6875,386.8281 982.125,387.125 Q981.5625,387.4063 981.1719,387.9375 Q980.7813,388.4688 980.5781,389.25 Q980.3906,390.0156 980.3906,390.9688 Q980.3906,391.9375 980.5625,392.7031 Q980.75,393.4531 981.1094,393.9688 Q981.4844,394.4844 982.0625,394.7656 Q982.6406,395.0313 983.4375,395.0313 Q984.1719,395.0313 984.9063,394.8594 Q985.6563,394.6875 986.5313,394.3906 L986.5313,396.5469 Q986.125,396.7031 985.7344,396.8281 Q985.3438,396.9375 984.9375,397.0156 Q984.5313,397.0938 984.1094,397.125 Q983.6875,397.1719 983.1875,397.1719 Q981.7813,397.1719 980.75,396.7188 Q979.7344,396.2656 979.0625,395.4531 Q978.3906,394.6406 978.0625,393.5 Q977.7344,392.3438 977.7344,390.9531 Q977.7344,389.5781 978.1094,388.4219 Q978.4844,387.2656 979.2031,386.4375 Q979.9219,385.6094 980.9844,385.1563 Q982.0469,384.6875 983.4375,384.6875 Q984.3438,384.6875 985.25,384.9219 Q986.1563,385.1406 986.9844,385.5469 L986.1563,387.6406 Q985.4688,387.3125 984.7813,387.0781 Q984.0938,386.8281 983.4375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="30" x="997.5" y="395.8467">Alias</text></g><!--class NamedEntity--><g id="elem_NamedEntity"><rect codeLine="123" fill="#F1F1F1" height="32" id="NamedEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="114" x="876.5" y="283"/><ellipse cx="891.5" cy="299" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M891.4375,294.8281 Q890.6875,294.8281 890.125,295.125 Q889.5625,295.4063 889.1719,295.9375 Q888.7813,296.4688 888.5781,297.25 Q888.3906,298.0156 888.3906,298.9688 Q888.3906,299.9375 888.5625,300.7031 Q888.75,301.4531 889.1094,301.9688 Q889.4844,302.4844 890.0625,302.7656 Q890.6406,303.0313 891.4375,303.0313 Q892.1719,303.0313 892.9063,302.8594 Q893.6563,302.6875 894.5313,302.3906 L894.5313,304.5469 Q894.125,304.7031 893.7344,304.8281 Q893.3438,304.9375 892.9375,305.0156 Q892.5313,305.0938 892.1094,305.125 Q891.6875,305.1719 891.1875,305.1719 Q889.7813,305.1719 888.75,304.7188 Q887.7344,304.2656 887.0625,303.4531 Q886.3906,302.6406 886.0625,301.5 Q885.7344,300.3438 885.7344,298.9531 Q885.7344,297.5781 886.1094,296.4219 Q886.4844,295.2656 887.2031,294.4375 Q887.9219,293.6094 888.9844,293.1563 Q890.0469,292.6875 891.4375,292.6875 Q892.3438,292.6875 893.25,292.9219 Q894.1563,293.1406 894.9844,293.5469 L894.1563,295.6406 Q893.4688,295.3125 892.7813,295.0781 Q892.0938,294.8281 891.4375,294.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="905.5" y="303.8467">NamedEntity</text></g><!--class Decorator--><g id="elem_Decorator"><rect codeLine="113" fill="#F1F1F1" height="32" id="Decorator" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="96" x="1065.5" y="375"/><ellipse cx="1080.5" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1080.4375,386.8281 Q1079.6875,386.8281 1079.125,387.125 Q1078.5625,387.4063 1078.1719,387.9375 Q1077.7813,388.4688 1077.5781,389.25 Q1077.3906,390.0156 1077.3906,390.9688 Q1077.3906,391.9375 1077.5625,392.7031 Q1077.75,393.4531 1078.1094,393.9688 Q1078.4844,394.4844 1079.0625,394.7656 Q1079.6406,395.0313 1080.4375,395.0313 Q1081.1719,395.0313 1081.9063,394.8594 Q1082.6563,394.6875 1083.5313,394.3906 L1083.5313,396.5469 Q1083.125,396.7031 1082.7344,396.8281 Q1082.3438,396.9375 1081.9375,397.0156 Q1081.5313,397.0938 1081.1094,397.125 Q1080.6875,397.1719 1080.1875,397.1719 Q1078.7813,397.1719 1077.75,396.7188 Q1076.7344,396.2656 1076.0625,395.4531 Q1075.3906,394.6406 1075.0625,393.5 Q1074.7344,392.3438 1074.7344,390.9531 Q1074.7344,389.5781 1075.1094,388.4219 Q1075.4844,387.2656 1076.2031,386.4375 Q1076.9219,385.6094 1077.9844,385.1563 Q1079.0469,384.6875 1080.4375,384.6875 Q1081.3438,384.6875 1082.25,384.9219 Q1083.1563,385.1406 1083.9844,385.5469 L1083.1563,387.6406 Q1082.4688,387.3125 1081.7813,387.0781 Q1081.0938,386.8281 1080.4375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="1094.5" y="395.8467">Decorator</text></g><!--class Parameter--><g id="elem_Parameter"><rect codeLine="145" fill="#F1F1F1" height="32" id="Parameter" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="100" x="1220.5" y="467"/><ellipse cx="1235.5" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1235.4375,478.8281 Q1234.6875,478.8281 1234.125,479.125 Q1233.5625,479.4063 1233.1719,479.9375 Q1232.7813,480.4688 1232.5781,481.25 Q1232.3906,482.0156 1232.3906,482.9688 Q1232.3906,483.9375 1232.5625,484.7031 Q1232.75,485.4531 1233.1094,485.9688 Q1233.4844,486.4844 1234.0625,486.7656 Q1234.6406,487.0313 1235.4375,487.0313 Q1236.1719,487.0313 1236.9063,486.8594 Q1237.6563,486.6875 1238.5313,486.3906 L1238.5313,488.5469 Q1238.125,488.7031 1237.7344,488.8281 Q1237.3438,488.9375 1236.9375,489.0156 Q1236.5313,489.0938 1236.1094,489.125 Q1235.6875,489.1719 1235.1875,489.1719 Q1233.7813,489.1719 1232.75,488.7188 Q1231.7344,488.2656 1231.0625,487.4531 Q1230.3906,486.6406 1230.0625,485.5 Q1229.7344,484.3438 1229.7344,482.9531 Q1229.7344,481.5781 1230.1094,480.4219 Q1230.4844,479.2656 1231.2031,478.4375 Q1231.9219,477.6094 1232.9844,477.1563 Q1234.0469,476.6875 1235.4375,476.6875 Q1236.3438,476.6875 1237.25,476.9219 Q1238.1563,477.1406 1238.9844,477.5469 L1238.1563,479.6406 Q1237.4688,479.3125 1236.7813,479.0781 Q1236.0938,478.8281 1235.4375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="68" x="1249.5" y="487.8467">Parameter</text></g><!--class StructuralEntity--><g id="elem_StructuralEntity"><rect codeLine="378" fill="#F1F1F1" height="32" id="StructuralEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="130" x="1334.5" y="375"/><ellipse cx="1349.5" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1349.4375,386.8281 Q1348.6875,386.8281 1348.125,387.125 Q1347.5625,387.4063 1347.1719,387.9375 Q1346.7813,388.4688 1346.5781,389.25 Q1346.3906,390.0156 1346.3906,390.9688 Q1346.3906,391.9375 1346.5625,392.7031 Q1346.75,393.4531 1347.1094,393.9688 Q1347.4844,394.4844 1348.0625,394.7656 Q1348.6406,395.0313 1349.4375,395.0313 Q1350.1719,395.0313 1350.9063,394.8594 Q1351.6563,394.6875 1352.5313,394.3906 L1352.5313,396.5469 Q1352.125,396.7031 1351.7344,396.8281 Q1351.3438,396.9375 1350.9375,397.0156 Q1350.5313,397.0938 1350.1094,397.125 Q1349.6875,397.1719 1349.1875,397.1719 Q1347.7813,397.1719 1346.75,396.7188 Q1345.7344,396.2656 1345.0625,395.4531 Q1344.3906,394.6406 1344.0625,393.5 Q1343.7344,392.3438 1343.7344,390.9531 Q1343.7344,389.5781 1344.1094,388.4219 Q1344.4844,387.2656 1345.2031,386.4375 Q1345.9219,385.6094 1346.9844,385.1563 Q1348.0469,384.6875 1349.4375,384.6875 Q1350.3438,384.6875 1351.25,384.9219 Q1352.1563,385.1406 1352.9844,385.5469 L1352.1563,387.6406 Q1351.4688,387.3125 1350.7813,387.0781 Q1350.0938,386.8281 1349.4375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="1363.5" y="395.8467">StructuralEntity</text></g><!--class Property--><g id="elem_Property"><rect codeLine="152" fill="#F1F1F1" height="32" id="Property" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="88" x="1355.5" y="467"/><ellipse cx="1370.5" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1370.4375,478.8281 Q1369.6875,478.8281 1369.125,479.125 Q1368.5625,479.4063 1368.1719,479.9375 Q1367.7813,480.4688 1367.5781,481.25 Q1367.3906,482.0156 1367.3906,482.9688 Q1367.3906,483.9375 1367.5625,484.7031 Q1367.75,485.4531 1368.1094,485.9688 Q1368.4844,486.4844 1369.0625,486.7656 Q1369.6406,487.0313 1370.4375,487.0313 Q1371.1719,487.0313 1371.9063,486.8594 Q1372.6563,486.6875 1373.5313,486.3906 L1373.5313,488.5469 Q1373.125,488.7031 1372.7344,488.8281 Q1372.3438,488.9375 1371.9375,489.0156 Q1371.5313,489.0938 1371.1094,489.125 Q1370.6875,489.1719 1370.1875,489.1719 Q1368.7813,489.1719 1367.75,488.7188 Q1366.7344,488.2656 1366.0625,487.4531 Q1365.3906,486.6406 1365.0625,485.5 Q1364.7344,484.3438 1364.7344,482.9531 Q1364.7344,481.5781 1365.1094,480.4219 Q1365.4844,479.2656 1366.2031,478.4375 Q1366.9219,477.6094 1367.9844,477.1563 Q1369.0469,476.6875 1370.4375,476.6875 Q1371.3438,476.6875 1372.25,476.9219 Q1373.1563,477.1406 1373.9844,477.5469 L1373.1563,479.6406 Q1372.4688,479.3125 1371.7813,479.0781 Q1371.0938,478.8281 1370.4375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="1384.5" y="487.8467">Property</text></g><!--class Inheritance--><g id="elem_Inheritance"><rect codeLine="165" fill="#F1F1F1" height="32" id="Inheritance" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="105" x="289" y="375"/><ellipse cx="304" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M303.9375,386.8281 Q303.1875,386.8281 302.625,387.125 Q302.0625,387.4063 301.6719,387.9375 Q301.2813,388.4688 301.0781,389.25 Q300.8906,390.0156 300.8906,390.9688 Q300.8906,391.9375 301.0625,392.7031 Q301.25,393.4531 301.6094,393.9688 Q301.9844,394.4844 302.5625,394.7656 Q303.1406,395.0313 303.9375,395.0313 Q304.6719,395.0313 305.4063,394.8594 Q306.1563,394.6875 307.0313,394.3906 L307.0313,396.5469 Q306.625,396.7031 306.2344,396.8281 Q305.8438,396.9375 305.4375,397.0156 Q305.0313,397.0938 304.6094,397.125 Q304.1875,397.1719 303.6875,397.1719 Q302.2813,397.1719 301.25,396.7188 Q300.2344,396.2656 299.5625,395.4531 Q298.8906,394.6406 298.5625,393.5 Q298.2344,392.3438 298.2344,390.9531 Q298.2344,389.5781 298.6094,388.4219 Q298.9844,387.2656 299.7031,386.4375 Q300.4219,385.6094 301.4844,385.1563 Q302.5469,384.6875 303.9375,384.6875 Q304.8438,384.6875 305.75,384.9219 Q306.6563,385.1406 307.4844,385.5469 L306.6563,387.6406 Q305.9688,387.3125 305.2813,387.0781 Q304.5938,386.8281 303.9375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="318" y="395.8467">Inheritance</text></g><!--class Interface--><g id="elem_Interface"><rect codeLine="175" fill="#F1F1F1" height="32" id="Interface" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="90" x="307.5" y="559"/><ellipse cx="322.5" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M322.4375,570.8281 Q321.6875,570.8281 321.125,571.125 Q320.5625,571.4063 320.1719,571.9375 Q319.7813,572.4688 319.5781,573.25 Q319.3906,574.0156 319.3906,574.9688 Q319.3906,575.9375 319.5625,576.7031 Q319.75,577.4531 320.1094,577.9688 Q320.4844,578.4844 321.0625,578.7656 Q321.6406,579.0313 322.4375,579.0313 Q323.1719,579.0313 323.9063,578.8594 Q324.6563,578.6875 325.5313,578.3906 L325.5313,580.5469 Q325.125,580.7031 324.7344,580.8281 Q324.3438,580.9375 323.9375,581.0156 Q323.5313,581.0938 323.1094,581.125 Q322.6875,581.1719 322.1875,581.1719 Q320.7813,581.1719 319.75,580.7188 Q318.7344,580.2656 318.0625,579.4531 Q317.3906,578.6406 317.0625,577.5 Q316.7344,576.3438 316.7344,574.9531 Q316.7344,573.5781 317.1094,572.4219 Q317.4844,571.2656 318.2031,570.4375 Q318.9219,569.6094 319.9844,569.1563 Q321.0469,568.6875 322.4375,568.6875 Q323.3438,568.6875 324.25,568.9219 Q325.1563,569.1406 325.9844,569.5469 L325.1563,571.6406 Q324.4688,571.3125 323.7813,571.0781 Q323.0938,570.8281 322.4375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="58" x="336.5" y="579.8467">Interface</text></g><!--class Type--><g id="elem_Type"><rect codeLine="359" fill="#F1F1F1" height="32" id="Type" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="62" x="699.5" y="467"/><ellipse cx="714.5" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M714.4375,478.8281 Q713.6875,478.8281 713.125,479.125 Q712.5625,479.4063 712.1719,479.9375 Q711.7813,480.4688 711.5781,481.25 Q711.3906,482.0156 711.3906,482.9688 Q711.3906,483.9375 711.5625,484.7031 Q711.75,485.4531 712.1094,485.9688 Q712.4844,486.4844 713.0625,486.7656 Q713.6406,487.0313 714.4375,487.0313 Q715.1719,487.0313 715.9063,486.8594 Q716.6563,486.6875 717.5313,486.3906 L717.5313,488.5469 Q717.125,488.7031 716.7344,488.8281 Q716.3438,488.9375 715.9375,489.0156 Q715.5313,489.0938 715.1094,489.125 Q714.6875,489.1719 714.1875,489.1719 Q712.7813,489.1719 711.75,488.7188 Q710.7344,488.2656 710.0625,487.4531 Q709.3906,486.6406 709.0625,485.5 Q708.7344,484.3438 708.7344,482.9531 Q708.7344,481.5781 709.1094,480.4219 Q709.4844,479.2656 710.2031,478.4375 Q710.9219,477.6094 711.9844,477.1563 Q713.0469,476.6875 714.4375,476.6875 Q715.3438,476.6875 716.25,476.9219 Q717.1563,477.1406 717.9844,477.5469 L717.1563,479.6406 Q716.4688,479.3125 715.7813,479.0781 Q715.0938,478.8281 714.4375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="30" x="728.5" y="487.8467">Type</text></g><!--class Method--><g id="elem_Method"><rect codeLine="191" fill="#F1F1F1" height="32" id="Method" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="81" x="1147" y="559"/><ellipse cx="1162" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1161.9375,570.8281 Q1161.1875,570.8281 1160.625,571.125 Q1160.0625,571.4063 1159.6719,571.9375 Q1159.2813,572.4688 1159.0781,573.25 Q1158.8906,574.0156 1158.8906,574.9688 Q1158.8906,575.9375 1159.0625,576.7031 Q1159.25,577.4531 1159.6094,577.9688 Q1159.9844,578.4844 1160.5625,578.7656 Q1161.1406,579.0313 1161.9375,579.0313 Q1162.6719,579.0313 1163.4063,578.8594 Q1164.1563,578.6875 1165.0313,578.3906 L1165.0313,580.5469 Q1164.625,580.7031 1164.2344,580.8281 Q1163.8438,580.9375 1163.4375,581.0156 Q1163.0313,581.0938 1162.6094,581.125 Q1162.1875,581.1719 1161.6875,581.1719 Q1160.2813,581.1719 1159.25,580.7188 Q1158.2344,580.2656 1157.5625,579.4531 Q1156.8906,578.6406 1156.5625,577.5 Q1156.2344,576.3438 1156.2344,574.9531 Q1156.2344,573.5781 1156.6094,572.4219 Q1156.9844,571.2656 1157.7031,570.4375 Q1158.4219,569.6094 1159.4844,569.1563 Q1160.5469,568.6875 1161.9375,568.6875 Q1162.8438,568.6875 1163.75,568.9219 Q1164.6563,569.1406 1165.4844,569.5469 L1164.6563,571.6406 Q1163.9688,571.3125 1163.2813,571.0781 Q1162.5938,570.8281 1161.9375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1176" y="579.8467">Method</text></g><!--class BehavioralEntity--><g id="elem_BehavioralEntity"><rect codeLine="264" fill="#F1F1F1" height="32" id="BehavioralEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="136" x="1049.5" y="467"/><ellipse cx="1064.5" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1064.4375,478.8281 Q1063.6875,478.8281 1063.125,479.125 Q1062.5625,479.4063 1062.1719,479.9375 Q1061.7813,480.4688 1061.5781,481.25 Q1061.3906,482.0156 1061.3906,482.9688 Q1061.3906,483.9375 1061.5625,484.7031 Q1061.75,485.4531 1062.1094,485.9688 Q1062.4844,486.4844 1063.0625,486.7656 Q1063.6406,487.0313 1064.4375,487.0313 Q1065.1719,487.0313 1065.9063,486.8594 Q1066.6563,486.6875 1067.5313,486.3906 L1067.5313,488.5469 Q1067.125,488.7031 1066.7344,488.8281 Q1066.3438,488.9375 1065.9375,489.0156 Q1065.5313,489.0938 1065.1094,489.125 Q1064.6875,489.1719 1064.1875,489.1719 Q1062.7813,489.1719 1061.75,488.7188 Q1060.7344,488.2656 1060.0625,487.4531 Q1059.3906,486.6406 1059.0625,485.5 Q1058.7344,484.3438 1058.7344,482.9531 Q1058.7344,481.5781 1059.1094,480.4219 Q1059.4844,479.2656 1060.2031,478.4375 Q1060.9219,477.6094 1061.9844,477.1563 Q1063.0469,476.6875 1064.4375,476.6875 Q1065.3438,476.6875 1066.25,476.9219 Q1067.1563,477.1406 1067.9844,477.5469 L1067.1563,479.6406 Q1066.4688,479.3125 1065.7813,479.0781 Q1065.0938,478.8281 1064.4375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="1078.5" y="487.8467">BehavioralEntity</text></g><!--class Class--><g id="elem_Class"><rect codeLine="216" fill="#F1F1F1" height="32" id="Class" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="63" x="433" y="559"/><ellipse cx="448" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M447.9375,570.8281 Q447.1875,570.8281 446.625,571.125 Q446.0625,571.4063 445.6719,571.9375 Q445.2813,572.4688 445.0781,573.25 Q444.8906,574.0156 444.8906,574.9688 Q444.8906,575.9375 445.0625,576.7031 Q445.25,577.4531 445.6094,577.9688 Q445.9844,578.4844 446.5625,578.7656 Q447.1406,579.0313 447.9375,579.0313 Q448.6719,579.0313 449.4063,578.8594 Q450.1563,578.6875 451.0313,578.3906 L451.0313,580.5469 Q450.625,580.7031 450.2344,580.8281 Q449.8438,580.9375 449.4375,581.0156 Q449.0313,581.0938 448.6094,581.125 Q448.1875,581.1719 447.6875,581.1719 Q446.2813,581.1719 445.25,580.7188 Q444.2344,580.2656 443.5625,579.4531 Q442.8906,578.6406 442.5625,577.5 Q442.2344,576.3438 442.2344,574.9531 Q442.2344,573.5781 442.6094,572.4219 Q442.9844,571.2656 443.7031,570.4375 Q444.4219,569.6094 445.4844,569.1563 Q446.5469,568.6875 447.9375,568.6875 Q448.8438,568.6875 449.75,568.9219 Q450.6563,569.1406 451.4844,569.5469 L450.6563,571.6406 Q449.9688,571.3125 449.2813,571.0781 Q448.5938,570.8281 447.9375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="462" y="579.8467">Class</text></g><!--class ParameterizableClass--><g id="elem_ParameterizableClass"><rect codeLine="235" fill="#F1F1F1" height="32" id="ParameterizableClass" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="168" x="484.5" y="651"/><ellipse cx="499.5" cy="667" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M499.4375,662.8281 Q498.6875,662.8281 498.125,663.125 Q497.5625,663.4063 497.1719,663.9375 Q496.7813,664.4688 496.5781,665.25 Q496.3906,666.0156 496.3906,666.9688 Q496.3906,667.9375 496.5625,668.7031 Q496.75,669.4531 497.1094,669.9688 Q497.4844,670.4844 498.0625,670.7656 Q498.6406,671.0313 499.4375,671.0313 Q500.1719,671.0313 500.9063,670.8594 Q501.6563,670.6875 502.5313,670.3906 L502.5313,672.5469 Q502.125,672.7031 501.7344,672.8281 Q501.3438,672.9375 500.9375,673.0156 Q500.5313,673.0938 500.1094,673.125 Q499.6875,673.1719 499.1875,673.1719 Q497.7813,673.1719 496.75,672.7188 Q495.7344,672.2656 495.0625,671.4531 Q494.3906,670.6406 494.0625,669.5 Q493.7344,668.3438 493.7344,666.9531 Q493.7344,665.5781 494.1094,664.4219 Q494.4844,663.2656 495.2031,662.4375 Q495.9219,661.6094 496.9844,661.1563 Q498.0469,660.6875 499.4375,660.6875 Q500.3438,660.6875 501.25,660.9219 Q502.1563,661.1406 502.9844,661.5469 L502.1563,663.6406 Q501.4688,663.3125 500.7813,663.0781 Q500.0938,662.8281 499.4375,662.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="136" x="513.5" y="671.8467">ParameterizableClass</text></g><!--class ParameterizableInterface--><g id="elem_ParameterizableInterface"><rect codeLine="242" fill="#F1F1F1" height="32" id="ParameterizableInterface" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="195" x="255" y="651"/><ellipse cx="270" cy="667" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M269.9375,662.8281 Q269.1875,662.8281 268.625,663.125 Q268.0625,663.4063 267.6719,663.9375 Q267.2813,664.4688 267.0781,665.25 Q266.8906,666.0156 266.8906,666.9688 Q266.8906,667.9375 267.0625,668.7031 Q267.25,669.4531 267.6094,669.9688 Q267.9844,670.4844 268.5625,670.7656 Q269.1406,671.0313 269.9375,671.0313 Q270.6719,671.0313 271.4063,670.8594 Q272.1563,670.6875 273.0313,670.3906 L273.0313,672.5469 Q272.625,672.7031 272.2344,672.8281 Q271.8438,672.9375 271.4375,673.0156 Q271.0313,673.0938 270.6094,673.125 Q270.1875,673.1719 269.6875,673.1719 Q268.2813,673.1719 267.25,672.7188 Q266.2344,672.2656 265.5625,671.4531 Q264.8906,670.6406 264.5625,669.5 Q264.2344,668.3438 264.2344,666.9531 Q264.2344,665.5781 264.6094,664.4219 Q264.9844,663.2656 265.7031,662.4375 Q266.4219,661.6094 267.4844,661.1563 Q268.5469,660.6875 269.9375,660.6875 Q270.8438,660.6875 271.75,660.9219 Q272.6563,661.1406 273.4844,661.5469 L272.6563,663.6406 Q271.9688,663.3125 271.2813,663.0781 Q270.5938,662.8281 269.9375,662.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="163" x="284" y="671.8467">ParameterizableInterface</text></g><!--class Function--><g id="elem_Function"><rect codeLine="249" fill="#F1F1F1" height="32" id="Function" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="86" x="1263.5" y="559"/><ellipse cx="1278.5" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1278.4375,570.8281 Q1277.6875,570.8281 1277.125,571.125 Q1276.5625,571.4063 1276.1719,571.9375 Q1275.7813,572.4688 1275.5781,573.25 Q1275.3906,574.0156 1275.3906,574.9688 Q1275.3906,575.9375 1275.5625,576.7031 Q1275.75,577.4531 1276.1094,577.9688 Q1276.4844,578.4844 1277.0625,578.7656 Q1277.6406,579.0313 1278.4375,579.0313 Q1279.1719,579.0313 1279.9063,578.8594 Q1280.6563,578.6875 1281.5313,578.3906 L1281.5313,580.5469 Q1281.125,580.7031 1280.7344,580.8281 Q1280.3438,580.9375 1279.9375,581.0156 Q1279.5313,581.0938 1279.1094,581.125 Q1278.6875,581.1719 1278.1875,581.1719 Q1276.7813,581.1719 1275.75,580.7188 Q1274.7344,580.2656 1274.0625,579.4531 Q1273.3906,578.6406 1273.0625,577.5 Q1272.7344,576.3438 1272.7344,574.9531 Q1272.7344,573.5781 1273.1094,572.4219 Q1273.4844,571.2656 1274.2031,570.4375 Q1274.9219,569.6094 1275.9844,569.1563 Q1277.0469,568.6875 1278.4375,568.6875 Q1279.3438,568.6875 1280.25,568.9219 Q1281.1563,569.1406 1281.9844,569.5469 L1281.1563,571.6406 Q1280.4688,571.3125 1279.7813,571.0781 Q1279.0938,570.8281 1278.4375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="1292.5" y="579.8467">Function</text></g><!--class Accessor--><g id="elem_Accessor"><rect codeLine="253" fill="#F1F1F1" height="32" id="Accessor" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="87" x="1144" y="651"/><ellipse cx="1159" cy="667" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1158.9375,662.8281 Q1158.1875,662.8281 1157.625,663.125 Q1157.0625,663.4063 1156.6719,663.9375 Q1156.2813,664.4688 1156.0781,665.25 Q1155.8906,666.0156 1155.8906,666.9688 Q1155.8906,667.9375 1156.0625,668.7031 Q1156.25,669.4531 1156.6094,669.9688 Q1156.9844,670.4844 1157.5625,670.7656 Q1158.1406,671.0313 1158.9375,671.0313 Q1159.6719,671.0313 1160.4063,670.8594 Q1161.1563,670.6875 1162.0313,670.3906 L1162.0313,672.5469 Q1161.625,672.7031 1161.2344,672.8281 Q1160.8438,672.9375 1160.4375,673.0156 Q1160.0313,673.0938 1159.6094,673.125 Q1159.1875,673.1719 1158.6875,673.1719 Q1157.2813,673.1719 1156.25,672.7188 Q1155.2344,672.2656 1154.5625,671.4531 Q1153.8906,670.6406 1153.5625,669.5 Q1153.2344,668.3438 1153.2344,666.9531 Q1153.2344,665.5781 1153.6094,664.4219 Q1153.9844,663.2656 1154.7031,662.4375 Q1155.4219,661.6094 1156.4844,661.1563 Q1157.5469,660.6875 1158.9375,660.6875 Q1159.8438,660.6875 1160.75,660.9219 Q1161.6563,661.1406 1162.4844,661.5469 L1161.6563,663.6406 Q1160.9688,663.3125 1160.2813,663.0781 Q1159.5938,662.8281 1158.9375,662.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="1173" y="671.8467">Accessor</text></g><!--class ParameterType--><g id="elem_ParameterType"><rect codeLine="257" fill="#F1F1F1" height="32" id="ParameterType" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="130" x="531.5" y="559"/><ellipse cx="546.5" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M546.4375,570.8281 Q545.6875,570.8281 545.125,571.125 Q544.5625,571.4063 544.1719,571.9375 Q543.7813,572.4688 543.5781,573.25 Q543.3906,574.0156 543.3906,574.9688 Q543.3906,575.9375 543.5625,576.7031 Q543.75,577.4531 544.1094,577.9688 Q544.4844,578.4844 545.0625,578.7656 Q545.6406,579.0313 546.4375,579.0313 Q547.1719,579.0313 547.9063,578.8594 Q548.6563,578.6875 549.5313,578.3906 L549.5313,580.5469 Q549.125,580.7031 548.7344,580.8281 Q548.3438,580.9375 547.9375,581.0156 Q547.5313,581.0938 547.1094,581.125 Q546.6875,581.1719 546.1875,581.1719 Q544.7813,581.1719 543.75,580.7188 Q542.7344,580.2656 542.0625,579.4531 Q541.3906,578.6406 541.0625,577.5 Q540.7344,576.3438 540.7344,574.9531 Q540.7344,573.5781 541.1094,572.4219 Q541.4844,571.2656 542.2031,570.4375 Q542.9219,569.6094 543.9844,569.1563 Q545.0469,568.6875 546.4375,568.6875 Q547.3438,568.6875 548.25,568.9219 Q549.1563,569.1406 549.9844,569.5469 L549.1563,571.6406 Q548.4688,571.3125 547.7813,571.0781 Q547.0938,570.8281 546.4375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="560.5" y="579.8467">ParameterType</text></g><!--class Invocation--><g id="elem_Invocation"><rect codeLine="289" fill="#F1F1F1" height="32" id="Invocation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="98" x="429.5" y="375"/><ellipse cx="444.5" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M444.4375,386.8281 Q443.6875,386.8281 443.125,387.125 Q442.5625,387.4063 442.1719,387.9375 Q441.7813,388.4688 441.5781,389.25 Q441.3906,390.0156 441.3906,390.9688 Q441.3906,391.9375 441.5625,392.7031 Q441.75,393.4531 442.1094,393.9688 Q442.4844,394.4844 443.0625,394.7656 Q443.6406,395.0313 444.4375,395.0313 Q445.1719,395.0313 445.9063,394.8594 Q446.6563,394.6875 447.5313,394.3906 L447.5313,396.5469 Q447.125,396.7031 446.7344,396.8281 Q446.3438,396.9375 445.9375,397.0156 Q445.5313,397.0938 445.1094,397.125 Q444.6875,397.1719 444.1875,397.1719 Q442.7813,397.1719 441.75,396.7188 Q440.7344,396.2656 440.0625,395.4531 Q439.3906,394.6406 439.0625,393.5 Q438.7344,392.3438 438.7344,390.9531 Q438.7344,389.5781 439.1094,388.4219 Q439.4844,387.2656 440.2031,386.4375 Q440.9219,385.6094 441.9844,385.1563 Q443.0469,384.6875 444.4375,384.6875 Q445.3438,384.6875 446.25,384.9219 Q447.1563,385.1406 447.9844,385.5469 L447.1563,387.6406 Q446.4688,387.3125 445.7813,387.0781 Q445.0938,386.8281 444.4375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="66" x="458.5" y="395.8467">Invocation</text></g><!--class Reference--><g id="elem_Reference"><rect codeLine="305" fill="#F1F1F1" height="32" id="Reference" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="97" x="563" y="375"/><ellipse cx="578" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M577.9375,386.8281 Q577.1875,386.8281 576.625,387.125 Q576.0625,387.4063 575.6719,387.9375 Q575.2813,388.4688 575.0781,389.25 Q574.8906,390.0156 574.8906,390.9688 Q574.8906,391.9375 575.0625,392.7031 Q575.25,393.4531 575.6094,393.9688 Q575.9844,394.4844 576.5625,394.7656 Q577.1406,395.0313 577.9375,395.0313 Q578.6719,395.0313 579.4063,394.8594 Q580.1563,394.6875 581.0313,394.3906 L581.0313,396.5469 Q580.625,396.7031 580.2344,396.8281 Q579.8438,396.9375 579.4375,397.0156 Q579.0313,397.0938 578.6094,397.125 Q578.1875,397.1719 577.6875,397.1719 Q576.2813,397.1719 575.25,396.7188 Q574.2344,396.2656 573.5625,395.4531 Q572.8906,394.6406 572.5625,393.5 Q572.2344,392.3438 572.2344,390.9531 Q572.2344,389.5781 572.6094,388.4219 Q572.9844,387.2656 573.7031,386.4375 Q574.4219,385.6094 575.4844,385.1563 Q576.5469,384.6875 577.9375,384.6875 Q578.8438,384.6875 579.75,384.9219 Q580.6563,385.1406 581.4844,385.5469 L580.6563,387.6406 Q579.9688,387.3125 579.2813,387.0781 Q578.5938,386.8281 577.9375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="592" y="395.8467">Reference</text></g><!--class Variable--><g id="elem_Variable"><rect codeLine="315" fill="#F1F1F1" height="32" id="Variable" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="84" x="1478.5" y="467"/><ellipse cx="1493.5" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1493.4375,478.8281 Q1492.6875,478.8281 1492.125,479.125 Q1491.5625,479.4063 1491.1719,479.9375 Q1490.7813,480.4688 1490.5781,481.25 Q1490.3906,482.0156 1490.3906,482.9688 Q1490.3906,483.9375 1490.5625,484.7031 Q1490.75,485.4531 1491.1094,485.9688 Q1491.4844,486.4844 1492.0625,486.7656 Q1492.6406,487.0313 1493.4375,487.0313 Q1494.1719,487.0313 1494.9063,486.8594 Q1495.6563,486.6875 1496.5313,486.3906 L1496.5313,488.5469 Q1496.125,488.7031 1495.7344,488.8281 Q1495.3438,488.9375 1494.9375,489.0156 Q1494.5313,489.0938 1494.1094,489.125 Q1493.6875,489.1719 1493.1875,489.1719 Q1491.7813,489.1719 1490.75,488.7188 Q1489.7344,488.2656 1489.0625,487.4531 Q1488.3906,486.6406 1488.0625,485.5 Q1487.7344,484.3438 1487.7344,482.9531 Q1487.7344,481.5781 1488.1094,480.4219 Q1488.4844,479.2656 1489.2031,478.4375 Q1489.9219,477.6094 1490.9844,477.1563 Q1492.0469,476.6875 1493.4375,476.6875 Q1494.3438,476.6875 1495.25,476.9219 Q1496.1563,477.1406 1496.9844,477.5469 L1496.1563,479.6406 Q1495.4688,479.3125 1494.7813,479.0781 Q1494.0938,478.8281 1493.4375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="1507.5" y="487.8467">Variable</text></g><!--class Access--><g id="elem_Access"><rect codeLine="388" fill="#F1F1F1" height="32" id="Access" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="73" x="695" y="375"/><ellipse cx="710" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M709.9375,386.8281 Q709.1875,386.8281 708.625,387.125 Q708.0625,387.4063 707.6719,387.9375 Q707.2813,388.4688 707.0781,389.25 Q706.8906,390.0156 706.8906,390.9688 Q706.8906,391.9375 707.0625,392.7031 Q707.25,393.4531 707.6094,393.9688 Q707.9844,394.4844 708.5625,394.7656 Q709.1406,395.0313 709.9375,395.0313 Q710.6719,395.0313 711.4063,394.8594 Q712.1563,394.6875 713.0313,394.3906 L713.0313,396.5469 Q712.625,396.7031 712.2344,396.8281 Q711.8438,396.9375 711.4375,397.0156 Q711.0313,397.0938 710.6094,397.125 Q710.1875,397.1719 709.6875,397.1719 Q708.2813,397.1719 707.25,396.7188 Q706.2344,396.2656 705.5625,395.4531 Q704.8906,394.6406 704.5625,393.5 Q704.2344,392.3438 704.2344,390.9531 Q704.2344,389.5781 704.6094,388.4219 Q704.9844,387.2656 705.7031,386.4375 Q706.4219,385.6094 707.4844,385.1563 Q708.5469,384.6875 709.9375,384.6875 Q710.8438,384.6875 711.75,384.9219 Q712.6563,385.1406 713.4844,385.5469 L712.6563,387.6406 Q711.9688,387.3125 711.2813,387.0781 Q710.5938,386.8281 709.9375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="724" y="395.8467">Access</text></g><!--class Enum--><g id="elem_Enum"><rect codeLine="401" fill="#F1F1F1" height="32" id="Enum" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="68" x="696.5" y="559"/><ellipse cx="711.5" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M711.4375,570.8281 Q710.6875,570.8281 710.125,571.125 Q709.5625,571.4063 709.1719,571.9375 Q708.7813,572.4688 708.5781,573.25 Q708.3906,574.0156 708.3906,574.9688 Q708.3906,575.9375 708.5625,576.7031 Q708.75,577.4531 709.1094,577.9688 Q709.4844,578.4844 710.0625,578.7656 Q710.6406,579.0313 711.4375,579.0313 Q712.1719,579.0313 712.9063,578.8594 Q713.6563,578.6875 714.5313,578.3906 L714.5313,580.5469 Q714.125,580.7031 713.7344,580.8281 Q713.3438,580.9375 712.9375,581.0156 Q712.5313,581.0938 712.1094,581.125 Q711.6875,581.1719 711.1875,581.1719 Q709.7813,581.1719 708.75,580.7188 Q707.7344,580.2656 707.0625,579.4531 Q706.3906,578.6406 706.0625,577.5 Q705.7344,576.3438 705.7344,574.9531 Q705.7344,573.5781 706.1094,572.4219 Q706.4844,571.2656 707.2031,570.4375 Q707.9219,569.6094 708.9844,569.1563 Q710.0469,568.6875 711.4375,568.6875 Q712.3438,568.6875 713.25,568.9219 Q714.1563,569.1406 714.9844,569.5469 L714.1563,571.6406 Q713.4688,571.3125 712.7813,571.0781 Q712.0938,570.8281 711.4375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="725.5" y="579.8467">Enum</text></g><!--class EnumValue--><g id="elem_EnumValue"><rect codeLine="408" fill="#F1F1F1" height="32" id="EnumValue" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="103" x="1598" y="467"/><ellipse cx="1613" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1612.9375,478.8281 Q1612.1875,478.8281 1611.625,479.125 Q1611.0625,479.4063 1610.6719,479.9375 Q1610.2813,480.4688 1610.0781,481.25 Q1609.8906,482.0156 1609.8906,482.9688 Q1609.8906,483.9375 1610.0625,484.7031 Q1610.25,485.4531 1610.6094,485.9688 Q1610.9844,486.4844 1611.5625,486.7656 Q1612.1406,487.0313 1612.9375,487.0313 Q1613.6719,487.0313 1614.4063,486.8594 Q1615.1563,486.6875 1616.0313,486.3906 L1616.0313,488.5469 Q1615.625,488.7031 1615.2344,488.8281 Q1614.8438,488.9375 1614.4375,489.0156 Q1614.0313,489.0938 1613.6094,489.125 Q1613.1875,489.1719 1612.6875,489.1719 Q1611.2813,489.1719 1610.25,488.7188 Q1609.2344,488.2656 1608.5625,487.4531 Q1607.8906,486.6406 1607.5625,485.5 Q1607.2344,484.3438 1607.2344,482.9531 Q1607.2344,481.5781 1607.6094,480.4219 Q1607.9844,479.2656 1608.7031,478.4375 Q1609.4219,477.6094 1610.4844,477.1563 Q1611.5469,476.6875 1612.9375,476.6875 Q1613.8438,476.6875 1614.75,476.9219 Q1615.6563,477.1406 1616.4844,477.5469 L1615.6563,479.6406 Q1614.9688,479.3125 1614.2813,479.0781 Q1613.5938,478.8281 1612.9375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="71" x="1627" y="487.8467">EnumValue</text></g><!--class ImplicitVariable--><g id="elem_ImplicitVariable"><rect codeLine="415" fill="#F1F1F1" height="32" id="ImplicitVariable" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="133" x="1454" y="559"/><ellipse cx="1469" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1468.9375,570.8281 Q1468.1875,570.8281 1467.625,571.125 Q1467.0625,571.4063 1466.6719,571.9375 Q1466.2813,572.4688 1466.0781,573.25 Q1465.8906,574.0156 1465.8906,574.9688 Q1465.8906,575.9375 1466.0625,576.7031 Q1466.25,577.4531 1466.6094,577.9688 Q1466.9844,578.4844 1467.5625,578.7656 Q1468.1406,579.0313 1468.9375,579.0313 Q1469.6719,579.0313 1470.4063,578.8594 Q1471.1563,578.6875 1472.0313,578.3906 L1472.0313,580.5469 Q1471.625,580.7031 1471.2344,580.8281 Q1470.8438,580.9375 1470.4375,581.0156 Q1470.0313,581.0938 1469.6094,581.125 Q1469.1875,581.1719 1468.6875,581.1719 Q1467.2813,581.1719 1466.25,580.7188 Q1465.2344,580.2656 1464.5625,579.4531 Q1463.8906,578.6406 1463.5625,577.5 Q1463.2344,576.3438 1463.2344,574.9531 Q1463.2344,573.5781 1463.6094,572.4219 Q1463.9844,571.2656 1464.7031,570.4375 Q1465.4219,569.6094 1466.4844,569.1563 Q1467.5469,568.6875 1468.9375,568.6875 Q1469.8438,568.6875 1470.75,568.9219 Q1471.6563,569.1406 1472.4844,569.5469 L1471.6563,571.6406 Q1470.9688,571.3125 1470.2813,571.0781 Q1469.5938,570.8281 1468.9375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="1483" y="579.8467">ImplicitVariable</text></g><!--class IndexedFileAnchor--><g id="elem_IndexedFileAnchor"><rect codeLine="419" fill="#F1F1F1" height="32" id="IndexedFileAnchor" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="152" x="1025.5" y="283"/><ellipse cx="1040.5" cy="299" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1040.4375,294.8281 Q1039.6875,294.8281 1039.125,295.125 Q1038.5625,295.4063 1038.1719,295.9375 Q1037.7813,296.4688 1037.5781,297.25 Q1037.3906,298.0156 1037.3906,298.9688 Q1037.3906,299.9375 1037.5625,300.7031 Q1037.75,301.4531 1038.1094,301.9688 Q1038.4844,302.4844 1039.0625,302.7656 Q1039.6406,303.0313 1040.4375,303.0313 Q1041.1719,303.0313 1041.9063,302.8594 Q1042.6563,302.6875 1043.5313,302.3906 L1043.5313,304.5469 Q1043.125,304.7031 1042.7344,304.8281 Q1042.3438,304.9375 1041.9375,305.0156 Q1041.5313,305.0938 1041.1094,305.125 Q1040.6875,305.1719 1040.1875,305.1719 Q1038.7813,305.1719 1037.75,304.7188 Q1036.7344,304.2656 1036.0625,303.4531 Q1035.3906,302.6406 1035.0625,301.5 Q1034.7344,300.3438 1034.7344,298.9531 Q1034.7344,297.5781 1035.1094,296.4219 Q1035.4844,295.2656 1036.2031,294.4375 Q1036.9219,293.6094 1037.9844,293.1563 Q1039.0469,292.6875 1040.4375,292.6875 Q1041.3438,292.6875 1042.25,292.9219 Q1043.1563,293.1406 1043.9844,293.5469 L1043.1563,295.6406 Q1042.4688,295.3125 1041.7813,295.0781 Q1041.0938,294.8281 1040.4375,294.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="1054.5" y="303.8467">IndexedFileAnchor</text></g><!--class ParameterizedType--><g id="elem_ParameterizedType"><rect codeLine="438" fill="#F1F1F1" height="32" id="ParameterizedType" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="156" x="799.5" y="559"/><ellipse cx="814.5" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M814.4375,570.8281 Q813.6875,570.8281 813.125,571.125 Q812.5625,571.4063 812.1719,571.9375 Q811.7813,572.4688 811.5781,573.25 Q811.3906,574.0156 811.3906,574.9688 Q811.3906,575.9375 811.5625,576.7031 Q811.75,577.4531 812.1094,577.9688 Q812.4844,578.4844 813.0625,578.7656 Q813.6406,579.0313 814.4375,579.0313 Q815.1719,579.0313 815.9063,578.8594 Q816.6563,578.6875 817.5313,578.3906 L817.5313,580.5469 Q817.125,580.7031 816.7344,580.8281 Q816.3438,580.9375 815.9375,581.0156 Q815.5313,581.0938 815.1094,581.125 Q814.6875,581.1719 814.1875,581.1719 Q812.7813,581.1719 811.75,580.7188 Q810.7344,580.2656 810.0625,579.4531 Q809.3906,578.6406 809.0625,577.5 Q808.7344,576.3438 808.7344,574.9531 Q808.7344,573.5781 809.1094,572.4219 Q809.4844,571.2656 810.2031,570.4375 Q810.9219,569.6094 811.9844,569.1563 Q813.0469,568.6875 814.4375,568.6875 Q815.3438,568.6875 816.25,568.9219 Q817.1563,569.1406 817.9844,569.5469 L817.1563,571.6406 Q816.4688,571.3125 815.7813,571.0781 Q815.0938,570.8281 814.4375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="828.5" y="579.8467">ParameterizedType</text></g><!--class PrimitiveType--><g id="elem_PrimitiveType"><rect codeLine="448" fill="#F1F1F1" height="32" id="PrimitiveType" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121" x="991" y="559"/><ellipse cx="1006" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1005.9375,570.8281 Q1005.1875,570.8281 1004.625,571.125 Q1004.0625,571.4063 1003.6719,571.9375 Q1003.2813,572.4688 1003.0781,573.25 Q1002.8906,574.0156 1002.8906,574.9688 Q1002.8906,575.9375 1003.0625,576.7031 Q1003.25,577.4531 1003.6094,577.9688 Q1003.9844,578.4844 1004.5625,578.7656 Q1005.1406,579.0313 1005.9375,579.0313 Q1006.6719,579.0313 1007.4063,578.8594 Q1008.1563,578.6875 1009.0313,578.3906 L1009.0313,580.5469 Q1008.625,580.7031 1008.2344,580.8281 Q1007.8438,580.9375 1007.4375,581.0156 Q1007.0313,581.0938 1006.6094,581.125 Q1006.1875,581.1719 1005.6875,581.1719 Q1004.2813,581.1719 1003.25,580.7188 Q1002.2344,580.2656 1001.5625,579.4531 Q1000.8906,578.6406 1000.5625,577.5 Q1000.2344,576.3438 1000.2344,574.9531 Q1000.2344,573.5781 1000.6094,572.4219 Q1000.9844,571.2656 1001.7031,570.4375 Q1002.4219,569.6094 1003.4844,569.1563 Q1004.5469,568.6875 1005.9375,568.6875 Q1006.8438,568.6875 1007.75,568.9219 Q1008.6563,569.1406 1009.4844,569.5469 L1008.6563,571.6406 Q1007.9688,571.3125 1007.2813,571.0781 Q1006.5938,570.8281 1005.9375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="1020" y="579.8467">PrimitiveType</text></g><!--class TextAnchor--><g id="elem_TextAnchor"><rect codeLine="452" fill="#F1F1F1" height="32" id="TextAnchor" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="104" x="1212.5" y="283"/><ellipse cx="1227.5" cy="299" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1227.4375,294.8281 Q1226.6875,294.8281 1226.125,295.125 Q1225.5625,295.4063 1225.1719,295.9375 Q1224.7813,296.4688 1224.5781,297.25 Q1224.3906,298.0156 1224.3906,298.9688 Q1224.3906,299.9375 1224.5625,300.7031 Q1224.75,301.4531 1225.1094,301.9688 Q1225.4844,302.4844 1226.0625,302.7656 Q1226.6406,303.0313 1227.4375,303.0313 Q1228.1719,303.0313 1228.9063,302.8594 Q1229.6563,302.6875 1230.5313,302.3906 L1230.5313,304.5469 Q1230.125,304.7031 1229.7344,304.8281 Q1229.3438,304.9375 1228.9375,305.0156 Q1228.5313,305.0938 1228.1094,305.125 Q1227.6875,305.1719 1227.1875,305.1719 Q1225.7813,305.1719 1224.75,304.7188 Q1223.7344,304.2656 1223.0625,303.4531 Q1222.3906,302.6406 1222.0625,301.5 Q1221.7344,300.3438 1221.7344,298.9531 Q1221.7344,297.5781 1222.1094,296.4219 Q1222.4844,295.2656 1223.2031,294.4375 Q1223.9219,293.6094 1224.9844,293.1563 Q1226.0469,292.6875 1227.4375,292.6875 Q1228.3438,292.6875 1229.25,292.9219 Q1230.1563,293.1406 1230.9844,293.5469 L1230.1563,295.6406 Q1229.4688,295.3125 1228.7813,295.0781 Q1228.0938,294.8281 1227.4375,294.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="1241.5" y="303.8467">TextAnchor</text></g><!--class SearchParameters--><g id="elem_SearchParameters"><rect codeLine="465" fill="#F1F1F1" height="32" id="SearchParameters" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="148" x="137.5" y="7"/><ellipse cx="152.5" cy="23" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M155.0625,29 L149.5469,29 L149.5469,27.5313 L151.0313,26.8594 L151.0313,19 L149.5469,18.3281 L149.5469,16.8594 L155.0625,16.8594 L155.0625,18.3281 L153.5938,19 L153.5938,26.8594 L155.0625,27.5313 L155.0625,29 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="116" x="166.5" y="27.8467">SearchParameters</text></g><!--class EntityDictionary--><g id="elem_EntityDictionary"><rect codeLine="470" fill="#F1F1F1" height="32" id="EntityDictionary" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="133" x="321" y="7"/><ellipse cx="336" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M335.9375,18.8281 Q335.1875,18.8281 334.625,19.125 Q334.0625,19.4063 333.6719,19.9375 Q333.2813,20.4688 333.0781,21.25 Q332.8906,22.0156 332.8906,22.9688 Q332.8906,23.9375 333.0625,24.7031 Q333.25,25.4531 333.6094,25.9688 Q333.9844,26.4844 334.5625,26.7656 Q335.1406,27.0313 335.9375,27.0313 Q336.6719,27.0313 337.4063,26.8594 Q338.1563,26.6875 339.0313,26.3906 L339.0313,28.5469 Q338.625,28.7031 338.2344,28.8281 Q337.8438,28.9375 337.4375,29.0156 Q337.0313,29.0938 336.6094,29.125 Q336.1875,29.1719 335.6875,29.1719 Q334.2813,29.1719 333.25,28.7188 Q332.2344,28.2656 331.5625,27.4531 Q330.8906,26.6406 330.5625,25.5 Q330.2344,24.3438 330.2344,22.9531 Q330.2344,21.5781 330.6094,20.4219 Q330.9844,19.2656 331.7031,18.4375 Q332.4219,17.6094 333.4844,17.1563 Q334.5469,16.6875 335.9375,16.6875 Q336.8438,16.6875 337.75,16.9219 Q338.6563,17.1406 339.4844,17.5469 L338.6563,19.6406 Q337.9688,19.3125 337.2813,19.0781 Q336.5938,18.8281 335.9375,18.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="350" y="27.8467">EntityDictionary</text></g><!--class FamixRepository--><g id="elem_FamixRepository"><rect codeLine="503" fill="#F1F1F1" height="32" id="FamixRepository" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="489.5" y="7"/><ellipse cx="504.5" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M504.4375,18.8281 Q503.6875,18.8281 503.125,19.125 Q502.5625,19.4063 502.1719,19.9375 Q501.7813,20.4688 501.5781,21.25 Q501.3906,22.0156 501.3906,22.9688 Q501.3906,23.9375 501.5625,24.7031 Q501.75,25.4531 502.1094,25.9688 Q502.4844,26.4844 503.0625,26.7656 Q503.6406,27.0313 504.4375,27.0313 Q505.1719,27.0313 505.9063,26.8594 Q506.6563,26.6875 507.5313,26.3906 L507.5313,28.5469 Q507.125,28.7031 506.7344,28.8281 Q506.3438,28.9375 505.9375,29.0156 Q505.5313,29.0938 505.1094,29.125 Q504.6875,29.1719 504.1875,29.1719 Q502.7813,29.1719 501.75,28.7188 Q500.7344,28.2656 500.0625,27.4531 Q499.3906,26.6406 499.0625,25.5 Q498.7344,24.3438 498.7344,22.9531 Q498.7344,21.5781 499.1094,20.4219 Q499.4844,19.2656 500.2031,18.4375 Q500.9219,17.6094 501.9844,17.1563 Q503.0469,16.6875 504.4375,16.6875 Q505.3438,16.6875 506.25,16.9219 Q507.1563,17.1406 507.9844,17.5469 L507.1563,19.6406 Q506.4688,19.3125 505.7813,19.0781 Q505.0938,18.8281 504.4375,18.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="518.5" y="27.8467">FamixRepository</text></g><!--class Importer--><g id="elem_Importer"><rect codeLine="539" fill="#F1F1F1" height="32" id="Importer" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="91" x="166" y="99"/><ellipse cx="181" cy="115" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M180.9375,110.8281 Q180.1875,110.8281 179.625,111.125 Q179.0625,111.4063 178.6719,111.9375 Q178.2813,112.4688 178.0781,113.25 Q177.8906,114.0156 177.8906,114.9688 Q177.8906,115.9375 178.0625,116.7031 Q178.25,117.4531 178.6094,117.9688 Q178.9844,118.4844 179.5625,118.7656 Q180.1406,119.0313 180.9375,119.0313 Q181.6719,119.0313 182.4063,118.8594 Q183.1563,118.6875 184.0313,118.3906 L184.0313,120.5469 Q183.625,120.7031 183.2344,120.8281 Q182.8438,120.9375 182.4375,121.0156 Q182.0313,121.0938 181.6094,121.125 Q181.1875,121.1719 180.6875,121.1719 Q179.2813,121.1719 178.25,120.7188 Q177.2344,120.2656 176.5625,119.4531 Q175.8906,118.6406 175.5625,117.5 Q175.2344,116.3438 175.2344,114.9531 Q175.2344,113.5781 175.6094,112.4219 Q175.9844,111.2656 176.7031,110.4375 Q177.4219,109.6094 178.4844,109.1563 Q179.5469,108.6875 180.9375,108.6875 Q181.8438,108.6875 182.75,108.9219 Q183.6563,109.1406 184.4844,109.5469 L183.6563,111.6406 Q182.9688,111.3125 182.2813,111.0781 Q181.5938,110.8281 180.9375,110.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="59" x="195" y="119.8467">Importer</text></g><!--class FamixJSONExporter--><g id="elem_FamixJSONExporter"><rect codeLine="551" fill="#F1F1F1" height="32" id="FamixJSONExporter" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="156" x="292.5" y="99"/><ellipse cx="307.5" cy="115" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M307.4375,110.8281 Q306.6875,110.8281 306.125,111.125 Q305.5625,111.4063 305.1719,111.9375 Q304.7813,112.4688 304.5781,113.25 Q304.3906,114.0156 304.3906,114.9688 Q304.3906,115.9375 304.5625,116.7031 Q304.75,117.4531 305.1094,117.9688 Q305.4844,118.4844 306.0625,118.7656 Q306.6406,119.0313 307.4375,119.0313 Q308.1719,119.0313 308.9063,118.8594 Q309.6563,118.6875 310.5313,118.3906 L310.5313,120.5469 Q310.125,120.7031 309.7344,120.8281 Q309.3438,120.9375 308.9375,121.0156 Q308.5313,121.0938 308.1094,121.125 Q307.6875,121.1719 307.1875,121.1719 Q305.7813,121.1719 304.75,120.7188 Q303.7344,120.2656 303.0625,119.4531 Q302.3906,118.6406 302.0625,117.5 Q301.7344,116.3438 301.7344,114.9531 Q301.7344,113.5781 302.1094,112.4219 Q302.4844,111.2656 303.2031,110.4375 Q303.9219,109.6094 304.9844,109.1563 Q306.0469,108.6875 307.4375,108.6875 Q308.3438,108.6875 309.25,108.9219 Q310.1563,109.1406 310.9844,109.5469 L310.1563,111.6406 Q309.4688,111.3125 308.7813,111.0781 Q308.0938,110.8281 307.4375,110.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="321.5" y="119.8467">FamixJSONExporter</text></g><!--reverse link FamixBaseElement to Entity--><g id="link_FamixBaseElement_Entity"><path d="M739.5,59.61 C739.5,73.31 739.5,88.22 739.5,98.96 " fill="none" id="FamixBaseElement-backto-Entity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="732.5,59.27,739.5,39.27,746.5,59.27,732.5,59.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to SourceLanguage--><g id="link_Entity_SourceLanguage"><path d="M694.74,140.87 C665.87,156.91 629.26,177.24 604.7,190.89 " fill="none" id="Entity-backto-SourceLanguage" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="691.5,134.66,712.38,131.06,698.3,146.9,691.5,134.66" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link SourcedEntity to Comment--><g id="link_SourcedEntity_Comment"><path d="M676.58,229.61 C628.68,246.07 563.96,268.3 521.5,282.89 " fill="none" id="SourcedEntity-backto-Comment" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="674.46,222.94,695.65,223.06,679.01,236.18,674.46,222.94" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to SourceAnchor--><g id="link_Entity_SourceAnchor"><path d="M793.37,129.39 C859.73,145.89 972.15,173.84 1041.3,191.03 " fill="none" id="Entity-backto-SourceAnchor" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="791.28,136.09,773.56,124.47,794.65,122.5,791.28,136.09" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to SourcedEntity--><g id="link_Entity_SourcedEntity"><path d="M739.5,151.61 C739.5,165.31 739.5,180.22 739.5,190.96 " fill="none" id="Entity-backto-SourcedEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="732.5,151.27,739.5,131.27,746.5,151.27,732.5,151.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link SourcedEntity to Association--><g id="link_SourcedEntity_Association"><path d="M701.5,234.72 C679.13,250.45 651.66,269.76 632.99,282.89 " fill="none" id="SourcedEntity-backto-Association" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="697.69,228.84,718.08,223.06,705.74,240.29,697.69,228.84" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ScopingEntity to Namespace--><g id="link_ScopingEntity_Namespace"><path d="M159.02,510.02 C134.37,525.87 103.73,545.57 83.01,558.89 " fill="none" id="ScopingEntity-backto-Namespace" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="155.46,503.99,176.07,499.06,163.03,515.77,155.46,503.99" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ContainerEntity to ScopingEntity--><g id="link_ContainerEntity_ScopingEntity"><path d="M783.53,407.15 C578.68,438.38 360.1,464 257.86,475.54 " fill="none" id="ContainerEntity-backto-ScopingEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="782.48,400.23,803.31,404.11,784.6,414.07,782.48,400.23" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ScopingEntity to ScriptEntity--><g id="link_ScopingEntity_ScriptEntity"><path d="M199.5,519.61 C199.5,533.31 199.5,548.22 199.5,558.96 " fill="none" id="ScopingEntity-backto-ScriptEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="192.5,519.27,199.5,499.27,206.5,519.27,192.5,519.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ScriptEntity to Module--><g id="link_ScriptEntity_Module"><path d="M191.7,611.12 C188.62,624.95 185.26,640.09 182.84,650.96 " fill="none" id="ScriptEntity-backto-Module" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="184.94,609.27,196.11,591.27,198.6,612.31,184.94,609.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Association to ImportClause--><g id="link_Association_ImportClause"><path d="M540.05,315.52 C428.02,339.76 319.01,363.23 253.62,377.29 " fill="none" id="Association-backto-ImportClause" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="538.86,308.62,559.88,311.23,541.82,322.3,538.86,308.62" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link NamedEntity to Alias--><g id="link_NamedEntity_Alias"><path d="M956.74,331.69 C967.52,346.4 979.84,363.18 988.47,374.96 " fill="none" id="NamedEntity-backto-Alias" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="950.88,335.53,944.7,315.27,962.17,327.26,950.88,335.53" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link NamedEntity to Decorator--><g id="link_NamedEntity_Decorator"><path d="M981.87,324.18 C1014.15,340.32 1055.6,361.05 1083.27,374.89 " fill="none" id="NamedEntity-backto-Decorator" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="978.39,330.27,963.63,315.06,984.65,317.75,978.39,330.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link SourcedEntity to NamedEntity--><g id="link_SourcedEntity_NamedEntity"><path d="M790.17,231.51 C825.16,247.74 870.67,268.85 900.92,282.89 " fill="none" id="SourcedEntity-backto-NamedEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="787.17,237.83,771.97,223.06,793.06,225.13,787.17,237.83" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link StructuralEntity to Parameter--><g id="link_StructuralEntity_Parameter"><path d="M1361.2,418.72 C1338.66,434.45 1310.97,453.76 1292.16,466.89 " fill="none" id="StructuralEntity-backto-Parameter" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1357.5,412.77,1377.91,407.06,1365.51,424.25,1357.5,412.77" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link StructuralEntity to Property--><g id="link_StructuralEntity_Property"><path d="M1399.5,427.61 C1399.5,441.31 1399.5,456.22 1399.5,466.96 " fill="none" id="StructuralEntity-backto-Property" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1392.5,427.27,1399.5,407.27,1406.5,427.27,1392.5,427.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Association to Inheritance--><g id="link_Association_Inheritance"><path d="M547.32,321.39 C497.89,337.87 430.79,360.24 386.84,374.89 " fill="none" id="Association-backto-Inheritance" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="545.12,314.75,566.31,315.06,549.55,328.03,545.12,314.75" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Type to Interface--><g id="link_Type_Interface"><path d="M679.64,496.11 C605.38,513.79 468.42,546.4 397.58,563.27 " fill="none" id="Type-backto-Interface" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="678.17,489.26,699.25,491.44,681.41,502.88,678.17,489.26" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link BehavioralEntity to Method--><g id="link_BehavioralEntity_Method"><path d="M1141.77,515.21 C1153.3,530.03 1166.54,547.06 1175.8,558.96 " fill="none" id="BehavioralEntity-backto-Method" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1136.13,519.35,1129.37,499.27,1147.18,510.76,1136.13,519.35" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Type to Class--><g id="link_Type_Class"><path d="M680.36,500.96 C626.25,519.27 541.73,547.87 496.16,563.29 " fill="none" id="Type-backto-Class" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="678.28,494.28,699.47,494.5,682.76,507.54,678.28,494.28" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Class to ParameterizableClass--><g id="link_Class_ParameterizableClass"><path d="M497.52,604.58 C515.31,619.97 536.54,638.34 551.12,650.96 " fill="none" id="Class-backto-ParameterizableClass" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="492.68,609.65,482.14,591.27,501.85,599.06,492.68,609.65" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Interface to ParameterizableInterface--><g id="link_Interface_ParameterizableInterface"><path d="M352.5,611.61 C352.5,625.31 352.5,640.22 352.5,650.96 " fill="none" id="Interface-backto-ParameterizableInterface" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="345.5,611.27,352.5,591.27,359.5,611.27,345.5,611.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link BehavioralEntity to Function--><g id="link_BehavioralEntity_Function"><path d="M1167.34,507.73 C1201.36,523.94 1245.43,544.92 1274.76,558.89 " fill="none" id="BehavioralEntity-backto-Function" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1164.18,513.98,1149.13,499.06,1170.2,501.34,1164.18,513.98" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Method to Accessor--><g id="link_Method_Accessor"><path d="M1187.5,611.61 C1187.5,625.31 1187.5,640.22 1187.5,650.96 " fill="none" id="Method-backto-Accessor" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1180.5,611.27,1187.5,591.27,1194.5,611.27,1180.5,611.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Type to ParameterType--><g id="link_Type_ParameterType"><path d="M691.41,510.25 C667.87,526.06 638.74,545.63 619,558.89 " fill="none" id="Type-backto-ParameterType" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="687.57,504.4,708.07,499.06,695.37,516.03,687.57,504.4" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ContainerEntity to BehavioralEntity--><g id="link_ContainerEntity_BehavioralEntity"><path d="M929.21,413.94 C974.64,430.36 1035.6,452.4 1075.69,466.89 " fill="none" id="ContainerEntity-backto-BehavioralEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="926.61,420.45,910.18,407.06,931.37,407.28,926.61,420.45" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Association to Invocation--><g id="link_Association_Invocation"><path d="M572.36,326.49 C549.06,342.26 520.33,361.7 500.83,374.89 " fill="none" id="Association-backto-Invocation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="568.75,320.48,589.24,315.06,576.6,332.07,568.75,320.48" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Association to Reference--><g id="link_Association_Reference"><path d="M611.5,335.61 C611.5,349.31 611.5,364.22 611.5,374.96 " fill="none" id="Association-backto-Reference" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="604.5,335.27,611.5,315.27,618.5,335.27,604.5,335.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link StructuralEntity to Variable--><g id="link_StructuralEntity_Variable"><path d="M1436.05,419.19 C1457.08,434.83 1482.71,453.89 1500.18,466.89 " fill="none" id="StructuralEntity-backto-Variable" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1431.62,424.62,1419.75,407.06,1439.98,413.38,1431.62,424.62" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link NamedEntity to ContainerEntity--><g id="link_NamedEntity_ContainerEntity"><path d="M910.61,331.69 C899.99,346.4 887.87,363.18 879.36,374.96 " fill="none" id="NamedEntity-backto-ContainerEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="905.09,327.38,922.47,315.27,916.44,335.58,905.09,327.38" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ContainerEntity to Type--><g id="link_ContainerEntity_Type"><path d="M828.6,418.02 C804.3,433.87 774.1,453.57 753.67,466.89 " fill="none" id="ContainerEntity-backto-Type" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="824.83,412.13,845.4,407.06,832.47,423.85,824.83,412.13" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link NamedEntity to StructuralEntity--><g id="link_NamedEntity_StructuralEntity"><path d="M1010.52,315.56 C1135.6,340.14 1260.3,363.8 1334.26,377.74 " fill="none" id="NamedEntity-backto-StructuralEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1009.13,322.42,990.85,311.69,1011.83,308.69,1009.13,322.42" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Association to Access--><g id="link_Association_Access"><path d="M647.75,327.19 C668.61,342.83 694.02,361.89 711.35,374.89 " fill="none" id="Association-backto-Access" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="643.39,332.66,631.59,315.06,651.79,321.46,643.39,332.66" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Type to Enum--><g id="link_Type_Enum"><path d="M730.5,519.61 C730.5,533.31 730.5,548.22 730.5,558.96 " fill="none" id="Type-backto-Enum" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="723.5,519.27,730.5,499.27,737.5,519.27,723.5,519.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link StructuralEntity to EnumValue--><g id="link_StructuralEntity_EnumValue"><path d="M1460.45,413.94 C1506.07,430.36 1567.27,452.4 1607.52,466.89 " fill="none" id="StructuralEntity-backto-EnumValue" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1457.79,420.42,1441.34,407.06,1462.53,407.25,1457.79,420.42" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Variable to ImplicitVariable--><g id="link_Variable_ImplicitVariable"><path d="M1520.5,519.61 C1520.5,533.31 1520.5,548.22 1520.5,558.96 " fill="none" id="Variable-backto-ImplicitVariable" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1513.5,519.27,1520.5,499.27,1527.5,519.27,1513.5,519.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link SourceAnchor to IndexedFileAnchor--><g id="link_SourceAnchor_IndexedFileAnchor"><path d="M1101.5,243.61 C1101.5,257.31 1101.5,272.22 1101.5,282.96 " fill="none" id="SourceAnchor-backto-IndexedFileAnchor" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1094.5,243.27,1101.5,223.27,1108.5,243.27,1094.5,243.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Type to ParameterizedType--><g id="link_Type_ParameterizedType"><path d="M772.25,509.56 C798.26,525.49 830.85,545.44 852.82,558.89 " fill="none" id="Type-backto-ParameterizedType" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="768.51,515.48,755.1,499.06,775.82,503.54,768.51,515.48" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Type to PrimitiveType--><g id="link_Type_PrimitiveType"><path d="M781.11,498.19 C840.21,514.76 937.52,542.04 997.88,558.97 " fill="none" id="Type-backto-PrimitiveType" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="778.94,504.85,761.57,492.71,782.72,491.37,778.94,504.85" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link SourceAnchor to TextAnchor--><g id="link_SourceAnchor_TextAnchor"><path d="M1146.54,232.87 C1175.59,248.91 1212.42,269.24 1237.13,282.89 " fill="none" id="SourceAnchor-backto-TextAnchor" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1142.91,238.86,1128.78,223.06,1149.67,226.6,1142.91,238.86" style="stroke:#181818;stroke-width:1.0;"/></g><!--SRC=[xHpBSjmsykwlu96foAuzRZ5RIicId9eaihGUnJbiRRau94R3pGmvIv1QARR_VV5ie846P-n4z3xYWpn4Fz40-W60t3GrotPijs8zVrPjIywpotPeXiUCFGoihNdsgjmr3ozBpYwtRCVQ8Nl_B1F_lhvZm_VBwzVvLqN6XxvfxtHpMTStVRTd_T0mVjjTFkoxVc1zpioFGZEKf1OcEDntJVtier5WsOrznNuisxknl6EWYD5BYt_E5LAj6eMa8bkouIzBh_7nL2lKbZk6LHIQBp6rx4IANdG8DUU-vCSYGq3RbIUsq7ctKqDXJODqi1Pg-FVBYwugibNNRLdPWb8B3P1w8H1te93MxzVpgck7iccbfaWm23Yt2CgkCGhtKLBS8f6Ymz4udklsqCJSGGBAcGP8z-IihJPTdvZ0J2-db0tDQajRq2BGV6RjPnsuZ70UBeTnHKr3sKxFGWK92D64u9w12sJkO8thHcT67ua7I6ccmMHKgy_u7BCMJxqvgS7MgM04ONJJa1i-XLtEI4ZDX8LxLcDdM0JE4OHUaEYksvY09mcE4plJx3hZlAkQScYwTjhLjG9Q-EYWsMi1aPf5C6vW4IaQXNtFxfjkv3Jp6mDD2G0uoMOc8xuMyO_loye5qcNLxOK4RCAz6FLsa20vsZw6wwv3KHChHk8OASrpBlU4Uchx3x47Mw3QDDjQA0m6CmiSdjqIToXsaOT8GdbeoXLdU2pSaCncXhxP3u4Lo5dGZZ8Jl5x_ACp3hzUtQd7eHjVv64Vgx6Dn6ck2Erfr5kzyK_Pb9Jh4aqeub0aTFAGqwvd6ugghnws_5hsXCOFGZSDT9sGkTfA5cONwuNnRZjoRYDSOrSv60bceZf7pnaCgCfza9bFu8i4Wli-t2OJ2WxbQ61kwH0B3fQO-1eynD4Uff4P4iyy08S6NgpNCpXO8HqgCi7Y4DS4OAR1JEYtth6hMZLGoI7glC9n8VaEC1CUvmlYsAJaCiDTh77kcx7tZOQIiZN2IB96bIwcP6v3RnxsRLMS-JCfqK1v22JupsLQaSLrV3bwLGTYtjaY2Iyyu5sihcbGNCGuniIYi2UvXHYlnfXVM1KPAZNM8DiLxnZmhB8J8P7KzRhUFVnt5d15hKQK5qM2yYb28iI2GqgpHIFIiOiqzgnVjVLSfLsk333Iu4FCcHeOm4w8BCyReUInEX1luZNrlAugYuqBV0gDEXpwCd9Uj_f4EUy_9RQF4IAZcDcLjxHnCNvJVE0sS32ZlGuNMwb4xbq9xKMf1TRtX3OlpD5xL82944cAWoItbmZcMcPQFyDx2W0BW5i_GZzKmzkLsAbgyP9jIr5Q0bGmPDE9qt0XfvhA5fdyyQ8g6dqk2PLCpQdy5WFGcYmDJV70TZCoYaBCFOX4BvTUYZaaQFO4vRVM8ACoEL19Z9hqs_QcV76cmdV08GGoEHSWjevcpeKMxONqpb6qrcVJoKKXH55FsNWBMjBKzl4d6U8zjN1sXmEeeyIihV7MCw2Srlv47nfVP6lWMuAudZrs9fzwUZyMm4op0SJgAUMr-5B2ayLHcmwQhZQWhzU1DP0sqKX1OJcFrd6iMeevH_mV39oHwimrYFBISuddauxeG7sBByv00Emz55Vui3-VKqIgjFa6X5LPdTOmoJrdbg-60AHR64JgKVL6t-alJrb6-yuDe9F8TrUmJu1oEdwr4SraDL4ooC3ea0PHW4WYPAV8r_APlxaLfGOan85g81SOSGW7ZQjkGvtGQac2lOH5vf7qti4fKHhJ-1fZgWGLJVEOwwrH_AMSzoqJx8oBy4H5-r_gc-RLSRHcUrVh91GMDAUUwdNL-swaV5pnKc7u4iko1tvmZAKM6W5_6975cvbh-tqppQcmhTEoPo22USjUs4ckCUnkB9gTvFzkqKBwUpD9LNlCTQyNKgQod4vaDkSO-fEVP1zV93relQ_SWypAYrCd2KmdZeR2dx-LCapcQkmSEOXiEdOx3kZSKSLItm9W33ZdDNLiEOq_S2xCG8kjri8W-t2lH0n4wAC8vnOw9S4hE8NdEY3mmlV549mvCiUZ4WQc7b6PDRzmUiwMyY96djfHZz3mMbznIjZTQj3D7HpmN7YWwuK70c0cICOY6czIm_svn2KdvCd79sNXgxwegsxgfHSLZJ14w0E-k561QIoHmvRKfYvi3_-aTMdlEqTD7JUQaea-TCG6SP8CTYh24X0SEpRaL1LULEuN10IF1Q3xlzOHpvmrRCn7H3cnxgXEp2Kig-AGbDKQ24LwsPIzO1axXLZL6xi0q-oGpsUrjsJSoeXzvC19qE6tA6mfzoh8qmN5IPxiOZJEAWvSE_lEj1VVIC0viI0IadczDqRcBgHIbzBIICjIy8XeFAFvORRkTMDxLURVRRzc3eWZoadC2YSXCIBGf0MH-j1n4q31tTnFvaKEPo8yyf3Hhf86zqmLEq8mUFCTtkXog7R0GsRlJ1Q0yabGupqiQnTp6E-_a5kZqNJ-9S_YkdyAQu4uQvgZ4yJf6daeSO_Gy5fTC74jLDS71lNhoJkuD58xkVRWykrVFkMPIc1ACNDVUNWPE5L66Y1D3bGyg1ecCr3AtfPuHWCg_q640hfMPnXOgs7QjXdqgCe88QNPlmfdHo4OtfuPj0JK2527RjkIMMG5HSgP0W_OcKXUAtPijgQY2tfH9HHBoNPd9l4OeTpPnw-JMmHCtJm0Z1rxK3HHkCX76Vsw6pGKgajJxL46cuktb9YdXNIoQLkxjMjg8bASWHPGqeNwiS1NHfFgJBcHU7kHmkC098H67rG640-MGBPgFY46B27KY1aN8UIGf4OEUyivxc2HFf89MtRD9Zxy8i5AU7-Fbc3aP2MROedZoZUAfeguq-uzfFsXtAAVS8E0asP5n9bxwKQHH8qaYSGyfpJ0uSlsvR-ZZOWMWTourAAITQGGlHLv6RhJVbzlHBWU9z5O- -v5QWkqw215Kd1QFkU9IP02ViLTAtYVUA9HqoPiN3ZXzsKBYpVSQnRQfcY7Q9u26zq-_BLYp1rQ_QhRXEw_eHLYxnpEK_N3JnJNOqW284WD08J5QUq8anVTIDHDS3G2JXHnb1KEnbEqqJmNH6r2Nc3x8daHNIEvB2qbPmfEm3BaW6Min9FGLSmEWBfPRK4Wy_xcm3cUaRrg9z9K8c2zDSnGi0O09SSdNtutUgxsu73kpGBeai-3SCfar2D_qpKwadVSiPQ-dh8M4kF-nPV_VjMmQEEjTihAlDkueoWu-L-rdVLy-Mhb_-xi6wHrj4gIC_YsOxoFwGCX5eohyieUx26kfuHksDxgANnrlXgv_D3RTFQWAygeK6EAFkPbzeh5VU1MeH5N7sWbKU-IjdwZpSCS7pi4JlFnpSf8V83YUyFvkWcVmCh0aaPCZWMtU2BNY_JT27RrSoGbwjSX1UUG7Y2vfZseO__JwXzVNFxz-z_RinvykyOGKCiqN9gvN_s3L0C8rHwtVINQxlEhw_KRZU0vnL_x25APA3LnYOCEY_MX5H7-IgMa42COeoMzRL3qh1tRTVoSMeDfv4gBojVrWWNmwoHgkRUpdrGTjJxDtBtNlxCkZkWgp-uV13F2vA91vfqS71_L0qIi0hO6QttcrjNVeAVB32uJc3NCzLowbS3UmA2d7Bvt82XFt8Jr9ybQBQONZIv1k8H5lyXuavYhgHhrLrFKOe951c6ZvpXMU67L90awoQkpL4SzvaOtjBsttBs-ssIiyPf0DUTG3s5fTYny5N0R3yc6B5Twwd9IDBnlvGu6lcNZt2gWn1s2QZxwhiDSp_3XcBb7p64viybBCB2pY8qin4Ul7dL-RKHnSRHTGwp9MihXINyhIBFHlHAqGwQKr_PBTIHQzmHekRfYTmG8X3Eoj6zpwYPCP-WPwHkP9VSlcJTdUIL- -Up2V_t1-iRQnW_Z8b75VcWTjIBWAuwTO9nby1kathdTwiRruyIBxSxRh18hy-M7QUtzEH8u3XTu-RDN1sQ8MVLDlgmcprUGdApnIxxmh9jzzeecEzJwVuokFwOgxn4t6FF-55ioxtPnxhveT9X7DhZToQrsDiItwaWfwBn2ZJseisdLNPEyptUR9-TQ-THoefDek_pcMMr_PRpBtiGgNqtoJ1Pzqa8qtvR2n2yAIGHwbsGE-50YJGY3pHQlh2WxBKRPUi7KvRWSDyY0ViJcwzbuuczlk3TkMSgfBJV9onRljE22rJZA_LJWfcVPvTPB9GE4QDAuZWa-d-MUQtWSART8CoHBSbF0h0vJkm95paEgZZ8_-7916kagzjw71RwVEF3NAiGUr1hi1Pf324eL3Kvzteyxal1BuEJKoK6dybgnVLi4nX_opkOQLCyNygqzHK5QwNkU9AXw1zvw18brqTY3blNnSr3doPU6SfAa-zGiED5UzHI2tdVua_SswwtVbuFp0nw2FxzHd1xRXPI1w5ONOrYtcmyRieO5o1vXujSja7xtg1CXSMJ996fGRG6uAWabQZHCGUddueL71IpNW0vdi91-Sm0AngpWdgOEACoPFVghCTRSvf2BfQmWkxXsrj7Fw-fskq9GwPrnWl-gxdQrknTz0TlGklw7NXp37Sl1ymRkcRQG7aKH2JxQLNmHWMx-xmg_e9NrYwocttnjzVpES_0Us_V1Ni5ZllOAkWwA9ZdXlJIehNHDNlecx7Rkl4hjkWfrCl62v0_konHiflWHpXrPkPBOeoxQtQl7a3sHYPRMyFEmMGVlnMMbUnSoyy4zyUjYvMltytj9zp9xmbQmG8VgGA-cUdw_6zPhrPdzL65stcbqGjcuUKfe-vjZsSgl4h-id9zU_0G00]--></g></svg>
|
|
1
|
+
<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="690px" preserveAspectRatio="none" style="width:2124px;height:690px;background:#FFFFFF;" version="1.1" viewBox="0 0 2124 690" width="2124px" zoomAndPan="magnify"><defs/><g><!--class FamixJSONExporter--><g id="elem_FamixJSONExporter"><rect codeLine="1" fill="#F1F1F1" height="32" id="FamixJSONExporter" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="156" x="756" y="7"/><ellipse cx="771" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M770.9375,18.8281 Q770.1875,18.8281 769.625,19.125 Q769.0625,19.4063 768.6719,19.9375 Q768.2813,20.4688 768.0781,21.25 Q767.8906,22.0156 767.8906,22.9688 Q767.8906,23.9375 768.0625,24.7031 Q768.25,25.4531 768.6094,25.9688 Q768.9844,26.4844 769.5625,26.7656 Q770.1406,27.0313 770.9375,27.0313 Q771.6719,27.0313 772.4063,26.8594 Q773.1563,26.6875 774.0313,26.3906 L774.0313,28.5469 Q773.625,28.7031 773.2344,28.8281 Q772.8438,28.9375 772.4375,29.0156 Q772.0313,29.0938 771.6094,29.125 Q771.1875,29.1719 770.6875,29.1719 Q769.2813,29.1719 768.25,28.7188 Q767.2344,28.2656 766.5625,27.4531 Q765.8906,26.6406 765.5625,25.5 Q765.2344,24.3438 765.2344,22.9531 Q765.2344,21.5781 765.6094,20.4219 Q765.9844,19.2656 766.7031,18.4375 Q767.4219,17.6094 768.4844,17.1563 Q769.5469,16.6875 770.9375,16.6875 Q771.8438,16.6875 772.75,16.9219 Q773.6563,17.1406 774.4844,17.5469 L773.6563,19.6406 Q772.9688,19.3125 772.2813,19.0781 Q771.5938,18.8281 770.9375,18.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="785" y="27.8467">FamixJSONExporter</text></g><!--class Entity--><g id="elem_Entity"><rect codeLine="8" fill="#F1F1F1" height="32" id="Entity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="68" x="1341" y="99"/><ellipse cx="1356" cy="115" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1355.9375,110.8281 Q1355.1875,110.8281 1354.625,111.125 Q1354.0625,111.4063 1353.6719,111.9375 Q1353.2813,112.4688 1353.0781,113.25 Q1352.8906,114.0156 1352.8906,114.9688 Q1352.8906,115.9375 1353.0625,116.7031 Q1353.25,117.4531 1353.6094,117.9688 Q1353.9844,118.4844 1354.5625,118.7656 Q1355.1406,119.0313 1355.9375,119.0313 Q1356.6719,119.0313 1357.4063,118.8594 Q1358.1563,118.6875 1359.0313,118.3906 L1359.0313,120.5469 Q1358.625,120.7031 1358.2344,120.8281 Q1357.8438,120.9375 1357.4375,121.0156 Q1357.0313,121.0938 1356.6094,121.125 Q1356.1875,121.1719 1355.6875,121.1719 Q1354.2813,121.1719 1353.25,120.7188 Q1352.2344,120.2656 1351.5625,119.4531 Q1350.8906,118.6406 1350.5625,117.5 Q1350.2344,116.3438 1350.2344,114.9531 Q1350.2344,113.5781 1350.6094,112.4219 Q1350.9844,111.2656 1351.7031,110.4375 Q1352.4219,109.6094 1353.4844,109.1563 Q1354.5469,108.6875 1355.9375,108.6875 Q1356.8438,108.6875 1357.75,108.9219 Q1358.6563,109.1406 1359.4844,109.5469 L1358.6563,111.6406 Q1357.9688,111.3125 1357.2813,111.0781 Q1356.5938,110.8281 1355.9375,110.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="1370" y="119.8467">Entity</text></g><!--class FamixBaseElement--><g id="elem_FamixBaseElement"><rect codeLine="602" fill="#F1F1F1" height="32" id="FamixBaseElement" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="153" x="1298.5" y="7"/><ellipse cx="1313.5" cy="23" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1316.4531,28 L1315.625,25.1094 L1311.4375,25.1094 L1310.5938,28 L1308,28 L1311.9375,15.8125 L1315.0938,15.8125 L1319.0469,28 L1316.4531,28 Z M1315.0156,22.9531 L1314.25,20.2969 Q1314.1875,20.1406 1314.0938,19.8125 Q1314,19.4688 1313.875,19.0625 Q1313.7656,18.6406 1313.6563,18.2344 Q1313.5625,17.8125 1313.5313,17.5313 Q1313.5,17.7031 1313.4375,17.9531 Q1313.3906,18.2031 1313.3125,18.4844 Q1313.25,18.7656 1313.1719,19.0469 Q1313.0938,19.3281 1313.0313,19.5781 Q1312.9688,19.8281 1312.9063,20.0156 Q1312.8594,20.2031 1312.8281,20.2969 L1312.0625,22.9531 L1315.0156,22.9531 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="121" x="1327.5" y="27.8467">FamixBaseElement</text></g><!--class SourceLanguage--><g id="elem_SourceLanguage"><rect codeLine="12" fill="#F1F1F1" height="32" id="SourceLanguage" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="134" x="622" y="191"/><ellipse cx="637" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M636.9375,202.8281 Q636.1875,202.8281 635.625,203.125 Q635.0625,203.4063 634.6719,203.9375 Q634.2813,204.4688 634.0781,205.25 Q633.8906,206.0156 633.8906,206.9688 Q633.8906,207.9375 634.0625,208.7031 Q634.25,209.4531 634.6094,209.9688 Q634.9844,210.4844 635.5625,210.7656 Q636.1406,211.0313 636.9375,211.0313 Q637.6719,211.0313 638.4063,210.8594 Q639.1563,210.6875 640.0313,210.3906 L640.0313,212.5469 Q639.625,212.7031 639.2344,212.8281 Q638.8438,212.9375 638.4375,213.0156 Q638.0313,213.0938 637.6094,213.125 Q637.1875,213.1719 636.6875,213.1719 Q635.2813,213.1719 634.25,212.7188 Q633.2344,212.2656 632.5625,211.4531 Q631.8906,210.6406 631.5625,209.5 Q631.2344,208.3438 631.2344,206.9531 Q631.2344,205.5781 631.6094,204.4219 Q631.9844,203.2656 632.7031,202.4375 Q633.4219,201.6094 634.4844,201.1563 Q635.5469,200.6875 636.9375,200.6875 Q637.8438,200.6875 638.75,200.9219 Q639.6563,201.1406 640.4844,201.5469 L639.6563,203.6406 Q638.9688,203.3125 638.2813,203.0781 Q637.5938,202.8281 636.9375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102" x="651" y="211.8467">SourceLanguage</text></g><!--class Comment--><g id="elem_Comment"><rect codeLine="20" fill="#F1F1F1" height="32" id="Comment" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="95" x="663.5" y="283"/><ellipse cx="678.5" cy="299" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M678.4375,294.8281 Q677.6875,294.8281 677.125,295.125 Q676.5625,295.4063 676.1719,295.9375 Q675.7813,296.4688 675.5781,297.25 Q675.3906,298.0156 675.3906,298.9688 Q675.3906,299.9375 675.5625,300.7031 Q675.75,301.4531 676.1094,301.9688 Q676.4844,302.4844 677.0625,302.7656 Q677.6406,303.0313 678.4375,303.0313 Q679.1719,303.0313 679.9063,302.8594 Q680.6563,302.6875 681.5313,302.3906 L681.5313,304.5469 Q681.125,304.7031 680.7344,304.8281 Q680.3438,304.9375 679.9375,305.0156 Q679.5313,305.0938 679.1094,305.125 Q678.6875,305.1719 678.1875,305.1719 Q676.7813,305.1719 675.75,304.7188 Q674.7344,304.2656 674.0625,303.4531 Q673.3906,302.6406 673.0625,301.5 Q672.7344,300.3438 672.7344,298.9531 Q672.7344,297.5781 673.1094,296.4219 Q673.4844,295.2656 674.2031,294.4375 Q674.9219,293.6094 675.9844,293.1563 Q677.0469,292.6875 678.4375,292.6875 Q679.3438,292.6875 680.25,292.9219 Q681.1563,293.1406 681.9844,293.5469 L681.1563,295.6406 Q680.4688,295.3125 679.7813,295.0781 Q679.0938,294.8281 678.4375,294.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="692.5" y="303.8467">Comment</text></g><!--class SourcedEntity--><g id="elem_SourcedEntity"><rect codeLine="40" fill="#F1F1F1" height="32" id="SourcedEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="119" x="791.5" y="191"/><ellipse cx="806.5" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M806.4375,202.8281 Q805.6875,202.8281 805.125,203.125 Q804.5625,203.4063 804.1719,203.9375 Q803.7813,204.4688 803.5781,205.25 Q803.3906,206.0156 803.3906,206.9688 Q803.3906,207.9375 803.5625,208.7031 Q803.75,209.4531 804.1094,209.9688 Q804.4844,210.4844 805.0625,210.7656 Q805.6406,211.0313 806.4375,211.0313 Q807.1719,211.0313 807.9063,210.8594 Q808.6563,210.6875 809.5313,210.3906 L809.5313,212.5469 Q809.125,212.7031 808.7344,212.8281 Q808.3438,212.9375 807.9375,213.0156 Q807.5313,213.0938 807.1094,213.125 Q806.6875,213.1719 806.1875,213.1719 Q804.7813,213.1719 803.75,212.7188 Q802.7344,212.2656 802.0625,211.4531 Q801.3906,210.6406 801.0625,209.5 Q800.7344,208.3438 800.7344,206.9531 Q800.7344,205.5781 801.1094,204.4219 Q801.4844,203.2656 802.2031,202.4375 Q802.9219,201.6094 803.9844,201.1563 Q805.0469,200.6875 806.4375,200.6875 Q807.3438,200.6875 808.25,200.9219 Q809.1563,201.1406 809.9844,201.5469 L809.1563,203.6406 Q808.4688,203.3125 807.7813,203.0781 Q807.0938,202.8281 806.4375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="87" x="820.5" y="211.8467">SourcedEntity</text></g><!--class SourceAnchor--><g id="elem_SourceAnchor"><rect codeLine="33" fill="#F1F1F1" height="32" id="SourceAnchor" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="120" x="946" y="191"/><ellipse cx="961" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M960.9375,202.8281 Q960.1875,202.8281 959.625,203.125 Q959.0625,203.4063 958.6719,203.9375 Q958.2813,204.4688 958.0781,205.25 Q957.8906,206.0156 957.8906,206.9688 Q957.8906,207.9375 958.0625,208.7031 Q958.25,209.4531 958.6094,209.9688 Q958.9844,210.4844 959.5625,210.7656 Q960.1406,211.0313 960.9375,211.0313 Q961.6719,211.0313 962.4063,210.8594 Q963.1563,210.6875 964.0313,210.3906 L964.0313,212.5469 Q963.625,212.7031 963.2344,212.8281 Q962.8438,212.9375 962.4375,213.0156 Q962.0313,213.0938 961.6094,213.125 Q961.1875,213.1719 960.6875,213.1719 Q959.2813,213.1719 958.25,212.7188 Q957.2344,212.2656 956.5625,211.4531 Q955.8906,210.6406 955.5625,209.5 Q955.2344,208.3438 955.2344,206.9531 Q955.2344,205.5781 955.6094,204.4219 Q955.9844,203.2656 956.7031,202.4375 Q957.4219,201.6094 958.4844,201.1563 Q959.5469,200.6875 960.9375,200.6875 Q961.8438,200.6875 962.75,200.9219 Q963.6563,201.1406 964.4844,201.5469 L963.6563,203.6406 Q962.9688,203.3125 962.2813,203.0781 Q961.5938,202.8281 960.9375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="975" y="211.8467">SourceAnchor</text></g><!--class ScopingEntity--><g id="elem_ScopingEntity"><rect codeLine="56" fill="#F1F1F1" height="32" id="ScopingEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="116" x="173" y="467"/><ellipse cx="188" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M187.9375,478.8281 Q187.1875,478.8281 186.625,479.125 Q186.0625,479.4063 185.6719,479.9375 Q185.2813,480.4688 185.0781,481.25 Q184.8906,482.0156 184.8906,482.9688 Q184.8906,483.9375 185.0625,484.7031 Q185.25,485.4531 185.6094,485.9688 Q185.9844,486.4844 186.5625,486.7656 Q187.1406,487.0313 187.9375,487.0313 Q188.6719,487.0313 189.4063,486.8594 Q190.1563,486.6875 191.0313,486.3906 L191.0313,488.5469 Q190.625,488.7031 190.2344,488.8281 Q189.8438,488.9375 189.4375,489.0156 Q189.0313,489.0938 188.6094,489.125 Q188.1875,489.1719 187.6875,489.1719 Q186.2813,489.1719 185.25,488.7188 Q184.2344,488.2656 183.5625,487.4531 Q182.8906,486.6406 182.5625,485.5 Q182.2344,484.3438 182.2344,482.9531 Q182.2344,481.5781 182.6094,480.4219 Q182.9844,479.2656 183.7031,478.4375 Q184.4219,477.6094 185.4844,477.1563 Q186.5469,476.6875 187.9375,476.6875 Q188.8438,476.6875 189.75,476.9219 Q190.6563,477.1406 191.4844,477.5469 L190.6563,479.6406 Q189.9688,479.3125 189.2813,479.0781 Q188.5938,478.8281 187.9375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="202" y="487.8467">ScopingEntity</text></g><!--class ContainerEntity--><g id="elem_ContainerEntity"><rect codeLine="377" fill="#F1F1F1" height="32" id="ContainerEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="130" x="451" y="375"/><ellipse cx="466" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M465.9375,386.8281 Q465.1875,386.8281 464.625,387.125 Q464.0625,387.4063 463.6719,387.9375 Q463.2813,388.4688 463.0781,389.25 Q462.8906,390.0156 462.8906,390.9688 Q462.8906,391.9375 463.0625,392.7031 Q463.25,393.4531 463.6094,393.9688 Q463.9844,394.4844 464.5625,394.7656 Q465.1406,395.0313 465.9375,395.0313 Q466.6719,395.0313 467.4063,394.8594 Q468.1563,394.6875 469.0313,394.3906 L469.0313,396.5469 Q468.625,396.7031 468.2344,396.8281 Q467.8438,396.9375 467.4375,397.0156 Q467.0313,397.0938 466.6094,397.125 Q466.1875,397.1719 465.6875,397.1719 Q464.2813,397.1719 463.25,396.7188 Q462.2344,396.2656 461.5625,395.4531 Q460.8906,394.6406 460.5625,393.5 Q460.2344,392.3438 460.2344,390.9531 Q460.2344,389.5781 460.6094,388.4219 Q460.9844,387.2656 461.7031,386.4375 Q462.4219,385.6094 463.4844,385.1563 Q464.5469,384.6875 465.9375,384.6875 Q466.8438,384.6875 467.75,384.9219 Q468.6563,385.1406 469.4844,385.5469 L468.6563,387.6406 Q467.9688,387.3125 467.2813,387.0781 Q466.5938,386.8281 465.9375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="480" y="395.8467">ContainerEntity</text></g><!--class ScriptEntity--><g id="elem_ScriptEntity"><rect codeLine="63" fill="#F1F1F1" height="32" id="ScriptEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="104" x="7" y="559"/><ellipse cx="22" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M21.9375,570.8281 Q21.1875,570.8281 20.625,571.125 Q20.0625,571.4063 19.6719,571.9375 Q19.2813,572.4688 19.0781,573.25 Q18.8906,574.0156 18.8906,574.9688 Q18.8906,575.9375 19.0625,576.7031 Q19.25,577.4531 19.6094,577.9688 Q19.9844,578.4844 20.5625,578.7656 Q21.1406,579.0313 21.9375,579.0313 Q22.6719,579.0313 23.4063,578.8594 Q24.1563,578.6875 25.0313,578.3906 L25.0313,580.5469 Q24.625,580.7031 24.2344,580.8281 Q23.8438,580.9375 23.4375,581.0156 Q23.0313,581.0938 22.6094,581.125 Q22.1875,581.1719 21.6875,581.1719 Q20.2813,581.1719 19.25,580.7188 Q18.2344,580.2656 17.5625,579.4531 Q16.8906,578.6406 16.5625,577.5 Q16.2344,576.3438 16.2344,574.9531 Q16.2344,573.5781 16.6094,572.4219 Q16.9844,571.2656 17.7031,570.4375 Q18.4219,569.6094 19.4844,569.1563 Q20.5469,568.6875 21.9375,568.6875 Q22.8438,568.6875 23.75,568.9219 Q24.6563,569.1406 25.4844,569.5469 L24.6563,571.6406 Q23.9688,571.3125 23.2813,571.0781 Q22.5938,570.8281 21.9375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="36" y="579.8467">ScriptEntity</text></g><!--class Module--><g id="elem_Module"><rect codeLine="73" fill="#F1F1F1" height="32" id="Module" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="80" x="7" y="651"/><ellipse cx="22" cy="667" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M21.9375,662.8281 Q21.1875,662.8281 20.625,663.125 Q20.0625,663.4063 19.6719,663.9375 Q19.2813,664.4688 19.0781,665.25 Q18.8906,666.0156 18.8906,666.9688 Q18.8906,667.9375 19.0625,668.7031 Q19.25,669.4531 19.6094,669.9688 Q19.9844,670.4844 20.5625,670.7656 Q21.1406,671.0313 21.9375,671.0313 Q22.6719,671.0313 23.4063,670.8594 Q24.1563,670.6875 25.0313,670.3906 L25.0313,672.5469 Q24.625,672.7031 24.2344,672.8281 Q23.8438,672.9375 23.4375,673.0156 Q23.0313,673.0938 22.6094,673.125 Q22.1875,673.1719 21.6875,673.1719 Q20.2813,673.1719 19.25,672.7188 Q18.2344,672.2656 17.5625,671.4531 Q16.8906,670.6406 16.5625,669.5 Q16.2344,668.3438 16.2344,666.9531 Q16.2344,665.5781 16.6094,664.4219 Q16.9844,663.2656 17.7031,662.4375 Q18.4219,661.6094 19.4844,661.1563 Q20.5469,660.6875 21.9375,660.6875 Q22.8438,660.6875 23.75,660.9219 Q24.6563,661.1406 25.4844,661.5469 L24.6563,663.6406 Q23.9688,663.3125 23.2813,663.0781 Q22.5938,662.8281 21.9375,662.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48" x="36" y="671.8467">Module</text></g><!--class ImportClause--><g id="elem_ImportClause"><rect codeLine="92" fill="#F1F1F1" height="32" id="ImportClause" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="118" x="1101" y="191"/><ellipse cx="1116" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1115.9375,202.8281 Q1115.1875,202.8281 1114.625,203.125 Q1114.0625,203.4063 1113.6719,203.9375 Q1113.2813,204.4688 1113.0781,205.25 Q1112.8906,206.0156 1112.8906,206.9688 Q1112.8906,207.9375 1113.0625,208.7031 Q1113.25,209.4531 1113.6094,209.9688 Q1113.9844,210.4844 1114.5625,210.7656 Q1115.1406,211.0313 1115.9375,211.0313 Q1116.6719,211.0313 1117.4063,210.8594 Q1118.1563,210.6875 1119.0313,210.3906 L1119.0313,212.5469 Q1118.625,212.7031 1118.2344,212.8281 Q1117.8438,212.9375 1117.4375,213.0156 Q1117.0313,213.0938 1116.6094,213.125 Q1116.1875,213.1719 1115.6875,213.1719 Q1114.2813,213.1719 1113.25,212.7188 Q1112.2344,212.2656 1111.5625,211.4531 Q1110.8906,210.6406 1110.5625,209.5 Q1110.2344,208.3438 1110.2344,206.9531 Q1110.2344,205.5781 1110.6094,204.4219 Q1110.9844,203.2656 1111.7031,202.4375 Q1112.4219,201.6094 1113.4844,201.1563 Q1114.5469,200.6875 1115.9375,200.6875 Q1116.8438,200.6875 1117.75,200.9219 Q1118.6563,201.1406 1119.4844,201.5469 L1118.6563,203.6406 Q1117.9688,203.3125 1117.2813,203.0781 Q1116.5938,202.8281 1115.9375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86" x="1130" y="211.8467">ImportClause</text></g><!--class Alias--><g id="elem_Alias"><rect codeLine="105" fill="#F1F1F1" height="32" id="Alias" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="62" x="763" y="375"/><ellipse cx="778" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M777.9375,386.8281 Q777.1875,386.8281 776.625,387.125 Q776.0625,387.4063 775.6719,387.9375 Q775.2813,388.4688 775.0781,389.25 Q774.8906,390.0156 774.8906,390.9688 Q774.8906,391.9375 775.0625,392.7031 Q775.25,393.4531 775.6094,393.9688 Q775.9844,394.4844 776.5625,394.7656 Q777.1406,395.0313 777.9375,395.0313 Q778.6719,395.0313 779.4063,394.8594 Q780.1563,394.6875 781.0313,394.3906 L781.0313,396.5469 Q780.625,396.7031 780.2344,396.8281 Q779.8438,396.9375 779.4375,397.0156 Q779.0313,397.0938 778.6094,397.125 Q778.1875,397.1719 777.6875,397.1719 Q776.2813,397.1719 775.25,396.7188 Q774.2344,396.2656 773.5625,395.4531 Q772.8906,394.6406 772.5625,393.5 Q772.2344,392.3438 772.2344,390.9531 Q772.2344,389.5781 772.6094,388.4219 Q772.9844,387.2656 773.7031,386.4375 Q774.4219,385.6094 775.4844,385.1563 Q776.5469,384.6875 777.9375,384.6875 Q778.8438,384.6875 779.75,384.9219 Q780.6563,385.1406 781.4844,385.5469 L780.6563,387.6406 Q779.9688,387.3125 779.2813,387.0781 Q778.5938,386.8281 777.9375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="30" x="792" y="395.8467">Alias</text></g><!--class NamedEntity--><g id="elem_NamedEntity"><rect codeLine="125" fill="#F1F1F1" height="32" id="NamedEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="114" x="794" y="283"/><ellipse cx="809" cy="299" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M808.9375,294.8281 Q808.1875,294.8281 807.625,295.125 Q807.0625,295.4063 806.6719,295.9375 Q806.2813,296.4688 806.0781,297.25 Q805.8906,298.0156 805.8906,298.9688 Q805.8906,299.9375 806.0625,300.7031 Q806.25,301.4531 806.6094,301.9688 Q806.9844,302.4844 807.5625,302.7656 Q808.1406,303.0313 808.9375,303.0313 Q809.6719,303.0313 810.4063,302.8594 Q811.1563,302.6875 812.0313,302.3906 L812.0313,304.5469 Q811.625,304.7031 811.2344,304.8281 Q810.8438,304.9375 810.4375,305.0156 Q810.0313,305.0938 809.6094,305.125 Q809.1875,305.1719 808.6875,305.1719 Q807.2813,305.1719 806.25,304.7188 Q805.2344,304.2656 804.5625,303.4531 Q803.8906,302.6406 803.5625,301.5 Q803.2344,300.3438 803.2344,298.9531 Q803.2344,297.5781 803.6094,296.4219 Q803.9844,295.2656 804.7031,294.4375 Q805.4219,293.6094 806.4844,293.1563 Q807.5469,292.6875 808.9375,292.6875 Q809.8438,292.6875 810.75,292.9219 Q811.6563,293.1406 812.4844,293.5469 L811.6563,295.6406 Q810.9688,295.3125 810.2813,295.0781 Q809.5938,294.8281 808.9375,294.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="823" y="303.8467">NamedEntity</text></g><!--class Decorator--><g id="elem_Decorator"><rect codeLine="115" fill="#F1F1F1" height="32" id="Decorator" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="96" x="860" y="375"/><ellipse cx="875" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M874.9375,386.8281 Q874.1875,386.8281 873.625,387.125 Q873.0625,387.4063 872.6719,387.9375 Q872.2813,388.4688 872.0781,389.25 Q871.8906,390.0156 871.8906,390.9688 Q871.8906,391.9375 872.0625,392.7031 Q872.25,393.4531 872.6094,393.9688 Q872.9844,394.4844 873.5625,394.7656 Q874.1406,395.0313 874.9375,395.0313 Q875.6719,395.0313 876.4063,394.8594 Q877.1563,394.6875 878.0313,394.3906 L878.0313,396.5469 Q877.625,396.7031 877.2344,396.8281 Q876.8438,396.9375 876.4375,397.0156 Q876.0313,397.0938 875.6094,397.125 Q875.1875,397.1719 874.6875,397.1719 Q873.2813,397.1719 872.25,396.7188 Q871.2344,396.2656 870.5625,395.4531 Q869.8906,394.6406 869.5625,393.5 Q869.2344,392.3438 869.2344,390.9531 Q869.2344,389.5781 869.6094,388.4219 Q869.9844,387.2656 870.7031,386.4375 Q871.4219,385.6094 872.4844,385.1563 Q873.5469,384.6875 874.9375,384.6875 Q875.8438,384.6875 876.75,384.9219 Q877.6563,385.1406 878.4844,385.5469 L877.6563,387.6406 Q876.9688,387.3125 876.2813,387.0781 Q875.5938,386.8281 874.9375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="889" y="395.8467">Decorator</text></g><!--class Parameter--><g id="elem_Parameter"><rect codeLine="147" fill="#F1F1F1" height="32" id="Parameter" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="100" x="950" y="467"/><ellipse cx="965" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M964.9375,478.8281 Q964.1875,478.8281 963.625,479.125 Q963.0625,479.4063 962.6719,479.9375 Q962.2813,480.4688 962.0781,481.25 Q961.8906,482.0156 961.8906,482.9688 Q961.8906,483.9375 962.0625,484.7031 Q962.25,485.4531 962.6094,485.9688 Q962.9844,486.4844 963.5625,486.7656 Q964.1406,487.0313 964.9375,487.0313 Q965.6719,487.0313 966.4063,486.8594 Q967.1563,486.6875 968.0313,486.3906 L968.0313,488.5469 Q967.625,488.7031 967.2344,488.8281 Q966.8438,488.9375 966.4375,489.0156 Q966.0313,489.0938 965.6094,489.125 Q965.1875,489.1719 964.6875,489.1719 Q963.2813,489.1719 962.25,488.7188 Q961.2344,488.2656 960.5625,487.4531 Q959.8906,486.6406 959.5625,485.5 Q959.2344,484.3438 959.2344,482.9531 Q959.2344,481.5781 959.6094,480.4219 Q959.9844,479.2656 960.7031,478.4375 Q961.4219,477.6094 962.4844,477.1563 Q963.5469,476.6875 964.9375,476.6875 Q965.8438,476.6875 966.75,476.9219 Q967.6563,477.1406 968.4844,477.5469 L967.6563,479.6406 Q966.9688,479.3125 966.2813,479.0781 Q965.5938,478.8281 964.9375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="68" x="979" y="487.8467">Parameter</text></g><!--class StructuralEntity--><g id="elem_StructuralEntity"><rect codeLine="433" fill="#F1F1F1" height="32" id="StructuralEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="130" x="1064" y="375"/><ellipse cx="1079" cy="391" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1078.9375,386.8281 Q1078.1875,386.8281 1077.625,387.125 Q1077.0625,387.4063 1076.6719,387.9375 Q1076.2813,388.4688 1076.0781,389.25 Q1075.8906,390.0156 1075.8906,390.9688 Q1075.8906,391.9375 1076.0625,392.7031 Q1076.25,393.4531 1076.6094,393.9688 Q1076.9844,394.4844 1077.5625,394.7656 Q1078.1406,395.0313 1078.9375,395.0313 Q1079.6719,395.0313 1080.4063,394.8594 Q1081.1563,394.6875 1082.0313,394.3906 L1082.0313,396.5469 Q1081.625,396.7031 1081.2344,396.8281 Q1080.8438,396.9375 1080.4375,397.0156 Q1080.0313,397.0938 1079.6094,397.125 Q1079.1875,397.1719 1078.6875,397.1719 Q1077.2813,397.1719 1076.25,396.7188 Q1075.2344,396.2656 1074.5625,395.4531 Q1073.8906,394.6406 1073.5625,393.5 Q1073.2344,392.3438 1073.2344,390.9531 Q1073.2344,389.5781 1073.6094,388.4219 Q1073.9844,387.2656 1074.7031,386.4375 Q1075.4219,385.6094 1076.4844,385.1563 Q1077.5469,384.6875 1078.9375,384.6875 Q1079.8438,384.6875 1080.75,384.9219 Q1081.6563,385.1406 1082.4844,385.5469 L1081.6563,387.6406 Q1080.9688,387.3125 1080.2813,387.0781 Q1079.5938,386.8281 1078.9375,386.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="1093" y="395.8467">StructuralEntity</text></g><!--class Property--><g id="elem_Property"><rect codeLine="154" fill="#F1F1F1" height="32" id="Property" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="88" x="1085" y="467"/><ellipse cx="1100" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1099.9375,478.8281 Q1099.1875,478.8281 1098.625,479.125 Q1098.0625,479.4063 1097.6719,479.9375 Q1097.2813,480.4688 1097.0781,481.25 Q1096.8906,482.0156 1096.8906,482.9688 Q1096.8906,483.9375 1097.0625,484.7031 Q1097.25,485.4531 1097.6094,485.9688 Q1097.9844,486.4844 1098.5625,486.7656 Q1099.1406,487.0313 1099.9375,487.0313 Q1100.6719,487.0313 1101.4063,486.8594 Q1102.1563,486.6875 1103.0313,486.3906 L1103.0313,488.5469 Q1102.625,488.7031 1102.2344,488.8281 Q1101.8438,488.9375 1101.4375,489.0156 Q1101.0313,489.0938 1100.6094,489.125 Q1100.1875,489.1719 1099.6875,489.1719 Q1098.2813,489.1719 1097.25,488.7188 Q1096.2344,488.2656 1095.5625,487.4531 Q1094.8906,486.6406 1094.5625,485.5 Q1094.2344,484.3438 1094.2344,482.9531 Q1094.2344,481.5781 1094.6094,480.4219 Q1094.9844,479.2656 1095.7031,478.4375 Q1096.4219,477.6094 1097.4844,477.1563 Q1098.5469,476.6875 1099.9375,476.6875 Q1100.8438,476.6875 1101.75,476.9219 Q1102.6563,477.1406 1103.4844,477.5469 L1102.6563,479.6406 Q1101.9688,479.3125 1101.2813,479.0781 Q1100.5938,478.8281 1099.9375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="1114" y="487.8467">Property</text></g><!--class Inheritance--><g id="elem_Inheritance"><rect codeLine="179" fill="#F1F1F1" height="32" id="Inheritance" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="105" x="1254.5" y="191"/><ellipse cx="1269.5" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1269.4375,202.8281 Q1268.6875,202.8281 1268.125,203.125 Q1267.5625,203.4063 1267.1719,203.9375 Q1266.7813,204.4688 1266.5781,205.25 Q1266.3906,206.0156 1266.3906,206.9688 Q1266.3906,207.9375 1266.5625,208.7031 Q1266.75,209.4531 1267.1094,209.9688 Q1267.4844,210.4844 1268.0625,210.7656 Q1268.6406,211.0313 1269.4375,211.0313 Q1270.1719,211.0313 1270.9063,210.8594 Q1271.6563,210.6875 1272.5313,210.3906 L1272.5313,212.5469 Q1272.125,212.7031 1271.7344,212.8281 Q1271.3438,212.9375 1270.9375,213.0156 Q1270.5313,213.0938 1270.1094,213.125 Q1269.6875,213.1719 1269.1875,213.1719 Q1267.7813,213.1719 1266.75,212.7188 Q1265.7344,212.2656 1265.0625,211.4531 Q1264.3906,210.6406 1264.0625,209.5 Q1263.7344,208.3438 1263.7344,206.9531 Q1263.7344,205.5781 1264.1094,204.4219 Q1264.4844,203.2656 1265.2031,202.4375 Q1265.9219,201.6094 1266.9844,201.1563 Q1268.0469,200.6875 1269.4375,200.6875 Q1270.3438,200.6875 1271.25,200.9219 Q1272.1563,201.1406 1272.9844,201.5469 L1272.1563,203.6406 Q1271.4688,203.3125 1270.7813,203.0781 Q1270.0938,202.8281 1269.4375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="1283.5" y="211.8467">Inheritance</text></g><!--class Class--><g id="elem_Class"><rect codeLine="189" fill="#F1F1F1" height="32" id="Class" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="63" x="157.5" y="559"/><ellipse cx="172.5" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M172.4375,570.8281 Q171.6875,570.8281 171.125,571.125 Q170.5625,571.4063 170.1719,571.9375 Q169.7813,572.4688 169.5781,573.25 Q169.3906,574.0156 169.3906,574.9688 Q169.3906,575.9375 169.5625,576.7031 Q169.75,577.4531 170.1094,577.9688 Q170.4844,578.4844 171.0625,578.7656 Q171.6406,579.0313 172.4375,579.0313 Q173.1719,579.0313 173.9063,578.8594 Q174.6563,578.6875 175.5313,578.3906 L175.5313,580.5469 Q175.125,580.7031 174.7344,580.8281 Q174.3438,580.9375 173.9375,581.0156 Q173.5313,581.0938 173.1094,581.125 Q172.6875,581.1719 172.1875,581.1719 Q170.7813,581.1719 169.75,580.7188 Q168.7344,580.2656 168.0625,579.4531 Q167.3906,578.6406 167.0625,577.5 Q166.7344,576.3438 166.7344,574.9531 Q166.7344,573.5781 167.1094,572.4219 Q167.4844,571.2656 168.2031,570.4375 Q168.9219,569.6094 169.9844,569.1563 Q171.0469,568.6875 172.4375,568.6875 Q173.3438,568.6875 174.25,568.9219 Q175.1563,569.1406 175.9844,569.5469 L175.1563,571.6406 Q174.4688,571.3125 173.7813,571.0781 Q173.0938,570.8281 172.4375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="186.5" y="579.8467">Class</text></g><!--class Type--><g id="elem_Type"><rect codeLine="414" fill="#F1F1F1" height="32" id="Type" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="62" x="448" y="467"/><ellipse cx="463" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M462.9375,478.8281 Q462.1875,478.8281 461.625,479.125 Q461.0625,479.4063 460.6719,479.9375 Q460.2813,480.4688 460.0781,481.25 Q459.8906,482.0156 459.8906,482.9688 Q459.8906,483.9375 460.0625,484.7031 Q460.25,485.4531 460.6094,485.9688 Q460.9844,486.4844 461.5625,486.7656 Q462.1406,487.0313 462.9375,487.0313 Q463.6719,487.0313 464.4063,486.8594 Q465.1563,486.6875 466.0313,486.3906 L466.0313,488.5469 Q465.625,488.7031 465.2344,488.8281 Q464.8438,488.9375 464.4375,489.0156 Q464.0313,489.0938 463.6094,489.125 Q463.1875,489.1719 462.6875,489.1719 Q461.2813,489.1719 460.25,488.7188 Q459.2344,488.2656 458.5625,487.4531 Q457.8906,486.6406 457.5625,485.5 Q457.2344,484.3438 457.2344,482.9531 Q457.2344,481.5781 457.6094,480.4219 Q457.9844,479.2656 458.7031,478.4375 Q459.4219,477.6094 460.4844,477.1563 Q461.5469,476.6875 462.9375,476.6875 Q463.8438,476.6875 464.75,476.9219 Q465.6563,477.1406 466.4844,477.5469 L465.6563,479.6406 Q464.9688,479.3125 464.2813,479.0781 Q463.5938,478.8281 462.9375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="30" x="477" y="487.8467">Type</text></g><!--class Method--><g id="elem_Method"><rect codeLine="208" fill="#F1F1F1" height="32" id="Method" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="81" x="806.5" y="559"/><ellipse cx="821.5" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M821.4375,570.8281 Q820.6875,570.8281 820.125,571.125 Q819.5625,571.4063 819.1719,571.9375 Q818.7813,572.4688 818.5781,573.25 Q818.3906,574.0156 818.3906,574.9688 Q818.3906,575.9375 818.5625,576.7031 Q818.75,577.4531 819.1094,577.9688 Q819.4844,578.4844 820.0625,578.7656 Q820.6406,579.0313 821.4375,579.0313 Q822.1719,579.0313 822.9063,578.8594 Q823.6563,578.6875 824.5313,578.3906 L824.5313,580.5469 Q824.125,580.7031 823.7344,580.8281 Q823.3438,580.9375 822.9375,581.0156 Q822.5313,581.0938 822.1094,581.125 Q821.6875,581.1719 821.1875,581.1719 Q819.7813,581.1719 818.75,580.7188 Q817.7344,580.2656 817.0625,579.4531 Q816.3906,578.6406 816.0625,577.5 Q815.7344,576.3438 815.7344,574.9531 Q815.7344,573.5781 816.1094,572.4219 Q816.4844,571.2656 817.2031,570.4375 Q817.9219,569.6094 818.9844,569.1563 Q820.0469,568.6875 821.4375,568.6875 Q822.3438,568.6875 823.25,568.9219 Q824.1563,569.1406 824.9844,569.5469 L824.1563,571.6406 Q823.4688,571.3125 822.7813,571.0781 Q822.0938,570.8281 821.4375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="835.5" y="579.8467">Method</text></g><!--class BehavioralEntity--><g id="elem_BehavioralEntity"><rect codeLine="321" fill="#F1F1F1" height="32" id="BehavioralEntity" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="136" x="779" y="467"/><ellipse cx="794" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M793.9375,478.8281 Q793.1875,478.8281 792.625,479.125 Q792.0625,479.4063 791.6719,479.9375 Q791.2813,480.4688 791.0781,481.25 Q790.8906,482.0156 790.8906,482.9688 Q790.8906,483.9375 791.0625,484.7031 Q791.25,485.4531 791.6094,485.9688 Q791.9844,486.4844 792.5625,486.7656 Q793.1406,487.0313 793.9375,487.0313 Q794.6719,487.0313 795.4063,486.8594 Q796.1563,486.6875 797.0313,486.3906 L797.0313,488.5469 Q796.625,488.7031 796.2344,488.8281 Q795.8438,488.9375 795.4375,489.0156 Q795.0313,489.0938 794.6094,489.125 Q794.1875,489.1719 793.6875,489.1719 Q792.2813,489.1719 791.25,488.7188 Q790.2344,488.2656 789.5625,487.4531 Q788.8906,486.6406 788.5625,485.5 Q788.2344,484.3438 788.2344,482.9531 Q788.2344,481.5781 788.6094,480.4219 Q788.9844,479.2656 789.7031,478.4375 Q790.4219,477.6094 791.4844,477.1563 Q792.5469,476.6875 793.9375,476.6875 Q794.8438,476.6875 795.75,476.9219 Q796.6563,477.1406 797.4844,477.5469 L796.6563,479.6406 Q795.9688,479.3125 795.2813,479.0781 Q794.5938,478.8281 793.9375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="808" y="487.8467">BehavioralEntity</text></g><!--class Interface--><g id="elem_Interface"><rect codeLine="233" fill="#F1F1F1" height="32" id="Interface" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="90" x="256" y="559"/><ellipse cx="271" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M270.9375,570.8281 Q270.1875,570.8281 269.625,571.125 Q269.0625,571.4063 268.6719,571.9375 Q268.2813,572.4688 268.0781,573.25 Q267.8906,574.0156 267.8906,574.9688 Q267.8906,575.9375 268.0625,576.7031 Q268.25,577.4531 268.6094,577.9688 Q268.9844,578.4844 269.5625,578.7656 Q270.1406,579.0313 270.9375,579.0313 Q271.6719,579.0313 272.4063,578.8594 Q273.1563,578.6875 274.0313,578.3906 L274.0313,580.5469 Q273.625,580.7031 273.2344,580.8281 Q272.8438,580.9375 272.4375,581.0156 Q272.0313,581.0938 271.6094,581.125 Q271.1875,581.1719 270.6875,581.1719 Q269.2813,581.1719 268.25,580.7188 Q267.2344,580.2656 266.5625,579.4531 Q265.8906,578.6406 265.5625,577.5 Q265.2344,576.3438 265.2344,574.9531 Q265.2344,573.5781 265.6094,572.4219 Q265.9844,571.2656 266.7031,570.4375 Q267.4219,569.6094 268.4844,569.1563 Q269.5469,568.6875 270.9375,568.6875 Q271.8438,568.6875 272.75,568.9219 Q273.6563,569.1406 274.4844,569.5469 L273.6563,571.6406 Q272.9688,571.3125 272.2813,571.0781 Q271.5938,570.8281 270.9375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="58" x="285" y="579.8467">Interface</text></g><!--class PrimitiveType--><g id="elem_PrimitiveType"><rect codeLine="249" fill="#F1F1F1" height="32" id="PrimitiveType" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121" x="381.5" y="559"/><ellipse cx="396.5" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M396.4375,570.8281 Q395.6875,570.8281 395.125,571.125 Q394.5625,571.4063 394.1719,571.9375 Q393.7813,572.4688 393.5781,573.25 Q393.3906,574.0156 393.3906,574.9688 Q393.3906,575.9375 393.5625,576.7031 Q393.75,577.4531 394.1094,577.9688 Q394.4844,578.4844 395.0625,578.7656 Q395.6406,579.0313 396.4375,579.0313 Q397.1719,579.0313 397.9063,578.8594 Q398.6563,578.6875 399.5313,578.3906 L399.5313,580.5469 Q399.125,580.7031 398.7344,580.8281 Q398.3438,580.9375 397.9375,581.0156 Q397.5313,581.0938 397.1094,581.125 Q396.6875,581.1719 396.1875,581.1719 Q394.7813,581.1719 393.75,580.7188 Q392.7344,580.2656 392.0625,579.4531 Q391.3906,578.6406 391.0625,577.5 Q390.7344,576.3438 390.7344,574.9531 Q390.7344,573.5781 391.1094,572.4219 Q391.4844,571.2656 392.2031,570.4375 Q392.9219,569.6094 393.9844,569.1563 Q395.0469,568.6875 396.4375,568.6875 Q397.3438,568.6875 398.25,568.9219 Q399.1563,569.1406 399.9844,569.5469 L399.1563,571.6406 Q398.4688,571.3125 397.7813,571.0781 Q397.0938,570.8281 396.4375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="410.5" y="579.8467">PrimitiveType</text></g><!--class ParametricClass--><g id="elem_ParametricClass"><rect codeLine="253" fill="#F1F1F1" height="32" id="ParametricClass" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="133" x="122.5" y="651"/><ellipse cx="137.5" cy="667" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M137.4375,662.8281 Q136.6875,662.8281 136.125,663.125 Q135.5625,663.4063 135.1719,663.9375 Q134.7813,664.4688 134.5781,665.25 Q134.3906,666.0156 134.3906,666.9688 Q134.3906,667.9375 134.5625,668.7031 Q134.75,669.4531 135.1094,669.9688 Q135.4844,670.4844 136.0625,670.7656 Q136.6406,671.0313 137.4375,671.0313 Q138.1719,671.0313 138.9063,670.8594 Q139.6563,670.6875 140.5313,670.3906 L140.5313,672.5469 Q140.125,672.7031 139.7344,672.8281 Q139.3438,672.9375 138.9375,673.0156 Q138.5313,673.0938 138.1094,673.125 Q137.6875,673.1719 137.1875,673.1719 Q135.7813,673.1719 134.75,672.7188 Q133.7344,672.2656 133.0625,671.4531 Q132.3906,670.6406 132.0625,669.5 Q131.7344,668.3438 131.7344,666.9531 Q131.7344,665.5781 132.1094,664.4219 Q132.4844,663.2656 133.2031,662.4375 Q133.9219,661.6094 134.9844,661.1563 Q136.0469,660.6875 137.4375,660.6875 Q138.3438,660.6875 139.25,660.9219 Q140.1563,661.1406 140.9844,661.5469 L140.1563,663.6406 Q139.4688,663.3125 138.7813,663.0781 Q138.0938,662.8281 137.4375,662.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="151.5" y="671.8467">ParametricClass</text></g><!--class ParametricInterface--><g id="elem_ParametricInterface"><rect codeLine="264" fill="#F1F1F1" height="32" id="ParametricInterface" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="160" x="291" y="651"/><ellipse cx="306" cy="667" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M305.9375,662.8281 Q305.1875,662.8281 304.625,663.125 Q304.0625,663.4063 303.6719,663.9375 Q303.2813,664.4688 303.0781,665.25 Q302.8906,666.0156 302.8906,666.9688 Q302.8906,667.9375 303.0625,668.7031 Q303.25,669.4531 303.6094,669.9688 Q303.9844,670.4844 304.5625,670.7656 Q305.1406,671.0313 305.9375,671.0313 Q306.6719,671.0313 307.4063,670.8594 Q308.1563,670.6875 309.0313,670.3906 L309.0313,672.5469 Q308.625,672.7031 308.2344,672.8281 Q307.8438,672.9375 307.4375,673.0156 Q307.0313,673.0938 306.6094,673.125 Q306.1875,673.1719 305.6875,673.1719 Q304.2813,673.1719 303.25,672.7188 Q302.2344,672.2656 301.5625,671.4531 Q300.8906,670.6406 300.5625,669.5 Q300.2344,668.3438 300.2344,666.9531 Q300.2344,665.5781 300.6094,664.4219 Q300.9844,663.2656 301.7031,662.4375 Q302.4219,661.6094 303.4844,661.1563 Q304.5469,660.6875 305.9375,660.6875 Q306.8438,660.6875 307.75,660.9219 Q308.6563,661.1406 309.4844,661.5469 L308.6563,663.6406 Q307.9688,663.3125 307.2813,663.0781 Q306.5938,662.8281 305.9375,662.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="128" x="320" y="671.8467">ParametricInterface</text></g><!--class Function--><g id="elem_Function"><rect codeLine="275" fill="#F1F1F1" height="32" id="Function" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="86" x="958" y="559"/><ellipse cx="973" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M972.9375,570.8281 Q972.1875,570.8281 971.625,571.125 Q971.0625,571.4063 970.6719,571.9375 Q970.2813,572.4688 970.0781,573.25 Q969.8906,574.0156 969.8906,574.9688 Q969.8906,575.9375 970.0625,576.7031 Q970.25,577.4531 970.6094,577.9688 Q970.9844,578.4844 971.5625,578.7656 Q972.1406,579.0313 972.9375,579.0313 Q973.6719,579.0313 974.4063,578.8594 Q975.1563,578.6875 976.0313,578.3906 L976.0313,580.5469 Q975.625,580.7031 975.2344,580.8281 Q974.8438,580.9375 974.4375,581.0156 Q974.0313,581.0938 973.6094,581.125 Q973.1875,581.1719 972.6875,581.1719 Q971.2813,581.1719 970.25,580.7188 Q969.2344,580.2656 968.5625,579.4531 Q967.8906,578.6406 967.5625,577.5 Q967.2344,576.3438 967.2344,574.9531 Q967.2344,573.5781 967.6094,572.4219 Q967.9844,571.2656 968.7031,570.4375 Q969.4219,569.6094 970.4844,569.1563 Q971.5469,568.6875 972.9375,568.6875 Q973.8438,568.6875 974.75,568.9219 Q975.6563,569.1406 976.4844,569.5469 L975.6563,571.6406 Q974.9688,571.3125 974.2813,571.0781 Q973.5938,570.8281 972.9375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="987" y="579.8467">Function</text></g><!--class Accessor--><g id="elem_Accessor"><rect codeLine="279" fill="#F1F1F1" height="32" id="Accessor" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="87" x="631.5" y="651"/><ellipse cx="646.5" cy="667" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M646.4375,662.8281 Q645.6875,662.8281 645.125,663.125 Q644.5625,663.4063 644.1719,663.9375 Q643.7813,664.4688 643.5781,665.25 Q643.3906,666.0156 643.3906,666.9688 Q643.3906,667.9375 643.5625,668.7031 Q643.75,669.4531 644.1094,669.9688 Q644.4844,670.4844 645.0625,670.7656 Q645.6406,671.0313 646.4375,671.0313 Q647.1719,671.0313 647.9063,670.8594 Q648.6563,670.6875 649.5313,670.3906 L649.5313,672.5469 Q649.125,672.7031 648.7344,672.8281 Q648.3438,672.9375 647.9375,673.0156 Q647.5313,673.0938 647.1094,673.125 Q646.6875,673.1719 646.1875,673.1719 Q644.7813,673.1719 643.75,672.7188 Q642.7344,672.2656 642.0625,671.4531 Q641.3906,670.6406 641.0625,669.5 Q640.7344,668.3438 640.7344,666.9531 Q640.7344,665.5781 641.1094,664.4219 Q641.4844,663.2656 642.2031,662.4375 Q642.9219,661.6094 643.9844,661.1563 Q645.0469,660.6875 646.4375,660.6875 Q647.3438,660.6875 648.25,660.9219 Q649.1563,661.1406 649.9844,661.5469 L649.1563,663.6406 Q648.4688,663.3125 647.7813,663.0781 Q647.0938,662.8281 646.4375,662.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="660.5" y="671.8467">Accessor</text></g><!--class ParametricMethod--><g id="elem_ParametricMethod"><rect codeLine="283" fill="#F1F1F1" height="32" id="ParametricMethod" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="151" x="753.5" y="651"/><ellipse cx="768.5" cy="667" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M768.4375,662.8281 Q767.6875,662.8281 767.125,663.125 Q766.5625,663.4063 766.1719,663.9375 Q765.7813,664.4688 765.5781,665.25 Q765.3906,666.0156 765.3906,666.9688 Q765.3906,667.9375 765.5625,668.7031 Q765.75,669.4531 766.1094,669.9688 Q766.4844,670.4844 767.0625,670.7656 Q767.6406,671.0313 768.4375,671.0313 Q769.1719,671.0313 769.9063,670.8594 Q770.6563,670.6875 771.5313,670.3906 L771.5313,672.5469 Q771.125,672.7031 770.7344,672.8281 Q770.3438,672.9375 769.9375,673.0156 Q769.5313,673.0938 769.1094,673.125 Q768.6875,673.1719 768.1875,673.1719 Q766.7813,673.1719 765.75,672.7188 Q764.7344,672.2656 764.0625,671.4531 Q763.3906,670.6406 763.0625,669.5 Q762.7344,668.3438 762.7344,666.9531 Q762.7344,665.5781 763.1094,664.4219 Q763.4844,663.2656 764.2031,662.4375 Q764.9219,661.6094 765.9844,661.1563 Q767.0469,660.6875 768.4375,660.6875 Q769.3438,660.6875 770.25,660.9219 Q771.1563,661.1406 771.9844,661.5469 L771.1563,663.6406 Q770.4688,663.3125 769.7813,663.0781 Q769.0938,662.8281 768.4375,662.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="119" x="782.5" y="671.8467">ParametricMethod</text></g><!--class ParametricFunction--><g id="elem_ParametricFunction"><rect codeLine="290" fill="#F1F1F1" height="32" id="ParametricFunction" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="156" x="940" y="651"/><ellipse cx="955" cy="667" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M954.9375,662.8281 Q954.1875,662.8281 953.625,663.125 Q953.0625,663.4063 952.6719,663.9375 Q952.2813,664.4688 952.0781,665.25 Q951.8906,666.0156 951.8906,666.9688 Q951.8906,667.9375 952.0625,668.7031 Q952.25,669.4531 952.6094,669.9688 Q952.9844,670.4844 953.5625,670.7656 Q954.1406,671.0313 954.9375,671.0313 Q955.6719,671.0313 956.4063,670.8594 Q957.1563,670.6875 958.0313,670.3906 L958.0313,672.5469 Q957.625,672.7031 957.2344,672.8281 Q956.8438,672.9375 956.4375,673.0156 Q956.0313,673.0938 955.6094,673.125 Q955.1875,673.1719 954.6875,673.1719 Q953.2813,673.1719 952.25,672.7188 Q951.2344,672.2656 950.5625,671.4531 Q949.8906,670.6406 949.5625,669.5 Q949.2344,668.3438 949.2344,666.9531 Q949.2344,665.5781 949.6094,664.4219 Q949.9844,663.2656 950.7031,662.4375 Q951.4219,661.6094 952.4844,661.1563 Q953.5469,660.6875 954.9375,660.6875 Q955.8438,660.6875 956.75,660.9219 Q957.6563,661.1406 958.4844,661.5469 L957.6563,663.6406 Q956.9688,663.3125 956.2813,663.0781 Q955.5938,662.8281 954.9375,662.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124" x="969" y="671.8467">ParametricFunction</text></g><!--class ArrowFunction--><g id="elem_ArrowFunction"><rect codeLine="297" fill="#F1F1F1" height="32" id="ArrowFunction" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="125" x="1114.5" y="559"/><ellipse cx="1129.5" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1129.4375,570.8281 Q1128.6875,570.8281 1128.125,571.125 Q1127.5625,571.4063 1127.1719,571.9375 Q1126.7813,572.4688 1126.5781,573.25 Q1126.3906,574.0156 1126.3906,574.9688 Q1126.3906,575.9375 1126.5625,576.7031 Q1126.75,577.4531 1127.1094,577.9688 Q1127.4844,578.4844 1128.0625,578.7656 Q1128.6406,579.0313 1129.4375,579.0313 Q1130.1719,579.0313 1130.9063,578.8594 Q1131.6563,578.6875 1132.5313,578.3906 L1132.5313,580.5469 Q1132.125,580.7031 1131.7344,580.8281 Q1131.3438,580.9375 1130.9375,581.0156 Q1130.5313,581.0938 1130.1094,581.125 Q1129.6875,581.1719 1129.1875,581.1719 Q1127.7813,581.1719 1126.75,580.7188 Q1125.7344,580.2656 1125.0625,579.4531 Q1124.3906,578.6406 1124.0625,577.5 Q1123.7344,576.3438 1123.7344,574.9531 Q1123.7344,573.5781 1124.1094,572.4219 Q1124.4844,571.2656 1125.2031,570.4375 Q1125.9219,569.6094 1126.9844,569.1563 Q1128.0469,568.6875 1129.4375,568.6875 Q1130.3438,568.6875 1131.25,568.9219 Q1132.1563,569.1406 1132.9844,569.5469 L1132.1563,571.6406 Q1131.4688,571.3125 1130.7813,571.0781 Q1130.0938,570.8281 1129.4375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="93" x="1143.5" y="579.8467">ArrowFunction</text></g><!--class ParametricArrowFunction--><g id="elem_ParametricArrowFunction"><rect codeLine="301" fill="#F1F1F1" height="32" id="ParametricArrowFunction" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="195" x="1131.5" y="651"/><ellipse cx="1146.5" cy="667" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1146.4375,662.8281 Q1145.6875,662.8281 1145.125,663.125 Q1144.5625,663.4063 1144.1719,663.9375 Q1143.7813,664.4688 1143.5781,665.25 Q1143.3906,666.0156 1143.3906,666.9688 Q1143.3906,667.9375 1143.5625,668.7031 Q1143.75,669.4531 1144.1094,669.9688 Q1144.4844,670.4844 1145.0625,670.7656 Q1145.6406,671.0313 1146.4375,671.0313 Q1147.1719,671.0313 1147.9063,670.8594 Q1148.6563,670.6875 1149.5313,670.3906 L1149.5313,672.5469 Q1149.125,672.7031 1148.7344,672.8281 Q1148.3438,672.9375 1147.9375,673.0156 Q1147.5313,673.0938 1147.1094,673.125 Q1146.6875,673.1719 1146.1875,673.1719 Q1144.7813,673.1719 1143.75,672.7188 Q1142.7344,672.2656 1142.0625,671.4531 Q1141.3906,670.6406 1141.0625,669.5 Q1140.7344,668.3438 1140.7344,666.9531 Q1140.7344,665.5781 1141.1094,664.4219 Q1141.4844,663.2656 1142.2031,662.4375 Q1142.9219,661.6094 1143.9844,661.1563 Q1145.0469,660.6875 1146.4375,660.6875 Q1147.3438,660.6875 1148.25,660.9219 Q1149.1563,661.1406 1149.9844,661.5469 L1149.1563,663.6406 Q1148.4688,663.3125 1147.7813,663.0781 Q1147.0938,662.8281 1146.4375,662.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="163" x="1160.5" y="671.8467">ParametricArrowFunction</text></g><!--class ParameterType--><g id="elem_ParameterType"><rect codeLine="308" fill="#F1F1F1" height="32" id="ParameterType" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="130" x="538" y="559"/><ellipse cx="553" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M552.9375,570.8281 Q552.1875,570.8281 551.625,571.125 Q551.0625,571.4063 550.6719,571.9375 Q550.2813,572.4688 550.0781,573.25 Q549.8906,574.0156 549.8906,574.9688 Q549.8906,575.9375 550.0625,576.7031 Q550.25,577.4531 550.6094,577.9688 Q550.9844,578.4844 551.5625,578.7656 Q552.1406,579.0313 552.9375,579.0313 Q553.6719,579.0313 554.4063,578.8594 Q555.1563,578.6875 556.0313,578.3906 L556.0313,580.5469 Q555.625,580.7031 555.2344,580.8281 Q554.8438,580.9375 554.4375,581.0156 Q554.0313,581.0938 553.6094,581.125 Q553.1875,581.1719 552.6875,581.1719 Q551.2813,581.1719 550.25,580.7188 Q549.2344,580.2656 548.5625,579.4531 Q547.8906,578.6406 547.5625,577.5 Q547.2344,576.3438 547.2344,574.9531 Q547.2344,573.5781 547.6094,572.4219 Q547.9844,571.2656 548.7031,570.4375 Q549.4219,569.6094 550.4844,569.1563 Q551.5469,568.6875 552.9375,568.6875 Q553.8438,568.6875 554.75,568.9219 Q555.6563,569.1406 556.4844,569.5469 L555.6563,571.6406 Q554.9688,571.3125 554.2813,571.0781 Q553.5938,570.8281 552.9375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="567" y="579.8467">ParameterType</text></g><!--class Invocation--><g id="elem_Invocation"><rect codeLine="344" fill="#F1F1F1" height="32" id="Invocation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="98" x="1395" y="191"/><ellipse cx="1410" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1409.9375,202.8281 Q1409.1875,202.8281 1408.625,203.125 Q1408.0625,203.4063 1407.6719,203.9375 Q1407.2813,204.4688 1407.0781,205.25 Q1406.8906,206.0156 1406.8906,206.9688 Q1406.8906,207.9375 1407.0625,208.7031 Q1407.25,209.4531 1407.6094,209.9688 Q1407.9844,210.4844 1408.5625,210.7656 Q1409.1406,211.0313 1409.9375,211.0313 Q1410.6719,211.0313 1411.4063,210.8594 Q1412.1563,210.6875 1413.0313,210.3906 L1413.0313,212.5469 Q1412.625,212.7031 1412.2344,212.8281 Q1411.8438,212.9375 1411.4375,213.0156 Q1411.0313,213.0938 1410.6094,213.125 Q1410.1875,213.1719 1409.6875,213.1719 Q1408.2813,213.1719 1407.25,212.7188 Q1406.2344,212.2656 1405.5625,211.4531 Q1404.8906,210.6406 1404.5625,209.5 Q1404.2344,208.3438 1404.2344,206.9531 Q1404.2344,205.5781 1404.6094,204.4219 Q1404.9844,203.2656 1405.7031,202.4375 Q1406.4219,201.6094 1407.4844,201.1563 Q1408.5469,200.6875 1409.9375,200.6875 Q1410.8438,200.6875 1411.75,200.9219 Q1412.6563,201.1406 1413.4844,201.5469 L1412.6563,203.6406 Q1411.9688,203.3125 1411.2813,203.0781 Q1410.5938,202.8281 1409.9375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="66" x="1424" y="211.8467">Invocation</text></g><!--class Reference--><g id="elem_Reference"><rect codeLine="360" fill="#F1F1F1" height="32" id="Reference" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="97" x="1528.5" y="191"/><ellipse cx="1543.5" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1543.4375,202.8281 Q1542.6875,202.8281 1542.125,203.125 Q1541.5625,203.4063 1541.1719,203.9375 Q1540.7813,204.4688 1540.5781,205.25 Q1540.3906,206.0156 1540.3906,206.9688 Q1540.3906,207.9375 1540.5625,208.7031 Q1540.75,209.4531 1541.1094,209.9688 Q1541.4844,210.4844 1542.0625,210.7656 Q1542.6406,211.0313 1543.4375,211.0313 Q1544.1719,211.0313 1544.9063,210.8594 Q1545.6563,210.6875 1546.5313,210.3906 L1546.5313,212.5469 Q1546.125,212.7031 1545.7344,212.8281 Q1545.3438,212.9375 1544.9375,213.0156 Q1544.5313,213.0938 1544.1094,213.125 Q1543.6875,213.1719 1543.1875,213.1719 Q1541.7813,213.1719 1540.75,212.7188 Q1539.7344,212.2656 1539.0625,211.4531 Q1538.3906,210.6406 1538.0625,209.5 Q1537.7344,208.3438 1537.7344,206.9531 Q1537.7344,205.5781 1538.1094,204.4219 Q1538.4844,203.2656 1539.2031,202.4375 Q1539.9219,201.6094 1540.9844,201.1563 Q1542.0469,200.6875 1543.4375,200.6875 Q1544.3438,200.6875 1545.25,200.9219 Q1546.1563,201.1406 1546.9844,201.5469 L1546.1563,203.6406 Q1545.4688,203.3125 1544.7813,203.0781 Q1544.0938,202.8281 1543.4375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="65" x="1557.5" y="211.8467">Reference</text></g><!--class Variable--><g id="elem_Variable"><rect codeLine="370" fill="#F1F1F1" height="32" id="Variable" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="84" x="1208" y="467"/><ellipse cx="1223" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1222.9375,478.8281 Q1222.1875,478.8281 1221.625,479.125 Q1221.0625,479.4063 1220.6719,479.9375 Q1220.2813,480.4688 1220.0781,481.25 Q1219.8906,482.0156 1219.8906,482.9688 Q1219.8906,483.9375 1220.0625,484.7031 Q1220.25,485.4531 1220.6094,485.9688 Q1220.9844,486.4844 1221.5625,486.7656 Q1222.1406,487.0313 1222.9375,487.0313 Q1223.6719,487.0313 1224.4063,486.8594 Q1225.1563,486.6875 1226.0313,486.3906 L1226.0313,488.5469 Q1225.625,488.7031 1225.2344,488.8281 Q1224.8438,488.9375 1224.4375,489.0156 Q1224.0313,489.0938 1223.6094,489.125 Q1223.1875,489.1719 1222.6875,489.1719 Q1221.2813,489.1719 1220.25,488.7188 Q1219.2344,488.2656 1218.5625,487.4531 Q1217.8906,486.6406 1217.5625,485.5 Q1217.2344,484.3438 1217.2344,482.9531 Q1217.2344,481.5781 1217.6094,480.4219 Q1217.9844,479.2656 1218.7031,478.4375 Q1219.4219,477.6094 1220.4844,477.1563 Q1221.5469,476.6875 1222.9375,476.6875 Q1223.8438,476.6875 1224.75,476.9219 Q1225.6563,477.1406 1226.4844,477.5469 L1225.6563,479.6406 Q1224.9688,479.3125 1224.2813,479.0781 Q1223.5938,478.8281 1222.9375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="1237" y="487.8467">Variable</text></g><!--class Access--><g id="elem_Access"><rect codeLine="443" fill="#F1F1F1" height="32" id="Access" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="73" x="1660.5" y="191"/><ellipse cx="1675.5" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1675.4375,202.8281 Q1674.6875,202.8281 1674.125,203.125 Q1673.5625,203.4063 1673.1719,203.9375 Q1672.7813,204.4688 1672.5781,205.25 Q1672.3906,206.0156 1672.3906,206.9688 Q1672.3906,207.9375 1672.5625,208.7031 Q1672.75,209.4531 1673.1094,209.9688 Q1673.4844,210.4844 1674.0625,210.7656 Q1674.6406,211.0313 1675.4375,211.0313 Q1676.1719,211.0313 1676.9063,210.8594 Q1677.6563,210.6875 1678.5313,210.3906 L1678.5313,212.5469 Q1678.125,212.7031 1677.7344,212.8281 Q1677.3438,212.9375 1676.9375,213.0156 Q1676.5313,213.0938 1676.1094,213.125 Q1675.6875,213.1719 1675.1875,213.1719 Q1673.7813,213.1719 1672.75,212.7188 Q1671.7344,212.2656 1671.0625,211.4531 Q1670.3906,210.6406 1670.0625,209.5 Q1669.7344,208.3438 1669.7344,206.9531 Q1669.7344,205.5781 1670.1094,204.4219 Q1670.4844,203.2656 1671.2031,202.4375 Q1671.9219,201.6094 1672.9844,201.1563 Q1674.0469,200.6875 1675.4375,200.6875 Q1676.3438,200.6875 1677.25,200.9219 Q1678.1563,201.1406 1678.9844,201.5469 L1678.1563,203.6406 Q1677.4688,203.3125 1676.7813,203.0781 Q1676.0938,202.8281 1675.4375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41" x="1689.5" y="211.8467">Access</text></g><!--class Concretisation--><g id="elem_Concretisation"><rect codeLine="456" fill="#F1F1F1" height="32" id="Concretisation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="123" x="1768.5" y="191"/><ellipse cx="1783.5" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1783.4375,202.8281 Q1782.6875,202.8281 1782.125,203.125 Q1781.5625,203.4063 1781.1719,203.9375 Q1780.7813,204.4688 1780.5781,205.25 Q1780.3906,206.0156 1780.3906,206.9688 Q1780.3906,207.9375 1780.5625,208.7031 Q1780.75,209.4531 1781.1094,209.9688 Q1781.4844,210.4844 1782.0625,210.7656 Q1782.6406,211.0313 1783.4375,211.0313 Q1784.1719,211.0313 1784.9063,210.8594 Q1785.6563,210.6875 1786.5313,210.3906 L1786.5313,212.5469 Q1786.125,212.7031 1785.7344,212.8281 Q1785.3438,212.9375 1784.9375,213.0156 Q1784.5313,213.0938 1784.1094,213.125 Q1783.6875,213.1719 1783.1875,213.1719 Q1781.7813,213.1719 1780.75,212.7188 Q1779.7344,212.2656 1779.0625,211.4531 Q1778.3906,210.6406 1778.0625,209.5 Q1777.7344,208.3438 1777.7344,206.9531 Q1777.7344,205.5781 1778.1094,204.4219 Q1778.4844,203.2656 1779.2031,202.4375 Q1779.9219,201.6094 1780.9844,201.1563 Q1782.0469,200.6875 1783.4375,200.6875 Q1784.3438,200.6875 1785.25,200.9219 Q1786.1563,201.1406 1786.9844,201.5469 L1786.1563,203.6406 Q1785.4688,203.3125 1784.7813,203.0781 Q1784.0938,202.8281 1783.4375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="91" x="1797.5" y="211.8467">Concretisation</text></g><!--class Enum--><g id="elem_Enum"><rect codeLine="466" fill="#F1F1F1" height="32" id="Enum" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="68" x="703" y="559"/><ellipse cx="718" cy="575" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M717.9375,570.8281 Q717.1875,570.8281 716.625,571.125 Q716.0625,571.4063 715.6719,571.9375 Q715.2813,572.4688 715.0781,573.25 Q714.8906,574.0156 714.8906,574.9688 Q714.8906,575.9375 715.0625,576.7031 Q715.25,577.4531 715.6094,577.9688 Q715.9844,578.4844 716.5625,578.7656 Q717.1406,579.0313 717.9375,579.0313 Q718.6719,579.0313 719.4063,578.8594 Q720.1563,578.6875 721.0313,578.3906 L721.0313,580.5469 Q720.625,580.7031 720.2344,580.8281 Q719.8438,580.9375 719.4375,581.0156 Q719.0313,581.0938 718.6094,581.125 Q718.1875,581.1719 717.6875,581.1719 Q716.2813,581.1719 715.25,580.7188 Q714.2344,580.2656 713.5625,579.4531 Q712.8906,578.6406 712.5625,577.5 Q712.2344,576.3438 712.2344,574.9531 Q712.2344,573.5781 712.6094,572.4219 Q712.9844,571.2656 713.7031,570.4375 Q714.4219,569.6094 715.4844,569.1563 Q716.5469,568.6875 717.9375,568.6875 Q718.8438,568.6875 719.75,568.9219 Q720.6563,569.1406 721.4844,569.5469 L720.6563,571.6406 Q719.9688,571.3125 719.2813,571.0781 Q718.5938,570.8281 717.9375,570.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36" x="732" y="579.8467">Enum</text></g><!--class EnumValue--><g id="elem_EnumValue"><rect codeLine="473" fill="#F1F1F1" height="32" id="EnumValue" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="103" x="1327.5" y="467"/><ellipse cx="1342.5" cy="483" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1342.4375,478.8281 Q1341.6875,478.8281 1341.125,479.125 Q1340.5625,479.4063 1340.1719,479.9375 Q1339.7813,480.4688 1339.5781,481.25 Q1339.3906,482.0156 1339.3906,482.9688 Q1339.3906,483.9375 1339.5625,484.7031 Q1339.75,485.4531 1340.1094,485.9688 Q1340.4844,486.4844 1341.0625,486.7656 Q1341.6406,487.0313 1342.4375,487.0313 Q1343.1719,487.0313 1343.9063,486.8594 Q1344.6563,486.6875 1345.5313,486.3906 L1345.5313,488.5469 Q1345.125,488.7031 1344.7344,488.8281 Q1344.3438,488.9375 1343.9375,489.0156 Q1343.5313,489.0938 1343.1094,489.125 Q1342.6875,489.1719 1342.1875,489.1719 Q1340.7813,489.1719 1339.75,488.7188 Q1338.7344,488.2656 1338.0625,487.4531 Q1337.3906,486.6406 1337.0625,485.5 Q1336.7344,484.3438 1336.7344,482.9531 Q1336.7344,481.5781 1337.1094,480.4219 Q1337.4844,479.2656 1338.2031,478.4375 Q1338.9219,477.6094 1339.9844,477.1563 Q1341.0469,476.6875 1342.4375,476.6875 Q1343.3438,476.6875 1344.25,476.9219 Q1345.1563,477.1406 1345.9844,477.5469 L1345.1563,479.6406 Q1344.4688,479.3125 1343.7813,479.0781 Q1343.0938,478.8281 1342.4375,478.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="71" x="1356.5" y="487.8467">EnumValue</text></g><!--class IndexedFileAnchor--><g id="elem_IndexedFileAnchor"><rect codeLine="480" fill="#F1F1F1" height="32" id="IndexedFileAnchor" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="152" x="943" y="283"/><ellipse cx="958" cy="299" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M957.9375,294.8281 Q957.1875,294.8281 956.625,295.125 Q956.0625,295.4063 955.6719,295.9375 Q955.2813,296.4688 955.0781,297.25 Q954.8906,298.0156 954.8906,298.9688 Q954.8906,299.9375 955.0625,300.7031 Q955.25,301.4531 955.6094,301.9688 Q955.9844,302.4844 956.5625,302.7656 Q957.1406,303.0313 957.9375,303.0313 Q958.6719,303.0313 959.4063,302.8594 Q960.1563,302.6875 961.0313,302.3906 L961.0313,304.5469 Q960.625,304.7031 960.2344,304.8281 Q959.8438,304.9375 959.4375,305.0156 Q959.0313,305.0938 958.6094,305.125 Q958.1875,305.1719 957.6875,305.1719 Q956.2813,305.1719 955.25,304.7188 Q954.2344,304.2656 953.5625,303.4531 Q952.8906,302.6406 952.5625,301.5 Q952.2344,300.3438 952.2344,298.9531 Q952.2344,297.5781 952.6094,296.4219 Q952.9844,295.2656 953.7031,294.4375 Q954.4219,293.6094 955.4844,293.1563 Q956.5469,292.6875 957.9375,292.6875 Q958.8438,292.6875 959.75,292.9219 Q960.6563,293.1406 961.4844,293.5469 L960.6563,295.6406 Q959.9688,295.3125 959.2813,295.0781 Q958.5938,294.8281 957.9375,294.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="972" y="303.8467">IndexedFileAnchor</text></g><!--class ParameterConcretisation--><g id="elem_ParameterConcretisation"><rect codeLine="493" fill="#F1F1F1" height="32" id="ParameterConcretisation" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="191" x="1926.5" y="191"/><ellipse cx="1941.5" cy="207" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1941.4375,202.8281 Q1940.6875,202.8281 1940.125,203.125 Q1939.5625,203.4063 1939.1719,203.9375 Q1938.7813,204.4688 1938.5781,205.25 Q1938.3906,206.0156 1938.3906,206.9688 Q1938.3906,207.9375 1938.5625,208.7031 Q1938.75,209.4531 1939.1094,209.9688 Q1939.4844,210.4844 1940.0625,210.7656 Q1940.6406,211.0313 1941.4375,211.0313 Q1942.1719,211.0313 1942.9063,210.8594 Q1943.6563,210.6875 1944.5313,210.3906 L1944.5313,212.5469 Q1944.125,212.7031 1943.7344,212.8281 Q1943.3438,212.9375 1942.9375,213.0156 Q1942.5313,213.0938 1942.1094,213.125 Q1941.6875,213.1719 1941.1875,213.1719 Q1939.7813,213.1719 1938.75,212.7188 Q1937.7344,212.2656 1937.0625,211.4531 Q1936.3906,210.6406 1936.0625,209.5 Q1935.7344,208.3438 1935.7344,206.9531 Q1935.7344,205.5781 1936.1094,204.4219 Q1936.4844,203.2656 1937.2031,202.4375 Q1937.9219,201.6094 1938.9844,201.1563 Q1940.0469,200.6875 1941.4375,200.6875 Q1942.3438,200.6875 1943.25,200.9219 Q1944.1563,201.1406 1944.9844,201.5469 L1944.1563,203.6406 Q1943.4688,203.3125 1942.7813,203.0781 Q1942.0938,202.8281 1941.4375,202.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="159" x="1955.5" y="211.8467">ParameterConcretisation</text></g><!--class SearchParameters--><g id="elem_SearchParameters"><rect codeLine="506" fill="#F1F1F1" height="32" id="SearchParameters" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="148" x="947" y="7"/><ellipse cx="962" cy="23" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M964.5625,29 L959.0469,29 L959.0469,27.5313 L960.5313,26.8594 L960.5313,19 L959.0469,18.3281 L959.0469,16.8594 L964.5625,16.8594 L964.5625,18.3281 L963.0938,19 L963.0938,26.8594 L964.5625,27.5313 L964.5625,29 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="116" x="976" y="27.8467">SearchParameters</text></g><!--class EntityDictionary--><g id="elem_EntityDictionary"><rect codeLine="511" fill="#F1F1F1" height="32" id="EntityDictionary" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="133" x="1130.5" y="7"/><ellipse cx="1145.5" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1145.4375,18.8281 Q1144.6875,18.8281 1144.125,19.125 Q1143.5625,19.4063 1143.1719,19.9375 Q1142.7813,20.4688 1142.5781,21.25 Q1142.3906,22.0156 1142.3906,22.9688 Q1142.3906,23.9375 1142.5625,24.7031 Q1142.75,25.4531 1143.1094,25.9688 Q1143.4844,26.4844 1144.0625,26.7656 Q1144.6406,27.0313 1145.4375,27.0313 Q1146.1719,27.0313 1146.9063,26.8594 Q1147.6563,26.6875 1148.5313,26.3906 L1148.5313,28.5469 Q1148.125,28.7031 1147.7344,28.8281 Q1147.3438,28.9375 1146.9375,29.0156 Q1146.5313,29.0938 1146.1094,29.125 Q1145.6875,29.1719 1145.1875,29.1719 Q1143.7813,29.1719 1142.75,28.7188 Q1141.7344,28.2656 1141.0625,27.4531 Q1140.3906,26.6406 1140.0625,25.5 Q1139.7344,24.3438 1139.7344,22.9531 Q1139.7344,21.5781 1140.1094,20.4219 Q1140.4844,19.2656 1141.2031,18.4375 Q1141.9219,17.6094 1142.9844,17.1563 Q1144.0469,16.6875 1145.4375,16.6875 Q1146.3438,16.6875 1147.25,16.9219 Q1148.1563,17.1406 1148.9844,17.5469 L1148.1563,19.6406 Q1147.4688,19.3125 1146.7813,19.0781 Q1146.0938,18.8281 1145.4375,18.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="1159.5" y="27.8467">EntityDictionary</text></g><!--class FamixRepository--><g id="elem_FamixRepository"><rect codeLine="558" fill="#F1F1F1" height="32" id="FamixRepository" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="138" x="765" y="99"/><ellipse cx="780" cy="115" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M779.9375,110.8281 Q779.1875,110.8281 778.625,111.125 Q778.0625,111.4063 777.6719,111.9375 Q777.2813,112.4688 777.0781,113.25 Q776.8906,114.0156 776.8906,114.9688 Q776.8906,115.9375 777.0625,116.7031 Q777.25,117.4531 777.6094,117.9688 Q777.9844,118.4844 778.5625,118.7656 Q779.1406,119.0313 779.9375,119.0313 Q780.6719,119.0313 781.4063,118.8594 Q782.1563,118.6875 783.0313,118.3906 L783.0313,120.5469 Q782.625,120.7031 782.2344,120.8281 Q781.8438,120.9375 781.4375,121.0156 Q781.0313,121.0938 780.6094,121.125 Q780.1875,121.1719 779.6875,121.1719 Q778.2813,121.1719 777.25,120.7188 Q776.2344,120.2656 775.5625,119.4531 Q774.8906,118.6406 774.5625,117.5 Q774.2344,116.3438 774.2344,114.9531 Q774.2344,113.5781 774.6094,112.4219 Q774.9844,111.2656 775.7031,110.4375 Q776.4219,109.6094 777.4844,109.1563 Q778.5469,108.6875 779.9375,108.6875 Q780.8438,108.6875 781.75,108.9219 Q782.6563,109.1406 783.4844,109.5469 L782.6563,111.6406 Q781.9688,111.3125 781.2813,111.0781 Q780.5938,110.8281 779.9375,110.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="794" y="119.8467">FamixRepository</text></g><!--class Importer--><g id="elem_Importer"><rect codeLine="595" fill="#F1F1F1" height="32" id="Importer" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="91" x="938.5" y="99"/><ellipse cx="953.5" cy="115" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M953.4375,110.8281 Q952.6875,110.8281 952.125,111.125 Q951.5625,111.4063 951.1719,111.9375 Q950.7813,112.4688 950.5781,113.25 Q950.3906,114.0156 950.3906,114.9688 Q950.3906,115.9375 950.5625,116.7031 Q950.75,117.4531 951.1094,117.9688 Q951.4844,118.4844 952.0625,118.7656 Q952.6406,119.0313 953.4375,119.0313 Q954.1719,119.0313 954.9063,118.8594 Q955.6563,118.6875 956.5313,118.3906 L956.5313,120.5469 Q956.125,120.7031 955.7344,120.8281 Q955.3438,120.9375 954.9375,121.0156 Q954.5313,121.0938 954.1094,121.125 Q953.6875,121.1719 953.1875,121.1719 Q951.7813,121.1719 950.75,120.7188 Q949.7344,120.2656 949.0625,119.4531 Q948.3906,118.6406 948.0625,117.5 Q947.7344,116.3438 947.7344,114.9531 Q947.7344,113.5781 948.1094,112.4219 Q948.4844,111.2656 949.2031,110.4375 Q949.9219,109.6094 950.9844,109.1563 Q952.0469,108.6875 953.4375,108.6875 Q954.3438,108.6875 955.25,108.9219 Q956.1563,109.1406 956.9844,109.5469 L956.1563,111.6406 Q955.4688,111.3125 954.7813,111.0781 Q954.0938,110.8281 953.4375,110.8281 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="59" x="967.5" y="119.8467">Importer</text></g><!--reverse link FamixBaseElement to Entity--><g id="link_FamixBaseElement_Entity"><path d="M1375,59.61 C1375,73.31 1375,88.22 1375,98.96 " fill="none" id="FamixBaseElement-backto-Entity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1368,59.27,1375,39.27,1382,59.27,1368,59.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to SourceLanguage--><g id="link_Entity_SourceLanguage"><path d="M1320.55,121.86 C1214.92,133.44 974.91,160.76 774,191 C768.22,191.87 762.23,192.82 756.23,193.81 " fill="none" id="Entity-backto-SourceLanguage" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1320.06,114.87,1340.7,119.67,1321.57,128.79,1320.06,114.87" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link SourcedEntity to Comment--><g id="link_SourcedEntity_Comment"><path d="M810.52,234.02 C785.87,249.87 755.23,269.57 734.51,282.89 " fill="none" id="SourcedEntity-backto-Comment" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="806.96,227.99,827.57,223.06,814.53,239.77,806.96,227.99" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to SourceAnchor--><g id="link_Entity_SourceAnchor"><path d="M1321.14,129.14 C1253.3,145.68 1137.04,174.04 1066.29,191.3 " fill="none" id="Entity-backto-SourceAnchor" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1319.86,122.24,1340.95,124.31,1323.18,135.85,1319.86,122.24" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to SourcedEntity--><g id="link_Entity_SourcedEntity"><path d="M1320.97,124.6 C1236.86,138.09 1069.54,165.34 928,191 C922.37,192.02 916.52,193.11 910.66,194.22 " fill="none" id="Entity-backto-SourcedEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1319.88,117.68,1340.74,121.44,1322.1,131.51,1319.88,117.68" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ContainerEntity to ScopingEntity--><g id="link_ContainerEntity_ScopingEntity"><path d="M448.95,413.17 C396.71,429.67 325.46,452.17 278.86,466.89 " fill="none" id="ContainerEntity-backto-ScopingEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="447.12,406.41,468.3,407.06,451.33,419.76,447.12,406.41" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ScopingEntity to ScriptEntity--><g id="link_ScopingEntity_ScriptEntity"><path d="M184.35,508.41 C153.56,524.52 114.21,545.11 87.88,558.89 " fill="none" id="ScopingEntity-backto-ScriptEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="181.25,502.13,202.21,499.06,187.74,514.54,181.25,502.13" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ScriptEntity to Module--><g id="link_ScriptEntity_Module"><path d="M54.32,611.12 C52.47,624.95 50.45,640.09 49.01,650.96 " fill="none" id="ScriptEntity-backto-Module" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="47.38,610.17,56.96,591.27,61.26,612.02,47.38,610.17" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to ImportClause--><g id="link_Entity_ImportClause"><path d="M1322.34,138.04 C1283.12,154.46 1230.6,176.45 1196.06,190.91 " fill="none" id="Entity-backto-ImportClause" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1319.78,131.53,1340.93,130.26,1325.19,144.44,1319.78,131.53" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link NamedEntity to Alias--><g id="link_NamedEntity_Alias"><path d="M830.62,332.18 C821.38,346.77 810.9,363.31 803.53,374.96 " fill="none" id="NamedEntity-backto-Alias" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="824.72,328.42,841.33,315.27,836.54,335.91,824.72,328.42" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link NamedEntity to Decorator--><g id="link_NamedEntity_Decorator"><path d="M871.38,332.18 C880.62,346.77 891.1,363.31 898.47,374.96 " fill="none" id="NamedEntity-backto-Decorator" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="865.46,335.91,860.67,315.27,877.28,328.42,865.46,335.91" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link SourcedEntity to NamedEntity--><g id="link_SourcedEntity_NamedEntity"><path d="M851,243.61 C851,257.31 851,272.22 851,282.96 " fill="none" id="SourcedEntity-backto-NamedEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="844,243.27,851,223.27,858,243.27,844,243.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link StructuralEntity to Parameter--><g id="link_StructuralEntity_Parameter"><path d="M1090.7,418.72 C1068.16,434.45 1040.47,453.76 1021.66,466.89 " fill="none" id="StructuralEntity-backto-Parameter" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1087,412.77,1107.41,407.06,1095.01,424.25,1087,412.77" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link StructuralEntity to Property--><g id="link_StructuralEntity_Property"><path d="M1129,427.61 C1129,441.31 1129,456.22 1129,466.96 " fill="none" id="StructuralEntity-backto-Property" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1122,427.27,1129,407.27,1136,427.27,1122,427.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to Inheritance--><g id="link_Entity_Inheritance"><path d="M1351.05,147.69 C1339.94,162.4 1327.26,179.18 1318.36,190.96 " fill="none" id="Entity-backto-Inheritance" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1345.82,143,1363.46,131.27,1356.99,151.44,1345.82,143" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Type to Class--><g id="link_Type_Class"><path d="M428.53,499.66 C368.69,518.23 270.78,548.62 220.69,564.16 " fill="none" id="Type-backto-Class" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="426.79,492.87,447.96,493.63,430.94,506.25,426.79,492.87" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link BehavioralEntity to Method--><g id="link_BehavioralEntity_Method"><path d="M847,519.61 C847,533.31 847,548.22 847,558.96 " fill="none" id="BehavioralEntity-backto-Method" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="840,519.27,847,499.27,854,519.27,840,519.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Type to Interface--><g id="link_Type_Interface"><path d="M431.17,508.18 C399.25,524.32 358.26,545.05 330.89,558.89 " fill="none" id="Type-backto-Interface" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="428.2,501.84,449.21,499.06,434.52,514.34,428.2,501.84" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Type to PrimitiveType--><g id="link_Type_PrimitiveType"><path d="M464.97,518.13 C459.17,532.23 452.76,547.83 448.18,558.96 " fill="none" id="Type-backto-PrimitiveType" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="458.64,515.1,472.72,499.27,471.59,520.43,458.64,515.1" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Class to ParametricClass--><g id="link_Class_ParametricClass"><path d="M189,611.61 C189,625.31 189,640.22 189,650.96 " fill="none" id="Class-backto-ParametricClass" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="182,611.27,189,591.27,196,611.27,182,611.27" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Interface to ParametricInterface--><g id="link_Interface_ParametricInterface"><path d="M325.27,607.21 C336.8,622.03 350.04,639.06 359.3,650.96 " fill="none" id="Interface-backto-ParametricInterface" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="319.63,611.35,312.87,591.27,330.68,602.76,319.63,611.35" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link BehavioralEntity to Function--><g id="link_BehavioralEntity_Function"><path d="M890.34,509.33 C917.66,525.29 952.02,545.37 975.14,558.89 " fill="none" id="BehavioralEntity-backto-Function" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="886.51,515.2,872.78,499.06,893.58,503.11,886.51,515.2" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Method to Accessor--><g id="link_Method_Accessor"><path d="M800.35,600.41 C769.56,616.52 730.21,637.11 703.88,650.89 " fill="none" id="Method-backto-Accessor" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="797.25,594.13,818.21,591.06,803.74,606.54,797.25,594.13" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Method to ParametricMethod--><g id="link_Method_ParametricMethod"><path d="M839.98,611.12 C837.21,624.95 834.18,640.09 832.01,650.96 " fill="none" id="Method-backto-ParametricMethod" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="833.16,609.51,843.95,591.27,846.89,612.25,833.16,609.51" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Function to ParametricFunction--><g id="link_Function_ParametricFunction"><path d="M1007.63,611.12 C1010.25,624.95 1013.11,640.09 1015.16,650.96 " fill="none" id="Function-backto-ParametricFunction" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1000.72,612.22,1003.88,591.27,1014.47,609.62,1000.72,612.22" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link BehavioralEntity to ArrowFunction--><g id="link_BehavioralEntity_ArrowFunction"><path d="M921.88,504.42 C982.7,521.01 1067.08,544.02 1121.86,558.96 " fill="none" id="BehavioralEntity-backto-ArrowFunction" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="919.69,511.08,902.23,499.06,923.37,497.57,919.69,511.08" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ArrowFunction to ParametricArrowFunction--><g id="link_ArrowFunction_ParametricArrowFunction"><path d="M1195.87,608.67 C1204.23,623.13 1213.66,639.44 1220.31,650.96 " fill="none" id="ArrowFunction-backto-ParametricArrowFunction" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1189.77,612.09,1185.82,591.27,1201.89,605.08,1189.77,612.09" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Type to ParameterType--><g id="link_Type_ParameterType"><path d="M516.14,510.95 C537.75,526.64 564.18,545.83 582.18,558.89 " fill="none" id="Type-backto-ParameterType" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="511.83,516.48,499.75,499.06,520.05,505.15,511.83,516.48" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ContainerEntity to BehavioralEntity--><g id="link_ContainerEntity_BehavioralEntity"><path d="M590.71,412.31 C651.74,428.91 736.63,451.99 791.69,466.96 " fill="none" id="ContainerEntity-backto-BehavioralEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="588.86,419.07,571.4,407.06,592.54,405.56,588.86,419.07" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to Invocation--><g id="link_Entity_Invocation"><path d="M1398.93,147.21 C1410.29,162.03 1423.34,179.06 1432.47,190.96 " fill="none" id="Entity-backto-Invocation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1393.32,151.4,1386.7,131.27,1404.43,142.88,1393.32,151.4" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to Reference--><g id="link_Entity_Reference"><path d="M1427.25,139.28 C1463.75,155.54 1511.43,176.79 1543.08,190.89 " fill="none" id="Entity-backto-Reference" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1424.23,145.6,1408.81,131.06,1429.93,132.81,1424.23,145.6" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link StructuralEntity to Variable--><g id="link_StructuralEntity_Variable"><path d="M1165.55,419.19 C1186.58,434.83 1212.21,453.89 1229.68,466.89 " fill="none" id="StructuralEntity-backto-Variable" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1161.12,424.62,1149.25,407.06,1169.48,413.38,1161.12,424.62" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link NamedEntity to ContainerEntity--><g id="link_NamedEntity_ContainerEntity"><path d="M775.39,320.31 C713.62,336.91 627.7,359.99 571.97,374.96 " fill="none" id="NamedEntity-backto-ContainerEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="773.8,313.49,794.93,315.06,777.43,327.01,773.8,313.49" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link ContainerEntity to Type--><g id="link_ContainerEntity_Type"><path d="M501.97,426.13 C496.17,440.23 489.76,455.83 485.18,466.96 " fill="none" id="ContainerEntity-backto-Type" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="495.64,423.1,509.72,407.27,508.59,428.43,495.64,423.1" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link NamedEntity to StructuralEntity--><g id="link_NamedEntity_StructuralEntity"><path d="M916.74,321.28 C967.67,337.77 1036.96,360.2 1082.32,374.89 " fill="none" id="NamedEntity-backto-StructuralEntity" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="914.4,327.88,897.53,315.06,918.71,314.56,914.4,327.88" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to Access--><g id="link_Entity_Access"><path d="M1428.8,131.04 C1494.41,149.38 1603.53,179.88 1660.24,195.73 " fill="none" id="Entity-backto-Access" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1426.53,137.67,1409.15,125.55,1430.3,124.19,1426.53,137.67" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to Concretisation--><g id="link_Entity_Concretisation"><path d="M1429.03,126.69 C1514.14,143.52 1678.96,176.12 1768.5,193.83 " fill="none" id="Entity-backto-Concretisation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1427.46,133.51,1409.2,122.76,1430.18,119.78,1427.46,133.51" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Type to Enum--><g id="link_Type_Enum"><path d="M529.28,501.54 C580.49,519.4 658.49,546.61 702.9,562.1 " fill="none" id="Type-backto-Enum" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="526.7,508.05,510.12,494.86,531.31,494.83,526.7,508.05" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link StructuralEntity to EnumValue--><g id="link_StructuralEntity_EnumValue"><path d="M1189.95,413.94 C1235.57,430.36 1296.77,452.4 1337.02,466.89 " fill="none" id="StructuralEntity-backto-EnumValue" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1187.29,420.42,1170.84,407.06,1192.03,407.25,1187.29,420.42" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link SourceAnchor to IndexedFileAnchor--><g id="link_SourceAnchor_IndexedFileAnchor"><path d="M1011.07,243.12 C1013.07,256.95 1015.26,272.09 1016.83,282.96 " fill="none" id="SourceAnchor-backto-IndexedFileAnchor" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1004.14,244.06,1008.21,223.27,1017.99,242.06,1004.14,244.06" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Entity to ParameterConcretisation--><g id="link_Entity_ParameterConcretisation"><path d="M1429.35,123.56 C1539.17,138.84 1788.72,173.55 1926.39,192.7 " fill="none" id="Entity-backto-ParameterConcretisation" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="1428.17,130.46,1409.33,120.78,1430.1,116.6,1428.17,130.46" style="stroke:#181818;stroke-width:1.0;"/></g><!--SRC=[xHrTSzmsxZs_Ge_ArCdSizf9P-Cu7VSIsvTDquTEnyELk5vUjDAUFbnx4l_tyWiKlyLrkdlfD7r8LmG80Y08W115RqY5iotUhd3NFobhrFVPQxGbTpylBo_ExdPjD-0k-_Gae_yzmpNUucOe1CPBrECpqIB0gt6znjsYwz1zaQ7cNhHotAiEhybTaVL3HveR3lWELTLLr-vmDzpd3TfYW9vaEzfSP6FpiMd_Q9uMsMrBAj7d1W-CiVof8lKWcJvh1ZBSP_Xkm4tLEnnA4Jm4B5u8xj-t87YEvO_2LGhm1Gmisx4hyHlKt8pe1Yj695zIWzSznwfuAnsgo9Pu-66fDTw_41pf6b4y6eYvJejgt03EQErBXURzKsG1xPosMpuDe1O3JMc7z3ylNxLbaQtQjiQeaSrbsmo8D8mZevy6vcQf2tSWcRqS1bgZR2T07PdiHjFq5asvQRkGuQcrwndiGBgA3Hc0cH9Lrg9sh6KvZ2lRM7fD6OMX6cKkt1IblKh3VA54bWsvH2l0T7NHdbrNc3BQuSfSzONb1GviYgxu_iOPbSp2OnhRHn69kCe8odP7jMKPmIci6yiQjcqrrk25tlA7QLB5SrvkI2r_5vdu_p4SfPUrISgEx0PBI5Dq4B4PMPY-NB-XulUNw_SKkyX4euLnka4TAYaVlO5mA07d64j7234UWOCYXM8r5Mfw_GIhOx5T4RwghLNZRMSk9jJXWiRdVeTAd0fXnCATm2WJcXaXV_kEBgvcOBR35fLkGXAX7OURbZQURzaaIeCK3wSr6djjnLmQg3dHa8fCxtAC1JGZs2myGMwm8hqr67WuZXe3N8a1dV8oDkbcmYBymNA7Ix8cJFfZ92uHdbE0ONdc4QBoXe0m8OkQe5xDX4PRJOUO_R2w4QCmiVV-VeUFOAr1RSo0Wzpw0A2aLxXiEpHewPzFKHLWKROxtFUaRGp95KPaBW-aipdMaX4Yh4SnG9EwtkARbVLOr_V_6UcqKBkjBkpzshFh3fUOtEBglBbjIpHGZi7pg8R9txvpa7EtF_MywhUPZvA69cbfdltSGCrH8tw4lJfDArpXX3NAWVWQdKRWZpd7ACJwTP9dCPUokxBUYOHgoXLoCLdvCMBEpFJEmjDdFtNkt9A0fqWGcfQ8pi7qhsXgjSMitgCCV-Z6SXWxL4TTxakyGRUaLMX7zAx-eMTmbC2o_3GlB-bFMOybgUmShSEekcpg-wHcvXFyxIR7VB3iCrtjLFerpHSX7to5rwGX0wxl5zG5tZIuSbB619JB7RC-LAS3VaQtI2JKLnsvfJvqNmocmZdE68wV0ruPcc7XblHaHMgklm_gDukIVHh2i-jP4WVRoOUiAmn9CfWv99NqDXlSaG4rPRXmELBvE7PeD8QpYc8Sh10voriQokhn2AhEoVy57JBJqNp8OaMbfhjNP_4huOLl1h_qmYsKIrGwcz1aXbRglpTj1QK6_g1LGVXpBd1eai__R_RdUjBCGSKirJAHMrgukTsvq0tB7cULFChA76ELCiBXbgf_4iE0cSaDJrZoLCphKfL8E7rbddPW38Jtq7B_I9hAoWh3DXxqP0mK31bNuwecfQz3E-1oS6BRKNAEHpfRZkJepDEoluqz9e04j1vhzqn6f3amHLx858Yajlmkz9kZ_Diuog_9xL63tfA1RiQuCNaiwu2lXUMcgYEbcHg89p3i6znGjakr0mEbmJFZTPhfdopitEvUP4PFOs9Akk0wcqAVcrPNjatPKO3DaEFLw6z3k_fxD8j4xX3rU4cRtZ5CTG_bVu5UN8DmdTtKyiqm_d66yNfiIhRvdKlF3kYi5YLrfBrMHPO9un6zf9MY6WpymyplBtKsZdMfXc-wVPnk5rtN_l4LBDffZlqScQtVPlkBLf9m-e7T2Ty0oWWAkmP6CJ11dpFxsKuMFtkpXS-kk_mykUxFGXTUgj0e6LwXdakflMLyTeswcr4xxMDE-K82Sy0INOzt1k1lezs_7RyUO_2sUUq3LedZ_UPERR7t06WOE_lruYwKSsbRVULsTfxqrdg1AOyFwGx0E3Ybti6blAizTv1pjt_uNIqSWtEMtjULx1-iMk-Tyb3pd27CpEmiF7tY0zCMR4-RpQdo1SE5ti2KgAb8XGOeTTXhJGlCW9chFkvRKDCcvTlgpdT-fgVSy51khk7e2ZvO94zJGbYS62Wcw0mmrQPXkj_XDQRnePpvK22az85wOJmSuInJZ8quq6NHQ055V40TGIlzt6Ryp84rLc3mW-OWQImauauVI9W1Slx0Mn8Rr6smCyyKtuIgkgpLINCYh9y55GUevmQsAaRtPTrkgMShJzljhiPtl8ltrF9oe0jRvXO60fpVLAj6Cg-UtNEh2fGxdOjfzVcp17bA-RHbBqsyZ2Ib2PSESkxs3wS9YETmwYmFVz8oSVwS2wH29dm60PXuVdx1byop9p6ZK-ZoKe14KL8nCahRRA1T48Qd8lDqCiMzbOv03W9-OQ8CBJbW5ifv76__yPUkVH7H7hC-PnTL0iRCgfk5foxAkLKrZx37gWklcS6x3DQffXqqJt3WHbqWjDtHFleA17PAPH4vMlaUuBd2z1wnx6KKnVslPDYyCb9K_fcU5MMrruZGq-wOzo58uGHjavcLcQIH45FXZDQ6EBojPX3cyb_O1YH4c7CRDNSw1oBC0SjRCQkQXKUDxf6Mz8LpdZ0VwWCgEs6CfKv0Tn4DhkS6LcvsyWRRw_0ky33daERbs6E_Qhx_2Mr9a2mgXNpN59VjAL7dTdxjY7Emv40QYdCx1vwHPHRk5zLfrR9_Lg0cVRG282iAa4vyGNqmM1A6IldXnZZmozg3Cdxe4OwW_SCECTt6C6xzBqbkKJs2ks9O7zYpdkJJnvmZ5Pc27oE81XZJ9U9D-tuSmJeUyN3YD9odVIesLlWELwz9RTyQO5mbe6fH0-g6gzRUbTCERkEQqdG_XZbKTSh7MA3LmwstpI-0q-gy5zpBXOTgzA6NiuNvMj94aqDE6qQjqNbRAzjpiszXHQ3_n-aQdohIa9BKjHzMNASFJuXoZKkCkd8pLVdXXN_Fs-LjE49ll_sk5qAz86wxFu95KYSxqgMwfjb9PTrqyufmZuiwTS9WpRJz3k-atkcljYT3sydiQxszusdzMqGnw3y_m6qx7Fkvbl8pL1uC0gWGACIJ5K0c4Yfw1CZeqSKcfM0JEV59Se2MVjy3GsQUBOggnjIl2PZwCti8zEVHpE9OdWfGhUvv2SwKZ9ABHXum3d480TRMYWNGNkhQc02IW_zoyU-BorylhZyitlnoPZcsxPsy8kbozLzS3eedGL8evYHxltpRThkDmD7g9qFFs_qad4uWeLDpqA9EJZagO7Bq3szFiePNXXogJmjbKLPOasUDqKVC4JXyWieBbCxWAXeFktnDdHdNNZqFtxD4VGGQy6Nt4nv48OaEbQ_XVXFsT98vTpSexYE6wISlBpNPmkVwOdCD_bidglVdxV8BNR7zum- -pXpW7vklzRoiuMCeN_Ued_2JLUi-vmwsc4xc-0P8yY01_Y4D5dEhJYwfkPueyL9V8mt2mjEuKY4KODASp7wBwVG40rnGY_vXw9_3xnU__VuqCBOpXv5F7JIs-8acqRg4jv5AWG09s9VlAmYJD1LPr8VQpWG8P3KYRQ5KuLIAYRhq0gZAnevNqK-Bx5FssqUiOkNl41w_pnucGqzqcZ1KOCN2smjM5oxK6KcJOLKVLZSHxCjiWkTsfziyxg8bGhwbeO1XEhnkEko48QOHi-tGNK-Sg6JGQ-01xn1Soh7GwiWMUKNaamjW3XssMSen_KVVFVaeJBijgxVOnp8IR_dTYeA4-6tqveX-dSRlG3Z9dFiiR4-irg7b3pnphRa9itNFPQjaKtmwwWbTiFOEDJSiv6xlv4K-Wf1MnMNHqxneRx8cGSElI67fp0ADQoRL7NGCxfDXtrJF3REYVYpoblEA3iRlkA5oLE0MF0c4Z8JgfR7RVRkdDqxrOuznqocYJ5-bUJC6_GIkIRlPd6fVNCzteSsJDEo50yzl8EO66TJksiZjsunyLcXVbwJdMiOWRLsTHiSH3-VDkcM1GxHfylm8jx9OelEsi_-DgBQKehQBtqjYk9koJpqJ_JwpBbvYZLTesC3w008g8nA3Adp6XZ99YjoVDsARtwlLoLfVuJKQwq60DCX3Q3ACKx0vOa_wbJ_JRnPMfgSN-yRWy3bScIZehHudPbTJJ5jmowh117K-Pt6pWvFi1XztHCtJwfA7qukPUfEFc9jmM4KrlHmIdn6kWyjEYSpD5jN0ZNBzYNubPApceF8yxJdrmZHf9rBmm1ufWHxetYIeUFU508-dJnjBIHtVsILGOYvNS5oIlqBRRNDBqvBtxJjS8nPfcPFAqQflwt4mFDP9fhVIT8Rjum7etXXjLSciIwxr0o7QFT9GpL5xOAn_Ig93bM3gh8fLqfgsy9vBIoKuz9Mq07-87PaIAAb7joGsiPXXSTyja97gj1t5_bol_VlcH1M_lg38z4mMcHvLNUff3kYEdZ-Q8xioxYF-T9yA6gi4Qugpg-oz1TvfodLu4RiFDjxB-_CgDr8pvqPqnvdQ55uxDvpbuKlFaaOGhmROnqF_OZ5wtNPRD4m9nuCb-pNJJQqEa33LXDUaZGtPNpviv3SiYj4P8bg1Aoeln5bBI4LYAcP5oUXXEKHAbcAYT5G83n7HYXjpisYwY0XDjUEEqbI7l2CIYc9cN4BmIN4Yob2CMw0dDP3aSOmxX2EA9SwWNiVvdRnrX5y3lEWfzkkktKB0fVzQV31oui7iVyNVxAPIq7pDDRj_ZRecredoYUjyo_xLHQT-IxYC4_W335EP7egbmRy3aVYt6iwtvj-Ls46ebZ7RV9_5c6Mkh-U-hv_Uc3qDlEcYvDW-LRaDcxnvpQCsYjWTvUnTh_a7AU131tEHMEEQ38kXV6FRVH-U87chJwOb9fw_NJ6vS_7y2VezP0VuklXF]--></g></svg>
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts2famix",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "A TypeScript to JSON importer for Moose
|
|
3
|
+
"version": "2.0.3",
|
|
4
|
+
"description": "A TypeScript to JSON importer for Moose.",
|
|
5
5
|
"main": "dist/ts2famix-cli.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"dev": "ts-node src/ts2famix-cli.ts",
|
|
8
8
|
"debug": "node --inspect-brk node_modules/.bin/ts-node",
|
|
9
9
|
"build": "tsc",
|
|
10
|
+
"check-tests": "tsc --project tsconfig.check-tests.json",
|
|
10
11
|
"test": "jest --colors --silent",
|
|
11
12
|
"local": "sudo npm i -g && ts2famix",
|
|
12
13
|
"refresh": "rm -rf ./node_modules ./package-lock.json && npm install",
|
|
@@ -17,8 +18,21 @@
|
|
|
17
18
|
"bin": {
|
|
18
19
|
"ts2famix": "dist/ts2famix-cli-wrapper.js"
|
|
19
20
|
},
|
|
20
|
-
"keywords": [
|
|
21
|
-
|
|
21
|
+
"keywords": [
|
|
22
|
+
"TypeScript",
|
|
23
|
+
"famix",
|
|
24
|
+
"static analysis",
|
|
25
|
+
"moose"
|
|
26
|
+
],
|
|
27
|
+
"author": "Christopher Fuhrman <christopher.fuhrman@etsmtl.ca>",
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "https://github.com/fuhrmanator/FamixTypeScriptImporter.git"
|
|
31
|
+
},
|
|
32
|
+
"bugs": {
|
|
33
|
+
"url": "https://github.com/fuhrmanator/FamixTypeScriptImporter/issues"
|
|
34
|
+
},
|
|
35
|
+
"homepage": "https://github.com/fuhrmanator/FamixTypeScriptImporter?tab=readme-ov-file#famixtypescriptimporter",
|
|
22
36
|
"nodemonConfig": {
|
|
23
37
|
"ignore": [
|
|
24
38
|
"dist/*"
|
|
@@ -27,12 +41,12 @@
|
|
|
27
41
|
"license": "MIT",
|
|
28
42
|
"devDependencies": {
|
|
29
43
|
"@types/jest": "^29.5.12",
|
|
30
|
-
"@types/node": "^
|
|
31
|
-
"@types/yargs": "^17.0.
|
|
32
|
-
"eslint": "^9.
|
|
44
|
+
"@types/node": "^22.3.0",
|
|
45
|
+
"@types/yargs": "^17.0.33",
|
|
46
|
+
"eslint": "^9.9.0",
|
|
33
47
|
"jest": "^29.7.0",
|
|
34
48
|
"tplant": "3.1.0",
|
|
35
|
-
"ts-jest": "^29.2.
|
|
49
|
+
"ts-jest": "^29.2.4",
|
|
36
50
|
"ts-node": "^10.9.2",
|
|
37
51
|
"typedoc": "^0.26.5"
|
|
38
52
|
},
|
|
@@ -40,10 +54,13 @@
|
|
|
40
54
|
"@types/lodash": "^4.17.7",
|
|
41
55
|
"grapheme-splitter": "^1.0.4",
|
|
42
56
|
"lodash": "^4.17.21",
|
|
43
|
-
"ts-morph": "^
|
|
57
|
+
"ts-morph": "^23.0.0",
|
|
44
58
|
"tslog": "^4.9.2",
|
|
45
59
|
"tsutils": "^3.21.0",
|
|
46
60
|
"typescript": "^5.5.4",
|
|
47
61
|
"yargs": "^17.7.2"
|
|
62
|
+
},
|
|
63
|
+
"engines": {
|
|
64
|
+
"node": ">=18.20.4"
|
|
48
65
|
}
|
|
49
66
|
}
|
package/src/analyze.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Project } from "ts-morph";
|
|
2
2
|
import * as fs from 'fs';
|
|
3
|
-
import { FamixRepository } from "./lib/famix/
|
|
3
|
+
import { FamixRepository } from "./lib/famix/famix_repository";
|
|
4
4
|
import { Logger } from "tslog";
|
|
5
5
|
import * as processFunctions from "./analyze_functions/process_functions";
|
|
6
6
|
import { EntityDictionary } from "./famix_functions/EntityDictionary";
|
|
@@ -51,7 +51,7 @@ export class Importer {
|
|
|
51
51
|
return famixRep;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
private processEntities(project) {
|
|
54
|
+
private processEntities(project: Project): void {
|
|
55
55
|
const onlyTypeScriptFiles = project.getSourceFiles().filter(f => f.getFilePath().endsWith('.ts'));
|
|
56
56
|
processFunctions.processFiles(onlyTypeScriptFiles);
|
|
57
57
|
const accesses = processFunctions.accessMap;
|