(CommandList children: [ (FuncDef name: unmount_devpts body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(mountpoint)} {(-q)} {(/dev/pts/)}) terminator: <Op_Semi ';'> ) ] action: [(C {(umount)} {(-n)} {(-l)} {(/dev/pts/)})] spids: [-1 47] ) ] spids: [-1 59] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(mountpoint)} {(-q)} {(/dev/shm/)}) terminator: <Op_Semi ';'> ) ] action: [(C {(umount)} {(-n)} {(-l)} {(/dev/shm/)})] spids: [-1 72] ) ] spids: [-1 84] ) ] spids: [35] ) spids: [31 34] ) (FuncDef name: mount_devtmpfs body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(grep)} {(-E)} {(-q)} {(DQ ('^[^[:space:]]+ /dev devtmpfs'))} {(/proc/mounts)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(mount)} {(-n)} {(-o)} {(remount) (Lit_Comma ',') (nosuid) (Lit_Comma ',') (Lit_VarLike 'size=') ($ VSub_Name '$tmpfs_size') (Lit_Comma ',') (Lit_VarLike 'mode=') (0755) } {(-t)} {(devtmpfs)} {(devtmpfs)} {(/dev)} ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [-1 114] ) ] spids: [-1 145] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(mount)} {(-n)} {(-o)} {(nosuid) (Lit_Comma ',') (Lit_VarLike 'size=') ($ VSub_Name '$tmpfs_size') (Lit_Comma ',') (Lit_VarLike 'mode=') (0755) } {(-t)} {(devtmpfs)} {(devtmpfs)} {(/dev)} ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ('udev requires devtmpfs support, not started'))}) (C {(log_end_msg)} {(1)}) ] spids: [-1 176] ) ] spids: [-1 191] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [96] ) spids: [92 95] ) (FuncDef name: create_dev_makedev body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(/sbin/MAKEDEV)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(ln)} {(-sf)} {(/sbin/MAKEDEV)} {(/dev/MAKEDEV)})] spids: [-1 220] ) ] else_action: [(C {(ln)} {(-sf)} {(/bin/true)} {(/dev/MAKEDEV)})] spids: [232 244] ) ] spids: [206] ) spids: [202 205] ) (FuncDef name: supported_kernel body: (BraceGroup children: [ (Case to_match: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-r)})]) left_token: <Left_CommandSub '$('> spids: [259 263] ) ) } arms: [ (case_arm pat_list: [ {(2.) (Lit_Other '[') (012345) (Lit_Other ']') (.) (Lit_Other '*')} {(2.6.) (Lit_Other '[') (0-9) (Lit_Other ']')} {(2.6.) (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (KW_Bang '!') (0-9) (Lit_Other ']') (Lit_Other '*') } ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [269 290 296 -1] ) (case_arm pat_list: [ {(2.6.) (Lit_Other '[') (12) (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']')} {(2.6.) (Lit_Other '[') (12) (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (KW_Bang '!') (0-9) (Lit_Other ']') (Lit_Other '*') } ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [299 319 325 -1] ) (case_arm pat_list: [ {(2.6.3) (Lit_Other '[') (0-1) (Lit_Other ']')} {(2.6.3) (Lit_Other '[') (0-1) (Lit_Other ']') (Lit_Other '[') (KW_Bang '!') (0-9) (Lit_Other ']') (Lit_Other '*') } ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [328 342 348 -1] ) ] spids: [256 266 351] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [253] ) spids: [249 252] ) (FuncDef name: my_tty body: (BraceGroup children: [ (AndOr children: [ (C {(Lit_Other '[')} {(-x)} {(/bin/readlink)} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(Lit_Other '[')} {(-e)} {(/proc/self/fd/0)} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] op_id: Op_DPipe ) (AndOr children: [(C {(readlink)} {(--silent)} {(/proc/self/fd/0)}) (C {(true)})] op_id: Op_DPipe ) ] spids: [368] ) spids: [364 367] ) (FuncDef name: warn_if_interactive body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$RUNLEVEL'))} {(Lit_Other '=')} {(DQ (S))} {(-a)} {(DQ ($ VSub_Name '$PREVLEVEL'))} {(Lit_Other '=')} {(DQ (N))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return>)] spids: [-1 450] ) ] spids: [-1 456] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TTY) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(my_tty)})]) left_token: <Left_CommandSub '$('> spids: [461 463] ) } spids: [460] ) ] spids: [460] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$TTY'))} {(-o)} {(DQ ($ VSub_Name '$TTY'))} {(Lit_Other '=')} {(DQ (/dev/console))} {(-o)} {(DQ ($ VSub_Name '$TTY'))} {(Lit_Other '=')} {(DQ (/dev/null))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return>)] spids: [-1 503] ) ] spids: [-1 509] ) (C {(printf)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ('It has been detected that the command') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\t'>) ($ VSub_Number '$0') (' ') ($ VSub_Star '$*') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ) } ) (C {(printf)} { (DQ ('has been run from an interactive shell.') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ) } ) (C {(printf)} { (DQ ('It will probably not do what you expect, so this script will wait') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ) } ) (C {(printf)} { (DQ ('60 seconds before continuing. Press ^C to stop it.') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ) } ) (C {(printf)} { (DQ ('RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ) } ) (C {(sleep)} {(60)}) ] spids: [418] ) spids: [414 417] ) (FuncDef name: make_static_nodes body: (BraceGroup children: [ (AndOr children: [ (C {(Lit_Other '[')} {(-e)} {(/lib/modules/) (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-r)})]) left_token: <Left_CommandSub '$('> spids: [585 589] ) (/modules.devname) } {(Lit_Other ']')} ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(Lit_Other '[')} {(-x)} {(/bin/kmod)} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] op_id: Op_DPipe ) (Pipeline children: [ (C {(/bin/kmod)} {(static-nodes)} {(--format) (Lit_Other '=') (tmpfiles)} {(--output) (Lit_Other '=') (/proc/self/fd/1)} ) (While cond: [ (Sentence child: (C {(read)} {(type)} {(name)} {(mode)} {(uid)} {(gid)} {(age)} {(arg)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (AndOr children: [ (C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$name')} {(Lit_Other ']')}) (ControlFlow token: <ControlFlow_Continue continue> ) ] op_id: Op_DAmp ) (Case to_match: {(DQ ($ VSub_Name '$type'))} arms: [ (case_arm pat_list: [{(c)} {(b)} {(c) (KW_Bang '!')} {(b) (KW_Bang '!')}] action: [ (C {(mknod)} {(-m)} {($ VSub_Name '$mode')} {($ VSub_Name '$name')} {($ VSub_Name '$type')} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$arg')}) (C {(sed)} {(SQ <'s/:/ /'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [698 710] ) } ) ] spids: [677 686 712 -1] ) (case_arm pat_list: [{(d)} {(d) (KW_Bang '!')}] action: [(C {(mkdir)} {($ VSub_Name '$name')})] spids: [715 719 725 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(echo)} { (DQ ('unparseable line (') ($ VSub_Name '$type') (' ') ($ VSub_Name '$name') (' ') ($ VSub_Name '$mode') (' ') ($ VSub_Name '$uid') (' ') ($ VSub_Name '$gid') (' ') ($ VSub_Name '$age') (' ') ($ VSub_Name '$arg') (')') ) } ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [751] ) ] ) ] spids: [728 729 754 -1] ) ] spids: [668 674 757] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-x)} {(/sbin/restorecon)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(/sbin/restorecon)} {($ VSub_Name '$name')})] spids: [-1 772] ) ] spids: [-1 780] ) ] spids: [652 783] ) ) ] negated: False ) ] spids: [577] ) spids: [573 576] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PATH) op:Equal rhs:{(DQ ('/sbin:/bin'))} spids:[793])] spids: [793] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:NAME) op:Equal rhs:{(DQ (systemd-udevd))} spids:[798])] spids: [798] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DAEMON) op: Equal rhs: {(DQ (/lib/systemd/systemd-udevd))} spids: [803] ) ] spids: [803] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DESC) op: Equal rhs: {(DQ ('the hotplug events dispatcher'))} spids: [808] ) ] spids: [808] ) (AndOr children: [ (C {(Lit_Other '[')} {(-x)} {($ VSub_Name '$DAEMON')} {(Lit_Other ']')}) (C {(exit)} {(0)}) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:tmpfs_size) op:Equal rhs:{(DQ (10M))} spids:[832])] spids: [832] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(/etc/udev/udev.conf)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(.)} {(/etc/udev/udev.conf)})] spids: [-1 849] ) ] spids: [-1 856] ) (C {(.)} {(/lib/lsb/init-functions)}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {(supported_kernel)})] negated:True) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ('udev requires a kernel >= 2.6.32, not started'))}) (C {(log_end_msg)} {(1)}) ] spids: [-1 871] ) ] spids: [-1 885] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(/proc/filesystems)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ('udev requires a mounted procfs, not started'))}) (C {(log_end_msg)} {(1)}) ] spids: [-1 901] ) ] spids: [-1 915] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(grep)} {(-q)} {(SQ <'[[:space:]]devtmpfs$'>)} {(/proc/filesystems)})] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ('udev requires devtmpfs support, not started'))}) (C {(log_end_msg)} {(1)}) ] spids: [-1 933] ) ] spids: [-1 947] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(/sys/class/)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ('udev requires a mounted sysfs, not started'))}) (C {(log_end_msg)} {(1)}) ] spids: [-1 963] ) ] spids: [-1 977] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(ps)} {(--no-headers)} {(--format)} {(args)} {(ax)}) (C {(egrep)} {(-q)} {(SQ <'^\\['>)}) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_warning_msg)} {(DQ ('udev does not support containers, not started'))}) (C {(exit)} {(0)}) ] spids: [-1 1005] ) ] spids: [-1 1019] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other '[')} {(-d)} {(/sys/class/mem/null)} {(-a)} {(KW_Bang '!')} {(-L)} {(/sys/class/mem/null)} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-e)} {(/sys/block)} {(-a)} {(KW_Bang '!')} {(-e)} {(/sys/class/block)} {(Lit_Other ']')} ) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_warning_msg)} {(DQ ('CONFIG_SYSFS_DEPRECATED must not be selected'))}) (C {(log_warning_msg)} {(DQ ('Booting will continue in 30 seconds but many things will be broken'))} ) (C {(sleep)} {(30)}) ] spids: [-1 1061] ) ] spids: [-1 1082] ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(start)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(init_is_upstart)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1112] ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(exit)} {(1)})] spids: [-1 1116] ) ] spids: [-1 1124] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ (/run/udev/))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(warn_if_interactive)})] spids: [-1 1143] ) ] spids: [-1 1149] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-w)} {(/sys/kernel/uevent_helper)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/sys/kernel/uevent_helper)} spids: [1169] ) ] ) ] spids: [-1 1164] ) ] spids: [-1 1174] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {(mountpoint)} {(-q)} {(/dev/)})] negated:True) terminator: <Op_Semi ';'> ) ] action: [ (C {(unmount_devpts)}) (C {(mount_devtmpfs)}) (AndOr children: [ (C {(Lit_Other '[')} {(-d)} {(/proc/1)} {(Lit_Other ']')}) (C {(mount)} {(-n)} {(/proc)}) ] op_id: Op_DPipe ) ] spids: [-1 1189] ) ] spids: [-1 1215] ) (C {(make_static_nodes)}) (C {(udevadm)} {(info)} {(--cleanup-db)}) (AndOr children: [ (C {(Lit_Other '[')} {(-x)} {(/sbin/restorecon)} {(Lit_Other ']')}) (C {(/sbin/restorecon)} {(-R)} {(/dev)}) ] op_id: Op_DAmp ) (C {(log_daemon_msg)} {(DQ ('Starting ') ($ VSub_Name '$DESC'))} {(DQ ($ VSub_Name '$NAME'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {($ VSub_Name '$DAEMON')} {(--daemon)}) terminator: <Op_Semi ';'> ) ] action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [-1 1276] ) ] else_action: [ (C {(log_warning_msg)} {($ VSub_QMark '$?')}) (C {(log_warning_msg)} {(DQ ('Waiting 15 seconds and trying to continue anyway'))}) (C {(sleep)} {(15)}) ] spids: [1284 1304] ) (C {(log_action_begin_msg)} {(DQ ('Synthesizing the initial hotplug events'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(udevadm)} {(trigger)} {(--action) (Lit_Other '=') (add)}) terminator: <Op_Semi ';'> ) ] action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [-1 1326] ) ] else_action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [1334 1342] ) (C {(create_dev_makedev)}) (C {(log_action_begin_msg)} {(DQ ('Waiting for /dev to be fully populated'))}) (If arms: [ (if_arm cond: [(Sentence child:(C {(udevadm)} {(settle)}) terminator:<Op_Semi ';'>)] action: [(C {(log_action_end_msg)} {(0)})] spids: [-1 1368] ) ] else_action: [(C {(log_action_end_msg)} {(0)} {(SQ <timeout>)})] spids: [1376 1388] ) ] spids: [1104 1105 1391 -1] ) (case_arm pat_list: [{(stop)}] action: [ (C {(log_daemon_msg)} {(DQ ('Stopping ') ($ VSub_Name '$DESC'))} {(DQ ($ VSub_Name '$NAME'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(start-stop-daemon)} {(--stop)} {(--name)} {($ VSub_Name '$NAME')} {(--user)} {(root)} {(--quiet)} {(--oknodo)} {(--retry)} {(5)} ) terminator: <Op_Semi ';'> ) ] action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [-1 1434] ) ] else_action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [1442 1450] ) ] spids: [1395 1396 1453 -1] ) (case_arm pat_list: [{(restart)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(init_is_upstart)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1465] ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(exit)} {(1)})] spids: [-1 1469] ) ] spids: [-1 1477] ) (C {(log_daemon_msg)} {(DQ ('Stopping ') ($ VSub_Name '$DESC'))} {(DQ ($ VSub_Name '$NAME'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(start-stop-daemon)} {(--stop)} {(--name)} {($ VSub_Name '$NAME')} {(--user)} {(root)} {(--quiet)} {(--oknodo)} {(--retry)} {(5)} ) terminator: <Op_Semi ';'> ) ] action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [-1 1515] ) ] else_action: [ (AndOr children: [(C {(log_end_msg)} {($ VSub_QMark '$?')}) (C {(true)})] op_id: Op_DPipe ) ] spids: [1523 1535] ) (C {(log_daemon_msg)} {(DQ ('Starting ') ($ VSub_Name '$DESC'))} {(DQ ($ VSub_Name '$NAME'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {($ VSub_Name '$DAEMON')} {(--daemon)}) terminator: <Op_Semi ';'> ) ] action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [-1 1558] ) ] else_action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [1566 1574] ) ] spids: [1457 1458 1577 -1] ) (case_arm pat_list: [{(reload)} {(force-reload)}] action: [(C {(udevadm)} {(control)} {(--reload-rules)})] spids: [1581 1584 1594 -1] ) (case_arm pat_list: [{(status)}] action: [ (AndOr children: [ (C {(status_of_proc)} {($ VSub_Name '$DAEMON')} {($ VSub_Name '$NAME')}) (AndOr children: [(C {(exit)} {(0)}) (C {(exit)} {($ VSub_QMark '$?')})] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] spids: [1598 1599 1621 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(echo)} {(DQ ('Usage: /etc/init.d/udev {start|stop|restart|reload|force-reload|status}'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1635])] ) (C {(exit)} {(1)}) ] spids: [1625 1626 1644 -1] ) ] spids: [1095 1101 1646] ) (C {(exit)} {(0)}) ] )