{
	"csm": {
		"nodes": {
			"85": {
				"typename": {
					"type": "string",
					"value": "ClassIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						100,
						250
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"5": {
								"width": {
									"type": "double",
									"value": 200
								},
								"height": {
									"type": "double",
									"value": 125
								},
								"cornerRadius": {
									"type": "double",
									"value": 0
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"stroke-width": 2
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
								"position": {
									"type": "list<double>",
									"value": [
										0,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"6": {
								"textContent": {
									"type": "string",
									"value": "GridNode"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var style = \n    {\n   \"font-size\": \"20px\",\n   \"font-style\": \"normal\",\n   \"font-weight\": \"bold\",\n   \"line-height\": \"100%\",\n   \"letter-spacing\": \"0px\",\n   \"word-spacing\": \"0px\",\n   \"fill\": \"#000000\",\n   \"fill-opacity\": \"1\",\n   \"stroke\": \"none\",\n       \"font-style\": (getAttr('abstract') ? 'italic' : 'normal')\n    };\n\n({'textContent': getAttr('name'), 'style':style})\n\n\n\n"
								},
								"parser": {
									"type": "code",
									"value": "({'name': getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										23,
										2
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"7": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										13.896110991026944,
										3.0451514439171206
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"17": {
								"segments": {
									"type": "string",
									"value": "m0,0l200,0"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"font-size": "20px",
										"stroke-width": 2,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
								"position": {
									"type": "list<double>",
									"value": [
										1,
										26
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"18": {
								"textContent": {
									"type": "string",
									"value": ""
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "13px",
										"font-style": "normal",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var filenames = getAttr('attributes').map(\n                    function(attr)\n                    {\n                        return '+ '+attr['name'];\n                    });\n\n({'textContent': filenames.join('\\n')})"
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										3,
										25
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"19": {
								"width": {
									"type": "boolean",
									"value": true
								},
								"ratio": {
									"type": "double",
									"value": 1
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Span",
								"position": {
									"type": "list<double>",
									"value": [
										168.09129891774523,
										30.625911571363645
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"link-style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#0000ff",
										"stroke-dasharray": "",
										"stroke-opacity": 1,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"20": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										6.49899850809561,
										18.998998508095553
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							}
						},
						"edges": [
							{
								"src": "5",
								"dest": "7"
							},
							{
								"src": "7",
								"dest": "6"
							},
							{
								"src": "17",
								"dest": "19"
							},
							{
								"src": "19",
								"dest": "5"
							},
							{
								"src": "5",
								"dest": "20"
							},
							{
								"src": "20",
								"dest": "18"
							}
						]
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class/1.instance"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon"
			},
			"89": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#000000",
						"stroke-dasharray": "",
						"stroke-opacity": 1,
						"stroke-width": 2
					}
				},
				"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)",
					"value": "custom"
				},
				"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)",
					"value": "arrow-black"
				},
				"typename": {
					"type": "string",
					"value": "AssociationLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						236.59716528925605,
						206
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
				},
				"parser": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"71": {
								"textContent": {
									"type": "string",
									"value": "left"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "({'textContent':getAttr('name')})"
								},
								"parser": {
									"type": "code",
									"value": "({'name':getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										"0;-4.50112514091083,0%",
										"0;-17.57677603720765,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;3.468229258917148"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 0.3803680981595092,
										"yoffset": -28.5
									}
								}
							},
							"74": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;66.90283471259067,5.129813812772797e-9%",
										"0;46.99999999828154,100%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;89.99999999706084"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1.2085889570552146,
										"yoffset": -33.5
									}
								}
							},
							"77": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;-52.031926668433016,0%",
										"0;44.08967258619839,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-93.57633437499705"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": -0.03680981595092025,
										"yoffset": -33.5
									}
								}
							},
							"140": {
								"segments": {
									"type": "string",
									"value": "m0,0 l20,8 l-20,8"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"fill": "#000000",
										"fill-opacity": 0,
										"stroke-width": 1,
										"opacity": 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;41.402834712590675,5.129813812772797e-9%",
										"0;46.99999999958965,100%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;89.99999999706084"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1,
										"yoffset": -8
									}
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/5.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/89.instance": "M217.99999999999983,248.00000000000003L216,216L249,218",
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/89.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance": "M249,218L270,217L270.00000000184673,253.00000000000003"
					}
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink"
			},
			"90": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#000000",
						"stroke-dasharray": "",
						"stroke-opacity": 1,
						"stroke-width": 2
					}
				},
				"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)",
					"value": "custom"
				},
				"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)",
					"value": "arrow-black"
				},
				"typename": {
					"type": "string",
					"value": "AssociationLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						111.49586057039369,
						200.99999999999994
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
				},
				"parser": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"71": {
								"textContent": {
									"type": "string",
									"value": "bottom"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "({'textContent':getAttr('name')})"
								},
								"parser": {
									"type": "code",
									"value": "({'name':getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										"0;17.662041212811232,0%",
										"0;-16.499999999999943,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;0"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 0.3803680981595092,
										"yoffset": -28.5
									}
								}
							},
							"74": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;105.00413942960631,6.123031769111886e-15%",
										"0;47.00000000000006,100%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;90"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1.2085889570552146,
										"yoffset": -33.5
									}
								}
							},
							"77": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;-37.99586057039369,0%",
										"0;45.00000000000006,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-90"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": -0.03680981595092025,
										"yoffset": -33.5
									}
								}
							},
							"140": {
								"segments": {
									"type": "string",
									"value": "m0,0 l20,8 l-20,8"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"fill": "#000000",
										"fill-opacity": 0,
										"stroke-width": 1,
										"opacity": 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;79.50413942960631,6.123031769111886e-15%",
										"0;47.00000000000006,100%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;90"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1,
										"yoffset": -8
									}
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/9.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/90.instance": "M107,246L107,213L141,213",
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/90.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance": "M141,213L183,212L183,248"
					}
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink"
			},
			"91": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#000000",
						"stroke-dasharray": "",
						"stroke-opacity": 1,
						"stroke-width": 2
					}
				},
				"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)",
					"value": "custom"
				},
				"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)",
					"value": "arrow-black"
				},
				"typename": {
					"type": "string",
					"value": "AssociationLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						54.999999999999886,
						303.99964881327446
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
				},
				"parser": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"71": {
								"textContent": {
									"type": "string",
									"value": "top"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "({'textContent':getAttr('name')})"
								},
								"parser": {
									"type": "code",
									"value": "({'name':getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										"0;-15.499999999999886,0%",
										"0;32.63018059473359,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-90"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 0.3803680981595092,
										"yoffset": -28.5
									}
								}
							},
							"74": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;42.9734154765368,99.81684966311909%",
										"0;-53.43829345041934,-6.049506040189033%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-3.4682292589171464"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1.2085889570552146,
										"yoffset": -33.5
									}
								}
							},
							"77": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;47.984868228663515,0%",
										"0;82.48587096128136,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;178.31531568210374"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": -0.03680981595092025,
										"yoffset": -33.5
									}
								}
							},
							"140": {
								"segments": {
									"type": "string",
									"value": "m0,0 l20,8 l-20,8"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"fill": "#000000",
										"fill-opacity": 0,
										"stroke-width": 1,
										"opacity": 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;44.51603951678501,99.81684966311909%",
										"0;-27.98499678632396,-6.049506040189033%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-3.4682292589171464"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1,
										"yoffset": -8
									}
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/10.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/91.instance": "M102.00000000000001,353L68,354L68,315",
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/91.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance": "M68,315L67,286L100.00000000000001,284"
					}
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink"
			},
			"92": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#000000",
						"stroke-dasharray": "",
						"stroke-opacity": 1,
						"stroke-width": 2
					}
				},
				"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)",
					"value": "custom"
				},
				"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)",
					"value": "arrow-black"
				},
				"typename": {
					"type": "string",
					"value": "AssociationLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						160.14999586776867,
						398.9590920360631
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
				},
				"parser": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"71": {
								"textContent": {
									"type": "string",
									"value": "right"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "({'textContent':getAttr('name')})"
								},
								"parser": {
									"type": "code",
									"value": "({'name':getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										"0;4.192839488083052,0%",
										"0;-17.45909203606311,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;0"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 0.3803680981595092,
										"yoffset": -28.5
									}
								}
							},
							"74": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;47.350004132231334,6.123031769111886e-15%",
										"0;-19.95909203606311,-100%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-90"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1.2085889570552146,
										"yoffset": -33.5
									}
								}
							},
							"77": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;2.3500041322313336,0%",
										"0;-20.95909203606311,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;90"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": -0.03680981595092025,
										"yoffset": -33.5
									}
								}
							},
							"140": {
								"segments": {
									"type": "string",
									"value": "m0,0 l20,8 l-20,8"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"fill": "#000000",
										"fill-opacity": 0,
										"stroke-width": 1,
										"opacity": 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;72.85000413223133,6.123031769111886e-15%",
										"0;-19.95909203606311,-100%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-90"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1,
										"yoffset": -8
									}
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/11.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/92.instance": "M129,378L129,410L198,410",
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/92.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance": "M198,410L241,412L241,379"
					}
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink"
			},
			"101": {
				"typename": {
					"type": "string",
					"value": "ClassIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						400,
						100
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"5": {
								"width": {
									"type": "double",
									"value": 200
								},
								"height": {
									"type": "double",
									"value": 125
								},
								"cornerRadius": {
									"type": "double",
									"value": 0
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"stroke-width": 2
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
								"position": {
									"type": "list<double>",
									"value": [
										0,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"6": {
								"textContent": {
									"type": "string",
									"value": "Pacman"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var style = \n    {\n   \"font-size\": \"20px\",\n   \"font-style\": \"normal\",\n   \"font-weight\": \"bold\",\n   \"line-height\": \"100%\",\n   \"letter-spacing\": \"0px\",\n   \"word-spacing\": \"0px\",\n   \"fill\": \"#000000\",\n   \"fill-opacity\": \"1\",\n   \"stroke\": \"none\",\n       \"font-style\": (getAttr('abstract') ? 'italic' : 'normal')\n    };\n\n({'textContent': getAttr('name'), 'style':style})\n\n\n\n"
								},
								"parser": {
									"type": "code",
									"value": "({'name': getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										23,
										2
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"7": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										13.896110991026944,
										3.0451514439171206
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"17": {
								"segments": {
									"type": "string",
									"value": "m0,0l200,0"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"font-size": "20px",
										"stroke-width": 2,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
								"position": {
									"type": "list<double>",
									"value": [
										1,
										26
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"18": {
								"textContent": {
									"type": "string",
									"value": "+ name: string"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "13px",
										"font-style": "normal",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var filenames = getAttr('attributes').map(\n                    function(attr)\n                    {\n                        return '+ '+attr['name']+': '+attr['type'];\n                    });\n\n({'textContent': filenames.join('\\n')})"
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										3,
										25
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"19": {
								"width": {
									"type": "boolean",
									"value": true
								},
								"ratio": {
									"type": "double",
									"value": 1
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Span",
								"position": {
									"type": "list<double>",
									"value": [
										168.09129891774523,
										30.625911571363645
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"link-style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#0000ff",
										"stroke-dasharray": "",
										"stroke-opacity": 1,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"20": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										6.49899850809561,
										18.998998508095553
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							}
						},
						"edges": [
							{
								"src": "5",
								"dest": "7"
							},
							{
								"src": "7",
								"dest": "6"
							},
							{
								"src": "17",
								"dest": "19"
							},
							{
								"src": "19",
								"dest": "5"
							},
							{
								"src": "5",
								"dest": "20"
							},
							{
								"src": "20",
								"dest": "18"
							}
						]
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class/21.instance"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon"
			},
			"103": {
				"typename": {
					"type": "string",
					"value": "ClassIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						825,
						250
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"5": {
								"width": {
									"type": "double",
									"value": 200
								},
								"height": {
									"type": "double",
									"value": 125
								},
								"cornerRadius": {
									"type": "double",
									"value": 0
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"stroke-width": 2
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
								"position": {
									"type": "list<double>",
									"value": [
										0,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"6": {
								"textContent": {
									"type": "string",
									"value": "Positionable"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "italic",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var style = \n    {\n   \"font-size\": \"20px\",\n   \"font-style\": \"normal\",\n   \"font-weight\": \"bold\",\n   \"line-height\": \"100%\",\n   \"letter-spacing\": \"0px\",\n   \"word-spacing\": \"0px\",\n   \"fill\": \"#000000\",\n   \"fill-opacity\": \"1\",\n   \"stroke\": \"none\",\n       \"font-style\": (getAttr('abstract') ? 'italic' : 'normal')\n    };\n\n({'textContent': getAttr('name'), 'style':style})\n\n\n\n"
								},
								"parser": {
									"type": "code",
									"value": "({'name': getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										23,
										2
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"7": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										13.896110991026944,
										3.0451514439171206
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"17": {
								"segments": {
									"type": "string",
									"value": "m0,0l200,0"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"font-size": "20px",
										"stroke-width": 2,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
								"position": {
									"type": "list<double>",
									"value": [
										1,
										26
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"18": {
								"textContent": {
									"type": "string",
									"value": "+ position: list<int>"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "13px",
										"font-style": "normal",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var filenames = getAttr('attributes').map(\n                    function(attr)\n                    {\n                        return '+ '+attr['name']+': '+attr['type'];\n                    });\n\n({'textContent': filenames.join('\\n')})"
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										3,
										25
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"19": {
								"width": {
									"type": "boolean",
									"value": true
								},
								"ratio": {
									"type": "double",
									"value": 1
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Span",
								"position": {
									"type": "list<double>",
									"value": [
										168.09129891774523,
										30.625911571363645
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"link-style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#0000ff",
										"stroke-dasharray": "",
										"stroke-opacity": 1,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"20": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										6.49899850809561,
										18.998998508095553
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							}
						},
						"edges": [
							{
								"src": "5",
								"dest": "7"
							},
							{
								"src": "7",
								"dest": "6"
							},
							{
								"src": "17",
								"dest": "19"
							},
							{
								"src": "19",
								"dest": "5"
							},
							{
								"src": "5",
								"dest": "20"
							},
							{
								"src": "20",
								"dest": "18"
							}
						]
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class/23.instance"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon"
			},
			"104": {
				"typename": {
					"type": "string",
					"value": "ClassIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						400,
						250
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"5": {
								"width": {
									"type": "double",
									"value": 200
								},
								"height": {
									"type": "double",
									"value": 125
								},
								"cornerRadius": {
									"type": "double",
									"value": 0
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"stroke-width": 2
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
								"position": {
									"type": "list<double>",
									"value": [
										0,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"6": {
								"textContent": {
									"type": "string",
									"value": "Ghost"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var style = \n    {\n   \"font-size\": \"20px\",\n   \"font-style\": \"normal\",\n   \"font-weight\": \"bold\",\n   \"line-height\": \"100%\",\n   \"letter-spacing\": \"0px\",\n   \"word-spacing\": \"0px\",\n   \"fill\": \"#000000\",\n   \"fill-opacity\": \"1\",\n   \"stroke\": \"none\",\n       \"font-style\": (getAttr('abstract') ? 'italic' : 'normal')\n    };\n\n({'textContent': getAttr('name'), 'style':style})\n\n\n\n"
								},
								"parser": {
									"type": "code",
									"value": "({'name': getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										23,
										2
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"7": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										13.896110991026944,
										3.0451514439171206
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"17": {
								"segments": {
									"type": "string",
									"value": "m0,0l200,0"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"font-size": "20px",
										"stroke-width": 2,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
								"position": {
									"type": "list<double>",
									"value": [
										1,
										26
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"18": {
								"textContent": {
									"type": "string",
									"value": "+ type: ENUM(Blinky, Pinky, Inky, Clyde, CobraCommander)"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "13px",
										"font-style": "normal",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var filenames = getAttr('attributes').map(\n                    function(attr)\n                    {\n                        return '+ '+attr['name']+': '+attr['type'];\n                    });\n\n({'textContent': filenames.join('\\n')})"
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										3,
										25
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"19": {
								"width": {
									"type": "boolean",
									"value": true
								},
								"ratio": {
									"type": "double",
									"value": 1
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Span",
								"position": {
									"type": "list<double>",
									"value": [
										168.09129891774523,
										30.625911571363645
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"link-style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#0000ff",
										"stroke-dasharray": "",
										"stroke-opacity": 1,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"20": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										6.49899850809561,
										18.998998508095553
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							}
						},
						"edges": [
							{
								"src": "5",
								"dest": "7"
							},
							{
								"src": "7",
								"dest": "6"
							},
							{
								"src": "17",
								"dest": "19"
							},
							{
								"src": "19",
								"dest": "5"
							},
							{
								"src": "5",
								"dest": "20"
							},
							{
								"src": "20",
								"dest": "18"
							}
						]
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class/24.instance"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon"
			},
			"105": {
				"typename": {
					"type": "string",
					"value": "ClassIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						100,
						450
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"5": {
								"width": {
									"type": "double",
									"value": 200
								},
								"height": {
									"type": "double",
									"value": 125
								},
								"cornerRadius": {
									"type": "double",
									"value": 0
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"stroke-width": 2
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
								"position": {
									"type": "list<double>",
									"value": [
										0,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"6": {
								"textContent": {
									"type": "string",
									"value": "Scoreboard"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var style = \n    {\n   \"font-size\": \"20px\",\n   \"font-style\": \"normal\",\n   \"font-weight\": \"bold\",\n   \"line-height\": \"100%\",\n   \"letter-spacing\": \"0px\",\n   \"word-spacing\": \"0px\",\n   \"fill\": \"#000000\",\n   \"fill-opacity\": \"1\",\n   \"stroke\": \"none\",\n       \"font-style\": (getAttr('abstract') ? 'italic' : 'normal')\n    };\n\n({'textContent': getAttr('name'), 'style':style})\n\n\n\n"
								},
								"parser": {
									"type": "code",
									"value": "({'name': getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										23,
										2
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"7": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										13.896110991026944,
										3.0451514439171206
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"17": {
								"segments": {
									"type": "string",
									"value": "m0,0l200,0"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"font-size": "20px",
										"stroke-width": 2,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
								"position": {
									"type": "list<double>",
									"value": [
										1,
										26
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"18": {
								"textContent": {
									"type": "string",
									"value": "+ score: int"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "13px",
										"font-style": "normal",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var filenames = getAttr('attributes').map(\n                    function(attr)\n                    {\n                        return '+ '+attr['name']+': '+attr['type'];\n                    });\n\n({'textContent': filenames.join('\\n')})"
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										3,
										25
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"19": {
								"width": {
									"type": "boolean",
									"value": true
								},
								"ratio": {
									"type": "double",
									"value": 1
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Span",
								"position": {
									"type": "list<double>",
									"value": [
										168.09129891774523,
										30.625911571363645
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"link-style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#0000ff",
										"stroke-dasharray": "",
										"stroke-opacity": 1,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"20": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										6.49899850809561,
										18.998998508095553
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							}
						},
						"edges": [
							{
								"src": "5",
								"dest": "7"
							},
							{
								"src": "7",
								"dest": "6"
							},
							{
								"src": "17",
								"dest": "19"
							},
							{
								"src": "19",
								"dest": "5"
							},
							{
								"src": "5",
								"dest": "20"
							},
							{
								"src": "20",
								"dest": "18"
							}
						]
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class/25.instance"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon"
			},
			"106": {
				"typename": {
					"type": "string",
					"value": "ClassIcon"
				},
				"position": {
					"type": "list<double>",
					"value": [
						400,
						400
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": ""
				},
				"parser": {
					"type": "code",
					"value": ""
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"5": {
								"width": {
									"type": "double",
									"value": 200
								},
								"height": {
									"type": "double",
									"value": 125
								},
								"cornerRadius": {
									"type": "double",
									"value": 0
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"stroke-width": 2
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
								"position": {
									"type": "list<double>",
									"value": [
										0,
										0
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"6": {
								"textContent": {
									"type": "string",
									"value": "Food"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var style = \n    {\n   \"font-size\": \"20px\",\n   \"font-style\": \"normal\",\n   \"font-weight\": \"bold\",\n   \"line-height\": \"100%\",\n   \"letter-spacing\": \"0px\",\n   \"word-spacing\": \"0px\",\n   \"fill\": \"#000000\",\n   \"fill-opacity\": \"1\",\n   \"stroke\": \"none\",\n       \"font-style\": (getAttr('abstract') ? 'italic' : 'normal')\n    };\n\n({'textContent': getAttr('name'), 'style':style})\n\n\n\n"
								},
								"parser": {
									"type": "code",
									"value": "({'name': getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										23,
										2
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"7": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										13.896110991026944,
										3.0451514439171206
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"17": {
								"segments": {
									"type": "string",
									"value": "m0,0l200,0"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"stroke-dasharray": "",
										"fill": "#ffffff",
										"fill-opacity": 0.75,
										"font-size": "20px",
										"stroke-width": 2,
										"arrow-start": "none",
										"arrow-end": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": ""
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
								"position": {
									"type": "list<double>",
									"value": [
										1,
										26
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"18": {
								"textContent": {
									"type": "string",
									"value": "+ points: int"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "13px",
										"font-style": "normal",
										"font-weight": "bold",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none"
									}
								},
								"mapper": {
									"type": "code",
									"value": "var filenames = getAttr('attributes').map(\n                    function(attr)\n                    {\n                        return '+ '+attr['name']+': '+attr['type'];\n                    });\n\n({'textContent': filenames.join('\\n')})"
								},
								"parser": {
									"type": "code",
									"value": ""
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										3,
										25
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								}
							},
							"19": {
								"width": {
									"type": "boolean",
									"value": true
								},
								"ratio": {
									"type": "double",
									"value": 1
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Span",
								"position": {
									"type": "list<double>",
									"value": [
										168.09129891774523,
										30.625911571363645
									]
								},
								"orientation": {
									"type": "double",
									"value": 0
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"link-style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#0000ff",
										"stroke-dasharray": "",
										"stroke-opacity": 1,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							},
							"20": {
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
								"position": {
									"type": "list<double>",
									"value": [
										6.49899850809561,
										18.998998508095553
									]
								},
								"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,
										"arrow-start": "none",
										"arrow-end": "classic-wide-long"
									}
								}
							}
						},
						"edges": [
							{
								"src": "5",
								"dest": "7"
							},
							{
								"src": "7",
								"dest": "6"
							},
							{
								"src": "17",
								"dest": "19"
							},
							{
								"src": "19",
								"dest": "5"
							},
							{
								"src": "5",
								"dest": "20"
							},
							{
								"src": "20",
								"dest": "18"
							}
						]
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class/26.instance"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon"
			},
			"107": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#000000",
						"stroke-dasharray": "",
						"stroke-opacity": 1,
						"stroke-width": 2
					}
				},
				"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)",
					"value": "custom"
				},
				"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)",
					"value": "arrow-black"
				},
				"typename": {
					"type": "string",
					"value": "AssociationLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						348.11167875278113,
						210.89927014455034
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
				},
				"parser": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"71": {
								"textContent": {
									"type": "string",
									"value": "PoG"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "({'textContent':getAttr('name')})"
								},
								"parser": {
									"type": "code",
									"value": "({'name':getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										"0;-31.402790504943084,0%",
										"0;-10.056148780658674,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-42.04922089099365"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 0.3803680981595092,
										"yoffset": -28.5
									}
								}
							},
							"74": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;28.45041593843871,74.25697235686508%",
										"0;-70.77476825260808,-66.97687702776068%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-42.04922089099365"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1.2085889570552146,
										"yoffset": -33.5
									}
								}
							},
							"77": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;-73.54893255708095,0%",
										"0;21.22464411589985,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-42.04922089099365"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": -0.03680981595092025,
										"yoffset": -33.5
									}
								}
							},
							"140": {
								"segments": {
									"type": "string",
									"value": "m0,0 l20,8 l-20,8"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"fill": "#000000",
										"fill-opacity": 0,
										"stroke-width": 1,
										"opacity": 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;45.52951958051767,74.25697235686508%",
										"0;-51.839240301607475,-66.97687702776068%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-42.04922089099365"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1,
										"yoffset": -8
									}
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/27.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/107.instance": "M297,257L348.11167875278113,210.89927014455034",
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/107.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/101.instance": "M348.1113526838912,210.89956424590207L398.99934849551965,165.00058763149207"
					}
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink"
			},
			"108": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#000000",
						"stroke-dasharray": "",
						"stroke-opacity": 1,
						"stroke-width": 2
					}
				},
				"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)",
					"value": "custom"
				},
				"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)",
					"value": "arrow-black"
				},
				"typename": {
					"type": "string",
					"value": "AssociationLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						348,
						307.5
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
				},
				"parser": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"71": {
								"textContent": {
									"type": "string",
									"value": "GoG"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "({'textContent':getAttr('name')})"
								},
								"parser": {
									"type": "code",
									"value": "({'name':getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										"0;-12.715853236862245,0%",
										"0;-28.379049642567338,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-0.5509039792185729"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 0.3803680981595092,
										"yoffset": -28.5
									}
								}
							},
							"74": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;51.67761122841392,99.99537753946178%",
										"0;-33.99844870382907,-0.9614940148025121%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-0.5509039792185699"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1.2085889570552146,
										"yoffset": -33.5
									}
								}
							},
							"77": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;-52.32210049495882,0%",
										"0;-32.99845147571972,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-0.5509039792185729"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": -0.03680981595092025,
										"yoffset": -33.5
									}
								}
							},
							"140": {
								"segments": {
									"type": "string",
									"value": "m0,0 l20,8 l-20,8"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"fill": "#000000",
										"fill-opacity": 0,
										"stroke-width": 1,
										"opacity": 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;51.92279220218853,99.99537753946178%",
										"0;-8.499627431266276,-0.9614940148025121%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-0.5509039792185699"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1,
										"yoffset": -8
									}
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/28.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/108.instance": "M296,308L348,307.5",
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/108.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/104.instance": "M348.0748557462499,307.49928023320916L399.99971172337274,307.00000277189065"
					}
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink"
			},
			"109": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#000000",
						"stroke-dasharray": "",
						"stroke-opacity": 1,
						"stroke-width": 2
					}
				},
				"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)",
					"value": "custom"
				},
				"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)",
					"value": "arrow-black"
				},
				"typename": {
					"type": "string",
					"value": "AssociationLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						348,
						397
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
				},
				"parser": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"71": {
								"textContent": {
									"type": "string",
									"value": "FoG"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "({'textContent':getAttr('name')})"
								},
								"parser": {
									"type": "code",
									"value": "({'name':getAttr('textContent')})"
								},
								"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
								"position": {
									"type": "list<double>",
									"value": [
										"0;1.5133357107836787,0%",
										"0;-31.6819226624703,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;28.7676493388438"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 0.3803680981595092,
										"yoffset": -28.5
									}
								}
							},
							"74": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;67.12194293130239,87.65785507795943%",
										"0;-1.3655062307301478,48.125881219271854%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;28.767649338843803"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1.2085889570552146,
										"yoffset": -33.5
									}
								}
							},
							"77": {
								"textContent": {
									"type": "string",
									"value": "*"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"font-size": "20px",
										"font-style": "normal",
										"font-weight": "normal",
										"line-height": "100%",
										"letter-spacing": "0px",
										"word-spacing": "0px",
										"fill": "#000000",
										"fill-opacity": "1",
										"stroke": "none",
										"font-family": "Sans"
									}
								},
								"mapper": {
									"type": "code",
									"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n//TBC: write some code that uses getAttr('cardinalities') to determine the correct cardinality to display"
								},
								"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": [
										"0;-34.877829791543945,0%",
										"0;-57.36538145111638,0%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;28.7676493388438"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": -0.03680981595092025,
										"yoffset": -33.5
									}
								}
							},
							"140": {
								"segments": {
									"type": "string",
									"value": "m0,0 l20,8 l-20,8"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"fill": "#000000",
										"fill-opacity": 0,
										"stroke-width": 1,
										"opacity": 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;54.849843220388095,87.65785507795943%",
										"0;20.9872468141495,48.125881219271854%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;28.767649338843803"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1,
										"yoffset": -8
									}
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/29.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/109.instance": "M297,369L348,397",
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/109.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/106.instance": "M348.06583455568574,397.0361444619451L398.99977272284633,424.99987522038623"
					}
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink"
			},
			"110": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#000000",
						"stroke-dasharray": "",
						"stroke-opacity": 1,
						"stroke-width": 2
					}
				},
				"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)",
					"value": "custom"
				},
				"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)",
					"value": "arrow-black"
				},
				"typename": {
					"type": "string",
					"value": "InheritanceLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						710.6372983573322,
						218.56108869643413
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
				},
				"parser": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"164": {
								"segments": {
									"type": "string",
									"value": "m0,0 l20,10 l-20,10 z"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"fill": "#ffffff",
										"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;117.42737771965665,91.36454982921383%",
										"0;41.30225936623711,40.65118736894538%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;23.98590367679458"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1,
										"yoffset": -10
									}
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance/30.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/101.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/110.instance": "M597,168L710.6372983573322,218.56108869643413",
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/110.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/103.instance": "M710.6370769084645,218.5609901663212L823.9995573400943,268.9998030455926"
					}
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink"
			},
			"111": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#000000",
						"stroke-dasharray": "",
						"stroke-opacity": 1,
						"stroke-width": 2
					}
				},
				"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)",
					"value": "custom"
				},
				"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)",
					"value": "arrow-black"
				},
				"typename": {
					"type": "string",
					"value": "InheritanceLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						711.1499999608427,
						324.5006637166409
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
				},
				"parser": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"164": {
								"segments": {
									"type": "string",
									"value": "m0,0 l20,10 l-20,10 z"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"fill": "#ffffff",
										"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;112.89371673342521,99.9990210810202%",
										"0;-9.500568172796875,0.44247354460630234%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;0.25351949377203414"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1,
										"yoffset": -10
									}
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance/31.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/104.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/111.instance": "M598,324L711.1499999608427,324.5006637166409",
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/111.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/103.instance": "M711.1497344743245,324.50066254192177L823.9994693398073,324.99999765194605"
					}
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink"
			},
			"112": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#000000",
						"stroke-dasharray": "",
						"stroke-opacity": 1,
						"stroke-width": 2
					}
				},
				"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)",
					"value": "custom"
				},
				"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)",
					"value": "arrow-black"
				},
				"typename": {
					"type": "string",
					"value": "InheritanceLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						711.1406638681235,
						405.9477178543258
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
				},
				"parser": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"164": {
								"segments": {
									"type": "string",
									"value": "m0,0 l20,10 l-20,10 z"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"fill": "#ffffff",
										"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;109.37492154159952,93.73478912818759%",
										"0;-51.321023312430725,-34.83947914499017%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-20.389164780281753"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1,
										"yoffset": -10
									}
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance/32.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/106.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/112.instance": "M598,448L711.1406638681235,405.9477178543258",
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/112.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/103.instance": "M711.1404304012294,405.9478046296315L823.999533324222,364.00017345471383"
					}
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink"
			},
			"113": {
				"link-style": {
					"type": "map<string,string>",
					"value": {
						"stroke": "#000000",
						"stroke-dasharray": "",
						"stroke-opacity": 1,
						"stroke-width": 2
					}
				},
				"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)",
					"value": "custom"
				},
				"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)",
					"value": "arrow-black"
				},
				"typename": {
					"type": "string",
					"value": "InheritanceLink"
				},
				"position": {
					"type": "list<double>",
					"value": [
						452,
						599
					]
				},
				"orientation": {
					"type": "double",
					"value": 0
				},
				"scale": {
					"type": "list<double>",
					"value": [
						1,
						1
					]
				},
				"mapper": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
				},
				"parser": {
					"type": "code",
					"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
				},
				"$contents": {
					"type": "map<string,*>",
					"value": {
						"nodes": {
							"164": {
								"segments": {
									"type": "string",
									"value": "m0,0 l20,10 l-20,10 z"
								},
								"style": {
									"type": "map<string,string>",
									"value": {
										"stroke": "#000000",
										"fill": "#ffffff",
										"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;473.7558906996226,90.5504180798583%",
										"0;-233.05504180798584,-42.43373405161122%"
									]
								},
								"orientation": {
									"type": "double",
									"value": "0;-25.108726435936088"
								},
								"scale": {
									"type": "list<double>",
									"value": [
										1,
										1
									]
								},
								"$linkDecoratorInfo": {
									"type": "map<string,double>",
									"value": {
										"xratio": 1,
										"yoffset": -10
									}
								}
							}
						},
						"edges": []
					}
				},
				"$asuri": {
					"type": "string",
					"value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance/33.instance"
				},
				"$segments": {
					"type": "map<string,list<string>>",
					"value": {
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/85.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/113.instance": "M278,375L452,599",
						"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/113.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/103.instance": "M452,599L929.9992641047837,375"
					}
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink"
			}
		},
		"edges": [],
		"metamodels": [
			"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons"
		]
	},
	"asm": {
		"nodes": {
			"1": {
				"name": {
					"type": "string",
					"value": "GridNode"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": []
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"abstract": {
					"type": "boolean",
					"value": false
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class"
			},
			"5": {
				"name": {
					"type": "string",
					"value": "left"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": []
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"linktype": {
					"type": "ENUM(visual,containment)",
					"value": "visual"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association"
			},
			"9": {
				"name": {
					"type": "string",
					"value": "bottom"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": []
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"linktype": {
					"type": "ENUM(visual,containment)",
					"value": "visual"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association"
			},
			"10": {
				"name": {
					"type": "string",
					"value": "top"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": []
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"linktype": {
					"type": "ENUM(visual,containment)",
					"value": "visual"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association"
			},
			"11": {
				"name": {
					"type": "string",
					"value": "right"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": []
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"linktype": {
					"type": "ENUM(visual,containment)",
					"value": "visual"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association"
			},
			"21": {
				"name": {
					"type": "string",
					"value": "Pacman"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": [
						{
							"name": "name",
							"type": "string",
							"default": ""
						}
					]
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"abstract": {
					"type": "boolean",
					"value": false
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class"
			},
			"23": {
				"name": {
					"type": "string",
					"value": "Positionable"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": [
						{
							"name": "position",
							"type": "list<int>",
							"default": [
								0,
								0
							]
						}
					]
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": [
						{
							"name": "snapToTarget",
							"event": "post-connect",
							"code": "/*newline*/var neighborLinks = getNeighbors('>'),/*newline*/    neighborLink = neighborLinks[neighborLinks.length-1];/*newline*/if( neighborLink )/*newline*/{/*newline*/    if( getAttr('$type', neighborLink).match(/left/) )/*newline*/    {/*newline*/        var neighbor = getNeighbors('>','*',neighborLink)[0],/*newline*/            npos = getAttr('position',neighbor);/*newline*/        setAttr('position', [npos[0] - 100, npos[1]]);/*newline*/    }/*newline*/    else if( getAttr('$type', neighborLink).match(/right/) )/*newline*/    {/*newline*/        var neighbor = getNeighbors('>','*',neighborLink)[0],/*newline*/            npos = getAttr('position',neighbor);/*newline*/        setAttr('position', [npos[0] + 100, npos[1]]);/*newline*/    }/*newline*/    else if( getAttr('$type', neighborLink).match(/top/) )/*newline*/    {/*newline*/        var neighbor = getNeighbors('>','*',neighborLink)[0],/*newline*/            npos = getAttr('position',neighbor);/*newline*/        setAttr('position', [npos[0], npos[1] - 100]);/*newline*/    }/*newline*/    else if( getAttr('$type', neighborLink).match(/bottom/) )/*newline*/    {/*newline*/        var neighbor = getNeighbors('>','*',neighborLink)[0],/*newline*/            npos = getAttr('position',neighbor);/*newline*/        setAttr('position', [npos[0], npos[1] + 100]);/*newline*/    }/*newline*/    else if( getAttr('$type', neighborLink).match(/(P|G)oG/) )/*newline*/    {/*newline*/        var neighbor = getNeighbors('>','*',neighborLink)[0],/*newline*/            gpos = getAttr('position');/*newline*/        setAttr('position', [gpos[0] + 26, gpos[1] + 26], neighbor);/*newline*/    }/*newline*/    else if( getAttr('$type', neighborLink).match(/FoG/) )/*newline*/    {/*newline*/        var neighbor = getNeighbors('>','*',neighborLink)[0],/*newline*/            gpos = getAttr('position');/*newline*/        setAttr('position', [gpos[0] + 70, gpos[1] + 43], neighbor);/*newline*/    }/*newline*/    else/*newline*/    {/*newline*/        print('Invalid grid node link');/*newline*/    }/*newline*/}"
						}
					]
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"abstract": {
					"type": "boolean",
					"value": true
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class"
			},
			"24": {
				"name": {
					"type": "string",
					"value": "Ghost"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": [
						{
							"name": "type",
							"type": "ENUM(Blinky, Pinky, Inky, Clyde, CobraCommander)",
							"default": "pinky"
						}
					]
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"abstract": {
					"type": "boolean",
					"value": false
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class"
			},
			"25": {
				"name": {
					"type": "string",
					"value": "Scoreboard"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": [
						{
							"name": "score",
							"type": "int",
							"default": 0
						}
					]
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"abstract": {
					"type": "boolean",
					"value": false
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class"
			},
			"26": {
				"name": {
					"type": "string",
					"value": "Food"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": [
						{
							"name": "points",
							"type": "int",
							"default": "1"
						}
					]
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"abstract": {
					"type": "boolean",
					"value": false
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class"
			},
			"27": {
				"name": {
					"type": "string",
					"value": "PoG"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": []
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"linktype": {
					"type": "ENUM(visual,containment)",
					"value": "containment"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association"
			},
			"28": {
				"name": {
					"type": "string",
					"value": "GoG"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": []
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"linktype": {
					"type": "ENUM(visual,containment)",
					"value": "containment"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association"
			},
			"29": {
				"name": {
					"type": "string",
					"value": "FoG"
				},
				"attributes": {
					"type": "list<$ATTRIBUTE>",
					"value": []
				},
				"constraints": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"actions": {
					"type": "list<$EVENT_HANDLER>",
					"value": []
				},
				"cardinalities": {
					"type": "list<$CARDINALITY>",
					"value": []
				},
				"linktype": {
					"type": "ENUM(visual,containment)",
					"value": "containment"
				},
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association"
			},
			"30": {
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance"
			},
			"31": {
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance"
			},
			"32": {
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance"
			},
			"33": {
				"$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance"
			}
		},
		"edges": [
			{
				"src": "1",
				"dest": "5"
			},
			{
				"src": "5",
				"dest": "1"
			},
			{
				"src": "1",
				"dest": "9"
			},
			{
				"src": "9",
				"dest": "1"
			},
			{
				"src": "1",
				"dest": "10"
			},
			{
				"src": "10",
				"dest": "1"
			},
			{
				"src": "1",
				"dest": "11"
			},
			{
				"src": "11",
				"dest": "1"
			},
			{
				"src": "1",
				"dest": "27"
			},
			{
				"src": "27",
				"dest": "21"
			},
			{
				"src": "1",
				"dest": "28"
			},
			{
				"src": "28",
				"dest": "24"
			},
			{
				"src": "1",
				"dest": "29"
			},
			{
				"src": "29",
				"dest": "26"
			},
			{
				"src": "21",
				"dest": "30"
			},
			{
				"src": "30",
				"dest": "23"
			},
			{
				"src": "24",
				"dest": "31"
			},
			{
				"src": "31",
				"dest": "23"
			},
			{
				"src": "26",
				"dest": "32"
			},
			{
				"src": "32",
				"dest": "23"
			},
			{
				"src": "1",
				"dest": "33"
			},
			{
				"src": "33",
				"dest": "23"
			}
		],
		"metamodels": [
			"/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram"
		]
	}
}