"use strict";function TreeTransformer(n,e){TreeWalker.call(this),this.before=n,this.after=e}TreeTransformer.prototype=new TreeWalker,function(n){function e(e,o){e.DEFMETHOD("transform",function(e,r){var t,i;return e.push(this),e.before&&(t=e.before(this,o,r)),t===n&&(o(t=this,e),e.after&&(i=e.after(t,r))!==n&&(t=i)),e.pop(),t})}function o(n,e){return MAP(n,function(n){return n.transform(e,!0)})}e(AST_Node,noop),e(AST_LabeledStatement,function(n,e){n.label=n.label.transform(e),n.body=n.body.transform(e)}),e(AST_SimpleStatement,function(n,e){n.body=n.body.transform(e)}),e(AST_Block,function(n,e){n.body=o(n.body,e)}),e(AST_DWLoop,function(n,e){n.condition=n.condition.transform(e),n.body=n.body.transform(e)}),e(AST_For,function(n,e){n.init&&(n.init=n.init.transform(e)),n.condition&&(n.condition=n.condition.transform(e)),n.step&&(n.step=n.step.transform(e)),n.body=n.body.transform(e)}),e(AST_ForIn,function(n,e){n.init=n.init.transform(e),n.object=n.object.transform(e),n.body=n.body.transform(e)}),e(AST_With,function(n,e){n.expression=n.expression.transform(e),n.body=n.body.transform(e)}),e(AST_Exit,function(n,e){n.value&&(n.value=n.value.transform(e))}),e(AST_LoopControl,function(n,e){n.label&&(n.label=n.label.transform(e))}),e(AST_If,function(n,e){n.condition=n.condition.transform(e),n.body=n.body.transform(e),n.alternative&&(n.alternative=n.alternative.transform(e))}),e(AST_Switch,function(n,e){n.expression=n.expression.transform(e),n.body=o(n.body,e)}),e(AST_Case,function(n,e){n.expression=n.expression.transform(e),n.body=o(n.body,e)}),e(AST_Try,function(n,e){n.body=o(n.body,e),n.bcatch&&(n.bcatch=n.bcatch.transform(e)),n.bfinally&&(n.bfinally=n.bfinally.transform(e))}),e(AST_Catch,function(n,e){n.argname=n.argname.transform(e),n.body=o(n.body,e)}),e(AST_Definitions,function(n,e){n.definitions=o(n.definitions,e)}),e(AST_VarDef,function(n,e){n.name=n.name.transform(e),n.value&&(n.value=n.value.transform(e))}),e(AST_Destructuring,function(n,e){n.names=o(n.names,e)}),e(AST_Lambda,function(n,e){n.name&&(n.name=n.name.transform(e)),n.argnames=o(n.argnames,e),n.body instanceof AST_Node?n.body=n.body.transform(e):n.body=o(n.body,e)}),e(AST_Call,function(n,e){n.expression=n.expression.transform(e),n.args=o(n.args,e)}),e(AST_Sequence,function(n,e){n.expressions=o(n.expressions,e)}),e(AST_Dot,function(n,e){n.expression=n.expression.transform(e)}),e(AST_Sub,function(n,e){n.expression=n.expression.transform(e),n.property=n.property.transform(e)}),e(AST_Yield,function(n,e){n.expression&&(n.expression=n.expression.transform(e))}),e(AST_Await,function(n,e){n.expression=n.expression.transform(e)}),e(AST_Unary,function(n,e){n.expression=n.expression.transform(e)}),e(AST_Binary,function(n,e){n.left=n.left.transform(e),n.right=n.right.transform(e)}),e(AST_Conditional,function(n,e){n.condition=n.condition.transform(e),n.consequent=n.consequent.transform(e),n.alternative=n.alternative.transform(e)}),e(AST_Array,function(n,e){n.elements=o(n.elements,e)}),e(AST_Object,function(n,e){n.properties=o(n.properties,e)}),e(AST_ObjectProperty,function(n,e){n.key instanceof AST_Node&&(n.key=n.key.transform(e)),n.value=n.value.transform(e)}),e(AST_Class,function(n,e){n.name&&(n.name=n.name.transform(e)),n.extends&&(n.extends=n.extends.transform(e)),n.properties=o(n.properties,e)}),e(AST_Expansion,function(n,e){n.expression=n.expression.transform(e)}),e(AST_NameMapping,function(n,e){n.foreign_name=n.foreign_name.transform(e),n.name=n.name.transform(e)}),e(AST_Import,function(n,e){n.imported_name&&(n.imported_name=n.imported_name.transform(e)),n.imported_names&&o(n.imported_names,e),n.module_name=n.module_name.transform(e)}),e(AST_Export,function(n,e){n.exported_definition&&(n.exported_definition=n.exported_definition.transform(e)),n.exported_value&&(n.exported_value=n.exported_value.transform(e)),n.exported_names&&o(n.exported_names,e),n.module_name&&(n.module_name=n.module_name.transform(e))}),e(AST_TemplateString,function(n,e){n.segments=o(n.segments,e)}),e(AST_PrefixedTemplateString,function(n,e){n.template_string=n.template_string.transform(e)})}();