1750 lines
		
	
	
		
			49 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			1750 lines
		
	
	
		
			49 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | --- | ||
|  | source: kcl-lib/src/simulation_tests.rs | ||
|  | description: Result of parsing subtract_regression02.kcl | ||
|  | --- | ||
|  | { | ||
|  |   "Ok": { | ||
|  |     "body": [ | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "declaration": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "id": { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "name": "sketch002", | ||
|  |             "start": 0, | ||
|  |             "type": "Identifier" | ||
|  |           }, | ||
|  |           "init": { | ||
|  |             "callee": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "startSketchOn", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name" | ||
|  |             }, | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "unlabeled": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "XY", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name", | ||
|  |               "type": "Name" | ||
|  |             } | ||
|  |           }, | ||
|  |           "start": 0, | ||
|  |           "type": "VariableDeclarator" | ||
|  |         }, | ||
|  |         "end": 0, | ||
|  |         "kind": "const", | ||
|  |         "start": 0, | ||
|  |         "type": "VariableDeclaration", | ||
|  |         "type": "VariableDeclaration" | ||
|  |       }, | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "declaration": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "id": { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "name": "sketch002Profile000", | ||
|  |             "start": 0, | ||
|  |             "type": "Identifier" | ||
|  |           }, | ||
|  |           "init": { | ||
|  |             "body": [ | ||
|  |               { | ||
|  |                 "arguments": [ | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "at", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "elements": [ | ||
|  |                         { | ||
|  |                           "argument": { | ||
|  |                             "commentStart": 0, | ||
|  |                             "end": 0, | ||
|  |                             "raw": "0.75", | ||
|  |                             "start": 0, | ||
|  |                             "type": "Literal", | ||
|  |                             "type": "Literal", | ||
|  |                             "value": { | ||
|  |                               "value": 0.75, | ||
|  |                               "suffix": "None" | ||
|  |                             } | ||
|  |                           }, | ||
|  |                           "commentStart": 0, | ||
|  |                           "end": 0, | ||
|  |                           "operator": "-", | ||
|  |                           "start": 0, | ||
|  |                           "type": "UnaryExpression", | ||
|  |                           "type": "UnaryExpression" | ||
|  |                         }, | ||
|  |                         { | ||
|  |                           "commentStart": 0, | ||
|  |                           "end": 0, | ||
|  |                           "raw": "0.75", | ||
|  |                           "start": 0, | ||
|  |                           "type": "Literal", | ||
|  |                           "type": "Literal", | ||
|  |                           "value": { | ||
|  |                             "value": 0.75, | ||
|  |                             "suffix": "None" | ||
|  |                           } | ||
|  |                         } | ||
|  |                       ], | ||
|  |                       "end": 0, | ||
|  |                       "start": 0, | ||
|  |                       "type": "ArrayExpression", | ||
|  |                       "type": "ArrayExpression" | ||
|  |                     } | ||
|  |                   } | ||
|  |                 ], | ||
|  |                 "callee": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "startProfile", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name" | ||
|  |                 }, | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "start": 0, | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "unlabeled": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "sketch002", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name", | ||
|  |                   "type": "Name" | ||
|  |                 } | ||
|  |               }, | ||
|  |               { | ||
|  |                 "arguments": [ | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "length", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "argument": { | ||
|  |                         "commentStart": 0, | ||
|  |                         "end": 0, | ||
|  |                         "raw": "1.5", | ||
|  |                         "start": 0, | ||
|  |                         "type": "Literal", | ||
|  |                         "type": "Literal", | ||
|  |                         "value": { | ||
|  |                           "value": 1.5, | ||
|  |                           "suffix": "None" | ||
|  |                         } | ||
|  |                       }, | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "operator": "-", | ||
|  |                       "start": 0, | ||
|  |                       "type": "UnaryExpression", | ||
|  |                       "type": "UnaryExpression" | ||
|  |                     } | ||
|  |                   } | ||
|  |                 ], | ||
|  |                 "callee": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "yLine", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name" | ||
|  |                 }, | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "start": 0, | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "unlabeled": null | ||
|  |               }, | ||
|  |               { | ||
|  |                 "arguments": [ | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "length", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "1.5", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 1.5, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   } | ||
|  |                 ], | ||
|  |                 "callee": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "xLine", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name" | ||
|  |                 }, | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "start": 0, | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "unlabeled": null | ||
|  |               }, | ||
|  |               { | ||
|  |                 "arguments": [ | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "angleStart", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "0", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 0.0, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   }, | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "angleEnd", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "90", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 90.0, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   }, | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "radius", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "0.25", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 0.25, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   } | ||
|  |                 ], | ||
|  |                 "callee": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "arc", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name" | ||
|  |                 }, | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "start": 0, | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "unlabeled": null | ||
|  |               }, | ||
|  |               { | ||
|  |                 "arguments": [ | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "length", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "argument": { | ||
|  |                         "commentStart": 0, | ||
|  |                         "end": 0, | ||
|  |                         "raw": "0.688", | ||
|  |                         "start": 0, | ||
|  |                         "type": "Literal", | ||
|  |                         "type": "Literal", | ||
|  |                         "value": { | ||
|  |                           "value": 0.688, | ||
|  |                           "suffix": "None" | ||
|  |                         } | ||
|  |                       }, | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "operator": "-", | ||
|  |                       "start": 0, | ||
|  |                       "type": "UnaryExpression", | ||
|  |                       "type": "UnaryExpression" | ||
|  |                     } | ||
|  |                   } | ||
|  |                 ], | ||
|  |                 "callee": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "xLine", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name" | ||
|  |                 }, | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "start": 0, | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "unlabeled": null | ||
|  |               }, | ||
|  |               { | ||
|  |                 "arguments": [ | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "angleStart", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "270", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 270.0, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   }, | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "angleEnd", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "180", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 180.0, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   }, | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "radius", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "0.312", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 0.312, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   } | ||
|  |                 ], | ||
|  |                 "callee": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "arc", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name" | ||
|  |                 }, | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "start": 0, | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "unlabeled": null | ||
|  |               }, | ||
|  |               { | ||
|  |                 "arguments": [ | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "length", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "0.688", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 0.688, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   } | ||
|  |                 ], | ||
|  |                 "callee": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "yLine", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name" | ||
|  |                 }, | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "start": 0, | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "unlabeled": null | ||
|  |               }, | ||
|  |               { | ||
|  |                 "arguments": [ | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "angleStart", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "0", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 0.0, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   }, | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "angleEnd", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "90", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 90.0, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   }, | ||
|  |                   { | ||
|  |                     "type": "LabeledArg", | ||
|  |                     "label": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "name": "radius", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Identifier" | ||
|  |                     }, | ||
|  |                     "arg": { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "0.25", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 0.25, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   } | ||
|  |                 ], | ||
|  |                 "callee": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "arc", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name" | ||
|  |                 }, | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "start": 0, | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "unlabeled": null | ||
|  |               }, | ||
|  |               { | ||
|  |                 "callee": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "close", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name" | ||
|  |                 }, | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "start": 0, | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "type": "CallExpressionKw", | ||
|  |                 "unlabeled": null | ||
|  |               } | ||
|  |             ], | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "PipeExpression", | ||
|  |             "type": "PipeExpression" | ||
|  |           }, | ||
|  |           "start": 0, | ||
|  |           "type": "VariableDeclarator" | ||
|  |         }, | ||
|  |         "end": 0, | ||
|  |         "kind": "const", | ||
|  |         "start": 0, | ||
|  |         "type": "VariableDeclaration", | ||
|  |         "type": "VariableDeclaration" | ||
|  |       }, | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "declaration": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "id": { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "name": "extrude000", | ||
|  |             "start": 0, | ||
|  |             "type": "Identifier" | ||
|  |           }, | ||
|  |           "init": { | ||
|  |             "arguments": [ | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "length", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "raw": "0.655", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Literal", | ||
|  |                   "type": "Literal", | ||
|  |                   "value": { | ||
|  |                     "value": 0.655, | ||
|  |                     "suffix": "None" | ||
|  |                   } | ||
|  |                 } | ||
|  |               }, | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "bidirectionalLength", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "raw": "0.655", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Literal", | ||
|  |                   "type": "Literal", | ||
|  |                   "value": { | ||
|  |                     "value": 0.655, | ||
|  |                     "suffix": "None" | ||
|  |                   } | ||
|  |                 } | ||
|  |               } | ||
|  |             ], | ||
|  |             "callee": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "extrude", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name" | ||
|  |             }, | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "unlabeled": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "sketch002Profile000", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name", | ||
|  |               "type": "Name" | ||
|  |             } | ||
|  |           }, | ||
|  |           "start": 0, | ||
|  |           "type": "VariableDeclarator" | ||
|  |         }, | ||
|  |         "end": 0, | ||
|  |         "kind": "const", | ||
|  |         "start": 0, | ||
|  |         "type": "VariableDeclaration", | ||
|  |         "type": "VariableDeclaration" | ||
|  |       }, | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "declaration": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "id": { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "name": "sketch003", | ||
|  |             "start": 0, | ||
|  |             "type": "Identifier" | ||
|  |           }, | ||
|  |           "init": { | ||
|  |             "callee": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "startSketchOn", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name" | ||
|  |             }, | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "unlabeled": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "XZ", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name", | ||
|  |               "type": "Name" | ||
|  |             } | ||
|  |           }, | ||
|  |           "start": 0, | ||
|  |           "type": "VariableDeclarator" | ||
|  |         }, | ||
|  |         "end": 0, | ||
|  |         "kind": "const", | ||
|  |         "start": 0, | ||
|  |         "type": "VariableDeclaration", | ||
|  |         "type": "VariableDeclaration" | ||
|  |       }, | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "declaration": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "id": { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "name": "sketch003Profile000", | ||
|  |             "start": 0, | ||
|  |             "type": "Identifier" | ||
|  |           }, | ||
|  |           "init": { | ||
|  |             "arguments": [ | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "center", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "elements": [ | ||
|  |                     { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "0", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 0.0, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     }, | ||
|  |                     { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "0", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 0.0, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   ], | ||
|  |                   "end": 0, | ||
|  |                   "start": 0, | ||
|  |                   "type": "ArrayExpression", | ||
|  |                   "type": "ArrayExpression" | ||
|  |                 } | ||
|  |               }, | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "radius", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "raw": "0.164", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Literal", | ||
|  |                   "type": "Literal", | ||
|  |                   "value": { | ||
|  |                     "value": 0.164, | ||
|  |                     "suffix": "None" | ||
|  |                   } | ||
|  |                 } | ||
|  |               } | ||
|  |             ], | ||
|  |             "callee": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "circle", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name" | ||
|  |             }, | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "unlabeled": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "sketch003", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name", | ||
|  |               "type": "Name" | ||
|  |             } | ||
|  |           }, | ||
|  |           "start": 0, | ||
|  |           "type": "VariableDeclarator" | ||
|  |         }, | ||
|  |         "end": 0, | ||
|  |         "kind": "const", | ||
|  |         "start": 0, | ||
|  |         "type": "VariableDeclaration", | ||
|  |         "type": "VariableDeclaration" | ||
|  |       }, | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "declaration": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "id": { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "name": "cut000Extrude", | ||
|  |             "start": 0, | ||
|  |             "type": "Identifier" | ||
|  |           }, | ||
|  |           "init": { | ||
|  |             "arguments": [ | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "length", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "raw": "1.0", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Literal", | ||
|  |                   "type": "Literal", | ||
|  |                   "value": { | ||
|  |                     "value": 1.0, | ||
|  |                     "suffix": "None" | ||
|  |                   } | ||
|  |                 } | ||
|  |               }, | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "bidirectionalLength", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "raw": "0", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Literal", | ||
|  |                   "type": "Literal", | ||
|  |                   "value": { | ||
|  |                     "value": 0.0, | ||
|  |                     "suffix": "None" | ||
|  |                   } | ||
|  |                 } | ||
|  |               } | ||
|  |             ], | ||
|  |             "callee": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "extrude", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name" | ||
|  |             }, | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "unlabeled": { | ||
|  |               "commentStart": 0, | ||
|  |               "elements": [ | ||
|  |                 { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "sketch003Profile000", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name", | ||
|  |                   "type": "Name" | ||
|  |                 } | ||
|  |               ], | ||
|  |               "end": 0, | ||
|  |               "start": 0, | ||
|  |               "type": "ArrayExpression", | ||
|  |               "type": "ArrayExpression" | ||
|  |             } | ||
|  |           }, | ||
|  |           "start": 0, | ||
|  |           "type": "VariableDeclarator" | ||
|  |         }, | ||
|  |         "end": 0, | ||
|  |         "kind": "const", | ||
|  |         "start": 0, | ||
|  |         "type": "VariableDeclaration", | ||
|  |         "type": "VariableDeclaration" | ||
|  |       }, | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "declaration": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "id": { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "name": "cut000", | ||
|  |             "start": 0, | ||
|  |             "type": "Identifier" | ||
|  |           }, | ||
|  |           "init": { | ||
|  |             "arguments": [ | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "tools", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "cut000Extrude", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name", | ||
|  |                   "type": "Name" | ||
|  |                 } | ||
|  |               } | ||
|  |             ], | ||
|  |             "callee": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "subtract", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name" | ||
|  |             }, | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "unlabeled": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "extrude000", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name", | ||
|  |               "type": "Name" | ||
|  |             } | ||
|  |           }, | ||
|  |           "start": 0, | ||
|  |           "type": "VariableDeclarator" | ||
|  |         }, | ||
|  |         "end": 0, | ||
|  |         "kind": "const", | ||
|  |         "start": 0, | ||
|  |         "type": "VariableDeclaration", | ||
|  |         "type": "VariableDeclaration" | ||
|  |       }, | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "declaration": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "id": { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "name": "sketch004", | ||
|  |             "start": 0, | ||
|  |             "type": "Identifier" | ||
|  |           }, | ||
|  |           "init": { | ||
|  |             "callee": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "startSketchOn", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name" | ||
|  |             }, | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "unlabeled": { | ||
|  |               "argument": { | ||
|  |                 "abs_path": false, | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "YZ", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "path": [], | ||
|  |                 "start": 0, | ||
|  |                 "type": "Name", | ||
|  |                 "type": "Name" | ||
|  |               }, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "operator": "-", | ||
|  |               "start": 0, | ||
|  |               "type": "UnaryExpression", | ||
|  |               "type": "UnaryExpression" | ||
|  |             } | ||
|  |           }, | ||
|  |           "start": 0, | ||
|  |           "type": "VariableDeclarator" | ||
|  |         }, | ||
|  |         "end": 0, | ||
|  |         "kind": "const", | ||
|  |         "start": 0, | ||
|  |         "type": "VariableDeclaration", | ||
|  |         "type": "VariableDeclaration" | ||
|  |       }, | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "declaration": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "id": { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "name": "sketch004Profile000", | ||
|  |             "start": 0, | ||
|  |             "type": "Identifier" | ||
|  |           }, | ||
|  |           "init": { | ||
|  |             "arguments": [ | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "center", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "elements": [ | ||
|  |                     { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "0", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 0.0, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     }, | ||
|  |                     { | ||
|  |                       "commentStart": 0, | ||
|  |                       "end": 0, | ||
|  |                       "raw": "0", | ||
|  |                       "start": 0, | ||
|  |                       "type": "Literal", | ||
|  |                       "type": "Literal", | ||
|  |                       "value": { | ||
|  |                         "value": 0.0, | ||
|  |                         "suffix": "None" | ||
|  |                       } | ||
|  |                     } | ||
|  |                   ], | ||
|  |                   "end": 0, | ||
|  |                   "start": 0, | ||
|  |                   "type": "ArrayExpression", | ||
|  |                   "type": "ArrayExpression" | ||
|  |                 } | ||
|  |               }, | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "radius", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "raw": "0.164", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Literal", | ||
|  |                   "type": "Literal", | ||
|  |                   "value": { | ||
|  |                     "value": 0.164, | ||
|  |                     "suffix": "None" | ||
|  |                   } | ||
|  |                 } | ||
|  |               } | ||
|  |             ], | ||
|  |             "callee": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "circle", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name" | ||
|  |             }, | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "unlabeled": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "sketch004", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name", | ||
|  |               "type": "Name" | ||
|  |             } | ||
|  |           }, | ||
|  |           "start": 0, | ||
|  |           "type": "VariableDeclarator" | ||
|  |         }, | ||
|  |         "end": 0, | ||
|  |         "kind": "const", | ||
|  |         "start": 0, | ||
|  |         "type": "VariableDeclaration", | ||
|  |         "type": "VariableDeclaration" | ||
|  |       }, | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "declaration": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "id": { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "name": "cut001Extrude", | ||
|  |             "start": 0, | ||
|  |             "type": "Identifier" | ||
|  |           }, | ||
|  |           "init": { | ||
|  |             "arguments": [ | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "length", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "raw": "1.0", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Literal", | ||
|  |                   "type": "Literal", | ||
|  |                   "value": { | ||
|  |                     "value": 1.0, | ||
|  |                     "suffix": "None" | ||
|  |                   } | ||
|  |                 } | ||
|  |               }, | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "bidirectionalLength", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "raw": "0", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Literal", | ||
|  |                   "type": "Literal", | ||
|  |                   "value": { | ||
|  |                     "value": 0.0, | ||
|  |                     "suffix": "None" | ||
|  |                   } | ||
|  |                 } | ||
|  |               } | ||
|  |             ], | ||
|  |             "callee": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "extrude", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name" | ||
|  |             }, | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "unlabeled": { | ||
|  |               "commentStart": 0, | ||
|  |               "elements": [ | ||
|  |                 { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "sketch004Profile000", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name", | ||
|  |                   "type": "Name" | ||
|  |                 } | ||
|  |               ], | ||
|  |               "end": 0, | ||
|  |               "start": 0, | ||
|  |               "type": "ArrayExpression", | ||
|  |               "type": "ArrayExpression" | ||
|  |             } | ||
|  |           }, | ||
|  |           "start": 0, | ||
|  |           "type": "VariableDeclarator" | ||
|  |         }, | ||
|  |         "end": 0, | ||
|  |         "kind": "const", | ||
|  |         "start": 0, | ||
|  |         "type": "VariableDeclaration", | ||
|  |         "type": "VariableDeclaration" | ||
|  |       }, | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "declaration": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "id": { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "name": "cut001", | ||
|  |             "start": 0, | ||
|  |             "type": "Identifier" | ||
|  |           }, | ||
|  |           "init": { | ||
|  |             "arguments": [ | ||
|  |               { | ||
|  |                 "type": "LabeledArg", | ||
|  |                 "label": { | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": "tools", | ||
|  |                   "start": 0, | ||
|  |                   "type": "Identifier" | ||
|  |                 }, | ||
|  |                 "arg": { | ||
|  |                   "abs_path": false, | ||
|  |                   "commentStart": 0, | ||
|  |                   "end": 0, | ||
|  |                   "name": { | ||
|  |                     "commentStart": 0, | ||
|  |                     "end": 0, | ||
|  |                     "name": "cut001Extrude", | ||
|  |                     "start": 0, | ||
|  |                     "type": "Identifier" | ||
|  |                   }, | ||
|  |                   "path": [], | ||
|  |                   "start": 0, | ||
|  |                   "type": "Name", | ||
|  |                   "type": "Name" | ||
|  |                 } | ||
|  |               } | ||
|  |             ], | ||
|  |             "callee": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "subtract", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name" | ||
|  |             }, | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "type": "CallExpressionKw", | ||
|  |             "unlabeled": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "cut000", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name", | ||
|  |               "type": "Name" | ||
|  |             } | ||
|  |           }, | ||
|  |           "start": 0, | ||
|  |           "type": "VariableDeclarator" | ||
|  |         }, | ||
|  |         "end": 0, | ||
|  |         "kind": "const", | ||
|  |         "start": 0, | ||
|  |         "type": "VariableDeclaration", | ||
|  |         "type": "VariableDeclaration" | ||
|  |       } | ||
|  |     ], | ||
|  |     "commentStart": 0, | ||
|  |     "end": 0, | ||
|  |     "innerAttrs": [ | ||
|  |       { | ||
|  |         "commentStart": 0, | ||
|  |         "end": 0, | ||
|  |         "name": { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "name": "settings", | ||
|  |           "start": 0, | ||
|  |           "type": "Identifier" | ||
|  |         }, | ||
|  |         "properties": [ | ||
|  |           { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "key": { | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": "defaultLengthUnit", | ||
|  |               "start": 0, | ||
|  |               "type": "Identifier" | ||
|  |             }, | ||
|  |             "start": 0, | ||
|  |             "type": "ObjectProperty", | ||
|  |             "value": { | ||
|  |               "abs_path": false, | ||
|  |               "commentStart": 0, | ||
|  |               "end": 0, | ||
|  |               "name": { | ||
|  |                 "commentStart": 0, | ||
|  |                 "end": 0, | ||
|  |                 "name": "in", | ||
|  |                 "start": 0, | ||
|  |                 "type": "Identifier" | ||
|  |               }, | ||
|  |               "path": [], | ||
|  |               "start": 0, | ||
|  |               "type": "Name", | ||
|  |               "type": "Name" | ||
|  |             } | ||
|  |           } | ||
|  |         ], | ||
|  |         "start": 0, | ||
|  |         "type": "Annotation" | ||
|  |       } | ||
|  |     ], | ||
|  |     "nonCodeMeta": { | ||
|  |       "nonCodeNodes": { | ||
|  |         "0": [ | ||
|  |           { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "NonCodeNode", | ||
|  |             "value": { | ||
|  |               "type": "newLine" | ||
|  |             } | ||
|  |           } | ||
|  |         ], | ||
|  |         "1": [ | ||
|  |           { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "NonCodeNode", | ||
|  |             "value": { | ||
|  |               "type": "newLine" | ||
|  |             } | ||
|  |           } | ||
|  |         ], | ||
|  |         "2": [ | ||
|  |           { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "NonCodeNode", | ||
|  |             "value": { | ||
|  |               "type": "newLine" | ||
|  |             } | ||
|  |           } | ||
|  |         ], | ||
|  |         "3": [ | ||
|  |           { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "NonCodeNode", | ||
|  |             "value": { | ||
|  |               "type": "newLine" | ||
|  |             } | ||
|  |           } | ||
|  |         ], | ||
|  |         "4": [ | ||
|  |           { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "NonCodeNode", | ||
|  |             "value": { | ||
|  |               "type": "newLine" | ||
|  |             } | ||
|  |           } | ||
|  |         ], | ||
|  |         "5": [ | ||
|  |           { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "NonCodeNode", | ||
|  |             "value": { | ||
|  |               "type": "newLine" | ||
|  |             } | ||
|  |           } | ||
|  |         ], | ||
|  |         "6": [ | ||
|  |           { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "NonCodeNode", | ||
|  |             "value": { | ||
|  |               "type": "newLine" | ||
|  |             } | ||
|  |           } | ||
|  |         ], | ||
|  |         "7": [ | ||
|  |           { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "NonCodeNode", | ||
|  |             "value": { | ||
|  |               "type": "newLine" | ||
|  |             } | ||
|  |           } | ||
|  |         ], | ||
|  |         "8": [ | ||
|  |           { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "NonCodeNode", | ||
|  |             "value": { | ||
|  |               "type": "newLine" | ||
|  |             } | ||
|  |           } | ||
|  |         ], | ||
|  |         "9": [ | ||
|  |           { | ||
|  |             "commentStart": 0, | ||
|  |             "end": 0, | ||
|  |             "start": 0, | ||
|  |             "type": "NonCodeNode", | ||
|  |             "value": { | ||
|  |               "type": "newLine" | ||
|  |             } | ||
|  |           } | ||
|  |         ] | ||
|  |       }, | ||
|  |       "startNodes": [ | ||
|  |         { | ||
|  |           "commentStart": 0, | ||
|  |           "end": 0, | ||
|  |           "start": 0, | ||
|  |           "type": "NonCodeNode", | ||
|  |           "value": { | ||
|  |             "type": "newLine" | ||
|  |           } | ||
|  |         } | ||
|  |       ] | ||
|  |     }, | ||
|  |     "start": 0 | ||
|  |   } | ||
|  | } |