{
	"types": {
		"GlobalBreakpointIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "GlobalBreakpointIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					150,
					125
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"91": {
							"width": {
								"type": "double",
								"value": 150
							},
							"height": {
								"type": "double",
								"value": 50
							},
							"cornerRadius": {
								"type": "double",
								"value": 25
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#ffffff",
									"stroke-dasharray": "",
									"fill": "red",
									"fill-opacity": 1,
									"font-size": "20px",
									"stroke-width": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\nvar style = {\n   \"stroke\": \"#ffffff\",\n   \"stroke-dasharray\": \"\",\n   \"fill\": \"red\",\n   \"fill-opacity\": 1,\n   \"font-size\": \"20px\",\n   \"stroke-width\": 1,\n   \"arrow-start\": \"none\",\n   \"arrow-end\": \"none\"\n};\nif (!getAttr(\"enabled\")) {\n   style[\"fill\"] = \"grey\";\n}\n({\"style\": style})"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
							"position": {
								"type": "list<double>",
								"value": [
									5,
									3
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"92": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#ffffff",
									"stroke-dasharray": "",
									"fill": "#000000",
									"fill-opacity": 1,
									"font-size": "12px",
									"stroke-width": 0,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\nvar splitted = getAttr('condition').split('\\n'),\n    textContent = \"\";\nif (splitted.length > 1) {\n    textContent = \"...\\n\" + splitted[splitted.length - 1];\n} else if (splitted.length == 1) {\n    textContent = splitted[0];\n}\n({'textContent': textContent})"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									16,
									11
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"93": {
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
							"position": {
								"type": "list<double>",
								"value": [
									23.31953002410694,
									11.55769180195216
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"link-style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#00ffff",
									"stroke-dasharray": "",
									"stroke-opacity": 0.1,
									"stroke-width": 1
								}
							}
						}
					},
					"edges": [
						{
							"src": "91",
							"dest": "93"
						},
						{
							"src": "93",
							"dest": "92"
						}
					]
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"BreakpointIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "BreakpointIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					400,
					125
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"89": {
							"r": {
								"type": "double",
								"value": 15
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#ffffff",
									"stroke-dasharray": "",
									"fill": "red",
									"fill-opacity": 1,
									"font-size": "20px",
									"stroke-width": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\nvar style = {\n   \"stroke\": \"#ffffff\",\n   \"stroke-dasharray\": \"\",\n   \"fill\": \"red\",\n   \"fill-opacity\": 1,\n   \"font-size\": \"20px\",\n   \"stroke-width\": 1,\n   \"arrow-start\": \"none\",\n   \"arrow-end\": \"none\"\n};\nif (!getAttr(\"enabled\")) {\n   style[\"fill\"] = \"grey\";\n}\n({\"style\": style})"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Circle",
							"position": {
								"type": "list<double>",
								"value": [
									4,
									4
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"targetLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "red",
					"stroke-dasharray": ". ",
					"stroke-opacity": 1,
					"stroke-width": 2
				}
			},
			{
				"name": "arrowHead",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "custom"
			},
			{
				"name": "arrowTail",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "arrow-black"
			},
			{
				"name": "typename",
				"type": "string",
				"default": "targetLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					647,
					123
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"267": {
							"segments": {
								"type": "string",
								"value": "m0,0 l10,4 l-10,4 l3,-4 z"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"fill": "#000000",
									"opacity": 1,
									"stroke-width": 1
								}
							},
							"mapper": {
								"type": "code",
								"value": ""
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"$linkDecoratorInfo": {
								"type": "map<string,double>",
								"value": {
									"xratio": 1,
									"yoffset": -4
								}
							}
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		]
	},
	"constraints": [],
	"actions": [],
	"cardinalities": {
		"GlobalBreakpointIcon": [],
		"BreakpointIcon": [],
		"targetLink": []
	},
	"legalConnections": {},
	"connectorTypes": {},
	"types2parentTypes": {
		"GlobalBreakpointIcon": [],
		"BreakpointIcon": [],
		"targetLink": []
	}
}