(CommandList children: [ (C {(set)} {(-euo)} {(pipefail)}) (FuncDef name: error body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(-en)} {(SQ <'\\e[0;31m'>)}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[56])] ) (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_At '$@'))}) (Subshell child: (AndOr ops:[Op_DPipe] children:[(C {(fold)} {(-s)}) (C {(cat)})]) redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [78] ) ] spids: [68 76] ) ] negated: F ) (SimpleCommand words: [{(echo)} {(-en)} {(SQ <'\\e[0m'>)}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[90])] ) ] spids: [16777215 45] ) ] spids: [16777215 94] ) ] spids: [28] ) spids: [24 27] ) (FuncDef name: fail body: (BraceGroup children: [ (C {(error)} {(DQ ($ VSub_At '$@'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [103] ) spids: [99 102] ) (ForEach iter_name: dep iter_words: [{(vagrant)} {(pip)}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(which)} {($ VSub_Name '$dep')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [142] ) ] ) (C {(fail)} {(DQ ('Please install ') ($ VSub_Name '$dep') ('(1).'))}) ] ) ] spids: [135 156] ) spids: [128 133] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(/etc/debian_version)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (ForEach iter_name: package iter_words: [{(zlib1g-dev)} {(ruby-dev)} {(libvirt-dev)} {(qemu-utils)}] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(Lit_Other '[')} {(-e)} {(/usr/share/doc/) (${ VSub_Name package)} {(Lit_Other ']')} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('Seems you should run: sudo apt-get install -y ') (${ VSub_Name package) ) } ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 215] ) ] spids: [16777215 233] ) ] spids: [195 236] ) spids: [185 193] ) ] spids: [16777215 177] ) ] spids: [16777215 238] ) (ForEach iter_name: vgplugin iter_words: [{(vagrant-mutate)} {(vagrant-libvirt)}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [ (C {(vagrant)} {(plugin)} {(list)}) (C {(grep)} {(-q)} {(DQ ($ VSub_Name '$vgplugin'))}) ] negated: F ) spids: [269 285] ) (C {(vagrant)} {(plugin)} {(install)} {(DQ ($ VSub_Name '$vgplugin'))}) ] ) ] spids: [266 299] ) spids: [260 264] ) (C {(cd)} { (CommandSubPart command_list: (CommandList children:[(C {(mktemp)} {(-d)})]) left_token: <Left_CommandSub '$('> spids: [303 307] ) } ) (C {(git)} {(clone)} {(https) (Lit_Other ':') (//github.com/sciurus/vagrant-mutate)}) (C {(cd)} {(vagrant-mutate)}) (C {(rake)} {(build)}) (C {(vagrant)} {(plugin)} {(install)} {(pkg/vagrant-mutate-1.2.0.gem)}) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [(C {(vagrant)} {(box)} {(list)}) (C {(grep)} {(-q)} {(thoughtbot_jessie)})] negated: F ) spids: [348 362] ) (C {(vagrant)} {(box)} {(add)} {(thoughtbot_jessie)} {(https) (Lit_Other ':') ( //vagrantcloud.com/thoughtbot/boxes/debian-jessie-64/versions/0.1.0/providers/virtualbox.box ) } ) ] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [ (C {(vagrant)} {(box)} {(list)}) (C {(grep)} {(-q)} {(SQ <'thoughtbot_jessie.*libvirt'>)}) ] negated: F ) spids: [378 394] ) (C {(vagrant)} {(mutate)} {(thoughtbot_jessie)} {(libvirt)}) ] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [(C {(vagrant)} {(box)} {(list)}) (C {(grep)} {(-q)} {(SQ <trusty64>)})] negated: F ) spids: [410 426] ) (C {(vagrant)} {(box)} {(add)} {(trusty64)} {(https) (Lit_Other ':') ( //cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box ) } ) ] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [ (C {(vagrant)} {(box)} {(list)}) (C {(grep)} {(-q)} {(SQ <'trusty64.*libvirt'>)}) ] negated: F ) spids: [442 458] ) (C {(vagrant)} {(mutate)} {(trusty64)} {(libvirt)}) ] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [(C {(vagrant)} {(box)} {(list)}) (C {(grep)} {(-q)} {(SQ <debian-7.8-32-nocm>)})] negated: F ) spids: [474 490] ) (C {(vagrant)} {(box)} {(add)} {(debian-7.8-32-nocm)} {(https) (Lit_Other ':') ( //vagrantcloud.com/puppetlabs/boxes/debian-7.8-32-nocm/versions/1.0.2/providers/virtualbox.box ) } ) ] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [ (C {(vagrant)} {(box)} {(list)}) (C {(grep)} {(-q)} {(SQ <'debian-7.8-32-nocm.*libvirt'>)}) ] negated: F ) spids: [506 522] ) (C {(vagrant)} {(mutate)} {(debian-7.8-32-nocm)} {(libvirt)}) ] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [(C {(vagrant)} {(box)} {(list)}) (C {(grep)} {(-q)} {(SQ <precise64>)})] negated: F ) spids: [538 554] ) (C {(vagrant)} {(box)} {(add)} {(precise64)} {(https) (Lit_Other ':') (//vagrantcloud.com/hashicorp/boxes/precise64/versions/1.1.0/providers/virtualbox.box) } ) ] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [ (C {(vagrant)} {(box)} {(list)}) (C {(grep)} {(-q)} {(SQ <'precise64.*libvirt'>)}) ] negated: F ) spids: [570 586] ) (C {(vagrant)} {(mutate)} {(precise64)} {(libvirt)}) ] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [ (C {(vagrant)} {(box)} {(list)}) (C {(grep)} {(-q)} {(SQ <centos7_convertible>)}) ] negated: F ) spids: [602 618] ) (C {(vagrant)} {(box)} {(add)} {(centos7_convertible)} {(http) (Lit_Other ':') ( //cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-1609_01.VirtualBox.box ) } ) ] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [ (C {(vagrant)} {(box)} {(list)}) (C {(grep)} {(-q)} {(SQ <'centos7_convertible.*libvirt'>)}) ] negated: F ) spids: [634 650] ) (C {(vagrant)} {(mutate)} {(centos7_convertible)} {(libvirt)} {(--input-provider)} {(virtualbox)}) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(TildeSubPart prefix:'') (/.local/bin/stodgy-tester)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(pip)} {(install)} {(--user)} {(--upgrade)} {(git) (Lit_Other '+') (https) (Lit_Other ':') (//github.com/paulproteus/stodgy-tester.git) (Lit_Pound '#') (Lit_VarLike 'egg=') (stodgy-tester) } ) ] spids: [16777215 685] ) ] spids: [16777215 705] ) ] )