anchor.diff:  AVAILABLE_ZONES = <%= user_script.available_zones.inspect %>
   USER_DATA       = DATA.read
   
  -Signal.trap("INT") { exit 2 }
  +['INT', 'TERM' ].map do |signal|
  +  Signal.trap(signal) { exit! 2 }
  +end
   
   class Ec2
     attr_reader :ec2, :instance
  
positive.code: ServerCommand.instance.execute
  
  __END__
  <%= user_script.data %>
negative.code:   def self.instance
      @@parser ||= begin
        command = (ARGV[0] || 'missing').downcase.to_sym
        command = if command == :help
         unless ARGV[1].nil? || ARGV[1].empty?
            ARGV.shift
            ARGV << '-h'
            unless COMMANDS.include? ARGV[0].downcase.to_sym
              puts "Invalid command '#{ARGV[0].to_s}' given..."
              puts
              :missing
            else
              ARGV[0].downcase.to_sym
            end
          else
            :missing
          end
        elsif not COMMANDS.include?(command)
          puts "Invalid command '#{command.to_s}' given..."
          puts
          :missing
        else
          command
        end
        CommandParser.const_get(command.to_s.capitalize).new(command) rescue CommandParser.new(command)
      end
    end
  
  