(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory();
	else if(typeof define === 'function' && define.amd)
		define([], factory);
	else if(typeof exports === 'object')
		exports["AWS"] = factory();
	else
		root["AWS"] = factory();
})(this, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};

/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {

/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId])
/******/ 			return installedModules[moduleId].exports;

/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			exports: {},
/******/ 			id: moduleId,
/******/ 			loaded: false
/******/ 		};

/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;

/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}


/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;

/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;

/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";

/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {

	module.exports = __webpack_require__(1);


/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);

	var AWS = __webpack_require__(5);

	__webpack_require__(299);
	module.exports = AWS;

/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(process) {var util = __webpack_require__(4);

	// react-native specific modules
	util.crypto.lib = __webpack_require__(280);
	util.Buffer = __webpack_require__(203).Buffer;
	util.url = __webpack_require__(286);
	util.querystring = __webpack_require__(288);
	util.environment = 'js-react-native';

	var AWS = __webpack_require__(5);

	// Use default API loader function
	__webpack_require__(187);

	// Load the DOMParser XML parser
	AWS.XML.Parser = __webpack_require__(291);

	// Load the XHR HttpClient
	__webpack_require__(297);

	// add custom request event handlers
	var addContentType = __webpack_require__(298).addContentType;
	AWS.EventListeners.Core.addNamedListeners(function(add) {
	  add('ADD_CONTENT_TYPE', 'afterBuild', addContentType);
	});

	if (typeof process === 'undefined') {
	  process = {};
	}
	process.browser = true;
	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))

/***/ }),
/* 3 */
/***/ (function(module, exports) {

	// shim for using process in browser
	var process = module.exports = {};

	// cached from whatever global is present so that test runners that stub it
	// don't break things.  But we need to wrap it in a try catch in case it is
	// wrapped in strict mode code which doesn't define any globals.  It's inside a
	// function because try/catches deoptimize in certain engines.

	var cachedSetTimeout;
	var cachedClearTimeout;

	function defaultSetTimout() {
	    throw new Error('setTimeout has not been defined');
	}
	function defaultClearTimeout () {
	    throw new Error('clearTimeout has not been defined');
	}
	(function () {
	    try {
	        if (typeof setTimeout === 'function') {
	            cachedSetTimeout = setTimeout;
	        } else {
	            cachedSetTimeout = defaultSetTimout;
	        }
	    } catch (e) {
	        cachedSetTimeout = defaultSetTimout;
	    }
	    try {
	        if (typeof clearTimeout === 'function') {
	            cachedClearTimeout = clearTimeout;
	        } else {
	            cachedClearTimeout = defaultClearTimeout;
	        }
	    } catch (e) {
	        cachedClearTimeout = defaultClearTimeout;
	    }
	} ())
	function runTimeout(fun) {
	    if (cachedSetTimeout === setTimeout) {
	        //normal enviroments in sane situations
	        return setTimeout(fun, 0);
	    }
	    // if setTimeout wasn't available but was latter defined
	    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
	        cachedSetTimeout = setTimeout;
	        return setTimeout(fun, 0);
	    }
	    try {
	        // when when somebody has screwed with setTimeout but no I.E. maddness
	        return cachedSetTimeout(fun, 0);
	    } catch(e){
	        try {
	            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
	            return cachedSetTimeout.call(null, fun, 0);
	        } catch(e){
	            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
	            return cachedSetTimeout.call(this, fun, 0);
	        }
	    }


	}
	function runClearTimeout(marker) {
	    if (cachedClearTimeout === clearTimeout) {
	        //normal enviroments in sane situations
	        return clearTimeout(marker);
	    }
	    // if clearTimeout wasn't available but was latter defined
	    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
	        cachedClearTimeout = clearTimeout;
	        return clearTimeout(marker);
	    }
	    try {
	        // when when somebody has screwed with setTimeout but no I.E. maddness
	        return cachedClearTimeout(marker);
	    } catch (e){
	        try {
	            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
	            return cachedClearTimeout.call(null, marker);
	        } catch (e){
	            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
	            // Some versions of I.E. have different rules for clearTimeout vs setTimeout
	            return cachedClearTimeout.call(this, marker);
	        }
	    }



	}
	var queue = [];
	var draining = false;
	var currentQueue;
	var queueIndex = -1;

	function cleanUpNextTick() {
	    if (!draining || !currentQueue) {
	        return;
	    }
	    draining = false;
	    if (currentQueue.length) {
	        queue = currentQueue.concat(queue);
	    } else {
	        queueIndex = -1;
	    }
	    if (queue.length) {
	        drainQueue();
	    }
	}

	function drainQueue() {
	    if (draining) {
	        return;
	    }
	    var timeout = runTimeout(cleanUpNextTick);
	    draining = true;

	    var len = queue.length;
	    while(len) {
	        currentQueue = queue;
	        queue = [];
	        while (++queueIndex < len) {
	            if (currentQueue) {
	                currentQueue[queueIndex].run();
	            }
	        }
	        queueIndex = -1;
	        len = queue.length;
	    }
	    currentQueue = null;
	    draining = false;
	    runClearTimeout(timeout);
	}

	process.nextTick = function (fun) {
	    var args = new Array(arguments.length - 1);
	    if (arguments.length > 1) {
	        for (var i = 1; i < arguments.length; i++) {
	            args[i - 1] = arguments[i];
	        }
	    }
	    queue.push(new Item(fun, args));
	    if (queue.length === 1 && !draining) {
	        runTimeout(drainQueue);
	    }
	};

	// v8 likes predictible objects
	function Item(fun, array) {
	    this.fun = fun;
	    this.array = array;
	}
	Item.prototype.run = function () {
	    this.fun.apply(null, this.array);
	};
	process.title = 'browser';
	process.browser = true;
	process.env = {};
	process.argv = [];
	process.version = ''; // empty string to avoid regexp issues
	process.versions = {};

	function noop() {}

	process.on = noop;
	process.addListener = noop;
	process.once = noop;
	process.off = noop;
	process.removeListener = noop;
	process.removeAllListeners = noop;
	process.emit = noop;
	process.prependListener = noop;
	process.prependOnceListener = noop;

	process.listeners = function (name) { return [] }

	process.binding = function (name) {
	    throw new Error('process.binding is not supported');
	};

	process.cwd = function () { return '/' };
	process.chdir = function (dir) {
	    throw new Error('process.chdir is not supported');
	};
	process.umask = function() { return 0; };


/***/ }),
/* 4 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(process) {/* eslint guard-for-in:0 */
	var AWS;

	/**
	 * A set of utility methods for use with the AWS SDK.
	 *
	 * @!attribute abort
	 *   Return this value from an iterator function {each} or {arrayEach}
	 *   to break out of the iteration.
	 *   @example Breaking out of an iterator function
	 *     AWS.util.each({a: 1, b: 2, c: 3}, function(key, value) {
	 *       if (key == 'b') return AWS.util.abort;
	 *     });
	 *   @see each
	 *   @see arrayEach
	 * @api private
	 */
	var util = {
	  environment: 'nodejs',
	  engine: function engine() {
	    if (util.isBrowser() && typeof navigator !== 'undefined') {
	      return navigator.userAgent;
	    } else {
	      var engine = process.platform + '/' + process.version;
	      if (process.env.AWS_EXECUTION_ENV) {
	        engine += ' exec-env/' + process.env.AWS_EXECUTION_ENV;
	      }
	      return engine;
	    }
	  },

	  userAgent: function userAgent() {
	    var name = util.environment;
	    var agent = 'aws-sdk-' + name + '/' + __webpack_require__(5).VERSION;
	    if (name === 'nodejs') agent += ' ' + util.engine();
	    return agent;
	  },

	  isBrowser: function isBrowser() { return process && process.browser; },
	  isNode: function isNode() { return !util.isBrowser(); },
	  uriEscape: function uriEscape(string) {
	    var output = encodeURIComponent(string);
	    output = output.replace(/[^A-Za-z0-9_.~\-%]+/g, escape);

	    // AWS percent-encodes some extra non-standard characters in a URI
	    output = output.replace(/[*]/g, function(ch) {
	      return '%' + ch.charCodeAt(0).toString(16).toUpperCase();
	    });

	    return output;
	  },

	  uriEscapePath: function uriEscapePath(string) {
	    var parts = [];
	    util.arrayEach(string.split('/'), function (part) {
	      parts.push(util.uriEscape(part));
	    });
	    return parts.join('/');
	  },

	  urlParse: function urlParse(url) {
	    return util.url.parse(url);
	  },

	  urlFormat: function urlFormat(url) {
	    return util.url.format(url);
	  },

	  queryStringParse: function queryStringParse(qs) {
	    return util.querystring.parse(qs);
	  },

	  queryParamsToString: function queryParamsToString(params) {
	    var items = [];
	    var escape = util.uriEscape;
	    var sortedKeys = Object.keys(params).sort();

	    util.arrayEach(sortedKeys, function(name) {
	      var value = params[name];
	      var ename = escape(name);
	      var result = ename + '=';
	      if (Array.isArray(value)) {
	        var vals = [];
	        util.arrayEach(value, function(item) { vals.push(escape(item)); });
	        result = ename + '=' + vals.sort().join('&' + ename + '=');
	      } else if (value !== undefined && value !== null) {
	        result = ename + '=' + escape(value);
	      }
	      items.push(result);
	    });

	    return items.join('&');
	  },

	  readFileSync: function readFileSync(path) {
	    if (util.isBrowser()) return null;
	    return __webpack_require__(222).readFileSync(path, 'utf-8');
	  },

	  base64: {
	    encode: function encode64(string) {
	      if (typeof string === 'number') {
	        throw util.error(new Error('Cannot base64 encode number ' + string));
	      }
	      if (string === null || typeof string === 'undefined') {
	        return string;
	      }
	      var buf = (typeof util.Buffer.from === 'function' && util.Buffer.from !== Uint8Array.from) ? util.Buffer.from(string) : new util.Buffer(string);
	      return buf.toString('base64');
	    },

	    decode: function decode64(string) {
	      if (typeof string === 'number') {
	        throw util.error(new Error('Cannot base64 decode number ' + string));
	      }
	      if (string === null || typeof string === 'undefined') {
	        return string;
	      }
	      return (typeof util.Buffer.from === 'function' && util.Buffer.from !== Uint8Array.from) ? util.Buffer.from(string, 'base64') : new util.Buffer(string, 'base64');
	    }

	  },

	  buffer: {
	    toStream: function toStream(buffer) {
	      if (!util.Buffer.isBuffer(buffer)) buffer = new util.Buffer(buffer);

	      var readable = new (util.stream.Readable)();
	      var pos = 0;
	      readable._read = function(size) {
	        if (pos >= buffer.length) return readable.push(null);

	        var end = pos + size;
	        if (end > buffer.length) end = buffer.length;
	        readable.push(buffer.slice(pos, end));
	        pos = end;
	      };

	      return readable;
	    },

	    /**
	     * Concatenates a list of Buffer objects.
	     */
	    concat: function(buffers) {
	      var length = 0,
	          offset = 0,
	          buffer = null, i;

	      for (i = 0; i < buffers.length; i++) {
	        length += buffers[i].length;
	      }

	      buffer = new util.Buffer(length);

	      for (i = 0; i < buffers.length; i++) {
	        buffers[i].copy(buffer, offset);
	        offset += buffers[i].length;
	      }

	      return buffer;
	    }
	  },

	  string: {
	    byteLength: function byteLength(string) {
	      if (string === null || string === undefined) return 0;
	      if (typeof string === 'string') string = new util.Buffer(string);

	      if (typeof string.byteLength === 'number') {
	        return string.byteLength;
	      } else if (typeof string.length === 'number') {
	        return string.length;
	      } else if (typeof string.size === 'number') {
	        return string.size;
	      } else if (typeof string.path === 'string') {
	        return __webpack_require__(222).lstatSync(string.path).size;
	      } else {
	        throw util.error(new Error('Cannot determine length of ' + string),
	          { object: string });
	      }
	    },

	    upperFirst: function upperFirst(string) {
	      return string[0].toUpperCase() + string.substr(1);
	    },

	    lowerFirst: function lowerFirst(string) {
	      return string[0].toLowerCase() + string.substr(1);
	    }
	  },

	  ini: {
	    parse: function string(ini) {
	      var currentSection, map = {};
	      util.arrayEach(ini.split(/\r?\n/), function(line) {
	        line = line.split(/(^|\s)[;#]/)[0]; // remove comments
	        var section = line.match(/^\s*\[([^\[\]]+)\]\s*$/);
	        if (section) {
	          currentSection = section[1];
	        } else if (currentSection) {
	          var item = line.match(/^\s*(.+?)\s*=\s*(.+?)\s*$/);
	          if (item) {
	            map[currentSection] = map[currentSection] || {};
	            map[currentSection][item[1]] = item[2];
	          }
	        }
	      });

	      return map;
	    }
	  },

	  fn: {
	    noop: function() {},

	    /**
	     * Turn a synchronous function into as "async" function by making it call
	     * a callback. The underlying function is called with all but the last argument,
	     * which is treated as the callback. The callback is passed passed a first argument
	     * of null on success to mimick standard node callbacks.
	     */
	    makeAsync: function makeAsync(fn, expectedArgs) {
	      if (expectedArgs && expectedArgs <= fn.length) {
	        return fn;
	      }

	      return function() {
	        var args = Array.prototype.slice.call(arguments, 0);
	        var callback = args.pop();
	        var result = fn.apply(null, args);
	        callback(result);
	      };
	    }
	  },

	  /**
	   * Date and time utility functions.
	   */
	  date: {

	    /**
	     * @return [Date] the current JavaScript date object. Since all
	     *   AWS services rely on this date object, you can override
	     *   this function to provide a special time value to AWS service
	     *   requests.
	     */
	    getDate: function getDate() {
	      if (!AWS) AWS = __webpack_require__(5);
	      if (AWS.config.systemClockOffset) { // use offset when non-zero
	        return new Date(new Date().getTime() + AWS.config.systemClockOffset);
	      } else {
	        return new Date();
	      }
	    },

	    /**
	     * @return [String] the date in ISO-8601 format
	     */
	    iso8601: function iso8601(date) {
	      if (date === undefined) { date = util.date.getDate(); }
	      return date.toISOString().replace(/\.\d{3}Z$/, 'Z');
	    },

	    /**
	     * @return [String] the date in RFC 822 format
	     */
	    rfc822: function rfc822(date) {
	      if (date === undefined) { date = util.date.getDate(); }
	      return date.toUTCString();
	    },

	    /**
	     * @return [Integer] the UNIX timestamp value for the current time
	     */
	    unixTimestamp: function unixTimestamp(date) {
	      if (date === undefined) { date = util.date.getDate(); }
	      return date.getTime() / 1000;
	    },

	    /**
	     * @param [String,number,Date] date
	     * @return [Date]
	     */
	    from: function format(date) {
	      if (typeof date === 'number') {
	        return new Date(date * 1000); // unix timestamp
	      } else {
	        return new Date(date);
	      }
	    },

	    /**
	     * Given a Date or date-like value, this function formats the
	     * date into a string of the requested value.
	     * @param [String,number,Date] date
	     * @param [String] formatter Valid formats are:
	     #   * 'iso8601'
	     #   * 'rfc822'
	     #   * 'unixTimestamp'
	     * @return [String]
	     */
	    format: function format(date, formatter) {
	      if (!formatter) formatter = 'iso8601';
	      return util.date[formatter](util.date.from(date));
	    },

	    parseTimestamp: function parseTimestamp(value) {
	      if (typeof value === 'number') { // unix timestamp (number)
	        return new Date(value * 1000);
	      } else if (value.match(/^\d+$/)) { // unix timestamp
	        return new Date(value * 1000);
	      } else if (value.match(/^\d{4}/)) { // iso8601
	        return new Date(value);
	      } else if (value.match(/^\w{3},/)) { // rfc822
	        return new Date(value);
	      } else {
	        throw util.error(
	          new Error('unhandled timestamp format: ' + value),
	          {code: 'TimestampParserError'});
	      }
	    }

	  },

	  crypto: {
	    crc32Table: [
	     0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419,
	     0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4,
	     0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07,
	     0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
	     0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856,
	     0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9,
	     0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4,
	     0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
	     0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3,
	     0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A,
	     0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599,
	     0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
	     0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190,
	     0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F,
	     0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E,
	     0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
	     0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED,
	     0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950,
	     0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3,
	     0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
	     0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A,
	     0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5,
	     0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010,
	     0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
	     0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17,
	     0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6,
	     0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615,
	     0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
	     0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344,
	     0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB,
	     0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0, 0x10DA7A5A,
	     0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
	     0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1,
	     0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C,
	     0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF,
	     0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
	     0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE,
	     0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31,
	     0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C,
	     0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
	     0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B,
	     0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242,
	     0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1,
	     0x18B74777, 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
	     0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278,
	     0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7,
	     0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66,
	     0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
	     0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605,
	     0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8,
	     0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B,
	     0x2D02EF8D],

	    crc32: function crc32(data) {
	      var tbl = util.crypto.crc32Table;
	      var crc = 0 ^ -1;

	      if (typeof data === 'string') {
	        data = new util.Buffer(data);
	      }

	      for (var i = 0; i < data.length; i++) {
	        var code = data.readUInt8(i);
	        crc = (crc >>> 8) ^ tbl[(crc ^ code) & 0xFF];
	      }
	      return (crc ^ -1) >>> 0;
	    },

	    hmac: function hmac(key, string, digest, fn) {
	      if (!digest) digest = 'binary';
	      if (digest === 'buffer') { digest = undefined; }
	      if (!fn) fn = 'sha256';
	      if (typeof string === 'string') string = new util.Buffer(string);
	      return util.crypto.lib.createHmac(fn, key).update(string).digest(digest);
	    },

	    md5: function md5(data, digest, callback) {
	      return util.crypto.hash('md5', data, digest, callback);
	    },

	    sha256: function sha256(data, digest, callback) {
	      return util.crypto.hash('sha256', data, digest, callback);
	    },

	    hash: function(algorithm, data, digest, callback) {
	      var hash = util.crypto.createHash(algorithm);
	      if (!digest) { digest = 'binary'; }
	      if (digest === 'buffer') { digest = undefined; }
	      if (typeof data === 'string') data = new util.Buffer(data);
	      var sliceFn = util.arraySliceFn(data);
	      var isBuffer = util.Buffer.isBuffer(data);
	      //Identifying objects with an ArrayBuffer as buffers
	      if (util.isBrowser() && typeof ArrayBuffer !== 'undefined' && data && data.buffer instanceof ArrayBuffer) isBuffer = true;

	      if (callback && typeof data === 'object' &&
	          typeof data.on === 'function' && !isBuffer) {
	        data.on('data', function(chunk) { hash.update(chunk); });
	        data.on('error', function(err) { callback(err); });
	        data.on('end', function() { callback(null, hash.digest(digest)); });
	      } else if (callback && sliceFn && !isBuffer &&
	                 typeof FileReader !== 'undefined') {
	        // this might be a File/Blob
	        var index = 0, size = 1024 * 512;
	        var reader = new FileReader();
	        reader.onerror = function() {
	          callback(new Error('Failed to read data.'));
	        };
	        reader.onload = function() {
	          var buf = new util.Buffer(new Uint8Array(reader.result));
	          hash.update(buf);
	          index += buf.length;
	          reader._continueReading();
	        };
	        reader._continueReading = function() {
	          if (index >= data.size) {
	            callback(null, hash.digest(digest));
	            return;
	          }

	          var back = index + size;
	          if (back > data.size) back = data.size;
	          reader.readAsArrayBuffer(sliceFn.call(data, index, back));
	        };

	        reader._continueReading();
	      } else {
	        if (util.isBrowser() && typeof data === 'object' && !isBuffer) {
	          data = new util.Buffer(new Uint8Array(data));
	        }
	        var out = hash.update(data).digest(digest);
	        if (callback) callback(null, out);
	        return out;
	      }
	    },

	    toHex: function toHex(data) {
	      var out = [];
	      for (var i = 0; i < data.length; i++) {
	        out.push(('0' + data.charCodeAt(i).toString(16)).substr(-2, 2));
	      }
	      return out.join('');
	    },

	    createHash: function createHash(algorithm) {
	      return util.crypto.lib.createHash(algorithm);
	    }

	  },

	  /** @!ignore */

	  /* Abort constant */
	  abort: {},

	  each: function each(object, iterFunction) {
	    for (var key in object) {
	      if (Object.prototype.hasOwnProperty.call(object, key)) {
	        var ret = iterFunction.call(this, key, object[key]);
	        if (ret === util.abort) break;
	      }
	    }
	  },

	  arrayEach: function arrayEach(array, iterFunction) {
	    for (var idx in array) {
	      if (Object.prototype.hasOwnProperty.call(array, idx)) {
	        var ret = iterFunction.call(this, array[idx], parseInt(idx, 10));
	        if (ret === util.abort) break;
	      }
	    }
	  },

	  update: function update(obj1, obj2) {
	    util.each(obj2, function iterator(key, item) {
	      obj1[key] = item;
	    });
	    return obj1;
	  },

	  merge: function merge(obj1, obj2) {
	    return util.update(util.copy(obj1), obj2);
	  },

	  copy: function copy(object) {
	    if (object === null || object === undefined) return object;
	    var dupe = {};
	    // jshint forin:false
	    for (var key in object) {
	      dupe[key] = object[key];
	    }
	    return dupe;
	  },

	  isEmpty: function isEmpty(obj) {
	    for (var prop in obj) {
	      if (Object.prototype.hasOwnProperty.call(obj, prop)) {
	        return false;
	      }
	    }
	    return true;
	  },

	  arraySliceFn: function arraySliceFn(obj) {
	    var fn = obj.slice || obj.webkitSlice || obj.mozSlice;
	    return typeof fn === 'function' ? fn : null;
	  },

	  isType: function isType(obj, type) {
	    // handle cross-"frame" objects
	    if (typeof type === 'function') type = util.typeName(type);
	    return Object.prototype.toString.call(obj) === '[object ' + type + ']';
	  },

	  typeName: function typeName(type) {
	    if (Object.prototype.hasOwnProperty.call(type, 'name')) return type.name;
	    var str = type.toString();
	    var match = str.match(/^\s*function (.+)\(/);
	    return match ? match[1] : str;
	  },

	  error: function error(err, options) {
	    var originalError = null;
	    if (typeof err.message === 'string' && err.message !== '') {
	      if (typeof options === 'string' || (options && options.message)) {
	        originalError = util.copy(err);
	        originalError.message = err.message;
	      }
	    }
	    err.message = err.message || null;

	    if (typeof options === 'string') {
	      err.message = options;
	    } else if (typeof options === 'object' && options !== null) {
	      util.update(err, options);
	      if (options.message)
	        err.message = options.message;
	      if (options.code || options.name)
	        err.code = options.code || options.name;
	      if (options.stack)
	        err.stack = options.stack;
	    }

	    if (typeof Object.defineProperty === 'function') {
	      Object.defineProperty(err, 'name', {writable: true, enumerable: false});
	      Object.defineProperty(err, 'message', {enumerable: true});
	    }

	    err.name = options && options.name || err.name || err.code || 'Error';
	    err.time = new Date();

	    if (originalError) err.originalError = originalError;

	    return err;
	  },

	  /**
	   * @api private
	   */
	  inherit: function inherit(klass, features) {
	    var newObject = null;
	    if (features === undefined) {
	      features = klass;
	      klass = Object;
	      newObject = {};
	    } else {
	      var ctor = function ConstructorWrapper() {};
	      ctor.prototype = klass.prototype;
	      newObject = new ctor();
	    }

	    // constructor not supplied, create pass-through ctor
	    if (features.constructor === Object) {
	      features.constructor = function() {
	        if (klass !== Object) {
	          return klass.apply(this, arguments);
	        }
	      };
	    }

	    features.constructor.prototype = newObject;
	    util.update(features.constructor.prototype, features);
	    features.constructor.__super__ = klass;
	    return features.constructor;
	  },

	  /**
	   * @api private
	   */
	  mixin: function mixin() {
	    var klass = arguments[0];
	    for (var i = 1; i < arguments.length; i++) {
	      // jshint forin:false
	      for (var prop in arguments[i].prototype) {
	        var fn = arguments[i].prototype[prop];
	        if (prop !== 'constructor') {
	          klass.prototype[prop] = fn;
	        }
	      }
	    }
	    return klass;
	  },

	  /**
	   * @api private
	   */
	  hideProperties: function hideProperties(obj, props) {
	    if (typeof Object.defineProperty !== 'function') return;

	    util.arrayEach(props, function (key) {
	      Object.defineProperty(obj, key, {
	        enumerable: false, writable: true, configurable: true });
	    });
	  },

	  /**
	   * @api private
	   */
	  property: function property(obj, name, value, enumerable, isValue) {
	    var opts = {
	      configurable: true,
	      enumerable: enumerable !== undefined ? enumerable : true
	    };
	    if (typeof value === 'function' && !isValue) {
	      opts.get = value;
	    }
	    else {
	      opts.value = value; opts.writable = true;
	    }

	    Object.defineProperty(obj, name, opts);
	  },

	  /**
	   * @api private
	   */
	  memoizedProperty: function memoizedProperty(obj, name, get, enumerable) {
	    var cachedValue = null;

	    // build enumerable attribute for each value with lazy accessor.
	    util.property(obj, name, function() {
	      if (cachedValue === null) {
	        cachedValue = get();
	      }
	      return cachedValue;
	    }, enumerable);
	  },

	  /**
	   * TODO Remove in major version revision
	   * This backfill populates response data without the
	   * top-level payload name.
	   *
	   * @api private
	   */
	  hoistPayloadMember: function hoistPayloadMember(resp) {
	    var req = resp.request;
	    var operation = req.operation;
	    var output = req.service.api.operations[operation].output;
	    if (output.payload) {
	      var payloadMember = output.members[output.payload];
	      var responsePayload = resp.data[output.payload];
	      if (payloadMember.type === 'structure') {
	        util.each(responsePayload, function(key, value) {
	          util.property(resp.data, key, value, false);
	        });
	      }
	    }
	  },

	  /**
	   * Compute SHA-256 checksums of streams
	   *
	   * @api private
	   */
	  computeSha256: function computeSha256(body, done) {
	    if (util.isNode()) {
	      var Stream = util.stream.Stream;
	      var fs = __webpack_require__(222);
	      if (body instanceof Stream) {
	        if (typeof body.path === 'string') { // assume file object
	          var settings = {};
	          if (typeof body.start === 'number') {
	            settings.start = body.start;
	          }
	          if (typeof body.end === 'number') {
	            settings.end = body.end;
	          }
	          body = fs.createReadStream(body.path, settings);
	        } else { // TODO support other stream types
	          return done(new Error('Non-file stream objects are ' +
	                                'not supported with SigV4'));
	        }
	      }
	    }

	    util.crypto.sha256(body, 'hex', function(err, sha) {
	      if (err) done(err);
	      else done(null, sha);
	    });
	  },

	  /**
	   * @api private
	   */
	  isClockSkewed: function isClockSkewed(serverTime) {
	    if (serverTime) {
	      util.property(AWS.config, 'isClockSkewed',
	        Math.abs(new Date().getTime() - serverTime) >= 300000, false);
	      return AWS.config.isClockSkewed;
	    }
	  },

	  applyClockOffset: function applyClockOffset(serverTime) {
	    if (serverTime)
	      AWS.config.systemClockOffset = serverTime - new Date().getTime();
	  },

	  /**
	   * @api private
	   */
	  extractRequestId: function extractRequestId(resp) {
	    var requestId = resp.httpResponse.headers['x-amz-request-id'] ||
	                     resp.httpResponse.headers['x-amzn-requestid'];

	    if (!requestId && resp.data && resp.data.ResponseMetadata) {
	      requestId = resp.data.ResponseMetadata.RequestId;
	    }

	    if (requestId) {
	      resp.requestId = requestId;
	    }

	    if (resp.error) {
	      resp.error.requestId = requestId;
	    }
	  },

	  /**
	   * @api private
	   */
	  addPromises: function addPromises(constructors, PromiseDependency) {
	    if (PromiseDependency === undefined && AWS && AWS.config) {
	      PromiseDependency = AWS.config.getPromisesDependency();
	    }
	    if (PromiseDependency === undefined && typeof Promise !== 'undefined') {
	      PromiseDependency = Promise;
	    }
	    if (typeof PromiseDependency !== 'function') var deletePromises = true;
	    if (!Array.isArray(constructors)) constructors = [constructors];

	    for (var ind = 0; ind < constructors.length; ind++) {
	      var constructor = constructors[ind];
	      if (deletePromises) {
	        if (constructor.deletePromisesFromClass) {
	          constructor.deletePromisesFromClass();
	        }
	      } else if (constructor.addPromisesToClass) {
	        constructor.addPromisesToClass(PromiseDependency);
	      }
	    }
	  },

	  /**
	   * @api private
	   */
	  promisifyMethod: function promisifyMethod(methodName, PromiseDependency) {
	    return function promise() {
	      var self = this;
	      return new PromiseDependency(function(resolve, reject) {
	        self[methodName](function(err, data) {
	          if (err) {
	            reject(err);
	          } else {
	            resolve(data);
	          }
	        });
	      });
	    };
	  },

	  /**
	   * @api private
	   */
	  isDualstackAvailable: function isDualstackAvailable(service) {
	    if (!service) return false;
	    var metadata = __webpack_require__(223);
	    if (typeof service !== 'string') service = service.serviceIdentifier;
	    if (typeof service !== 'string' || !metadata.hasOwnProperty(service)) return false;
	    return !!metadata[service].dualstackAvailable;
	  },

	  /**
	   * @api private
	   */
	  calculateRetryDelay: function calculateRetryDelay(retryCount, retryDelayOptions) {
	    if (!retryDelayOptions) retryDelayOptions = {};
	    var customBackoff = retryDelayOptions.customBackoff || null;
	    if (typeof customBackoff === 'function') {
	      return customBackoff(retryCount);
	    }
	    var base = typeof retryDelayOptions.base === 'number' ? retryDelayOptions.base : 100;
	    var delay = Math.random() * (Math.pow(2, retryCount) * base);
	    return delay;
	  },

	  /**
	   * @api private
	   */
	  handleRequestWithRetries: function handleRequestWithRetries(httpRequest, options, cb) {
	    if (!options) options = {};
	    var http = AWS.HttpClient.getInstance();
	    var httpOptions = options.httpOptions || {};
	    var retryCount = 0;

	    var errCallback = function(err) {
	      var maxRetries = options.maxRetries || 0;
	      if (err && err.code === 'TimeoutError') err.retryable = true;
	      if (err && err.retryable && retryCount < maxRetries) {
	        retryCount++;
	        var delay = util.calculateRetryDelay(retryCount, options.retryDelayOptions);
	        setTimeout(sendRequest, delay + (err.retryAfter || 0));
	      } else {
	        cb(err);
	      }
	    };

	    var sendRequest = function() {
	      var data = '';
	      http.handleRequest(httpRequest, httpOptions, function(httpResponse) {
	        httpResponse.on('data', function(chunk) { data += chunk.toString(); });
	        httpResponse.on('end', function() {
	          var statusCode = httpResponse.statusCode;
	          if (statusCode < 300) {
	            cb(null, data);
	          } else {
	            var retryAfter = parseInt(httpResponse.headers['retry-after'], 10) * 1000 || 0;
	            var err = util.error(new Error(),
	              { retryable: statusCode >= 500 || statusCode === 429 }
	            );
	            if (retryAfter && err.retryable) err.retryAfter = retryAfter;
	            errCallback(err);
	          }
	        });
	      }, errCallback);
	    };

	    process.nextTick(sendRequest);
	  },

	  /**
	   * @api private
	   */
	  uuid: {
	    v4: function uuidV4() {
	      return __webpack_require__(224).v4();
	    }
	  },

	  /**
	   * @api private
	   */
	  convertPayloadToString: function convertPayloadToString(resp) {
	    var req = resp.request;
	    var operation = req.operation;
	    var rules = req.service.api.operations[operation].output || {};
	    if (rules.payload && resp.data[rules.payload]) {
	      resp.data[rules.payload] = resp.data[rules.payload].toString();
	    }
	  },

	  /**
	   * @api private
	   */
	  defaultProfile: 'default',

	  /**
	   * @api private
	   */
	  configOptInEnv: 'AWS_SDK_LOAD_CONFIG',

	  /**
	   * @api private
	   */
	  sharedCredentialsFileEnv: 'AWS_SHARED_CREDENTIALS_FILE',

	  /**
	   * @api private
	   */
	  sharedConfigFileEnv: 'AWS_CONFIG_FILE'
	};

	module.exports = util;

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))

/***/ }),
/* 5 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * The main AWS namespace
	 */
	var AWS = { util: __webpack_require__(4) };

	/**
	 * @api private
	 * @!macro [new] nobrowser
	 *   @note This feature is not supported in the browser environment of the SDK.
	 */
	var _hidden = {}; _hidden.toString(); // hack to parse macro

	module.exports = AWS;

	AWS.util.update(AWS, {

	  /**
	   * @constant
	   */
	  VERSION: '2.82.0',

	  /**
	   * @api private
	   */
	  Signers: {},

	  /**
	   * @api private
	   */
	  Protocol: {
	    Json: __webpack_require__(6),
	    Query: __webpack_require__(9),
	    Rest: __webpack_require__(13),
	    RestJson: __webpack_require__(14),
	    RestXml: __webpack_require__(15)
	  },

	  /**
	   * @api private
	   */
	  XML: {
	    Builder: __webpack_require__(16),
	    Parser: null // conditionally set based on environment
	  },

	  /**
	   * @api private
	   */
	  JSON: {
	    Builder: __webpack_require__(7),
	    Parser: __webpack_require__(8)
	  },

	  /**
	   * @api private
	   */
	  Model: {
	    Api: __webpack_require__(175),
	    Operation: __webpack_require__(176),
	    Shape: __webpack_require__(11),
	    Paginator: __webpack_require__(177),
	    ResourceWaiter: __webpack_require__(178)
	  },

	  util: __webpack_require__(4),

	  /**
	   * @api private
	   */
	  apiLoader: function() { throw new Error('No API loader set'); }
	});

	__webpack_require__(179);
	__webpack_require__(182);

	__webpack_require__(183);
	__webpack_require__(184);
	__webpack_require__(185);
	__webpack_require__(191);
	__webpack_require__(192);
	__webpack_require__(197);

	__webpack_require__(198);
	__webpack_require__(199);
	__webpack_require__(200);
	__webpack_require__(208);
	__webpack_require__(211);
	__webpack_require__(212);
	__webpack_require__(213);
	__webpack_require__(221);

	/**
	 * @readonly
	 * @return [AWS.SequentialExecutor] a collection of global event listeners that
	 *   are attached to every sent request.
	 * @see AWS.Request AWS.Request for a list of events to listen for
	 * @example Logging the time taken to send a request
	 *   AWS.events.on('send', function startSend(resp) {
	 *     resp.startTime = new Date().getTime();
	 *   }).on('complete', function calculateTime(resp) {
	 *     var time = (new Date().getTime() - resp.startTime) / 1000;
	 *     console.log('Request took ' + time + ' seconds');
	 *   });
	 *
	 *   new AWS.S3().listBuckets(); // prints 'Request took 0.285 seconds'
	 */
	AWS.events = new AWS.SequentialExecutor();


/***/ }),
/* 6 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(4);
	var JsonBuilder = __webpack_require__(7);
	var JsonParser = __webpack_require__(8);

	function buildRequest(req) {
	  var httpRequest = req.httpRequest;
	  var api = req.service.api;
	  var target = api.targetPrefix + '.' + api.operations[req.operation].name;
	  var version = api.jsonVersion || '1.0';
	  var input = api.operations[req.operation].input;
	  var builder = new JsonBuilder();

	  if (version === 1) version = '1.0';
	  httpRequest.body = builder.build(req.params || {}, input);
	  httpRequest.headers['Content-Type'] = 'application/x-amz-json-' + version;
	  httpRequest.headers['X-Amz-Target'] = target;
	}

	function extractError(resp) {
	  var error = {};
	  var httpResponse = resp.httpResponse;

	  error.code = httpResponse.headers['x-amzn-errortype'] || 'UnknownError';
	  if (typeof error.code === 'string') {
	    error.code = error.code.split(':')[0];
	  }

	  if (httpResponse.body.length > 0) {
	    try {
	      var e = JSON.parse(httpResponse.body.toString());
	      if (e.__type || e.code) {
	        error.code = (e.__type || e.code).split('#').pop();
	      }
	      if (error.code === 'RequestEntityTooLarge') {
	        error.message = 'Request body must be less than 1 MB';
	      } else {
	        error.message = (e.message || e.Message || null);
	      }
	    } catch (e) {
	      error.statusCode = httpResponse.statusCode;
	      error.message = httpResponse.statusMessage;
	    }
	  } else {
	    error.statusCode = httpResponse.statusCode;
	    error.message = httpResponse.statusCode.toString();
	  }

	  resp.error = util.error(new Error(), error);
	}

	function extractData(resp) {
	  var body = resp.httpResponse.body.toString() || '{}';
	  if (resp.request.service.config.convertResponseTypes === false) {
	    resp.data = JSON.parse(body);
	  } else {
	    var operation = resp.request.service.api.operations[resp.request.operation];
	    var shape = operation.output || {};
	    var parser = new JsonParser();
	    resp.data = parser.parse(body, shape);
	  }
	}

	module.exports = {
	  buildRequest: buildRequest,
	  extractError: extractError,
	  extractData: extractData
	};


/***/ }),
/* 7 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(4);

	function JsonBuilder() { }

	JsonBuilder.prototype.build = function(value, shape) {
	  return JSON.stringify(translate(value, shape));
	};

	function translate(value, shape) {
	  if (!shape || value === undefined || value === null) return undefined;

	  switch (shape.type) {
	    case 'structure': return translateStructure(value, shape);
	    case 'map': return translateMap(value, shape);
	    case 'list': return translateList(value, shape);
	    default: return translateScalar(value, shape);
	  }
	}

	function translateStructure(structure, shape) {
	  var struct = {};
	  util.each(structure, function(name, value) {
	    var memberShape = shape.members[name];
	    if (memberShape) {
	      if (memberShape.location !== 'body') return;
	      var locationName = memberShape.isLocationName ? memberShape.name : name;
	      var result = translate(value, memberShape);
	      if (result !== undefined) struct[locationName] = result;
	    }
	  });
	  return struct;
	}

	function translateList(list, shape) {
	  var out = [];
	  util.arrayEach(list, function(value) {
	    var result = translate(value, shape.member);
	    if (result !== undefined) out.push(result);
	  });
	  return out;
	}

	function translateMap(map, shape) {
	  var out = {};
	  util.each(map, function(key, value) {
	    var result = translate(value, shape.value);
	    if (result !== undefined) out[key] = result;
	  });
	  return out;
	}

	function translateScalar(value, shape) {
	  return shape.toWireFormat(value);
	}

	module.exports = JsonBuilder;


/***/ }),
/* 8 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(4);

	function JsonParser() { }

	JsonParser.prototype.parse = function(value, shape) {
	  return translate(JSON.parse(value), shape);
	};

	function translate(value, shape) {
	  if (!shape || value === undefined) return undefined;

	  switch (shape.type) {
	    case 'structure': return translateStructure(value, shape);
	    case 'map': return translateMap(value, shape);
	    case 'list': return translateList(value, shape);
	    default: return translateScalar(value, shape);
	  }
	}

	function translateStructure(structure, shape) {
	  if (structure == null) return undefined;

	  var struct = {};
	  var shapeMembers = shape.members;
	  util.each(shapeMembers, function(name, memberShape) {
	    var locationName = memberShape.isLocationName ? memberShape.name : name;
	    if (Object.prototype.hasOwnProperty.call(structure, locationName)) {
	      var value = structure[locationName];
	      var result = translate(value, memberShape);
	      if (result !== undefined) struct[name] = result;
	    }
	  });
	  return struct;
	}

	function translateList(list, shape) {
	  if (list == null) return undefined;

	  var out = [];
	  util.arrayEach(list, function(value) {
	    var result = translate(value, shape.member);
	    if (result === undefined) out.push(null);
	    else out.push(result);
	  });
	  return out;
	}

	function translateMap(map, shape) {
	  if (map == null) return undefined;

	  var out = {};
	  util.each(map, function(key, value) {
	    var result = translate(value, shape.value);
	    if (result === undefined) out[key] = null;
	    else out[key] = result;
	  });
	  return out;
	}

	function translateScalar(value, shape) {
	  return shape.toType(value);
	}

	module.exports = JsonParser;


/***/ }),
/* 9 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var util = __webpack_require__(4);
	var QueryParamSerializer = __webpack_require__(10);
	var Shape = __webpack_require__(11);

	function buildRequest(req) {
	  var operation = req.service.api.operations[req.operation];
	  var httpRequest = req.httpRequest;
	  httpRequest.headers['Content-Type'] =
	    'application/x-www-form-urlencoded; charset=utf-8';
	  httpRequest.params = {
	    Version: req.service.api.apiVersion,
	    Action: operation.name
	  };

	  // convert the request parameters into a list of query params,
	  // e.g. Deeply.NestedParam.0.Name=value
	  var builder = new QueryParamSerializer();
	  builder.serialize(req.params, operation.input, function(name, value) {
	    httpRequest.params[name] = value;
	  });
	  httpRequest.body = util.queryParamsToString(httpRequest.params);
	}

	function extractError(resp) {
	  var data, body = resp.httpResponse.body.toString();
	  if (body.match('<UnknownOperationException')) {
	    data = {
	      Code: 'UnknownOperation',
	      Message: 'Unknown operation ' + resp.request.operation
	    };
	  } else {
	    try {
	      data = new AWS.XML.Parser().parse(body);
	    } catch (e) {
	      data = {
	        Code: resp.httpResponse.statusCode,
	        Message: resp.httpResponse.statusMessage
	      };
	    }
	  }

	  if (data.requestId && !resp.requestId) resp.requestId = data.requestId;
	  if (data.Errors) data = data.Errors;
	  if (data.Error) data = data.Error;
	  if (data.Code) {
	    resp.error = util.error(new Error(), {
	      code: data.Code,
	      message: data.Message
	    });
	  } else {
	    resp.error = util.error(new Error(), {
	      code: resp.httpResponse.statusCode,
	      message: null
	    });
	  }
	}

	function extractData(resp) {
	  var req = resp.request;
	  var operation = req.service.api.operations[req.operation];
	  var shape = operation.output || {};
	  var origRules = shape;

	  if (origRules.resultWrapper) {
	    var tmp = Shape.create({type: 'structure'});
	    tmp.members[origRules.resultWrapper] = shape;
	    tmp.memberNames = [origRules.resultWrapper];
	    util.property(shape, 'name', shape.resultWrapper);
	    shape = tmp;
	  }

	  var parser = new AWS.XML.Parser();

	  // TODO: Refactor XML Parser to parse RequestId from response.
	  if (shape && shape.members && !shape.members._XAMZRequestId) {
	    var requestIdShape = Shape.create(
	      { type: 'string' },
	      { api: { protocol: 'query' } },
	      'requestId'
	    );
	    shape.members._XAMZRequestId = requestIdShape;
	  }

	  var data = parser.parse(resp.httpResponse.body.toString(), shape);
	  resp.requestId = data._XAMZRequestId || data.requestId;

	  if (data._XAMZRequestId) delete data._XAMZRequestId;

	  if (origRules.resultWrapper) {
	    if (data[origRules.resultWrapper]) {
	      util.update(data, data[origRules.resultWrapper]);
	      delete data[origRules.resultWrapper];
	    }
	  }

	  resp.data = data;
	}

	module.exports = {
	  buildRequest: buildRequest,
	  extractError: extractError,
	  extractData: extractData
	};


/***/ }),
/* 10 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(4);

	function QueryParamSerializer() {
	}

	QueryParamSerializer.prototype.serialize = function(params, shape, fn) {
	  serializeStructure('', params, shape, fn);
	};

	function ucfirst(shape) {
	  if (shape.isQueryName || shape.api.protocol !== 'ec2') {
	    return shape.name;
	  } else {
	    return shape.name[0].toUpperCase() + shape.name.substr(1);
	  }
	}

	function serializeStructure(prefix, struct, rules, fn) {
	  util.each(rules.members, function(name, member) {
	    var value = struct[name];
	    if (value === null || value === undefined) return;

	    var memberName = ucfirst(member);
	    memberName = prefix ? prefix + '.' + memberName : memberName;
	    serializeMember(memberName, value, member, fn);
	  });
	}

	function serializeMap(name, map, rules, fn) {
	  var i = 1;
	  util.each(map, function (key, value) {
	    var prefix = rules.flattened ? '.' : '.entry.';
	    var position = prefix + (i++) + '.';
	    var keyName = position + (rules.key.name || 'key');
	    var valueName = position + (rules.value.name || 'value');
	    serializeMember(name + keyName, key, rules.key, fn);
	    serializeMember(name + valueName, value, rules.value, fn);
	  });
	}

	function serializeList(name, list, rules, fn) {
	  var memberRules = rules.member || {};

	  if (list.length === 0) {
	    fn.call(this, name, null);
	    return;
	  }

	  util.arrayEach(list, function (v, n) {
	    var suffix = '.' + (n + 1);
	    if (rules.api.protocol === 'ec2') {
	      // Do nothing for EC2
	      suffix = suffix + ''; // make linter happy
	    } else if (rules.flattened) {
	      if (memberRules.name) {
	        var parts = name.split('.');
	        parts.pop();
	        parts.push(ucfirst(memberRules));
	        name = parts.join('.');
	      }
	    } else {
	      suffix = '.' + (memberRules.name ? memberRules.name : 'member') + suffix;
	    }
	    serializeMember(name + suffix, v, memberRules, fn);
	  });
	}

	function serializeMember(name, value, rules, fn) {
	  if (value === null || value === undefined) return;
	  if (rules.type === 'structure') {
	    serializeStructure(name, value, rules, fn);
	  } else if (rules.type === 'list') {
	    serializeList(name, value, rules, fn);
	  } else if (rules.type === 'map') {
	    serializeMap(name, value, rules, fn);
	  } else {
	    fn(name, rules.toWireFormat(value).toString());
	  }
	}

	module.exports = QueryParamSerializer;


/***/ }),
/* 11 */
/***/ (function(module, exports, __webpack_require__) {

	var Collection = __webpack_require__(12);

	var util = __webpack_require__(4);

	function property(obj, name, value) {
	  if (value !== null && value !== undefined) {
	    util.property.apply(this, arguments);
	  }
	}

	function memoizedProperty(obj, name) {
	  if (!obj.constructor.prototype[name]) {
	    util.memoizedProperty.apply(this, arguments);
	  }
	}

	function Shape(shape, options, memberName) {
	  options = options || {};

	  property(this, 'shape', shape.shape);
	  property(this, 'api', options.api, false);
	  property(this, 'type', shape.type);
	  property(this, 'enum', shape.enum);
	  property(this, 'min', shape.min);
	  property(this, 'max', shape.max);
	  property(this, 'pattern', shape.pattern);
	  property(this, 'location', shape.location || this.location || 'body');
	  property(this, 'name', this.name || shape.xmlName || shape.queryName ||
	    shape.locationName || memberName);
	  property(this, 'isStreaming', shape.streaming || this.isStreaming || false);
	  property(this, 'isComposite', shape.isComposite || false);
	  property(this, 'isShape', true, false);
	  property(this, 'isQueryName', Boolean(shape.queryName), false);
	  property(this, 'isLocationName', Boolean(shape.locationName), false);
	  property(this, 'isIdempotent', shape.idempotencyToken === true);
	  property(this, 'isJsonValue', shape.jsonvalue === true);

	  if (options.documentation) {
	    property(this, 'documentation', shape.documentation);
	    property(this, 'documentationUrl', shape.documentationUrl);
	  }

	  if (shape.xmlAttribute) {
	    property(this, 'isXmlAttribute', shape.xmlAttribute || false);
	  }

	  // type conversion and parsing
	  property(this, 'defaultValue', null);
	  this.toWireFormat = function(value) {
	    if (value === null || value === undefined) return '';
	    return value;
	  };
	  this.toType = function(value) { return value; };
	}

	/**
	 * @api private
	 */
	Shape.normalizedTypes = {
	  character: 'string',
	  double: 'float',
	  long: 'integer',
	  short: 'integer',
	  biginteger: 'integer',
	  bigdecimal: 'float',
	  blob: 'binary'
	};

	/**
	 * @api private
	 */
	Shape.types = {
	  'structure': StructureShape,
	  'list': ListShape,
	  'map': MapShape,
	  'boolean': BooleanShape,
	  'timestamp': TimestampShape,
	  'float': FloatShape,
	  'integer': IntegerShape,
	  'string': StringShape,
	  'base64': Base64Shape,
	  'binary': BinaryShape
	};

	Shape.resolve = function resolve(shape, options) {
	  if (shape.shape) {
	    var refShape = options.api.shapes[shape.shape];
	    if (!refShape) {
	      throw new Error('Cannot find shape reference: ' + shape.shape);
	    }

	    return refShape;
	  } else {
	    return null;
	  }
	};

	Shape.create = function create(shape, options, memberName) {
	  if (shape.isShape) return shape;

	  var refShape = Shape.resolve(shape, options);
	  if (refShape) {
	    var filteredKeys = Object.keys(shape);
	    if (!options.documentation) {
	      filteredKeys = filteredKeys.filter(function(name) {
	        return !name.match(/documentation/);
	      });
	    }

	    // create an inline shape with extra members
	    var InlineShape = function() {
	      refShape.constructor.call(this, shape, options, memberName);
	    };
	    InlineShape.prototype = refShape;
	    return new InlineShape();
	  } else {
	    // set type if not set
	    if (!shape.type) {
	      if (shape.members) shape.type = 'structure';
	      else if (shape.member) shape.type = 'list';
	      else if (shape.key) shape.type = 'map';
	      else shape.type = 'string';
	    }

	    // normalize types
	    var origType = shape.type;
	    if (Shape.normalizedTypes[shape.type]) {
	      shape.type = Shape.normalizedTypes[shape.type];
	    }

	    if (Shape.types[shape.type]) {
	      return new Shape.types[shape.type](shape, options, memberName);
	    } else {
	      throw new Error('Unrecognized shape type: ' + origType);
	    }
	  }
	};

	function CompositeShape(shape) {
	  Shape.apply(this, arguments);
	  property(this, 'isComposite', true);

	  if (shape.flattened) {
	    property(this, 'flattened', shape.flattened || false);
	  }
	}

	function StructureShape(shape, options) {
	  var requiredMap = null, firstInit = !this.isShape;

	  CompositeShape.apply(this, arguments);

	  if (firstInit) {
	    property(this, 'defaultValue', function() { return {}; });
	    property(this, 'members', {});
	    property(this, 'memberNames', []);
	    property(this, 'required', []);
	    property(this, 'isRequired', function() { return false; });
	  }

	  if (shape.members) {
	    property(this, 'members', new Collection(shape.members, options, function(name, member) {
	      return Shape.create(member, options, name);
	    }));
	    memoizedProperty(this, 'memberNames', function() {
	      return shape.xmlOrder || Object.keys(shape.members);
	    });
	  }

	  if (shape.required) {
	    property(this, 'required', shape.required);
	    property(this, 'isRequired', function(name) {
	      if (!requiredMap) {
	        requiredMap = {};
	        for (var i = 0; i < shape.required.length; i++) {
	          requiredMap[shape.required[i]] = true;
	        }
	      }

	      return requiredMap[name];
	    }, false, true);
	  }

	  property(this, 'resultWrapper', shape.resultWrapper || null);

	  if (shape.payload) {
	    property(this, 'payload', shape.payload);
	  }

	  if (typeof shape.xmlNamespace === 'string') {
	    property(this, 'xmlNamespaceUri', shape.xmlNamespace);
	  } else if (typeof shape.xmlNamespace === 'object') {
	    property(this, 'xmlNamespacePrefix', shape.xmlNamespace.prefix);
	    property(this, 'xmlNamespaceUri', shape.xmlNamespace.uri);
	  }
	}

	function ListShape(shape, options) {
	  var self = this, firstInit = !this.isShape;
	  CompositeShape.apply(this, arguments);

	  if (firstInit) {
	    property(this, 'defaultValue', function() { return []; });
	  }

	  if (shape.member) {
	    memoizedProperty(this, 'member', function() {
	      return Shape.create(shape.member, options);
	    });
	  }

	  if (this.flattened) {
	    var oldName = this.name;
	    memoizedProperty(this, 'name', function() {
	      return self.member.name || oldName;
	    });
	  }
	}

	function MapShape(shape, options) {
	  var firstInit = !this.isShape;
	  CompositeShape.apply(this, arguments);

	  if (firstInit) {
	    property(this, 'defaultValue', function() { return {}; });
	    property(this, 'key', Shape.create({type: 'string'}, options));
	    property(this, 'value', Shape.create({type: 'string'}, options));
	  }

	  if (shape.key) {
	    memoizedProperty(this, 'key', function() {
	      return Shape.create(shape.key, options);
	    });
	  }
	  if (shape.value) {
	    memoizedProperty(this, 'value', function() {
	      return Shape.create(shape.value, options);
	    });
	  }
	}

	function TimestampShape(shape) {
	  var self = this;
	  Shape.apply(this, arguments);

	  if (this.location === 'header') {
	    property(this, 'timestampFormat', 'rfc822');
	  } else if (shape.timestampFormat) {
	    property(this, 'timestampFormat', shape.timestampFormat);
	  } else if (!this.timestampFormat && this.api) {
	    if (this.api.timestampFormat) {
	      property(this, 'timestampFormat', this.api.timestampFormat);
	    } else {
	      switch (this.api.protocol) {
	        case 'json':
	        case 'rest-json':
	          property(this, 'timestampFormat', 'unixTimestamp');
	          break;
	        case 'rest-xml':
	        case 'query':
	        case 'ec2':
	          property(this, 'timestampFormat', 'iso8601');
	          break;
	      }
	    }
	  }

	  this.toType = function(value) {
	    if (value === null || value === undefined) return null;
	    if (typeof value.toUTCString === 'function') return value;
	    return typeof value === 'string' || typeof value === 'number' ?
	           util.date.parseTimestamp(value) : null;
	  };

	  this.toWireFormat = function(value) {
	    return util.date.format(value, self.timestampFormat);
	  };
	}

	function StringShape() {
	  Shape.apply(this, arguments);

	  var nullLessProtocols = ['rest-xml', 'query', 'ec2'];
	  this.toType = function(value) {
	    value = this.api && nullLessProtocols.indexOf(this.api.protocol) > -1 ?
	      value || '' : value;
	    if (this.isJsonValue) {
	      return JSON.parse(value);
	    }

	    return value && typeof value.toString === 'function' ?
	      value.toString() : value;
	  };

	  this.toWireFormat = function(value) {
	    return this.isJsonValue ? JSON.stringify(value) : value;
	  };
	}

	function FloatShape() {
	  Shape.apply(this, arguments);

	  this.toType = function(value) {
	    if (value === null || value === undefined) return null;
	    return parseFloat(value);
	  };
	  this.toWireFormat = this.toType;
	}

	function IntegerShape() {
	  Shape.apply(this, arguments);

	  this.toType = function(value) {
	    if (value === null || value === undefined) return null;
	    return parseInt(value, 10);
	  };
	  this.toWireFormat = this.toType;
	}

	function BinaryShape() {
	  Shape.apply(this, arguments);
	  this.toType = util.base64.decode;
	  this.toWireFormat = util.base64.encode;
	}

	function Base64Shape() {
	  BinaryShape.apply(this, arguments);
	}

	function BooleanShape() {
	  Shape.apply(this, arguments);

	  this.toType = function(value) {
	    if (typeof value === 'boolean') return value;
	    if (value === null || value === undefined) return null;
	    return value === 'true';
	  };
	}

	/**
	 * @api private
	 */
	Shape.shapes = {
	  StructureShape: StructureShape,
	  ListShape: ListShape,
	  MapShape: MapShape,
	  StringShape: StringShape,
	  BooleanShape: BooleanShape,
	  Base64Shape: Base64Shape
	};

	module.exports = Shape;


/***/ }),
/* 12 */
/***/ (function(module, exports, __webpack_require__) {

	var memoizedProperty = __webpack_require__(4).memoizedProperty;

	function memoize(name, value, fn, nameTr) {
	  memoizedProperty(this, nameTr(name), function() {
	    return fn(name, value);
	  });
	}

	function Collection(iterable, options, fn, nameTr) {
	  nameTr = nameTr || String;
	  var self = this;

	  for (var id in iterable) {
	    if (Object.prototype.hasOwnProperty.call(iterable, id)) {
	      memoize.call(self, id, iterable[id], fn, nameTr);
	    }
	  }
	}

	module.exports = Collection;


/***/ }),
/* 13 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(4);

	function populateMethod(req) {
	  req.httpRequest.method = req.service.api.operations[req.operation].httpMethod;
	}

	function generateURI(endpointPath, operationPath, input, params) {
	  var uri = [endpointPath, operationPath].join('/');
	  uri = uri.replace(/\/+/g, '/');

	  var queryString = {}, queryStringSet = false;
	  util.each(input.members, function (name, member) {
	    var paramValue = params[name];
	    if (paramValue === null || paramValue === undefined) return;
	    if (member.location === 'uri') {
	      var regex = new RegExp('\\{' + member.name + '(\\+)?\\}');
	      uri = uri.replace(regex, function(_, plus) {
	        var fn = plus ? util.uriEscapePath : util.uriEscape;
	        return fn(String(paramValue));
	      });
	    } else if (member.location === 'querystring') {
	      queryStringSet = true;

	      if (member.type === 'list') {
	        queryString[member.name] = paramValue.map(function(val) {
	          return util.uriEscape(String(val));
	        });
	      } else if (member.type === 'map') {
	        util.each(paramValue, function(key, value) {
	          if (Array.isArray(value)) {
	            queryString[key] = value.map(function(val) {
	              return util.uriEscape(String(val));
	            });
	          } else {
	            queryString[key] = util.uriEscape(String(value));
	          }
	        });
	      } else {
	        queryString[member.name] = util.uriEscape(String(paramValue));
	      }
	    }
	  });

	  if (queryStringSet) {
	    uri += (uri.indexOf('?') >= 0 ? '&' : '?');
	    var parts = [];
	    util.arrayEach(Object.keys(queryString).sort(), function(key) {
	      if (!Array.isArray(queryString[key])) {
	        queryString[key] = [queryString[key]];
	      }
	      for (var i = 0; i < queryString[key].length; i++) {
	        parts.push(util.uriEscape(String(key)) + '=' + queryString[key][i]);
	      }
	    });
	    uri += parts.join('&');
	  }

	  return uri;
	}

	function populateURI(req) {
	  var operation = req.service.api.operations[req.operation];
	  var input = operation.input;

	  var uri = generateURI(req.httpRequest.endpoint.path, operation.httpPath, input, req.params);
	  req.httpRequest.path = uri;
	}

	function populateHeaders(req) {
	  var operation = req.service.api.operations[req.operation];
	  util.each(operation.input.members, function (name, member) {
	    var value = req.params[name];
	    if (value === null || value === undefined) return;

	    if (member.location === 'headers' && member.type === 'map') {
	      util.each(value, function(key, memberValue) {
	        req.httpRequest.headers[member.name + key] = memberValue;
	      });
	    } else if (member.location === 'header') {
	      value = member.toWireFormat(value).toString();
	      if (member.isJsonValue) {
	        value = util.base64.encode(value);
	      }
	      req.httpRequest.headers[member.name] = value;
	    }
	  });
	}

	function buildRequest(req) {
	  populateMethod(req);
	  populateURI(req);
	  populateHeaders(req);
	}

	function extractError() {
	}

	function extractData(resp) {
	  var req = resp.request;
	  var data = {};
	  var r = resp.httpResponse;
	  var operation = req.service.api.operations[req.operation];
	  var output = operation.output;

	  // normalize headers names to lower-cased keys for matching
	  var headers = {};
	  util.each(r.headers, function (k, v) {
	    headers[k.toLowerCase()] = v;
	  });

	  util.each(output.members, function(name, member) {
	    var header = (member.name || name).toLowerCase();
	    if (member.location === 'headers' && member.type === 'map') {
	      data[name] = {};
	      var location = member.isLocationName ? member.name : '';
	      var pattern = new RegExp('^' + location + '(.+)', 'i');
	      util.each(r.headers, function (k, v) {
	        var result = k.match(pattern);
	        if (result !== null) {
	          data[name][result[1]] = v;
	        }
	      });
	    } else if (member.location === 'header') {
	      if (headers[header] !== undefined) {
	        var value = member.isJsonValue ?
	          util.base64.decode(headers[header]) :
	          headers[header];
	        data[name] = member.toType(value);
	      }
	    } else if (member.location === 'statusCode') {
	      data[name] = parseInt(r.statusCode, 10);
	    }
	  });

	  resp.data = data;
	}

	module.exports = {
	  buildRequest: buildRequest,
	  extractError: extractError,
	  extractData: extractData,
	  generateURI: generateURI
	};


/***/ }),
/* 14 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(4);
	var Rest = __webpack_require__(13);
	var Json = __webpack_require__(6);
	var JsonBuilder = __webpack_require__(7);
	var JsonParser = __webpack_require__(8);

	function populateBody(req) {
	  var builder = new JsonBuilder();
	  var input = req.service.api.operations[req.operation].input;

	  if (input.payload) {
	    var params = {};
	    var payloadShape = input.members[input.payload];
	    params = req.params[input.payload];
	    if (params === undefined) return;

	    if (payloadShape.type === 'structure') {
	      req.httpRequest.body = builder.build(params, payloadShape);
	    } else { // non-JSON payload
	      req.httpRequest.body = params;
	    }
	  } else {
	    req.httpRequest.body = builder.build(req.params, input);
	  }
	}

	function buildRequest(req) {
	  Rest.buildRequest(req);

	  // never send body payload on GET/HEAD/DELETE
	  if (['GET', 'HEAD', 'DELETE'].indexOf(req.httpRequest.method) < 0) {
	    populateBody(req);
	  }
	}

	function extractError(resp) {
	  Json.extractError(resp);
	}

	function extractData(resp) {
	  Rest.extractData(resp);

	  var req = resp.request;
	  var rules = req.service.api.operations[req.operation].output || {};
	  if (rules.payload) {
	    var payloadMember = rules.members[rules.payload];
	    var body = resp.httpResponse.body;
	    if (payloadMember.type === 'structure' || payloadMember.type === 'list') {
	      var parser = new JsonParser();
	      resp.data[rules.payload] = parser.parse(body, payloadMember);
	    } else if (payloadMember.type === 'binary' || payloadMember.isStreaming) {
	      resp.data[rules.payload] = body;
	    } else {
	      resp.data[rules.payload] = payloadMember.toType(body);
	    }
	  } else {
	    var data = resp.data;
	    Json.extractData(resp);
	    resp.data = util.merge(data, resp.data);
	  }
	}

	module.exports = {
	  buildRequest: buildRequest,
	  extractError: extractError,
	  extractData: extractData
	};


/***/ }),
/* 15 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var util = __webpack_require__(4);
	var Rest = __webpack_require__(13);

	function populateBody(req) {
	  var input = req.service.api.operations[req.operation].input;
	  var builder = new AWS.XML.Builder();
	  var params = req.params;

	  var payload = input.payload;
	  if (payload) {
	    var payloadMember = input.members[payload];
	    params = params[payload];
	    if (params === undefined) return;

	    if (payloadMember.type === 'structure') {
	      var rootElement = payloadMember.name;
	      req.httpRequest.body = builder.toXML(params, payloadMember, rootElement, true);
	    } else { // non-xml payload
	      req.httpRequest.body = params;
	    }
	  } else {
	    req.httpRequest.body = builder.toXML(params, input, input.name ||
	      input.shape || util.string.upperFirst(req.operation) + 'Request');
	  }
	}

	function buildRequest(req) {
	  Rest.buildRequest(req);

	  // never send body payload on GET/HEAD
	  if (['GET', 'HEAD'].indexOf(req.httpRequest.method) < 0) {
	    populateBody(req);
	  }
	}

	function extractError(resp) {
	  Rest.extractError(resp);

	  var data;
	  try {
	    data = new AWS.XML.Parser().parse(resp.httpResponse.body.toString());
	  } catch (e) {
	    data = {
	      Code: resp.httpResponse.statusCode,
	      Message: resp.httpResponse.statusMessage
	    };
	  }

	  if (data.Errors) data = data.Errors;
	  if (data.Error) data = data.Error;
	  if (data.Code) {
	    resp.error = util.error(new Error(), {
	      code: data.Code,
	      message: data.Message
	    });
	  } else {
	    resp.error = util.error(new Error(), {
	      code: resp.httpResponse.statusCode,
	      message: null
	    });
	  }
	}

	function extractData(resp) {
	  Rest.extractData(resp);

	  var parser;
	  var req = resp.request;
	  var body = resp.httpResponse.body;
	  var operation = req.service.api.operations[req.operation];
	  var output = operation.output;

	  var payload = output.payload;
	  if (payload) {
	    var payloadMember = output.members[payload];
	    if (payloadMember.type === 'structure') {
	      parser = new AWS.XML.Parser();
	      resp.data[payload] = parser.parse(body.toString(), payloadMember);
	    } else if (payloadMember.type === 'binary' || payloadMember.isStreaming) {
	      resp.data[payload] = body;
	    } else {
	      resp.data[payload] = payloadMember.toType(body);
	    }
	  } else if (body.length > 0) {
	    parser = new AWS.XML.Parser();
	    var data = parser.parse(body.toString(), output);
	    util.update(resp.data, data);
	  }
	}

	module.exports = {
	  buildRequest: buildRequest,
	  extractError: extractError,
	  extractData: extractData
	};


/***/ }),
/* 16 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(4);
	var builder = __webpack_require__(17);

	function XmlBuilder() { }

	XmlBuilder.prototype.toXML = function(params, shape, rootElement, noEmpty) {
	  var xml = builder.create(rootElement);
	  applyNamespaces(xml, shape);
	  serialize(xml, params, shape);
	  return xml.children.length > 0 || noEmpty ? xml.root().toString() : '';
	};

	function serialize(xml, value, shape) {
	  switch (shape.type) {
	    case 'structure': return serializeStructure(xml, value, shape);
	    case 'map': return serializeMap(xml, value, shape);
	    case 'list': return serializeList(xml, value, shape);
	    default: return serializeScalar(xml, value, shape);
	  }
	}

	function serializeStructure(xml, params, shape) {
	  util.arrayEach(shape.memberNames, function(memberName) {
	    var memberShape = shape.members[memberName];
	    if (memberShape.location !== 'body') return;

	    var value = params[memberName];
	    var name = memberShape.name;
	    if (value !== undefined && value !== null) {
	      if (memberShape.isXmlAttribute) {
	        xml.att(name, value);
	      } else if (memberShape.flattened) {
	        serialize(xml, value, memberShape);
	      } else {
	        var element = xml.ele(name);
	        applyNamespaces(element, memberShape);
	        serialize(element, value, memberShape);
	      }
	    }
	  });
	}

	function serializeMap(xml, map, shape) {
	  var xmlKey = shape.key.name || 'key';
	  var xmlValue = shape.value.name || 'value';

	  util.each(map, function(key, value) {
	    var entry = xml.ele(shape.flattened ? shape.name : 'entry');
	    serialize(entry.ele(xmlKey), key, shape.key);
	    serialize(entry.ele(xmlValue), value, shape.value);
	  });
	}

	function serializeList(xml, list, shape) {
	  if (shape.flattened) {
	    util.arrayEach(list, function(value) {
	      var name = shape.member.name || shape.name;
	      var element = xml.ele(name);
	      serialize(element, value, shape.member);
	    });
	  } else {
	    util.arrayEach(list, function(value) {
	      var name = shape.member.name || 'member';
	      var element = xml.ele(name);
	      serialize(element, value, shape.member);
	    });
	  }
	}

	function serializeScalar(xml, value, shape) {
	  xml.txt(shape.toWireFormat(value));
	}

	function applyNamespaces(xml, shape) {
	  var uri, prefix = 'xmlns';
	  if (shape.xmlNamespaceUri) {
	    uri = shape.xmlNamespaceUri;
	    if (shape.xmlNamespacePrefix) prefix += ':' + shape.xmlNamespacePrefix;
	  } else if (xml.isRoot && shape.api.xmlNamespaceUri) {
	    uri = shape.api.xmlNamespaceUri;
	  }

	  if (uri) xml.att(prefix, uri);
	}

	module.exports = XmlBuilder;


/***/ }),
/* 17 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLBuilder, assign;

	  assign = __webpack_require__(18);

	  XMLBuilder = __webpack_require__(69);

	  module.exports.create = function(name, xmldec, doctype, options) {
	    options = assign({}, xmldec, doctype, options);
	    return new XMLBuilder(name, options).root();
	  };

	}).call(this);


/***/ }),
/* 18 */
/***/ (function(module, exports, __webpack_require__) {

	var assignValue = __webpack_require__(19),
	    copyObject = __webpack_require__(37),
	    createAssigner = __webpack_require__(38),
	    isArrayLike = __webpack_require__(48),
	    isPrototype = __webpack_require__(51),
	    keys = __webpack_require__(52);

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/**
	 * Assigns own enumerable string keyed properties of source objects to the
	 * destination object. Source objects are applied from left to right.
	 * Subsequent sources overwrite property assignments of previous sources.
	 *
	 * **Note:** This method mutates `object` and is loosely based on
	 * [`Object.assign`](https://mdn.io/Object/assign).
	 *
	 * @static
	 * @memberOf _
	 * @since 0.10.0
	 * @category Object
	 * @param {Object} object The destination object.
	 * @param {...Object} [sources] The source objects.
	 * @returns {Object} Returns `object`.
	 * @see _.assignIn
	 * @example
	 *
	 * function Foo() {
	 *   this.a = 1;
	 * }
	 *
	 * function Bar() {
	 *   this.c = 3;
	 * }
	 *
	 * Foo.prototype.b = 2;
	 * Bar.prototype.d = 4;
	 *
	 * _.assign({ 'a': 0 }, new Foo, new Bar);
	 * // => { 'a': 1, 'c': 3 }
	 */
	var assign = createAssigner(function(object, source) {
	  if (isPrototype(source) || isArrayLike(source)) {
	    copyObject(source, keys(source), object);
	    return;
	  }
	  for (var key in source) {
	    if (hasOwnProperty.call(source, key)) {
	      assignValue(object, key, source[key]);
	    }
	  }
	});

	module.exports = assign;


/***/ }),
/* 19 */
/***/ (function(module, exports, __webpack_require__) {

	var baseAssignValue = __webpack_require__(20),
	    eq = __webpack_require__(36);

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/**
	 * Assigns `value` to `key` of `object` if the existing value is not equivalent
	 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
	 * for equality comparisons.
	 *
	 * @private
	 * @param {Object} object The object to modify.
	 * @param {string} key The key of the property to assign.
	 * @param {*} value The value to assign.
	 */
	function assignValue(object, key, value) {
	  var objValue = object[key];
	  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
	      (value === undefined && !(key in object))) {
	    baseAssignValue(object, key, value);
	  }
	}

	module.exports = assignValue;


/***/ }),
/* 20 */
/***/ (function(module, exports, __webpack_require__) {

	var defineProperty = __webpack_require__(21);

	/**
	 * The base implementation of `assignValue` and `assignMergeValue` without
	 * value checks.
	 *
	 * @private
	 * @param {Object} object The object to modify.
	 * @param {string} key The key of the property to assign.
	 * @param {*} value The value to assign.
	 */
	function baseAssignValue(object, key, value) {
	  if (key == '__proto__' && defineProperty) {
	    defineProperty(object, key, {
	      'configurable': true,
	      'enumerable': true,
	      'value': value,
	      'writable': true
	    });
	  } else {
	    object[key] = value;
	  }
	}

	module.exports = baseAssignValue;


/***/ }),
/* 21 */
/***/ (function(module, exports, __webpack_require__) {

	var getNative = __webpack_require__(22);

	var defineProperty = (function() {
	  try {
	    var func = getNative(Object, 'defineProperty');
	    func({}, '', {});
	    return func;
	  } catch (e) {}
	}());

	module.exports = defineProperty;


/***/ }),
/* 22 */
/***/ (function(module, exports, __webpack_require__) {

	var baseIsNative = __webpack_require__(23),
	    getValue = __webpack_require__(35);

	/**
	 * Gets the native function at `key` of `object`.
	 *
	 * @private
	 * @param {Object} object The object to query.
	 * @param {string} key The key of the method to get.
	 * @returns {*} Returns the function if it's native, else `undefined`.
	 */
	function getNative(object, key) {
	  var value = getValue(object, key);
	  return baseIsNative(value) ? value : undefined;
	}

	module.exports = getNative;


/***/ }),
/* 23 */
/***/ (function(module, exports, __webpack_require__) {

	var isFunction = __webpack_require__(24),
	    isMasked = __webpack_require__(32),
	    isObject = __webpack_require__(31),
	    toSource = __webpack_require__(34);

	/**
	 * Used to match `RegExp`
	 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
	 */
	var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;

	/** Used to detect host constructors (Safari). */
	var reIsHostCtor = /^\[object .+?Constructor\]$/;

	/** Used for built-in method references. */
	var funcProto = Function.prototype,
	    objectProto = Object.prototype;

	/** Used to resolve the decompiled source of functions. */
	var funcToString = funcProto.toString;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/** Used to detect if a method is native. */
	var reIsNative = RegExp('^' +
	  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
	  .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
	);

	/**
	 * The base implementation of `_.isNative` without bad shim checks.
	 *
	 * @private
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is a native function,
	 *  else `false`.
	 */
	function baseIsNative(value) {
	  if (!isObject(value) || isMasked(value)) {
	    return false;
	  }
	  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
	  return pattern.test(toSource(value));
	}

	module.exports = baseIsNative;


/***/ }),
/* 24 */
/***/ (function(module, exports, __webpack_require__) {

	var baseGetTag = __webpack_require__(25),
	    isObject = __webpack_require__(31);

	/** `Object#toString` result references. */
	var asyncTag = '[object AsyncFunction]',
	    funcTag = '[object Function]',
	    genTag = '[object GeneratorFunction]',
	    proxyTag = '[object Proxy]';

	/**
	 * Checks if `value` is classified as a `Function` object.
	 *
	 * @static
	 * @memberOf _
	 * @since 0.1.0
	 * @category Lang
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
	 * @example
	 *
	 * _.isFunction(_);
	 * // => true
	 *
	 * _.isFunction(/abc/);
	 * // => false
	 */
	function isFunction(value) {
	  if (!isObject(value)) {
	    return false;
	  }
	  // The use of `Object#toString` avoids issues with the `typeof` operator
	  // in Safari 9 which returns 'object' for typed arrays and other constructors.
	  var tag = baseGetTag(value);
	  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
	}

	module.exports = isFunction;


/***/ }),
/* 25 */
/***/ (function(module, exports, __webpack_require__) {

	var Symbol = __webpack_require__(26),
	    getRawTag = __webpack_require__(29),
	    objectToString = __webpack_require__(30);

	/** `Object#toString` result references. */
	var nullTag = '[object Null]',
	    undefinedTag = '[object Undefined]';

	/** Built-in value references. */
	var symToStringTag = Symbol ? Symbol.toStringTag : undefined;

	/**
	 * The base implementation of `getTag` without fallbacks for buggy environments.
	 *
	 * @private
	 * @param {*} value The value to query.
	 * @returns {string} Returns the `toStringTag`.
	 */
	function baseGetTag(value) {
	  if (value == null) {
	    return value === undefined ? undefinedTag : nullTag;
	  }
	  return (symToStringTag && symToStringTag in Object(value))
	    ? getRawTag(value)
	    : objectToString(value);
	}

	module.exports = baseGetTag;


/***/ }),
/* 26 */
/***/ (function(module, exports, __webpack_require__) {

	var root = __webpack_require__(27);

	/** Built-in value references. */
	var Symbol = root.Symbol;

	module.exports = Symbol;


/***/ }),
/* 27 */
/***/ (function(module, exports, __webpack_require__) {

	var freeGlobal = __webpack_require__(28);

	/** Detect free variable `self`. */
	var freeSelf = typeof self == 'object' && self && self.Object === Object && self;

	/** Used as a reference to the global object. */
	var root = freeGlobal || freeSelf || Function('return this')();

	module.exports = root;


/***/ }),
/* 28 */
/***/ (function(module, exports) {

	/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */
	var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;

	module.exports = freeGlobal;

	/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))

/***/ }),
/* 29 */
/***/ (function(module, exports, __webpack_require__) {

	var Symbol = __webpack_require__(26);

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/**
	 * Used to resolve the
	 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
	 * of values.
	 */
	var nativeObjectToString = objectProto.toString;

	/** Built-in value references. */
	var symToStringTag = Symbol ? Symbol.toStringTag : undefined;

	/**
	 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
	 *
	 * @private
	 * @param {*} value The value to query.
	 * @returns {string} Returns the raw `toStringTag`.
	 */
	function getRawTag(value) {
	  var isOwn = hasOwnProperty.call(value, symToStringTag),
	      tag = value[symToStringTag];

	  try {
	    value[symToStringTag] = undefined;
	    var unmasked = true;
	  } catch (e) {}

	  var result = nativeObjectToString.call(value);
	  if (unmasked) {
	    if (isOwn) {
	      value[symToStringTag] = tag;
	    } else {
	      delete value[symToStringTag];
	    }
	  }
	  return result;
	}

	module.exports = getRawTag;


/***/ }),
/* 30 */
/***/ (function(module, exports) {

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/**
	 * Used to resolve the
	 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
	 * of values.
	 */
	var nativeObjectToString = objectProto.toString;

	/**
	 * Converts `value` to a string using `Object.prototype.toString`.
	 *
	 * @private
	 * @param {*} value The value to convert.
	 * @returns {string} Returns the converted string.
	 */
	function objectToString(value) {
	  return nativeObjectToString.call(value);
	}

	module.exports = objectToString;


/***/ }),
/* 31 */
/***/ (function(module, exports) {

	/**
	 * Checks if `value` is the
	 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
	 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
	 *
	 * @static
	 * @memberOf _
	 * @since 0.1.0
	 * @category Lang
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
	 * @example
	 *
	 * _.isObject({});
	 * // => true
	 *
	 * _.isObject([1, 2, 3]);
	 * // => true
	 *
	 * _.isObject(_.noop);
	 * // => true
	 *
	 * _.isObject(null);
	 * // => false
	 */
	function isObject(value) {
	  var type = typeof value;
	  return value != null && (type == 'object' || type == 'function');
	}

	module.exports = isObject;


/***/ }),
/* 32 */
/***/ (function(module, exports, __webpack_require__) {

	var coreJsData = __webpack_require__(33);

	/** Used to detect methods masquerading as native. */
	var maskSrcKey = (function() {
	  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
	  return uid ? ('Symbol(src)_1.' + uid) : '';
	}());

	/**
	 * Checks if `func` has its source masked.
	 *
	 * @private
	 * @param {Function} func The function to check.
	 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
	 */
	function isMasked(func) {
	  return !!maskSrcKey && (maskSrcKey in func);
	}

	module.exports = isMasked;


/***/ }),
/* 33 */
/***/ (function(module, exports, __webpack_require__) {

	var root = __webpack_require__(27);

	/** Used to detect overreaching core-js shims. */
	var coreJsData = root['__core-js_shared__'];

	module.exports = coreJsData;


/***/ }),
/* 34 */
/***/ (function(module, exports) {

	/** Used for built-in method references. */
	var funcProto = Function.prototype;

	/** Used to resolve the decompiled source of functions. */
	var funcToString = funcProto.toString;

	/**
	 * Converts `func` to its source code.
	 *
	 * @private
	 * @param {Function} func The function to convert.
	 * @returns {string} Returns the source code.
	 */
	function toSource(func) {
	  if (func != null) {
	    try {
	      return funcToString.call(func);
	    } catch (e) {}
	    try {
	      return (func + '');
	    } catch (e) {}
	  }
	  return '';
	}

	module.exports = toSource;


/***/ }),
/* 35 */
/***/ (function(module, exports) {

	/**
	 * Gets the value at `key` of `object`.
	 *
	 * @private
	 * @param {Object} [object] The object to query.
	 * @param {string} key The key of the property to get.
	 * @returns {*} Returns the property value.
	 */
	function getValue(object, key) {
	  return object == null ? undefined : object[key];
	}

	module.exports = getValue;


/***/ }),
/* 36 */
/***/ (function(module, exports) {

	/**
	 * Performs a
	 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
	 * comparison between two values to determine if they are equivalent.
	 *
	 * @static
	 * @memberOf _
	 * @since 4.0.0
	 * @category Lang
	 * @param {*} value The value to compare.
	 * @param {*} other The other value to compare.
	 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
	 * @example
	 *
	 * var object = { 'a': 1 };
	 * var other = { 'a': 1 };
	 *
	 * _.eq(object, object);
	 * // => true
	 *
	 * _.eq(object, other);
	 * // => false
	 *
	 * _.eq('a', 'a');
	 * // => true
	 *
	 * _.eq('a', Object('a'));
	 * // => false
	 *
	 * _.eq(NaN, NaN);
	 * // => true
	 */
	function eq(value, other) {
	  return value === other || (value !== value && other !== other);
	}

	module.exports = eq;


/***/ }),
/* 37 */
/***/ (function(module, exports, __webpack_require__) {

	var assignValue = __webpack_require__(19),
	    baseAssignValue = __webpack_require__(20);

	/**
	 * Copies properties of `source` to `object`.
	 *
	 * @private
	 * @param {Object} source The object to copy properties from.
	 * @param {Array} props The property identifiers to copy.
	 * @param {Object} [object={}] The object to copy properties to.
	 * @param {Function} [customizer] The function to customize copied values.
	 * @returns {Object} Returns `object`.
	 */
	function copyObject(source, props, object, customizer) {
	  var isNew = !object;
	  object || (object = {});

	  var index = -1,
	      length = props.length;

	  while (++index < length) {
	    var key = props[index];

	    var newValue = customizer
	      ? customizer(object[key], source[key], key, object, source)
	      : undefined;

	    if (newValue === undefined) {
	      newValue = source[key];
	    }
	    if (isNew) {
	      baseAssignValue(object, key, newValue);
	    } else {
	      assignValue(object, key, newValue);
	    }
	  }
	  return object;
	}

	module.exports = copyObject;


/***/ }),
/* 38 */
/***/ (function(module, exports, __webpack_require__) {

	var baseRest = __webpack_require__(39),
	    isIterateeCall = __webpack_require__(47);

	/**
	 * Creates a function like `_.assign`.
	 *
	 * @private
	 * @param {Function} assigner The function to assign values.
	 * @returns {Function} Returns the new assigner function.
	 */
	function createAssigner(assigner) {
	  return baseRest(function(object, sources) {
	    var index = -1,
	        length = sources.length,
	        customizer = length > 1 ? sources[length - 1] : undefined,
	        guard = length > 2 ? sources[2] : undefined;

	    customizer = (assigner.length > 3 && typeof customizer == 'function')
	      ? (length--, customizer)
	      : undefined;

	    if (guard && isIterateeCall(sources[0], sources[1], guard)) {
	      customizer = length < 3 ? undefined : customizer;
	      length = 1;
	    }
	    object = Object(object);
	    while (++index < length) {
	      var source = sources[index];
	      if (source) {
	        assigner(object, source, index, customizer);
	      }
	    }
	    return object;
	  });
	}

	module.exports = createAssigner;


/***/ }),
/* 39 */
/***/ (function(module, exports, __webpack_require__) {

	var identity = __webpack_require__(40),
	    overRest = __webpack_require__(41),
	    setToString = __webpack_require__(43);

	/**
	 * The base implementation of `_.rest` which doesn't validate or coerce arguments.
	 *
	 * @private
	 * @param {Function} func The function to apply a rest parameter to.
	 * @param {number} [start=func.length-1] The start position of the rest parameter.
	 * @returns {Function} Returns the new function.
	 */
	function baseRest(func, start) {
	  return setToString(overRest(func, start, identity), func + '');
	}

	module.exports = baseRest;


/***/ }),
/* 40 */
/***/ (function(module, exports) {

	/**
	 * This method returns the first argument it receives.
	 *
	 * @static
	 * @since 0.1.0
	 * @memberOf _
	 * @category Util
	 * @param {*} value Any value.
	 * @returns {*} Returns `value`.
	 * @example
	 *
	 * var object = { 'a': 1 };
	 *
	 * console.log(_.identity(object) === object);
	 * // => true
	 */
	function identity(value) {
	  return value;
	}

	module.exports = identity;


/***/ }),
/* 41 */
/***/ (function(module, exports, __webpack_require__) {

	var apply = __webpack_require__(42);

	/* Built-in method references for those with the same name as other `lodash` methods. */
	var nativeMax = Math.max;

	/**
	 * A specialized version of `baseRest` which transforms the rest array.
	 *
	 * @private
	 * @param {Function} func The function to apply a rest parameter to.
	 * @param {number} [start=func.length-1] The start position of the rest parameter.
	 * @param {Function} transform The rest array transform.
	 * @returns {Function} Returns the new function.
	 */
	function overRest(func, start, transform) {
	  start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
	  return function() {
	    var args = arguments,
	        index = -1,
	        length = nativeMax(args.length - start, 0),
	        array = Array(length);

	    while (++index < length) {
	      array[index] = args[start + index];
	    }
	    index = -1;
	    var otherArgs = Array(start + 1);
	    while (++index < start) {
	      otherArgs[index] = args[index];
	    }
	    otherArgs[start] = transform(array);
	    return apply(func, this, otherArgs);
	  };
	}

	module.exports = overRest;


/***/ }),
/* 42 */
/***/ (function(module, exports) {

	/**
	 * A faster alternative to `Function#apply`, this function invokes `func`
	 * with the `this` binding of `thisArg` and the arguments of `args`.
	 *
	 * @private
	 * @param {Function} func The function to invoke.
	 * @param {*} thisArg The `this` binding of `func`.
	 * @param {Array} args The arguments to invoke `func` with.
	 * @returns {*} Returns the result of `func`.
	 */
	function apply(func, thisArg, args) {
	  switch (args.length) {
	    case 0: return func.call(thisArg);
	    case 1: return func.call(thisArg, args[0]);
	    case 2: return func.call(thisArg, args[0], args[1]);
	    case 3: return func.call(thisArg, args[0], args[1], args[2]);
	  }
	  return func.apply(thisArg, args);
	}

	module.exports = apply;


/***/ }),
/* 43 */
/***/ (function(module, exports, __webpack_require__) {

	var baseSetToString = __webpack_require__(44),
	    shortOut = __webpack_require__(46);

	/**
	 * Sets the `toString` method of `func` to return `string`.
	 *
	 * @private
	 * @param {Function} func The function to modify.
	 * @param {Function} string The `toString` result.
	 * @returns {Function} Returns `func`.
	 */
	var setToString = shortOut(baseSetToString);

	module.exports = setToString;


/***/ }),
/* 44 */
/***/ (function(module, exports, __webpack_require__) {

	var constant = __webpack_require__(45),
	    defineProperty = __webpack_require__(21),
	    identity = __webpack_require__(40);

	/**
	 * The base implementation of `setToString` without support for hot loop shorting.
	 *
	 * @private
	 * @param {Function} func The function to modify.
	 * @param {Function} string The `toString` result.
	 * @returns {Function} Returns `func`.
	 */
	var baseSetToString = !defineProperty ? identity : function(func, string) {
	  return defineProperty(func, 'toString', {
	    'configurable': true,
	    'enumerable': false,
	    'value': constant(string),
	    'writable': true
	  });
	};

	module.exports = baseSetToString;


/***/ }),
/* 45 */
/***/ (function(module, exports) {

	/**
	 * Creates a function that returns `value`.
	 *
	 * @static
	 * @memberOf _
	 * @since 2.4.0
	 * @category Util
	 * @param {*} value The value to return from the new function.
	 * @returns {Function} Returns the new constant function.
	 * @example
	 *
	 * var objects = _.times(2, _.constant({ 'a': 1 }));
	 *
	 * console.log(objects);
	 * // => [{ 'a': 1 }, { 'a': 1 }]
	 *
	 * console.log(objects[0] === objects[1]);
	 * // => true
	 */
	function constant(value) {
	  return function() {
	    return value;
	  };
	}

	module.exports = constant;


/***/ }),
/* 46 */
/***/ (function(module, exports) {

	/** Used to detect hot functions by number of calls within a span of milliseconds. */
	var HOT_COUNT = 800,
	    HOT_SPAN = 16;

	/* Built-in method references for those with the same name as other `lodash` methods. */
	var nativeNow = Date.now;

	/**
	 * Creates a function that'll short out and invoke `identity` instead
	 * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
	 * milliseconds.
	 *
	 * @private
	 * @param {Function} func The function to restrict.
	 * @returns {Function} Returns the new shortable function.
	 */
	function shortOut(func) {
	  var count = 0,
	      lastCalled = 0;

	  return function() {
	    var stamp = nativeNow(),
	        remaining = HOT_SPAN - (stamp - lastCalled);

	    lastCalled = stamp;
	    if (remaining > 0) {
	      if (++count >= HOT_COUNT) {
	        return arguments[0];
	      }
	    } else {
	      count = 0;
	    }
	    return func.apply(undefined, arguments);
	  };
	}

	module.exports = shortOut;


/***/ }),
/* 47 */
/***/ (function(module, exports, __webpack_require__) {

	var eq = __webpack_require__(36),
	    isArrayLike = __webpack_require__(48),
	    isIndex = __webpack_require__(50),
	    isObject = __webpack_require__(31);

	/**
	 * Checks if the given arguments are from an iteratee call.
	 *
	 * @private
	 * @param {*} value The potential iteratee value argument.
	 * @param {*} index The potential iteratee index or key argument.
	 * @param {*} object The potential iteratee object argument.
	 * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
	 *  else `false`.
	 */
	function isIterateeCall(value, index, object) {
	  if (!isObject(object)) {
	    return false;
	  }
	  var type = typeof index;
	  if (type == 'number'
	        ? (isArrayLike(object) && isIndex(index, object.length))
	        : (type == 'string' && index in object)
	      ) {
	    return eq(object[index], value);
	  }
	  return false;
	}

	module.exports = isIterateeCall;


/***/ }),
/* 48 */
/***/ (function(module, exports, __webpack_require__) {

	var isFunction = __webpack_require__(24),
	    isLength = __webpack_require__(49);

	/**
	 * Checks if `value` is array-like. A value is considered array-like if it's
	 * not a function and has a `value.length` that's an integer greater than or
	 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
	 *
	 * @static
	 * @memberOf _
	 * @since 4.0.0
	 * @category Lang
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
	 * @example
	 *
	 * _.isArrayLike([1, 2, 3]);
	 * // => true
	 *
	 * _.isArrayLike(document.body.children);
	 * // => true
	 *
	 * _.isArrayLike('abc');
	 * // => true
	 *
	 * _.isArrayLike(_.noop);
	 * // => false
	 */
	function isArrayLike(value) {
	  return value != null && isLength(value.length) && !isFunction(value);
	}

	module.exports = isArrayLike;


/***/ }),
/* 49 */
/***/ (function(module, exports) {

	/** Used as references for various `Number` constants. */
	var MAX_SAFE_INTEGER = 9007199254740991;

	/**
	 * Checks if `value` is a valid array-like length.
	 *
	 * **Note:** This method is loosely based on
	 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
	 *
	 * @static
	 * @memberOf _
	 * @since 4.0.0
	 * @category Lang
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
	 * @example
	 *
	 * _.isLength(3);
	 * // => true
	 *
	 * _.isLength(Number.MIN_VALUE);
	 * // => false
	 *
	 * _.isLength(Infinity);
	 * // => false
	 *
	 * _.isLength('3');
	 * // => false
	 */
	function isLength(value) {
	  return typeof value == 'number' &&
	    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
	}

	module.exports = isLength;


/***/ }),
/* 50 */
/***/ (function(module, exports) {

	/** Used as references for various `Number` constants. */
	var MAX_SAFE_INTEGER = 9007199254740991;

	/** Used to detect unsigned integer values. */
	var reIsUint = /^(?:0|[1-9]\d*)$/;

	/**
	 * Checks if `value` is a valid array-like index.
	 *
	 * @private
	 * @param {*} value The value to check.
	 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
	 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
	 */
	function isIndex(value, length) {
	  length = length == null ? MAX_SAFE_INTEGER : length;
	  return !!length &&
	    (typeof value == 'number' || reIsUint.test(value)) &&
	    (value > -1 && value % 1 == 0 && value < length);
	}

	module.exports = isIndex;


/***/ }),
/* 51 */
/***/ (function(module, exports) {

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/**
	 * Checks if `value` is likely a prototype object.
	 *
	 * @private
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
	 */
	function isPrototype(value) {
	  var Ctor = value && value.constructor,
	      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;

	  return value === proto;
	}

	module.exports = isPrototype;


/***/ }),
/* 52 */
/***/ (function(module, exports, __webpack_require__) {

	var arrayLikeKeys = __webpack_require__(53),
	    baseKeys = __webpack_require__(66),
	    isArrayLike = __webpack_require__(48);

	/**
	 * Creates an array of the own enumerable property names of `object`.
	 *
	 * **Note:** Non-object values are coerced to objects. See the
	 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
	 * for more details.
	 *
	 * @static
	 * @since 0.1.0
	 * @memberOf _
	 * @category Object
	 * @param {Object} object The object to query.
	 * @returns {Array} Returns the array of property names.
	 * @example
	 *
	 * function Foo() {
	 *   this.a = 1;
	 *   this.b = 2;
	 * }
	 *
	 * Foo.prototype.c = 3;
	 *
	 * _.keys(new Foo);
	 * // => ['a', 'b'] (iteration order is not guaranteed)
	 *
	 * _.keys('hi');
	 * // => ['0', '1']
	 */
	function keys(object) {
	  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
	}

	module.exports = keys;


/***/ }),
/* 53 */
/***/ (function(module, exports, __webpack_require__) {

	var baseTimes = __webpack_require__(54),
	    isArguments = __webpack_require__(55),
	    isArray = __webpack_require__(58),
	    isBuffer = __webpack_require__(59),
	    isIndex = __webpack_require__(50),
	    isTypedArray = __webpack_require__(62);

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/**
	 * Creates an array of the enumerable property names of the array-like `value`.
	 *
	 * @private
	 * @param {*} value The value to query.
	 * @param {boolean} inherited Specify returning inherited property names.
	 * @returns {Array} Returns the array of property names.
	 */
	function arrayLikeKeys(value, inherited) {
	  var isArr = isArray(value),
	      isArg = !isArr && isArguments(value),
	      isBuff = !isArr && !isArg && isBuffer(value),
	      isType = !isArr && !isArg && !isBuff && isTypedArray(value),
	      skipIndexes = isArr || isArg || isBuff || isType,
	      result = skipIndexes ? baseTimes(value.length, String) : [],
	      length = result.length;

	  for (var key in value) {
	    if ((inherited || hasOwnProperty.call(value, key)) &&
	        !(skipIndexes && (
	           // Safari 9 has enumerable `arguments.length` in strict mode.
	           key == 'length' ||
	           // Node.js 0.10 has enumerable non-index properties on buffers.
	           (isBuff && (key == 'offset' || key == 'parent')) ||
	           // PhantomJS 2 has enumerable non-index properties on typed arrays.
	           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
	           // Skip index properties.
	           isIndex(key, length)
	        ))) {
	      result.push(key);
	    }
	  }
	  return result;
	}

	module.exports = arrayLikeKeys;


/***/ }),
/* 54 */
/***/ (function(module, exports) {

	/**
	 * The base implementation of `_.times` without support for iteratee shorthands
	 * or max array length checks.
	 *
	 * @private
	 * @param {number} n The number of times to invoke `iteratee`.
	 * @param {Function} iteratee The function invoked per iteration.
	 * @returns {Array} Returns the array of results.
	 */
	function baseTimes(n, iteratee) {
	  var index = -1,
	      result = Array(n);

	  while (++index < n) {
	    result[index] = iteratee(index);
	  }
	  return result;
	}

	module.exports = baseTimes;


/***/ }),
/* 55 */
/***/ (function(module, exports, __webpack_require__) {

	var baseIsArguments = __webpack_require__(56),
	    isObjectLike = __webpack_require__(57);

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/** Built-in value references. */
	var propertyIsEnumerable = objectProto.propertyIsEnumerable;

	/**
	 * Checks if `value` is likely an `arguments` object.
	 *
	 * @static
	 * @memberOf _
	 * @since 0.1.0
	 * @category Lang
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
	 *  else `false`.
	 * @example
	 *
	 * _.isArguments(function() { return arguments; }());
	 * // => true
	 *
	 * _.isArguments([1, 2, 3]);
	 * // => false
	 */
	var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
	  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
	    !propertyIsEnumerable.call(value, 'callee');
	};

	module.exports = isArguments;


/***/ }),
/* 56 */
/***/ (function(module, exports, __webpack_require__) {

	var baseGetTag = __webpack_require__(25),
	    isObjectLike = __webpack_require__(57);

	/** `Object#toString` result references. */
	var argsTag = '[object Arguments]';

	/**
	 * The base implementation of `_.isArguments`.
	 *
	 * @private
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
	 */
	function baseIsArguments(value) {
	  return isObjectLike(value) && baseGetTag(value) == argsTag;
	}

	module.exports = baseIsArguments;


/***/ }),
/* 57 */
/***/ (function(module, exports) {

	/**
	 * Checks if `value` is object-like. A value is object-like if it's not `null`
	 * and has a `typeof` result of "object".
	 *
	 * @static
	 * @memberOf _
	 * @since 4.0.0
	 * @category Lang
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
	 * @example
	 *
	 * _.isObjectLike({});
	 * // => true
	 *
	 * _.isObjectLike([1, 2, 3]);
	 * // => true
	 *
	 * _.isObjectLike(_.noop);
	 * // => false
	 *
	 * _.isObjectLike(null);
	 * // => false
	 */
	function isObjectLike(value) {
	  return value != null && typeof value == 'object';
	}

	module.exports = isObjectLike;


/***/ }),
/* 58 */
/***/ (function(module, exports) {

	/**
	 * Checks if `value` is classified as an `Array` object.
	 *
	 * @static
	 * @memberOf _
	 * @since 0.1.0
	 * @category Lang
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is an array, else `false`.
	 * @example
	 *
	 * _.isArray([1, 2, 3]);
	 * // => true
	 *
	 * _.isArray(document.body.children);
	 * // => false
	 *
	 * _.isArray('abc');
	 * // => false
	 *
	 * _.isArray(_.noop);
	 * // => false
	 */
	var isArray = Array.isArray;

	module.exports = isArray;


/***/ }),
/* 59 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(27),
	    stubFalse = __webpack_require__(61);

	/** Detect free variable `exports`. */
	var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;

	/** Detect free variable `module`. */
	var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;

	/** Detect the popular CommonJS extension `module.exports`. */
	var moduleExports = freeModule && freeModule.exports === freeExports;

	/** Built-in value references. */
	var Buffer = moduleExports ? root.Buffer : undefined;

	/* Built-in method references for those with the same name as other `lodash` methods. */
	var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;

	/**
	 * Checks if `value` is a buffer.
	 *
	 * @static
	 * @memberOf _
	 * @since 4.3.0
	 * @category Lang
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
	 * @example
	 *
	 * _.isBuffer(new Buffer(2));
	 * // => true
	 *
	 * _.isBuffer(new Uint8Array(2));
	 * // => false
	 */
	var isBuffer = nativeIsBuffer || stubFalse;

	module.exports = isBuffer;

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(60)(module)))

/***/ }),
/* 60 */
/***/ (function(module, exports) {

	module.exports = function(module) {
		if(!module.webpackPolyfill) {
			module.deprecate = function() {};
			module.paths = [];
			// module.parent = undefined by default
			module.children = [];
			module.webpackPolyfill = 1;
		}
		return module;
	}


/***/ }),
/* 61 */
/***/ (function(module, exports) {

	/**
	 * This method returns `false`.
	 *
	 * @static
	 * @memberOf _
	 * @since 4.13.0
	 * @category Util
	 * @returns {boolean} Returns `false`.
	 * @example
	 *
	 * _.times(2, _.stubFalse);
	 * // => [false, false]
	 */
	function stubFalse() {
	  return false;
	}

	module.exports = stubFalse;


/***/ }),
/* 62 */
/***/ (function(module, exports, __webpack_require__) {

	var baseIsTypedArray = __webpack_require__(63),
	    baseUnary = __webpack_require__(64),
	    nodeUtil = __webpack_require__(65);

	/* Node.js helper references. */
	var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;

	/**
	 * Checks if `value` is classified as a typed array.
	 *
	 * @static
	 * @memberOf _
	 * @since 3.0.0
	 * @category Lang
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
	 * @example
	 *
	 * _.isTypedArray(new Uint8Array);
	 * // => true
	 *
	 * _.isTypedArray([]);
	 * // => false
	 */
	var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;

	module.exports = isTypedArray;


/***/ }),
/* 63 */
/***/ (function(module, exports, __webpack_require__) {

	var baseGetTag = __webpack_require__(25),
	    isLength = __webpack_require__(49),
	    isObjectLike = __webpack_require__(57);

	/** `Object#toString` result references. */
	var argsTag = '[object Arguments]',
	    arrayTag = '[object Array]',
	    boolTag = '[object Boolean]',
	    dateTag = '[object Date]',
	    errorTag = '[object Error]',
	    funcTag = '[object Function]',
	    mapTag = '[object Map]',
	    numberTag = '[object Number]',
	    objectTag = '[object Object]',
	    regexpTag = '[object RegExp]',
	    setTag = '[object Set]',
	    stringTag = '[object String]',
	    weakMapTag = '[object WeakMap]';

	var arrayBufferTag = '[object ArrayBuffer]',
	    dataViewTag = '[object DataView]',
	    float32Tag = '[object Float32Array]',
	    float64Tag = '[object Float64Array]',
	    int8Tag = '[object Int8Array]',
	    int16Tag = '[object Int16Array]',
	    int32Tag = '[object Int32Array]',
	    uint8Tag = '[object Uint8Array]',
	    uint8ClampedTag = '[object Uint8ClampedArray]',
	    uint16Tag = '[object Uint16Array]',
	    uint32Tag = '[object Uint32Array]';

	/** Used to identify `toStringTag` values of typed arrays. */
	var typedArrayTags = {};
	typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
	typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
	typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
	typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
	typedArrayTags[uint32Tag] = true;
	typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
	typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
	typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
	typedArrayTags[errorTag] = typedArrayTags[funcTag] =
	typedArrayTags[mapTag] = typedArrayTags[numberTag] =
	typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
	typedArrayTags[setTag] = typedArrayTags[stringTag] =
	typedArrayTags[weakMapTag] = false;

	/**
	 * The base implementation of `_.isTypedArray` without Node.js optimizations.
	 *
	 * @private
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
	 */
	function baseIsTypedArray(value) {
	  return isObjectLike(value) &&
	    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
	}

	module.exports = baseIsTypedArray;


/***/ }),
/* 64 */
/***/ (function(module, exports) {

	/**
	 * The base implementation of `_.unary` without support for storing metadata.
	 *
	 * @private
	 * @param {Function} func The function to cap arguments for.
	 * @returns {Function} Returns the new capped function.
	 */
	function baseUnary(func) {
	  return function(value) {
	    return func(value);
	  };
	}

	module.exports = baseUnary;


/***/ }),
/* 65 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(28);

	/** Detect free variable `exports`. */
	var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;

	/** Detect free variable `module`. */
	var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;

	/** Detect the popular CommonJS extension `module.exports`. */
	var moduleExports = freeModule && freeModule.exports === freeExports;

	/** Detect free variable `process` from Node.js. */
	var freeProcess = moduleExports && freeGlobal.process;

	/** Used to access faster Node.js helpers. */
	var nodeUtil = (function() {
	  try {
	    return freeProcess && freeProcess.binding && freeProcess.binding('util');
	  } catch (e) {}
	}());

	module.exports = nodeUtil;

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(60)(module)))

/***/ }),
/* 66 */
/***/ (function(module, exports, __webpack_require__) {

	var isPrototype = __webpack_require__(51),
	    nativeKeys = __webpack_require__(67);

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/**
	 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
	 *
	 * @private
	 * @param {Object} object The object to query.
	 * @returns {Array} Returns the array of property names.
	 */
	function baseKeys(object) {
	  if (!isPrototype(object)) {
	    return nativeKeys(object);
	  }
	  var result = [];
	  for (var key in Object(object)) {
	    if (hasOwnProperty.call(object, key) && key != 'constructor') {
	      result.push(key);
	    }
	  }
	  return result;
	}

	module.exports = baseKeys;


/***/ }),
/* 67 */
/***/ (function(module, exports, __webpack_require__) {

	var overArg = __webpack_require__(68);

	/* Built-in method references for those with the same name as other `lodash` methods. */
	var nativeKeys = overArg(Object.keys, Object);

	module.exports = nativeKeys;


/***/ }),
/* 68 */
/***/ (function(module, exports) {

	/**
	 * Creates a unary function that invokes `func` with its argument transformed.
	 *
	 * @private
	 * @param {Function} func The function to wrap.
	 * @param {Function} transform The argument transform.
	 * @returns {Function} Returns the new function.
	 */
	function overArg(func, transform) {
	  return function(arg) {
	    return func(transform(arg));
	  };
	}

	module.exports = overArg;


/***/ }),
/* 69 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier;

	  XMLStringifier = __webpack_require__(70);

	  XMLDeclaration = __webpack_require__(71);

	  XMLDocType = __webpack_require__(168);

	  XMLElement = __webpack_require__(83);

	  module.exports = XMLBuilder = (function() {
	    function XMLBuilder(name, options) {
	      var root, temp;
	      if (name == null) {
	        throw new Error("Root element needs a name");
	      }
	      if (options == null) {
	        options = {};
	      }
	      this.options = options;
	      this.stringify = new XMLStringifier(options);
	      temp = new XMLElement(this, 'doc');
	      root = temp.element(name);
	      root.isRoot = true;
	      root.documentObject = this;
	      this.rootObject = root;
	      if (!options.headless) {
	        root.declaration(options);
	        if ((options.pubID != null) || (options.sysID != null)) {
	          root.doctype(options);
	        }
	      }
	    }

	    XMLBuilder.prototype.root = function() {
	      return this.rootObject;
	    };

	    XMLBuilder.prototype.end = function(options) {
	      return this.toString(options);
	    };

	    XMLBuilder.prototype.toString = function(options) {
	      var indent, newline, offset, pretty, r, ref, ref1, ref2;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      r = '';
	      if (this.xmldec != null) {
	        r += this.xmldec.toString(options);
	      }
	      if (this.doctype != null) {
	        r += this.doctype.toString(options);
	      }
	      r += this.rootObject.toString(options);
	      if (pretty && r.slice(-newline.length) === newline) {
	        r = r.slice(0, -newline.length);
	      }
	      return r;
	    };

	    return XMLBuilder;

	  })();

	}).call(this);


/***/ }),
/* 70 */
/***/ (function(module, exports) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLStringifier,
	    bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
	    hasProp = {}.hasOwnProperty;

	  module.exports = XMLStringifier = (function() {
	    function XMLStringifier(options) {
	      this.assertLegalChar = bind(this.assertLegalChar, this);
	      var key, ref, value;
	      this.allowSurrogateChars = options != null ? options.allowSurrogateChars : void 0;
	      this.noDoubleEncoding = options != null ? options.noDoubleEncoding : void 0;
	      ref = (options != null ? options.stringify : void 0) || {};
	      for (key in ref) {
	        if (!hasProp.call(ref, key)) continue;
	        value = ref[key];
	        this[key] = value;
	      }
	    }

	    XMLStringifier.prototype.eleName = function(val) {
	      val = '' + val || '';
	      return this.assertLegalChar(val);
	    };

	    XMLStringifier.prototype.eleText = function(val) {
	      val = '' + val || '';
	      return this.assertLegalChar(this.elEscape(val));
	    };

	    XMLStringifier.prototype.cdata = function(val) {
	      val = '' + val || '';
	      if (val.match(/]]>/)) {
	        throw new Error("Invalid CDATA text: " + val);
	      }
	      return this.assertLegalChar(val);
	    };

	    XMLStringifier.prototype.comment = function(val) {
	      val = '' + val || '';
	      if (val.match(/--/)) {
	        throw new Error("Comment text cannot contain double-hypen: " + val);
	      }
	      return this.assertLegalChar(val);
	    };

	    XMLStringifier.prototype.raw = function(val) {
	      return '' + val || '';
	    };

	    XMLStringifier.prototype.attName = function(val) {
	      return '' + val || '';
	    };

	    XMLStringifier.prototype.attValue = function(val) {
	      val = '' + val || '';
	      return this.attEscape(val);
	    };

	    XMLStringifier.prototype.insTarget = function(val) {
	      return '' + val || '';
	    };

	    XMLStringifier.prototype.insValue = function(val) {
	      val = '' + val || '';
	      if (val.match(/\?>/)) {
	        throw new Error("Invalid processing instruction value: " + val);
	      }
	      return val;
	    };

	    XMLStringifier.prototype.xmlVersion = function(val) {
	      val = '' + val || '';
	      if (!val.match(/1\.[0-9]+/)) {
	        throw new Error("Invalid version number: " + val);
	      }
	      return val;
	    };

	    XMLStringifier.prototype.xmlEncoding = function(val) {
	      val = '' + val || '';
	      if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-]|-)*$/)) {
	        throw new Error("Invalid encoding: " + val);
	      }
	      return val;
	    };

	    XMLStringifier.prototype.xmlStandalone = function(val) {
	      if (val) {
	        return "yes";
	      } else {
	        return "no";
	      }
	    };

	    XMLStringifier.prototype.dtdPubID = function(val) {
	      return '' + val || '';
	    };

	    XMLStringifier.prototype.dtdSysID = function(val) {
	      return '' + val || '';
	    };

	    XMLStringifier.prototype.dtdElementValue = function(val) {
	      return '' + val || '';
	    };

	    XMLStringifier.prototype.dtdAttType = function(val) {
	      return '' + val || '';
	    };

	    XMLStringifier.prototype.dtdAttDefault = function(val) {
	      if (val != null) {
	        return '' + val || '';
	      } else {
	        return val;
	      }
	    };

	    XMLStringifier.prototype.dtdEntityValue = function(val) {
	      return '' + val || '';
	    };

	    XMLStringifier.prototype.dtdNData = function(val) {
	      return '' + val || '';
	    };

	    XMLStringifier.prototype.convertAttKey = '@';

	    XMLStringifier.prototype.convertPIKey = '?';

	    XMLStringifier.prototype.convertTextKey = '#text';

	    XMLStringifier.prototype.convertCDataKey = '#cdata';

	    XMLStringifier.prototype.convertCommentKey = '#comment';

	    XMLStringifier.prototype.convertRawKey = '#raw';

	    XMLStringifier.prototype.assertLegalChar = function(str) {
	      var chars, chr;
	      if (this.allowSurrogateChars) {
	        chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uFFFE-\uFFFF]/;
	      } else {
	        chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uD800-\uDFFF\uFFFE-\uFFFF]/;
	      }
	      chr = str.match(chars);
	      if (chr) {
	        throw new Error("Invalid character (" + chr + ") in string: " + str + " at index " + chr.index);
	      }
	      return str;
	    };

	    XMLStringifier.prototype.elEscape = function(str) {
	      var ampregex;
	      ampregex = this.noDoubleEncoding ? /(?!&\S+;)&/g : /&/g;
	      return str.replace(ampregex, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\r/g, '&#xD;');
	    };

	    XMLStringifier.prototype.attEscape = function(str) {
	      var ampregex;
	      ampregex = this.noDoubleEncoding ? /(?!&\S+;)&/g : /&/g;
	      return str.replace(ampregex, '&amp;').replace(/</g, '&lt;').replace(/"/g, '&quot;');
	    };

	    return XMLStringifier;

	  })();

	}).call(this);


/***/ }),
/* 71 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLDeclaration, XMLNode, create, isObject,
	    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
	    hasProp = {}.hasOwnProperty;

	  create = __webpack_require__(72);

	  isObject = __webpack_require__(31);

	  XMLNode = __webpack_require__(75);

	  module.exports = XMLDeclaration = (function(superClass) {
	    extend(XMLDeclaration, superClass);

	    function XMLDeclaration(parent, version, encoding, standalone) {
	      var ref;
	      XMLDeclaration.__super__.constructor.call(this, parent);
	      if (isObject(version)) {
	        ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone;
	      }
	      if (!version) {
	        version = '1.0';
	      }
	      this.version = this.stringify.xmlVersion(version);
	      if (encoding != null) {
	        this.encoding = this.stringify.xmlEncoding(encoding);
	      }
	      if (standalone != null) {
	        this.standalone = this.stringify.xmlStandalone(standalone);
	      }
	    }

	    XMLDeclaration.prototype.toString = function(options, level) {
	      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      if (pretty) {
	        r += space;
	      }
	      r += '<?xml';
	      r += ' version="' + this.version + '"';
	      if (this.encoding != null) {
	        r += ' encoding="' + this.encoding + '"';
	      }
	      if (this.standalone != null) {
	        r += ' standalone="' + this.standalone + '"';
	      }
	      r += '?>';
	      if (pretty) {
	        r += newline;
	      }
	      return r;
	    };

	    return XMLDeclaration;

	  })(XMLNode);

	}).call(this);


/***/ }),
/* 72 */
/***/ (function(module, exports, __webpack_require__) {

	var baseAssign = __webpack_require__(73),
	    baseCreate = __webpack_require__(74);

	/**
	 * Creates an object that inherits from the `prototype` object. If a
	 * `properties` object is given, its own enumerable string keyed properties
	 * are assigned to the created object.
	 *
	 * @static
	 * @memberOf _
	 * @since 2.3.0
	 * @category Object
	 * @param {Object} prototype The object to inherit from.
	 * @param {Object} [properties] The properties to assign to the object.
	 * @returns {Object} Returns the new object.
	 * @example
	 *
	 * function Shape() {
	 *   this.x = 0;
	 *   this.y = 0;
	 * }
	 *
	 * function Circle() {
	 *   Shape.call(this);
	 * }
	 *
	 * Circle.prototype = _.create(Shape.prototype, {
	 *   'constructor': Circle
	 * });
	 *
	 * var circle = new Circle;
	 * circle instanceof Circle;
	 * // => true
	 *
	 * circle instanceof Shape;
	 * // => true
	 */
	function create(prototype, properties) {
	  var result = baseCreate(prototype);
	  return properties == null ? result : baseAssign(result, properties);
	}

	module.exports = create;


/***/ }),
/* 73 */
/***/ (function(module, exports, __webpack_require__) {

	var copyObject = __webpack_require__(37),
	    keys = __webpack_require__(52);

	/**
	 * The base implementation of `_.assign` without support for multiple sources
	 * or `customizer` functions.
	 *
	 * @private
	 * @param {Object} object The destination object.
	 * @param {Object} source The source object.
	 * @returns {Object} Returns `object`.
	 */
	function baseAssign(object, source) {
	  return object && copyObject(source, keys(source), object);
	}

	module.exports = baseAssign;


/***/ }),
/* 74 */
/***/ (function(module, exports, __webpack_require__) {

	var isObject = __webpack_require__(31);

	/** Built-in value references. */
	var objectCreate = Object.create;

	/**
	 * The base implementation of `_.create` without support for assigning
	 * properties to the created object.
	 *
	 * @private
	 * @param {Object} proto The object to inherit from.
	 * @returns {Object} Returns the new object.
	 */
	var baseCreate = (function() {
	  function object() {}
	  return function(proto) {
	    if (!isObject(proto)) {
	      return {};
	    }
	    if (objectCreate) {
	      return objectCreate(proto);
	    }
	    object.prototype = proto;
	    var result = new object;
	    object.prototype = undefined;
	    return result;
	  };
	}());

	module.exports = baseCreate;


/***/ }),
/* 75 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLElement, XMLNode, XMLRaw, XMLText, isEmpty, isFunction, isObject,
	    hasProp = {}.hasOwnProperty;

	  isObject = __webpack_require__(31);

	  isFunction = __webpack_require__(24);

	  isEmpty = __webpack_require__(76);

	  XMLElement = null;

	  XMLCData = null;

	  XMLComment = null;

	  XMLDeclaration = null;

	  XMLDocType = null;

	  XMLRaw = null;

	  XMLText = null;

	  module.exports = XMLNode = (function() {
	    function XMLNode(parent) {
	      this.parent = parent;
	      this.options = this.parent.options;
	      this.stringify = this.parent.stringify;
	      if (XMLElement === null) {
	        XMLElement = __webpack_require__(83);
	        XMLCData = __webpack_require__(166);
	        XMLComment = __webpack_require__(167);
	        XMLDeclaration = __webpack_require__(71);
	        XMLDocType = __webpack_require__(168);
	        XMLRaw = __webpack_require__(173);
	        XMLText = __webpack_require__(174);
	      }
	    }

	    XMLNode.prototype.element = function(name, attributes, text) {
	      var childNode, item, j, k, key, lastChild, len, len1, ref, val;
	      lastChild = null;
	      if (attributes == null) {
	        attributes = {};
	      }
	      attributes = attributes.valueOf();
	      if (!isObject(attributes)) {
	        ref = [attributes, text], text = ref[0], attributes = ref[1];
	      }
	      if (name != null) {
	        name = name.valueOf();
	      }
	      if (Array.isArray(name)) {
	        for (j = 0, len = name.length; j < len; j++) {
	          item = name[j];
	          lastChild = this.element(item);
	        }
	      } else if (isFunction(name)) {
	        lastChild = this.element(name.apply());
	      } else if (isObject(name)) {
	        for (key in name) {
	          if (!hasProp.call(name, key)) continue;
	          val = name[key];
	          if (isFunction(val)) {
	            val = val.apply();
	          }
	          if ((isObject(val)) && (isEmpty(val))) {
	            val = null;
	          }
	          if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) {
	            lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val);
	          } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && key.indexOf(this.stringify.convertPIKey) === 0) {
	            lastChild = this.instruction(key.substr(this.stringify.convertPIKey.length), val);
	          } else if (!this.options.separateArrayItems && Array.isArray(val)) {
	            for (k = 0, len1 = val.length; k < len1; k++) {
	              item = val[k];
	              childNode = {};
	              childNode[key] = item;
	              lastChild = this.element(childNode);
	            }
	          } else if (isObject(val)) {
	            lastChild = this.element(key);
	            lastChild.element(val);
	          } else {
	            lastChild = this.element(key, val);
	          }
	        }
	      } else {
	        if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) {
	          lastChild = this.text(text);
	        } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) {
	          lastChild = this.cdata(text);
	        } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) {
	          lastChild = this.comment(text);
	        } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) {
	          lastChild = this.raw(text);
	        } else {
	          lastChild = this.node(name, attributes, text);
	        }
	      }
	      if (lastChild == null) {
	        throw new Error("Could not create any elements with: " + name);
	      }
	      return lastChild;
	    };

	    XMLNode.prototype.insertBefore = function(name, attributes, text) {
	      var child, i, removed;
	      if (this.isRoot) {
	        throw new Error("Cannot insert elements at root level");
	      }
	      i = this.parent.children.indexOf(this);
	      removed = this.parent.children.splice(i);
	      child = this.parent.element(name, attributes, text);
	      Array.prototype.push.apply(this.parent.children, removed);
	      return child;
	    };

	    XMLNode.prototype.insertAfter = function(name, attributes, text) {
	      var child, i, removed;
	      if (this.isRoot) {
	        throw new Error("Cannot insert elements at root level");
	      }
	      i = this.parent.children.indexOf(this);
	      removed = this.parent.children.splice(i + 1);
	      child = this.parent.element(name, attributes, text);
	      Array.prototype.push.apply(this.parent.children, removed);
	      return child;
	    };

	    XMLNode.prototype.remove = function() {
	      var i, ref;
	      if (this.isRoot) {
	        throw new Error("Cannot remove the root element");
	      }
	      i = this.parent.children.indexOf(this);
	      [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref = [])), ref;
	      return this.parent;
	    };

	    XMLNode.prototype.node = function(name, attributes, text) {
	      var child, ref;
	      if (name != null) {
	        name = name.valueOf();
	      }
	      if (attributes == null) {
	        attributes = {};
	      }
	      attributes = attributes.valueOf();
	      if (!isObject(attributes)) {
	        ref = [attributes, text], text = ref[0], attributes = ref[1];
	      }
	      child = new XMLElement(this, name, attributes);
	      if (text != null) {
	        child.text(text);
	      }
	      this.children.push(child);
	      return child;
	    };

	    XMLNode.prototype.text = function(value) {
	      var child;
	      child = new XMLText(this, value);
	      this.children.push(child);
	      return this;
	    };

	    XMLNode.prototype.cdata = function(value) {
	      var child;
	      child = new XMLCData(this, value);
	      this.children.push(child);
	      return this;
	    };

	    XMLNode.prototype.comment = function(value) {
	      var child;
	      child = new XMLComment(this, value);
	      this.children.push(child);
	      return this;
	    };

	    XMLNode.prototype.raw = function(value) {
	      var child;
	      child = new XMLRaw(this, value);
	      this.children.push(child);
	      return this;
	    };

	    XMLNode.prototype.declaration = function(version, encoding, standalone) {
	      var doc, xmldec;
	      doc = this.document();
	      xmldec = new XMLDeclaration(doc, version, encoding, standalone);
	      doc.xmldec = xmldec;
	      return doc.root();
	    };

	    XMLNode.prototype.doctype = function(pubID, sysID) {
	      var doc, doctype;
	      doc = this.document();
	      doctype = new XMLDocType(doc, pubID, sysID);
	      doc.doctype = doctype;
	      return doctype;
	    };

	    XMLNode.prototype.up = function() {
	      if (this.isRoot) {
	        throw new Error("The root node has no parent. Use doc() if you need to get the document object.");
	      }
	      return this.parent;
	    };

	    XMLNode.prototype.root = function() {
	      var child;
	      if (this.isRoot) {
	        return this;
	      }
	      child = this.parent;
	      while (!child.isRoot) {
	        child = child.parent;
	      }
	      return child;
	    };

	    XMLNode.prototype.document = function() {
	      return this.root().documentObject;
	    };

	    XMLNode.prototype.end = function(options) {
	      return this.document().toString(options);
	    };

	    XMLNode.prototype.prev = function() {
	      var i;
	      if (this.isRoot) {
	        throw new Error("Root node has no siblings");
	      }
	      i = this.parent.children.indexOf(this);
	      if (i < 1) {
	        throw new Error("Already at the first node");
	      }
	      return this.parent.children[i - 1];
	    };

	    XMLNode.prototype.next = function() {
	      var i;
	      if (this.isRoot) {
	        throw new Error("Root node has no siblings");
	      }
	      i = this.parent.children.indexOf(this);
	      if (i === -1 || i === this.parent.children.length - 1) {
	        throw new Error("Already at the last node");
	      }
	      return this.parent.children[i + 1];
	    };

	    XMLNode.prototype.importXMLBuilder = function(xmlbuilder) {
	      var clonedRoot;
	      clonedRoot = xmlbuilder.root().clone();
	      clonedRoot.parent = this;
	      clonedRoot.isRoot = false;
	      this.children.push(clonedRoot);
	      return this;
	    };

	    XMLNode.prototype.ele = function(name, attributes, text) {
	      return this.element(name, attributes, text);
	    };

	    XMLNode.prototype.nod = function(name, attributes, text) {
	      return this.node(name, attributes, text);
	    };

	    XMLNode.prototype.txt = function(value) {
	      return this.text(value);
	    };

	    XMLNode.prototype.dat = function(value) {
	      return this.cdata(value);
	    };

	    XMLNode.prototype.com = function(value) {
	      return this.comment(value);
	    };

	    XMLNode.prototype.doc = function() {
	      return this.document();
	    };

	    XMLNode.prototype.dec = function(version, encoding, standalone) {
	      return this.declaration(version, encoding, standalone);
	    };

	    XMLNode.prototype.dtd = function(pubID, sysID) {
	      return this.doctype(pubID, sysID);
	    };

	    XMLNode.prototype.e = function(name, attributes, text) {
	      return this.element(name, attributes, text);
	    };

	    XMLNode.prototype.n = function(name, attributes, text) {
	      return this.node(name, attributes, text);
	    };

	    XMLNode.prototype.t = function(value) {
	      return this.text(value);
	    };

	    XMLNode.prototype.d = function(value) {
	      return this.cdata(value);
	    };

	    XMLNode.prototype.c = function(value) {
	      return this.comment(value);
	    };

	    XMLNode.prototype.r = function(value) {
	      return this.raw(value);
	    };

	    XMLNode.prototype.u = function() {
	      return this.up();
	    };

	    return XMLNode;

	  })();

	}).call(this);


/***/ }),
/* 76 */
/***/ (function(module, exports, __webpack_require__) {

	var baseKeys = __webpack_require__(66),
	    getTag = __webpack_require__(77),
	    isArguments = __webpack_require__(55),
	    isArray = __webpack_require__(58),
	    isArrayLike = __webpack_require__(48),
	    isBuffer = __webpack_require__(59),
	    isPrototype = __webpack_require__(51),
	    isTypedArray = __webpack_require__(62);

	/** `Object#toString` result references. */
	var mapTag = '[object Map]',
	    setTag = '[object Set]';

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/**
	 * Checks if `value` is an empty object, collection, map, or set.
	 *
	 * Objects are considered empty if they have no own enumerable string keyed
	 * properties.
	 *
	 * Array-like values such as `arguments` objects, arrays, buffers, strings, or
	 * jQuery-like collections are considered empty if they have a `length` of `0`.
	 * Similarly, maps and sets are considered empty if they have a `size` of `0`.
	 *
	 * @static
	 * @memberOf _
	 * @since 0.1.0
	 * @category Lang
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is empty, else `false`.
	 * @example
	 *
	 * _.isEmpty(null);
	 * // => true
	 *
	 * _.isEmpty(true);
	 * // => true
	 *
	 * _.isEmpty(1);
	 * // => true
	 *
	 * _.isEmpty([1, 2, 3]);
	 * // => false
	 *
	 * _.isEmpty({ 'a': 1 });
	 * // => false
	 */
	function isEmpty(value) {
	  if (value == null) {
	    return true;
	  }
	  if (isArrayLike(value) &&
	      (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||
	        isBuffer(value) || isTypedArray(value) || isArguments(value))) {
	    return !value.length;
	  }
	  var tag = getTag(value);
	  if (tag == mapTag || tag == setTag) {
	    return !value.size;
	  }
	  if (isPrototype(value)) {
	    return !baseKeys(value).length;
	  }
	  for (var key in value) {
	    if (hasOwnProperty.call(value, key)) {
	      return false;
	    }
	  }
	  return true;
	}

	module.exports = isEmpty;


/***/ }),
/* 77 */
/***/ (function(module, exports, __webpack_require__) {

	var DataView = __webpack_require__(78),
	    Map = __webpack_require__(79),
	    Promise = __webpack_require__(80),
	    Set = __webpack_require__(81),
	    WeakMap = __webpack_require__(82),
	    baseGetTag = __webpack_require__(25),
	    toSource = __webpack_require__(34);

	/** `Object#toString` result references. */
	var mapTag = '[object Map]',
	    objectTag = '[object Object]',
	    promiseTag = '[object Promise]',
	    setTag = '[object Set]',
	    weakMapTag = '[object WeakMap]';

	var dataViewTag = '[object DataView]';

	/** Used to detect maps, sets, and weakmaps. */
	var dataViewCtorString = toSource(DataView),
	    mapCtorString = toSource(Map),
	    promiseCtorString = toSource(Promise),
	    setCtorString = toSource(Set),
	    weakMapCtorString = toSource(WeakMap);

	/**
	 * Gets the `toStringTag` of `value`.
	 *
	 * @private
	 * @param {*} value The value to query.
	 * @returns {string} Returns the `toStringTag`.
	 */
	var getTag = baseGetTag;

	// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
	if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
	    (Map && getTag(new Map) != mapTag) ||
	    (Promise && getTag(Promise.resolve()) != promiseTag) ||
	    (Set && getTag(new Set) != setTag) ||
	    (WeakMap && getTag(new WeakMap) != weakMapTag)) {
	  getTag = function(value) {
	    var result = baseGetTag(value),
	        Ctor = result == objectTag ? value.constructor : undefined,
	        ctorString = Ctor ? toSource(Ctor) : '';

	    if (ctorString) {
	      switch (ctorString) {
	        case dataViewCtorString: return dataViewTag;
	        case mapCtorString: return mapTag;
	        case promiseCtorString: return promiseTag;
	        case setCtorString: return setTag;
	        case weakMapCtorString: return weakMapTag;
	      }
	    }
	    return result;
	  };
	}

	module.exports = getTag;


/***/ }),
/* 78 */
/***/ (function(module, exports, __webpack_require__) {

	var getNative = __webpack_require__(22),
	    root = __webpack_require__(27);

	/* Built-in method references that are verified to be native. */
	var DataView = getNative(root, 'DataView');

	module.exports = DataView;


/***/ }),
/* 79 */
/***/ (function(module, exports, __webpack_require__) {

	var getNative = __webpack_require__(22),
	    root = __webpack_require__(27);

	/* Built-in method references that are verified to be native. */
	var Map = getNative(root, 'Map');

	module.exports = Map;


/***/ }),
/* 80 */
/***/ (function(module, exports, __webpack_require__) {

	var getNative = __webpack_require__(22),
	    root = __webpack_require__(27);

	/* Built-in method references that are verified to be native. */
	var Promise = getNative(root, 'Promise');

	module.exports = Promise;


/***/ }),
/* 81 */
/***/ (function(module, exports, __webpack_require__) {

	var getNative = __webpack_require__(22),
	    root = __webpack_require__(27);

	/* Built-in method references that are verified to be native. */
	var Set = getNative(root, 'Set');

	module.exports = Set;


/***/ }),
/* 82 */
/***/ (function(module, exports, __webpack_require__) {

	var getNative = __webpack_require__(22),
	    root = __webpack_require__(27);

	/* Built-in method references that are verified to be native. */
	var WeakMap = getNative(root, 'WeakMap');

	module.exports = WeakMap;


/***/ }),
/* 83 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLAttribute, XMLElement, XMLNode, XMLProcessingInstruction, create, every, isFunction, isObject,
	    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
	    hasProp = {}.hasOwnProperty;

	  create = __webpack_require__(72);

	  isObject = __webpack_require__(31);

	  isFunction = __webpack_require__(24);

	  every = __webpack_require__(84);

	  XMLNode = __webpack_require__(75);

	  XMLAttribute = __webpack_require__(164);

	  XMLProcessingInstruction = __webpack_require__(165);

	  module.exports = XMLElement = (function(superClass) {
	    extend(XMLElement, superClass);

	    function XMLElement(parent, name, attributes) {
	      XMLElement.__super__.constructor.call(this, parent);
	      if (name == null) {
	        throw new Error("Missing element name");
	      }
	      this.name = this.stringify.eleName(name);
	      this.children = [];
	      this.instructions = [];
	      this.attributes = {};
	      if (attributes != null) {
	        this.attribute(attributes);
	      }
	    }

	    XMLElement.prototype.clone = function() {
	      var att, attName, clonedSelf, i, len, pi, ref, ref1;
	      clonedSelf = create(XMLElement.prototype, this);
	      if (clonedSelf.isRoot) {
	        clonedSelf.documentObject = null;
	      }
	      clonedSelf.attributes = {};
	      ref = this.attributes;
	      for (attName in ref) {
	        if (!hasProp.call(ref, attName)) continue;
	        att = ref[attName];
	        clonedSelf.attributes[attName] = att.clone();
	      }
	      clonedSelf.instructions = [];
	      ref1 = this.instructions;
	      for (i = 0, len = ref1.length; i < len; i++) {
	        pi = ref1[i];
	        clonedSelf.instructions.push(pi.clone());
	      }
	      clonedSelf.children = [];
	      this.children.forEach(function(child) {
	        var clonedChild;
	        clonedChild = child.clone();
	        clonedChild.parent = clonedSelf;
	        return clonedSelf.children.push(clonedChild);
	      });
	      return clonedSelf;
	    };

	    XMLElement.prototype.attribute = function(name, value) {
	      var attName, attValue;
	      if (name != null) {
	        name = name.valueOf();
	      }
	      if (isObject(name)) {
	        for (attName in name) {
	          if (!hasProp.call(name, attName)) continue;
	          attValue = name[attName];
	          this.attribute(attName, attValue);
	        }
	      } else {
	        if (isFunction(value)) {
	          value = value.apply();
	        }
	        if (!this.options.skipNullAttributes || (value != null)) {
	          this.attributes[name] = new XMLAttribute(this, name, value);
	        }
	      }
	      return this;
	    };

	    XMLElement.prototype.removeAttribute = function(name) {
	      var attName, i, len;
	      if (name == null) {
	        throw new Error("Missing attribute name");
	      }
	      name = name.valueOf();
	      if (Array.isArray(name)) {
	        for (i = 0, len = name.length; i < len; i++) {
	          attName = name[i];
	          delete this.attributes[attName];
	        }
	      } else {
	        delete this.attributes[name];
	      }
	      return this;
	    };

	    XMLElement.prototype.instruction = function(target, value) {
	      var i, insTarget, insValue, instruction, len;
	      if (target != null) {
	        target = target.valueOf();
	      }
	      if (value != null) {
	        value = value.valueOf();
	      }
	      if (Array.isArray(target)) {
	        for (i = 0, len = target.length; i < len; i++) {
	          insTarget = target[i];
	          this.instruction(insTarget);
	        }
	      } else if (isObject(target)) {
	        for (insTarget in target) {
	          if (!hasProp.call(target, insTarget)) continue;
	          insValue = target[insTarget];
	          this.instruction(insTarget, insValue);
	        }
	      } else {
	        if (isFunction(value)) {
	          value = value.apply();
	        }
	        instruction = new XMLProcessingInstruction(this, target, value);
	        this.instructions.push(instruction);
	      }
	      return this;
	    };

	    XMLElement.prototype.toString = function(options, level) {
	      var att, child, i, indent, instruction, j, len, len1, name, newline, offset, pretty, r, ref, ref1, ref2, ref3, ref4, ref5, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      ref3 = this.instructions;
	      for (i = 0, len = ref3.length; i < len; i++) {
	        instruction = ref3[i];
	        r += instruction.toString(options, level);
	      }
	      if (pretty) {
	        r += space;
	      }
	      r += '<' + this.name;
	      ref4 = this.attributes;
	      for (name in ref4) {
	        if (!hasProp.call(ref4, name)) continue;
	        att = ref4[name];
	        r += att.toString(options);
	      }
	      if (this.children.length === 0 || every(this.children, function(e) {
	        return e.value === '';
	      })) {
	        r += '/>';
	        if (pretty) {
	          r += newline;
	        }
	      } else if (pretty && this.children.length === 1 && (this.children[0].value != null)) {
	        r += '>';
	        r += this.children[0].value;
	        r += '</' + this.name + '>';
	        r += newline;
	      } else {
	        r += '>';
	        if (pretty) {
	          r += newline;
	        }
	        ref5 = this.children;
	        for (j = 0, len1 = ref5.length; j < len1; j++) {
	          child = ref5[j];
	          r += child.toString(options, level + 1);
	        }
	        if (pretty) {
	          r += space;
	        }
	        r += '</' + this.name + '>';
	        if (pretty) {
	          r += newline;
	        }
	      }
	      return r;
	    };

	    XMLElement.prototype.att = function(name, value) {
	      return this.attribute(name, value);
	    };

	    XMLElement.prototype.ins = function(target, value) {
	      return this.instruction(target, value);
	    };

	    XMLElement.prototype.a = function(name, value) {
	      return this.attribute(name, value);
	    };

	    XMLElement.prototype.i = function(target, value) {
	      return this.instruction(target, value);
	    };

	    return XMLElement;

	  })(XMLNode);

	}).call(this);


/***/ }),
/* 84 */
/***/ (function(module, exports, __webpack_require__) {

	var arrayEvery = __webpack_require__(85),
	    baseEvery = __webpack_require__(86),
	    baseIteratee = __webpack_require__(92),
	    isArray = __webpack_require__(58),
	    isIterateeCall = __webpack_require__(47);

	/**
	 * Checks if `predicate` returns truthy for **all** elements of `collection`.
	 * Iteration is stopped once `predicate` returns falsey. The predicate is
	 * invoked with three arguments: (value, index|key, collection).
	 *
	 * **Note:** This method returns `true` for
	 * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because
	 * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of
	 * elements of empty collections.
	 *
	 * @static
	 * @memberOf _
	 * @since 0.1.0
	 * @category Collection
	 * @param {Array|Object} collection The collection to iterate over.
	 * @param {Function} [predicate=_.identity] The function invoked per iteration.
	 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
	 * @returns {boolean} Returns `true` if all elements pass the predicate check,
	 *  else `false`.
	 * @example
	 *
	 * _.every([true, 1, null, 'yes'], Boolean);
	 * // => false
	 *
	 * var users = [
	 *   { 'user': 'barney', 'age': 36, 'active': false },
	 *   { 'user': 'fred',   'age': 40, 'active': false }
	 * ];
	 *
	 * // The `_.matches` iteratee shorthand.
	 * _.every(users, { 'user': 'barney', 'active': false });
	 * // => false
	 *
	 * // The `_.matchesProperty` iteratee shorthand.
	 * _.every(users, ['active', false]);
	 * // => true
	 *
	 * // The `_.property` iteratee shorthand.
	 * _.every(users, 'active');
	 * // => false
	 */
	function every(collection, predicate, guard) {
	  var func = isArray(collection) ? arrayEvery : baseEvery;
	  if (guard && isIterateeCall(collection, predicate, guard)) {
	    predicate = undefined;
	  }
	  return func(collection, baseIteratee(predicate, 3));
	}

	module.exports = every;


/***/ }),
/* 85 */
/***/ (function(module, exports) {

	/**
	 * A specialized version of `_.every` for arrays without support for
	 * iteratee shorthands.
	 *
	 * @private
	 * @param {Array} [array] The array to iterate over.
	 * @param {Function} predicate The function invoked per iteration.
	 * @returns {boolean} Returns `true` if all elements pass the predicate check,
	 *  else `false`.
	 */
	function arrayEvery(array, predicate) {
	  var index = -1,
	      length = array == null ? 0 : array.length;

	  while (++index < length) {
	    if (!predicate(array[index], index, array)) {
	      return false;
	    }
	  }
	  return true;
	}

	module.exports = arrayEvery;


/***/ }),
/* 86 */
/***/ (function(module, exports, __webpack_require__) {

	var baseEach = __webpack_require__(87);

	/**
	 * The base implementation of `_.every` without support for iteratee shorthands.
	 *
	 * @private
	 * @param {Array|Object} collection The collection to iterate over.
	 * @param {Function} predicate The function invoked per iteration.
	 * @returns {boolean} Returns `true` if all elements pass the predicate check,
	 *  else `false`
	 */
	function baseEvery(collection, predicate) {
	  var result = true;
	  baseEach(collection, function(value, index, collection) {
	    result = !!predicate(value, index, collection);
	    return result;
	  });
	  return result;
	}

	module.exports = baseEvery;


/***/ }),
/* 87 */
/***/ (function(module, exports, __webpack_require__) {

	var baseForOwn = __webpack_require__(88),
	    createBaseEach = __webpack_require__(91);

	/**
	 * The base implementation of `_.forEach` without support for iteratee shorthands.
	 *
	 * @private
	 * @param {Array|Object} collection The collection to iterate over.
	 * @param {Function} iteratee The function invoked per iteration.
	 * @returns {Array|Object} Returns `collection`.
	 */
	var baseEach = createBaseEach(baseForOwn);

	module.exports = baseEach;


/***/ }),
/* 88 */
/***/ (function(module, exports, __webpack_require__) {

	var baseFor = __webpack_require__(89),
	    keys = __webpack_require__(52);

	/**
	 * The base implementation of `_.forOwn` without support for iteratee shorthands.
	 *
	 * @private
	 * @param {Object} object The object to iterate over.
	 * @param {Function} iteratee The function invoked per iteration.
	 * @returns {Object} Returns `object`.
	 */
	function baseForOwn(object, iteratee) {
	  return object && baseFor(object, iteratee, keys);
	}

	module.exports = baseForOwn;


/***/ }),
/* 89 */
/***/ (function(module, exports, __webpack_require__) {

	var createBaseFor = __webpack_require__(90);

	/**
	 * The base implementation of `baseForOwn` which iterates over `object`
	 * properties returned by `keysFunc` and invokes `iteratee` for each property.
	 * Iteratee functions may exit iteration early by explicitly returning `false`.
	 *
	 * @private
	 * @param {Object} object The object to iterate over.
	 * @param {Function} iteratee The function invoked per iteration.
	 * @param {Function} keysFunc The function to get the keys of `object`.
	 * @returns {Object} Returns `object`.
	 */
	var baseFor = createBaseFor();

	module.exports = baseFor;


/***/ }),
/* 90 */
/***/ (function(module, exports) {

	/**
	 * Creates a base function for methods like `_.forIn` and `_.forOwn`.
	 *
	 * @private
	 * @param {boolean} [fromRight] Specify iterating from right to left.
	 * @returns {Function} Returns the new base function.
	 */
	function createBaseFor(fromRight) {
	  return function(object, iteratee, keysFunc) {
	    var index = -1,
	        iterable = Object(object),
	        props = keysFunc(object),
	        length = props.length;

	    while (length--) {
	      var key = props[fromRight ? length : ++index];
	      if (iteratee(iterable[key], key, iterable) === false) {
	        break;
	      }
	    }
	    return object;
	  };
	}

	module.exports = createBaseFor;


/***/ }),
/* 91 */
/***/ (function(module, exports, __webpack_require__) {

	var isArrayLike = __webpack_require__(48);

	/**
	 * Creates a `baseEach` or `baseEachRight` function.
	 *
	 * @private
	 * @param {Function} eachFunc The function to iterate over a collection.
	 * @param {boolean} [fromRight] Specify iterating from right to left.
	 * @returns {Function} Returns the new base function.
	 */
	function createBaseEach(eachFunc, fromRight) {
	  return function(collection, iteratee) {
	    if (collection == null) {
	      return collection;
	    }
	    if (!isArrayLike(collection)) {
	      return eachFunc(collection, iteratee);
	    }
	    var length = collection.length,
	        index = fromRight ? length : -1,
	        iterable = Object(collection);

	    while ((fromRight ? index-- : ++index < length)) {
	      if (iteratee(iterable[index], index, iterable) === false) {
	        break;
	      }
	    }
	    return collection;
	  };
	}

	module.exports = createBaseEach;


/***/ }),
/* 92 */
/***/ (function(module, exports, __webpack_require__) {

	var baseMatches = __webpack_require__(93),
	    baseMatchesProperty = __webpack_require__(145),
	    identity = __webpack_require__(40),
	    isArray = __webpack_require__(58),
	    property = __webpack_require__(161);

	/**
	 * The base implementation of `_.iteratee`.
	 *
	 * @private
	 * @param {*} [value=_.identity] The value to convert to an iteratee.
	 * @returns {Function} Returns the iteratee.
	 */
	function baseIteratee(value) {
	  // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
	  // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
	  if (typeof value == 'function') {
	    return value;
	  }
	  if (value == null) {
	    return identity;
	  }
	  if (typeof value == 'object') {
	    return isArray(value)
	      ? baseMatchesProperty(value[0], value[1])
	      : baseMatches(value);
	  }
	  return property(value);
	}

	module.exports = baseIteratee;


/***/ }),
/* 93 */
/***/ (function(module, exports, __webpack_require__) {

	var baseIsMatch = __webpack_require__(94),
	    getMatchData = __webpack_require__(142),
	    matchesStrictComparable = __webpack_require__(144);

	/**
	 * The base implementation of `_.matches` which doesn't clone `source`.
	 *
	 * @private
	 * @param {Object} source The object of property values to match.
	 * @returns {Function} Returns the new spec function.
	 */
	function baseMatches(source) {
	  var matchData = getMatchData(source);
	  if (matchData.length == 1 && matchData[0][2]) {
	    return matchesStrictComparable(matchData[0][0], matchData[0][1]);
	  }
	  return function(object) {
	    return object === source || baseIsMatch(object, source, matchData);
	  };
	}

	module.exports = baseMatches;


/***/ }),
/* 94 */
/***/ (function(module, exports, __webpack_require__) {

	var Stack = __webpack_require__(95),
	    baseIsEqual = __webpack_require__(123);

	/** Used to compose bitmasks for value comparisons. */
	var COMPARE_PARTIAL_FLAG = 1,
	    COMPARE_UNORDERED_FLAG = 2;

	/**
	 * The base implementation of `_.isMatch` without support for iteratee shorthands.
	 *
	 * @private
	 * @param {Object} object The object to inspect.
	 * @param {Object} source The object of property values to match.
	 * @param {Array} matchData The property names, values, and compare flags to match.
	 * @param {Function} [customizer] The function to customize comparisons.
	 * @returns {boolean} Returns `true` if `object` is a match, else `false`.
	 */
	function baseIsMatch(object, source, matchData, customizer) {
	  var index = matchData.length,
	      length = index,
	      noCustomizer = !customizer;

	  if (object == null) {
	    return !length;
	  }
	  object = Object(object);
	  while (index--) {
	    var data = matchData[index];
	    if ((noCustomizer && data[2])
	          ? data[1] !== object[data[0]]
	          : !(data[0] in object)
	        ) {
	      return false;
	    }
	  }
	  while (++index < length) {
	    data = matchData[index];
	    var key = data[0],
	        objValue = object[key],
	        srcValue = data[1];

	    if (noCustomizer && data[2]) {
	      if (objValue === undefined && !(key in object)) {
	        return false;
	      }
	    } else {
	      var stack = new Stack;
	      if (customizer) {
	        var result = customizer(objValue, srcValue, key, object, source, stack);
	      }
	      if (!(result === undefined
	            ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
	            : result
	          )) {
	        return false;
	      }
	    }
	  }
	  return true;
	}

	module.exports = baseIsMatch;


/***/ }),
/* 95 */
/***/ (function(module, exports, __webpack_require__) {

	var ListCache = __webpack_require__(96),
	    stackClear = __webpack_require__(103),
	    stackDelete = __webpack_require__(104),
	    stackGet = __webpack_require__(105),
	    stackHas = __webpack_require__(106),
	    stackSet = __webpack_require__(107);

	/**
	 * Creates a stack cache object to store key-value pairs.
	 *
	 * @private
	 * @constructor
	 * @param {Array} [entries] The key-value pairs to cache.
	 */
	function Stack(entries) {
	  var data = this.__data__ = new ListCache(entries);
	  this.size = data.size;
	}

	// Add methods to `Stack`.
	Stack.prototype.clear = stackClear;
	Stack.prototype['delete'] = stackDelete;
	Stack.prototype.get = stackGet;
	Stack.prototype.has = stackHas;
	Stack.prototype.set = stackSet;

	module.exports = Stack;


/***/ }),
/* 96 */
/***/ (function(module, exports, __webpack_require__) {

	var listCacheClear = __webpack_require__(97),
	    listCacheDelete = __webpack_require__(98),
	    listCacheGet = __webpack_require__(100),
	    listCacheHas = __webpack_require__(101),
	    listCacheSet = __webpack_require__(102);

	/**
	 * Creates an list cache object.
	 *
	 * @private
	 * @constructor
	 * @param {Array} [entries] The key-value pairs to cache.
	 */
	function ListCache(entries) {
	  var index = -1,
	      length = entries == null ? 0 : entries.length;

	  this.clear();
	  while (++index < length) {
	    var entry = entries[index];
	    this.set(entry[0], entry[1]);
	  }
	}

	// Add methods to `ListCache`.
	ListCache.prototype.clear = listCacheClear;
	ListCache.prototype['delete'] = listCacheDelete;
	ListCache.prototype.get = listCacheGet;
	ListCache.prototype.has = listCacheHas;
	ListCache.prototype.set = listCacheSet;

	module.exports = ListCache;


/***/ }),
/* 97 */
/***/ (function(module, exports) {

	/**
	 * Removes all key-value entries from the list cache.
	 *
	 * @private
	 * @name clear
	 * @memberOf ListCache
	 */
	function listCacheClear() {
	  this.__data__ = [];
	  this.size = 0;
	}

	module.exports = listCacheClear;


/***/ }),
/* 98 */
/***/ (function(module, exports, __webpack_require__) {

	var assocIndexOf = __webpack_require__(99);

	/** Used for built-in method references. */
	var arrayProto = Array.prototype;

	/** Built-in value references. */
	var splice = arrayProto.splice;

	/**
	 * Removes `key` and its value from the list cache.
	 *
	 * @private
	 * @name delete
	 * @memberOf ListCache
	 * @param {string} key The key of the value to remove.
	 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
	 */
	function listCacheDelete(key) {
	  var data = this.__data__,
	      index = assocIndexOf(data, key);

	  if (index < 0) {
	    return false;
	  }
	  var lastIndex = data.length - 1;
	  if (index == lastIndex) {
	    data.pop();
	  } else {
	    splice.call(data, index, 1);
	  }
	  --this.size;
	  return true;
	}

	module.exports = listCacheDelete;


/***/ }),
/* 99 */
/***/ (function(module, exports, __webpack_require__) {

	var eq = __webpack_require__(36);

	/**
	 * Gets the index at which the `key` is found in `array` of key-value pairs.
	 *
	 * @private
	 * @param {Array} array The array to inspect.
	 * @param {*} key The key to search for.
	 * @returns {number} Returns the index of the matched value, else `-1`.
	 */
	function assocIndexOf(array, key) {
	  var length = array.length;
	  while (length--) {
	    if (eq(array[length][0], key)) {
	      return length;
	    }
	  }
	  return -1;
	}

	module.exports = assocIndexOf;


/***/ }),
/* 100 */
/***/ (function(module, exports, __webpack_require__) {

	var assocIndexOf = __webpack_require__(99);

	/**
	 * Gets the list cache value for `key`.
	 *
	 * @private
	 * @name get
	 * @memberOf ListCache
	 * @param {string} key The key of the value to get.
	 * @returns {*} Returns the entry value.
	 */
	function listCacheGet(key) {
	  var data = this.__data__,
	      index = assocIndexOf(data, key);

	  return index < 0 ? undefined : data[index][1];
	}

	module.exports = listCacheGet;


/***/ }),
/* 101 */
/***/ (function(module, exports, __webpack_require__) {

	var assocIndexOf = __webpack_require__(99);

	/**
	 * Checks if a list cache value for `key` exists.
	 *
	 * @private
	 * @name has
	 * @memberOf ListCache
	 * @param {string} key The key of the entry to check.
	 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
	 */
	function listCacheHas(key) {
	  return assocIndexOf(this.__data__, key) > -1;
	}

	module.exports = listCacheHas;


/***/ }),
/* 102 */
/***/ (function(module, exports, __webpack_require__) {

	var assocIndexOf = __webpack_require__(99);

	/**
	 * Sets the list cache `key` to `value`.
	 *
	 * @private
	 * @name set
	 * @memberOf ListCache
	 * @param {string} key The key of the value to set.
	 * @param {*} value The value to set.
	 * @returns {Object} Returns the list cache instance.
	 */
	function listCacheSet(key, value) {
	  var data = this.__data__,
	      index = assocIndexOf(data, key);

	  if (index < 0) {
	    ++this.size;
	    data.push([key, value]);
	  } else {
	    data[index][1] = value;
	  }
	  return this;
	}

	module.exports = listCacheSet;


/***/ }),
/* 103 */
/***/ (function(module, exports, __webpack_require__) {

	var ListCache = __webpack_require__(96);

	/**
	 * Removes all key-value entries from the stack.
	 *
	 * @private
	 * @name clear
	 * @memberOf Stack
	 */
	function stackClear() {
	  this.__data__ = new ListCache;
	  this.size = 0;
	}

	module.exports = stackClear;


/***/ }),
/* 104 */
/***/ (function(module, exports) {

	/**
	 * Removes `key` and its value from the stack.
	 *
	 * @private
	 * @name delete
	 * @memberOf Stack
	 * @param {string} key The key of the value to remove.
	 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
	 */
	function stackDelete(key) {
	  var data = this.__data__,
	      result = data['delete'](key);

	  this.size = data.size;
	  return result;
	}

	module.exports = stackDelete;


/***/ }),
/* 105 */
/***/ (function(module, exports) {

	/**
	 * Gets the stack value for `key`.
	 *
	 * @private
	 * @name get
	 * @memberOf Stack
	 * @param {string} key The key of the value to get.
	 * @returns {*} Returns the entry value.
	 */
	function stackGet(key) {
	  return this.__data__.get(key);
	}

	module.exports = stackGet;


/***/ }),
/* 106 */
/***/ (function(module, exports) {

	/**
	 * Checks if a stack value for `key` exists.
	 *
	 * @private
	 * @name has
	 * @memberOf Stack
	 * @param {string} key The key of the entry to check.
	 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
	 */
	function stackHas(key) {
	  return this.__data__.has(key);
	}

	module.exports = stackHas;


/***/ }),
/* 107 */
/***/ (function(module, exports, __webpack_require__) {

	var ListCache = __webpack_require__(96),
	    Map = __webpack_require__(79),
	    MapCache = __webpack_require__(108);

	/** Used as the size to enable large array optimizations. */
	var LARGE_ARRAY_SIZE = 200;

	/**
	 * Sets the stack `key` to `value`.
	 *
	 * @private
	 * @name set
	 * @memberOf Stack
	 * @param {string} key The key of the value to set.
	 * @param {*} value The value to set.
	 * @returns {Object} Returns the stack cache instance.
	 */
	function stackSet(key, value) {
	  var data = this.__data__;
	  if (data instanceof ListCache) {
	    var pairs = data.__data__;
	    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
	      pairs.push([key, value]);
	      this.size = ++data.size;
	      return this;
	    }
	    data = this.__data__ = new MapCache(pairs);
	  }
	  data.set(key, value);
	  this.size = data.size;
	  return this;
	}

	module.exports = stackSet;


/***/ }),
/* 108 */
/***/ (function(module, exports, __webpack_require__) {

	var mapCacheClear = __webpack_require__(109),
	    mapCacheDelete = __webpack_require__(117),
	    mapCacheGet = __webpack_require__(120),
	    mapCacheHas = __webpack_require__(121),
	    mapCacheSet = __webpack_require__(122);

	/**
	 * Creates a map cache object to store key-value pairs.
	 *
	 * @private
	 * @constructor
	 * @param {Array} [entries] The key-value pairs to cache.
	 */
	function MapCache(entries) {
	  var index = -1,
	      length = entries == null ? 0 : entries.length;

	  this.clear();
	  while (++index < length) {
	    var entry = entries[index];
	    this.set(entry[0], entry[1]);
	  }
	}

	// Add methods to `MapCache`.
	MapCache.prototype.clear = mapCacheClear;
	MapCache.prototype['delete'] = mapCacheDelete;
	MapCache.prototype.get = mapCacheGet;
	MapCache.prototype.has = mapCacheHas;
	MapCache.prototype.set = mapCacheSet;

	module.exports = MapCache;


/***/ }),
/* 109 */
/***/ (function(module, exports, __webpack_require__) {

	var Hash = __webpack_require__(110),
	    ListCache = __webpack_require__(96),
	    Map = __webpack_require__(79);

	/**
	 * Removes all key-value entries from the map.
	 *
	 * @private
	 * @name clear
	 * @memberOf MapCache
	 */
	function mapCacheClear() {
	  this.size = 0;
	  this.__data__ = {
	    'hash': new Hash,
	    'map': new (Map || ListCache),
	    'string': new Hash
	  };
	}

	module.exports = mapCacheClear;


/***/ }),
/* 110 */
/***/ (function(module, exports, __webpack_require__) {

	var hashClear = __webpack_require__(111),
	    hashDelete = __webpack_require__(113),
	    hashGet = __webpack_require__(114),
	    hashHas = __webpack_require__(115),
	    hashSet = __webpack_require__(116);

	/**
	 * Creates a hash object.
	 *
	 * @private
	 * @constructor
	 * @param {Array} [entries] The key-value pairs to cache.
	 */
	function Hash(entries) {
	  var index = -1,
	      length = entries == null ? 0 : entries.length;

	  this.clear();
	  while (++index < length) {
	    var entry = entries[index];
	    this.set(entry[0], entry[1]);
	  }
	}

	// Add methods to `Hash`.
	Hash.prototype.clear = hashClear;
	Hash.prototype['delete'] = hashDelete;
	Hash.prototype.get = hashGet;
	Hash.prototype.has = hashHas;
	Hash.prototype.set = hashSet;

	module.exports = Hash;


/***/ }),
/* 111 */
/***/ (function(module, exports, __webpack_require__) {

	var nativeCreate = __webpack_require__(112);

	/**
	 * Removes all key-value entries from the hash.
	 *
	 * @private
	 * @name clear
	 * @memberOf Hash
	 */
	function hashClear() {
	  this.__data__ = nativeCreate ? nativeCreate(null) : {};
	  this.size = 0;
	}

	module.exports = hashClear;


/***/ }),
/* 112 */
/***/ (function(module, exports, __webpack_require__) {

	var getNative = __webpack_require__(22);

	/* Built-in method references that are verified to be native. */
	var nativeCreate = getNative(Object, 'create');

	module.exports = nativeCreate;


/***/ }),
/* 113 */
/***/ (function(module, exports) {

	/**
	 * Removes `key` and its value from the hash.
	 *
	 * @private
	 * @name delete
	 * @memberOf Hash
	 * @param {Object} hash The hash to modify.
	 * @param {string} key The key of the value to remove.
	 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
	 */
	function hashDelete(key) {
	  var result = this.has(key) && delete this.__data__[key];
	  this.size -= result ? 1 : 0;
	  return result;
	}

	module.exports = hashDelete;


/***/ }),
/* 114 */
/***/ (function(module, exports, __webpack_require__) {

	var nativeCreate = __webpack_require__(112);

	/** Used to stand-in for `undefined` hash values. */
	var HASH_UNDEFINED = '__lodash_hash_undefined__';

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/**
	 * Gets the hash value for `key`.
	 *
	 * @private
	 * @name get
	 * @memberOf Hash
	 * @param {string} key The key of the value to get.
	 * @returns {*} Returns the entry value.
	 */
	function hashGet(key) {
	  var data = this.__data__;
	  if (nativeCreate) {
	    var result = data[key];
	    return result === HASH_UNDEFINED ? undefined : result;
	  }
	  return hasOwnProperty.call(data, key) ? data[key] : undefined;
	}

	module.exports = hashGet;


/***/ }),
/* 115 */
/***/ (function(module, exports, __webpack_require__) {

	var nativeCreate = __webpack_require__(112);

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/**
	 * Checks if a hash value for `key` exists.
	 *
	 * @private
	 * @name has
	 * @memberOf Hash
	 * @param {string} key The key of the entry to check.
	 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
	 */
	function hashHas(key) {
	  var data = this.__data__;
	  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
	}

	module.exports = hashHas;


/***/ }),
/* 116 */
/***/ (function(module, exports, __webpack_require__) {

	var nativeCreate = __webpack_require__(112);

	/** Used to stand-in for `undefined` hash values. */
	var HASH_UNDEFINED = '__lodash_hash_undefined__';

	/**
	 * Sets the hash `key` to `value`.
	 *
	 * @private
	 * @name set
	 * @memberOf Hash
	 * @param {string} key The key of the value to set.
	 * @param {*} value The value to set.
	 * @returns {Object} Returns the hash instance.
	 */
	function hashSet(key, value) {
	  var data = this.__data__;
	  this.size += this.has(key) ? 0 : 1;
	  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
	  return this;
	}

	module.exports = hashSet;


/***/ }),
/* 117 */
/***/ (function(module, exports, __webpack_require__) {

	var getMapData = __webpack_require__(118);

	/**
	 * Removes `key` and its value from the map.
	 *
	 * @private
	 * @name delete
	 * @memberOf MapCache
	 * @param {string} key The key of the value to remove.
	 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
	 */
	function mapCacheDelete(key) {
	  var result = getMapData(this, key)['delete'](key);
	  this.size -= result ? 1 : 0;
	  return result;
	}

	module.exports = mapCacheDelete;


/***/ }),
/* 118 */
/***/ (function(module, exports, __webpack_require__) {

	var isKeyable = __webpack_require__(119);

	/**
	 * Gets the data for `map`.
	 *
	 * @private
	 * @param {Object} map The map to query.
	 * @param {string} key The reference key.
	 * @returns {*} Returns the map data.
	 */
	function getMapData(map, key) {
	  var data = map.__data__;
	  return isKeyable(key)
	    ? data[typeof key == 'string' ? 'string' : 'hash']
	    : data.map;
	}

	module.exports = getMapData;


/***/ }),
/* 119 */
/***/ (function(module, exports) {

	/**
	 * Checks if `value` is suitable for use as unique object key.
	 *
	 * @private
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
	 */
	function isKeyable(value) {
	  var type = typeof value;
	  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
	    ? (value !== '__proto__')
	    : (value === null);
	}

	module.exports = isKeyable;


/***/ }),
/* 120 */
/***/ (function(module, exports, __webpack_require__) {

	var getMapData = __webpack_require__(118);

	/**
	 * Gets the map value for `key`.
	 *
	 * @private
	 * @name get
	 * @memberOf MapCache
	 * @param {string} key The key of the value to get.
	 * @returns {*} Returns the entry value.
	 */
	function mapCacheGet(key) {
	  return getMapData(this, key).get(key);
	}

	module.exports = mapCacheGet;


/***/ }),
/* 121 */
/***/ (function(module, exports, __webpack_require__) {

	var getMapData = __webpack_require__(118);

	/**
	 * Checks if a map value for `key` exists.
	 *
	 * @private
	 * @name has
	 * @memberOf MapCache
	 * @param {string} key The key of the entry to check.
	 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
	 */
	function mapCacheHas(key) {
	  return getMapData(this, key).has(key);
	}

	module.exports = mapCacheHas;


/***/ }),
/* 122 */
/***/ (function(module, exports, __webpack_require__) {

	var getMapData = __webpack_require__(118);

	/**
	 * Sets the map `key` to `value`.
	 *
	 * @private
	 * @name set
	 * @memberOf MapCache
	 * @param {string} key The key of the value to set.
	 * @param {*} value The value to set.
	 * @returns {Object} Returns the map cache instance.
	 */
	function mapCacheSet(key, value) {
	  var data = getMapData(this, key),
	      size = data.size;

	  data.set(key, value);
	  this.size += data.size == size ? 0 : 1;
	  return this;
	}

	module.exports = mapCacheSet;


/***/ }),
/* 123 */
/***/ (function(module, exports, __webpack_require__) {

	var baseIsEqualDeep = __webpack_require__(124),
	    isObjectLike = __webpack_require__(57);

	/**
	 * The base implementation of `_.isEqual` which supports partial comparisons
	 * and tracks traversed objects.
	 *
	 * @private
	 * @param {*} value The value to compare.
	 * @param {*} other The other value to compare.
	 * @param {boolean} bitmask The bitmask flags.
	 *  1 - Unordered comparison
	 *  2 - Partial comparison
	 * @param {Function} [customizer] The function to customize comparisons.
	 * @param {Object} [stack] Tracks traversed `value` and `other` objects.
	 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
	 */
	function baseIsEqual(value, other, bitmask, customizer, stack) {
	  if (value === other) {
	    return true;
	  }
	  if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
	    return value !== value && other !== other;
	  }
	  return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
	}

	module.exports = baseIsEqual;


/***/ }),
/* 124 */
/***/ (function(module, exports, __webpack_require__) {

	var Stack = __webpack_require__(95),
	    equalArrays = __webpack_require__(125),
	    equalByTag = __webpack_require__(131),
	    equalObjects = __webpack_require__(135),
	    getTag = __webpack_require__(77),
	    isArray = __webpack_require__(58),
	    isBuffer = __webpack_require__(59),
	    isTypedArray = __webpack_require__(62);

	/** Used to compose bitmasks for value comparisons. */
	var COMPARE_PARTIAL_FLAG = 1;

	/** `Object#toString` result references. */
	var argsTag = '[object Arguments]',
	    arrayTag = '[object Array]',
	    objectTag = '[object Object]';

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/**
	 * A specialized version of `baseIsEqual` for arrays and objects which performs
	 * deep comparisons and tracks traversed objects enabling objects with circular
	 * references to be compared.
	 *
	 * @private
	 * @param {Object} object The object to compare.
	 * @param {Object} other The other object to compare.
	 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
	 * @param {Function} customizer The function to customize comparisons.
	 * @param {Function} equalFunc The function to determine equivalents of values.
	 * @param {Object} [stack] Tracks traversed `object` and `other` objects.
	 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
	 */
	function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
	  var objIsArr = isArray(object),
	      othIsArr = isArray(other),
	      objTag = objIsArr ? arrayTag : getTag(object),
	      othTag = othIsArr ? arrayTag : getTag(other);

	  objTag = objTag == argsTag ? objectTag : objTag;
	  othTag = othTag == argsTag ? objectTag : othTag;

	  var objIsObj = objTag == objectTag,
	      othIsObj = othTag == objectTag,
	      isSameTag = objTag == othTag;

	  if (isSameTag && isBuffer(object)) {
	    if (!isBuffer(other)) {
	      return false;
	    }
	    objIsArr = true;
	    objIsObj = false;
	  }
	  if (isSameTag && !objIsObj) {
	    stack || (stack = new Stack);
	    return (objIsArr || isTypedArray(object))
	      ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
	      : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
	  }
	  if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
	    var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
	        othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');

	    if (objIsWrapped || othIsWrapped) {
	      var objUnwrapped = objIsWrapped ? object.value() : object,
	          othUnwrapped = othIsWrapped ? other.value() : other;

	      stack || (stack = new Stack);
	      return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
	    }
	  }
	  if (!isSameTag) {
	    return false;
	  }
	  stack || (stack = new Stack);
	  return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
	}

	module.exports = baseIsEqualDeep;


/***/ }),
/* 125 */
/***/ (function(module, exports, __webpack_require__) {

	var SetCache = __webpack_require__(126),
	    arraySome = __webpack_require__(129),
	    cacheHas = __webpack_require__(130);

	/** Used to compose bitmasks for value comparisons. */
	var COMPARE_PARTIAL_FLAG = 1,
	    COMPARE_UNORDERED_FLAG = 2;

	/**
	 * A specialized version of `baseIsEqualDeep` for arrays with support for
	 * partial deep comparisons.
	 *
	 * @private
	 * @param {Array} array The array to compare.
	 * @param {Array} other The other array to compare.
	 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
	 * @param {Function} customizer The function to customize comparisons.
	 * @param {Function} equalFunc The function to determine equivalents of values.
	 * @param {Object} stack Tracks traversed `array` and `other` objects.
	 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
	 */
	function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
	  var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
	      arrLength = array.length,
	      othLength = other.length;

	  if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
	    return false;
	  }
	  // Assume cyclic values are equal.
	  var stacked = stack.get(array);
	  if (stacked && stack.get(other)) {
	    return stacked == other;
	  }
	  var index = -1,
	      result = true,
	      seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;

	  stack.set(array, other);
	  stack.set(other, array);

	  // Ignore non-index properties.
	  while (++index < arrLength) {
	    var arrValue = array[index],
	        othValue = other[index];

	    if (customizer) {
	      var compared = isPartial
	        ? customizer(othValue, arrValue, index, other, array, stack)
	        : customizer(arrValue, othValue, index, array, other, stack);
	    }
	    if (compared !== undefined) {
	      if (compared) {
	        continue;
	      }
	      result = false;
	      break;
	    }
	    // Recursively compare arrays (susceptible to call stack limits).
	    if (seen) {
	      if (!arraySome(other, function(othValue, othIndex) {
	            if (!cacheHas(seen, othIndex) &&
	                (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
	              return seen.push(othIndex);
	            }
	          })) {
	        result = false;
	        break;
	      }
	    } else if (!(
	          arrValue === othValue ||
	            equalFunc(arrValue, othValue, bitmask, customizer, stack)
	        )) {
	      result = false;
	      break;
	    }
	  }
	  stack['delete'](array);
	  stack['delete'](other);
	  return result;
	}

	module.exports = equalArrays;


/***/ }),
/* 126 */
/***/ (function(module, exports, __webpack_require__) {

	var MapCache = __webpack_require__(108),
	    setCacheAdd = __webpack_require__(127),
	    setCacheHas = __webpack_require__(128);

	/**
	 *
	 * Creates an array cache object to store unique values.
	 *
	 * @private
	 * @constructor
	 * @param {Array} [values] The values to cache.
	 */
	function SetCache(values) {
	  var index = -1,
	      length = values == null ? 0 : values.length;

	  this.__data__ = new MapCache;
	  while (++index < length) {
	    this.add(values[index]);
	  }
	}

	// Add methods to `SetCache`.
	SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
	SetCache.prototype.has = setCacheHas;

	module.exports = SetCache;


/***/ }),
/* 127 */
/***/ (function(module, exports) {

	/** Used to stand-in for `undefined` hash values. */
	var HASH_UNDEFINED = '__lodash_hash_undefined__';

	/**
	 * Adds `value` to the array cache.
	 *
	 * @private
	 * @name add
	 * @memberOf SetCache
	 * @alias push
	 * @param {*} value The value to cache.
	 * @returns {Object} Returns the cache instance.
	 */
	function setCacheAdd(value) {
	  this.__data__.set(value, HASH_UNDEFINED);
	  return this;
	}

	module.exports = setCacheAdd;


/***/ }),
/* 128 */
/***/ (function(module, exports) {

	/**
	 * Checks if `value` is in the array cache.
	 *
	 * @private
	 * @name has
	 * @memberOf SetCache
	 * @param {*} value The value to search for.
	 * @returns {number} Returns `true` if `value` is found, else `false`.
	 */
	function setCacheHas(value) {
	  return this.__data__.has(value);
	}

	module.exports = setCacheHas;


/***/ }),
/* 129 */
/***/ (function(module, exports) {

	/**
	 * A specialized version of `_.some` for arrays without support for iteratee
	 * shorthands.
	 *
	 * @private
	 * @param {Array} [array] The array to iterate over.
	 * @param {Function} predicate The function invoked per iteration.
	 * @returns {boolean} Returns `true` if any element passes the predicate check,
	 *  else `false`.
	 */
	function arraySome(array, predicate) {
	  var index = -1,
	      length = array == null ? 0 : array.length;

	  while (++index < length) {
	    if (predicate(array[index], index, array)) {
	      return true;
	    }
	  }
	  return false;
	}

	module.exports = arraySome;


/***/ }),
/* 130 */
/***/ (function(module, exports) {

	/**
	 * Checks if a `cache` value for `key` exists.
	 *
	 * @private
	 * @param {Object} cache The cache to query.
	 * @param {string} key The key of the entry to check.
	 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
	 */
	function cacheHas(cache, key) {
	  return cache.has(key);
	}

	module.exports = cacheHas;


/***/ }),
/* 131 */
/***/ (function(module, exports, __webpack_require__) {

	var Symbol = __webpack_require__(26),
	    Uint8Array = __webpack_require__(132),
	    eq = __webpack_require__(36),
	    equalArrays = __webpack_require__(125),
	    mapToArray = __webpack_require__(133),
	    setToArray = __webpack_require__(134);

	/** Used to compose bitmasks for value comparisons. */
	var COMPARE_PARTIAL_FLAG = 1,
	    COMPARE_UNORDERED_FLAG = 2;

	/** `Object#toString` result references. */
	var boolTag = '[object Boolean]',
	    dateTag = '[object Date]',
	    errorTag = '[object Error]',
	    mapTag = '[object Map]',
	    numberTag = '[object Number]',
	    regexpTag = '[object RegExp]',
	    setTag = '[object Set]',
	    stringTag = '[object String]',
	    symbolTag = '[object Symbol]';

	var arrayBufferTag = '[object ArrayBuffer]',
	    dataViewTag = '[object DataView]';

	/** Used to convert symbols to primitives and strings. */
	var symbolProto = Symbol ? Symbol.prototype : undefined,
	    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;

	/**
	 * A specialized version of `baseIsEqualDeep` for comparing objects of
	 * the same `toStringTag`.
	 *
	 * **Note:** This function only supports comparing values with tags of
	 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
	 *
	 * @private
	 * @param {Object} object The object to compare.
	 * @param {Object} other The other object to compare.
	 * @param {string} tag The `toStringTag` of the objects to compare.
	 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
	 * @param {Function} customizer The function to customize comparisons.
	 * @param {Function} equalFunc The function to determine equivalents of values.
	 * @param {Object} stack Tracks traversed `object` and `other` objects.
	 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
	 */
	function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
	  switch (tag) {
	    case dataViewTag:
	      if ((object.byteLength != other.byteLength) ||
	          (object.byteOffset != other.byteOffset)) {
	        return false;
	      }
	      object = object.buffer;
	      other = other.buffer;

	    case arrayBufferTag:
	      if ((object.byteLength != other.byteLength) ||
	          !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
	        return false;
	      }
	      return true;

	    case boolTag:
	    case dateTag:
	    case numberTag:
	      // Coerce booleans to `1` or `0` and dates to milliseconds.
	      // Invalid dates are coerced to `NaN`.
	      return eq(+object, +other);

	    case errorTag:
	      return object.name == other.name && object.message == other.message;

	    case regexpTag:
	    case stringTag:
	      // Coerce regexes to strings and treat strings, primitives and objects,
	      // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
	      // for more details.
	      return object == (other + '');

	    case mapTag:
	      var convert = mapToArray;

	    case setTag:
	      var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
	      convert || (convert = setToArray);

	      if (object.size != other.size && !isPartial) {
	        return false;
	      }
	      // Assume cyclic values are equal.
	      var stacked = stack.get(object);
	      if (stacked) {
	        return stacked == other;
	      }
	      bitmask |= COMPARE_UNORDERED_FLAG;

	      // Recursively compare objects (susceptible to call stack limits).
	      stack.set(object, other);
	      var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
	      stack['delete'](object);
	      return result;

	    case symbolTag:
	      if (symbolValueOf) {
	        return symbolValueOf.call(object) == symbolValueOf.call(other);
	      }
	  }
	  return false;
	}

	module.exports = equalByTag;


/***/ }),
/* 132 */
/***/ (function(module, exports, __webpack_require__) {

	var root = __webpack_require__(27);

	/** Built-in value references. */
	var Uint8Array = root.Uint8Array;

	module.exports = Uint8Array;


/***/ }),
/* 133 */
/***/ (function(module, exports) {

	/**
	 * Converts `map` to its key-value pairs.
	 *
	 * @private
	 * @param {Object} map The map to convert.
	 * @returns {Array} Returns the key-value pairs.
	 */
	function mapToArray(map) {
	  var index = -1,
	      result = Array(map.size);

	  map.forEach(function(value, key) {
	    result[++index] = [key, value];
	  });
	  return result;
	}

	module.exports = mapToArray;


/***/ }),
/* 134 */
/***/ (function(module, exports) {

	/**
	 * Converts `set` to an array of its values.
	 *
	 * @private
	 * @param {Object} set The set to convert.
	 * @returns {Array} Returns the values.
	 */
	function setToArray(set) {
	  var index = -1,
	      result = Array(set.size);

	  set.forEach(function(value) {
	    result[++index] = value;
	  });
	  return result;
	}

	module.exports = setToArray;


/***/ }),
/* 135 */
/***/ (function(module, exports, __webpack_require__) {

	var getAllKeys = __webpack_require__(136);

	/** Used to compose bitmasks for value comparisons. */
	var COMPARE_PARTIAL_FLAG = 1;

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Used to check objects for own properties. */
	var hasOwnProperty = objectProto.hasOwnProperty;

	/**
	 * A specialized version of `baseIsEqualDeep` for objects with support for
	 * partial deep comparisons.
	 *
	 * @private
	 * @param {Object} object The object to compare.
	 * @param {Object} other The other object to compare.
	 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
	 * @param {Function} customizer The function to customize comparisons.
	 * @param {Function} equalFunc The function to determine equivalents of values.
	 * @param {Object} stack Tracks traversed `object` and `other` objects.
	 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
	 */
	function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
	  var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
	      objProps = getAllKeys(object),
	      objLength = objProps.length,
	      othProps = getAllKeys(other),
	      othLength = othProps.length;

	  if (objLength != othLength && !isPartial) {
	    return false;
	  }
	  var index = objLength;
	  while (index--) {
	    var key = objProps[index];
	    if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
	      return false;
	    }
	  }
	  // Assume cyclic values are equal.
	  var stacked = stack.get(object);
	  if (stacked && stack.get(other)) {
	    return stacked == other;
	  }
	  var result = true;
	  stack.set(object, other);
	  stack.set(other, object);

	  var skipCtor = isPartial;
	  while (++index < objLength) {
	    key = objProps[index];
	    var objValue = object[key],
	        othValue = other[key];

	    if (customizer) {
	      var compared = isPartial
	        ? customizer(othValue, objValue, key, other, object, stack)
	        : customizer(objValue, othValue, key, object, other, stack);
	    }
	    // Recursively compare objects (susceptible to call stack limits).
	    if (!(compared === undefined
	          ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
	          : compared
	        )) {
	      result = false;
	      break;
	    }
	    skipCtor || (skipCtor = key == 'constructor');
	  }
	  if (result && !skipCtor) {
	    var objCtor = object.constructor,
	        othCtor = other.constructor;

	    // Non `Object` object instances with different constructors are not equal.
	    if (objCtor != othCtor &&
	        ('constructor' in object && 'constructor' in other) &&
	        !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
	          typeof othCtor == 'function' && othCtor instanceof othCtor)) {
	      result = false;
	    }
	  }
	  stack['delete'](object);
	  stack['delete'](other);
	  return result;
	}

	module.exports = equalObjects;


/***/ }),
/* 136 */
/***/ (function(module, exports, __webpack_require__) {

	var baseGetAllKeys = __webpack_require__(137),
	    getSymbols = __webpack_require__(139),
	    keys = __webpack_require__(52);

	/**
	 * Creates an array of own enumerable property names and symbols of `object`.
	 *
	 * @private
	 * @param {Object} object The object to query.
	 * @returns {Array} Returns the array of property names and symbols.
	 */
	function getAllKeys(object) {
	  return baseGetAllKeys(object, keys, getSymbols);
	}

	module.exports = getAllKeys;


/***/ }),
/* 137 */
/***/ (function(module, exports, __webpack_require__) {

	var arrayPush = __webpack_require__(138),
	    isArray = __webpack_require__(58);

	/**
	 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
	 * `keysFunc` and `symbolsFunc` to get the enumerable property names and
	 * symbols of `object`.
	 *
	 * @private
	 * @param {Object} object The object to query.
	 * @param {Function} keysFunc The function to get the keys of `object`.
	 * @param {Function} symbolsFunc The function to get the symbols of `object`.
	 * @returns {Array} Returns the array of property names and symbols.
	 */
	function baseGetAllKeys(object, keysFunc, symbolsFunc) {
	  var result = keysFunc(object);
	  return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
	}

	module.exports = baseGetAllKeys;


/***/ }),
/* 138 */
/***/ (function(module, exports) {

	/**
	 * Appends the elements of `values` to `array`.
	 *
	 * @private
	 * @param {Array} array The array to modify.
	 * @param {Array} values The values to append.
	 * @returns {Array} Returns `array`.
	 */
	function arrayPush(array, values) {
	  var index = -1,
	      length = values.length,
	      offset = array.length;

	  while (++index < length) {
	    array[offset + index] = values[index];
	  }
	  return array;
	}

	module.exports = arrayPush;


/***/ }),
/* 139 */
/***/ (function(module, exports, __webpack_require__) {

	var arrayFilter = __webpack_require__(140),
	    stubArray = __webpack_require__(141);

	/** Used for built-in method references. */
	var objectProto = Object.prototype;

	/** Built-in value references. */
	var propertyIsEnumerable = objectProto.propertyIsEnumerable;

	/* Built-in method references for those with the same name as other `lodash` methods. */
	var nativeGetSymbols = Object.getOwnPropertySymbols;

	/**
	 * Creates an array of the own enumerable symbols of `object`.
	 *
	 * @private
	 * @param {Object} object The object to query.
	 * @returns {Array} Returns the array of symbols.
	 */
	var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
	  if (object == null) {
	    return [];
	  }
	  object = Object(object);
	  return arrayFilter(nativeGetSymbols(object), function(symbol) {
	    return propertyIsEnumerable.call(object, symbol);
	  });
	};

	module.exports = getSymbols;


/***/ }),
/* 140 */
/***/ (function(module, exports) {

	/**
	 * A specialized version of `_.filter` for arrays without support for
	 * iteratee shorthands.
	 *
	 * @private
	 * @param {Array} [array] The array to iterate over.
	 * @param {Function} predicate The function invoked per iteration.
	 * @returns {Array} Returns the new filtered array.
	 */
	function arrayFilter(array, predicate) {
	  var index = -1,
	      length = array == null ? 0 : array.length,
	      resIndex = 0,
	      result = [];

	  while (++index < length) {
	    var value = array[index];
	    if (predicate(value, index, array)) {
	      result[resIndex++] = value;
	    }
	  }
	  return result;
	}

	module.exports = arrayFilter;


/***/ }),
/* 141 */
/***/ (function(module, exports) {

	/**
	 * This method returns a new empty array.
	 *
	 * @static
	 * @memberOf _
	 * @since 4.13.0
	 * @category Util
	 * @returns {Array} Returns the new empty array.
	 * @example
	 *
	 * var arrays = _.times(2, _.stubArray);
	 *
	 * console.log(arrays);
	 * // => [[], []]
	 *
	 * console.log(arrays[0] === arrays[1]);
	 * // => false
	 */
	function stubArray() {
	  return [];
	}

	module.exports = stubArray;


/***/ }),
/* 142 */
/***/ (function(module, exports, __webpack_require__) {

	var isStrictComparable = __webpack_require__(143),
	    keys = __webpack_require__(52);

	/**
	 * Gets the property names, values, and compare flags of `object`.
	 *
	 * @private
	 * @param {Object} object The object to query.
	 * @returns {Array} Returns the match data of `object`.
	 */
	function getMatchData(object) {
	  var result = keys(object),
	      length = result.length;

	  while (length--) {
	    var key = result[length],
	        value = object[key];

	    result[length] = [key, value, isStrictComparable(value)];
	  }
	  return result;
	}

	module.exports = getMatchData;


/***/ }),
/* 143 */
/***/ (function(module, exports, __webpack_require__) {

	var isObject = __webpack_require__(31);

	/**
	 * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
	 *
	 * @private
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` if suitable for strict
	 *  equality comparisons, else `false`.
	 */
	function isStrictComparable(value) {
	  return value === value && !isObject(value);
	}

	module.exports = isStrictComparable;


/***/ }),
/* 144 */
/***/ (function(module, exports) {

	/**
	 * A specialized version of `matchesProperty` for source values suitable
	 * for strict equality comparisons, i.e. `===`.
	 *
	 * @private
	 * @param {string} key The key of the property to get.
	 * @param {*} srcValue The value to match.
	 * @returns {Function} Returns the new spec function.
	 */
	function matchesStrictComparable(key, srcValue) {
	  return function(object) {
	    if (object == null) {
	      return false;
	    }
	    return object[key] === srcValue &&
	      (srcValue !== undefined || (key in Object(object)));
	  };
	}

	module.exports = matchesStrictComparable;


/***/ }),
/* 145 */
/***/ (function(module, exports, __webpack_require__) {

	var baseIsEqual = __webpack_require__(123),
	    get = __webpack_require__(146),
	    hasIn = __webpack_require__(158),
	    isKey = __webpack_require__(149),
	    isStrictComparable = __webpack_require__(143),
	    matchesStrictComparable = __webpack_require__(144),
	    toKey = __webpack_require__(157);

	/** Used to compose bitmasks for value comparisons. */
	var COMPARE_PARTIAL_FLAG = 1,
	    COMPARE_UNORDERED_FLAG = 2;

	/**
	 * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
	 *
	 * @private
	 * @param {string} path The path of the property to get.
	 * @param {*} srcValue The value to match.
	 * @returns {Function} Returns the new spec function.
	 */
	function baseMatchesProperty(path, srcValue) {
	  if (isKey(path) && isStrictComparable(srcValue)) {
	    return matchesStrictComparable(toKey(path), srcValue);
	  }
	  return function(object) {
	    var objValue = get(object, path);
	    return (objValue === undefined && objValue === srcValue)
	      ? hasIn(object, path)
	      : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
	  };
	}

	module.exports = baseMatchesProperty;


/***/ }),
/* 146 */
/***/ (function(module, exports, __webpack_require__) {

	var baseGet = __webpack_require__(147);

	/**
	 * Gets the value at `path` of `object`. If the resolved value is
	 * `undefined`, the `defaultValue` is returned in its place.
	 *
	 * @static
	 * @memberOf _
	 * @since 3.7.0
	 * @category Object
	 * @param {Object} object The object to query.
	 * @param {Array|string} path The path of the property to get.
	 * @param {*} [defaultValue] The value returned for `undefined` resolved values.
	 * @returns {*} Returns the resolved value.
	 * @example
	 *
	 * var object = { 'a': [{ 'b': { 'c': 3 } }] };
	 *
	 * _.get(object, 'a[0].b.c');
	 * // => 3
	 *
	 * _.get(object, ['a', '0', 'b', 'c']);
	 * // => 3
	 *
	 * _.get(object, 'a.b.c', 'default');
	 * // => 'default'
	 */
	function get(object, path, defaultValue) {
	  var result = object == null ? undefined : baseGet(object, path);
	  return result === undefined ? defaultValue : result;
	}

	module.exports = get;


/***/ }),
/* 147 */
/***/ (function(module, exports, __webpack_require__) {

	var castPath = __webpack_require__(148),
	    toKey = __webpack_require__(157);

	/**
	 * The base implementation of `_.get` without support for default values.
	 *
	 * @private
	 * @param {Object} object The object to query.
	 * @param {Array|string} path The path of the property to get.
	 * @returns {*} Returns the resolved value.
	 */
	function baseGet(object, path) {
	  path = castPath(path, object);

	  var index = 0,
	      length = path.length;

	  while (object != null && index < length) {
	    object = object[toKey(path[index++])];
	  }
	  return (index && index == length) ? object : undefined;
	}

	module.exports = baseGet;


/***/ }),
/* 148 */
/***/ (function(module, exports, __webpack_require__) {

	var isArray = __webpack_require__(58),
	    isKey = __webpack_require__(149),
	    stringToPath = __webpack_require__(151),
	    toString = __webpack_require__(154);

	/**
	 * Casts `value` to a path array if it's not one.
	 *
	 * @private
	 * @param {*} value The value to inspect.
	 * @param {Object} [object] The object to query keys on.
	 * @returns {Array} Returns the cast property path array.
	 */
	function castPath(value, object) {
	  if (isArray(value)) {
	    return value;
	  }
	  return isKey(value, object) ? [value] : stringToPath(toString(value));
	}

	module.exports = castPath;


/***/ }),
/* 149 */
/***/ (function(module, exports, __webpack_require__) {

	var isArray = __webpack_require__(58),
	    isSymbol = __webpack_require__(150);

	/** Used to match property names within property paths. */
	var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
	    reIsPlainProp = /^\w*$/;

	/**
	 * Checks if `value` is a property name and not a property path.
	 *
	 * @private
	 * @param {*} value The value to check.
	 * @param {Object} [object] The object to query keys on.
	 * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
	 */
	function isKey(value, object) {
	  if (isArray(value)) {
	    return false;
	  }
	  var type = typeof value;
	  if (type == 'number' || type == 'symbol' || type == 'boolean' ||
	      value == null || isSymbol(value)) {
	    return true;
	  }
	  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
	    (object != null && value in Object(object));
	}

	module.exports = isKey;


/***/ }),
/* 150 */
/***/ (function(module, exports, __webpack_require__) {

	var baseGetTag = __webpack_require__(25),
	    isObjectLike = __webpack_require__(57);

	/** `Object#toString` result references. */
	var symbolTag = '[object Symbol]';

	/**
	 * Checks if `value` is classified as a `Symbol` primitive or object.
	 *
	 * @static
	 * @memberOf _
	 * @since 4.0.0
	 * @category Lang
	 * @param {*} value The value to check.
	 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
	 * @example
	 *
	 * _.isSymbol(Symbol.iterator);
	 * // => true
	 *
	 * _.isSymbol('abc');
	 * // => false
	 */
	function isSymbol(value) {
	  return typeof value == 'symbol' ||
	    (isObjectLike(value) && baseGetTag(value) == symbolTag);
	}

	module.exports = isSymbol;


/***/ }),
/* 151 */
/***/ (function(module, exports, __webpack_require__) {

	var memoizeCapped = __webpack_require__(152);

	/** Used to match property names within property paths. */
	var reLeadingDot = /^\./,
	    rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;

	/** Used to match backslashes in property paths. */
	var reEscapeChar = /\\(\\)?/g;

	/**
	 * Converts `string` to a property path array.
	 *
	 * @private
	 * @param {string} string The string to convert.
	 * @returns {Array} Returns the property path array.
	 */
	var stringToPath = memoizeCapped(function(string) {
	  var result = [];
	  if (reLeadingDot.test(string)) {
	    result.push('');
	  }
	  string.replace(rePropName, function(match, number, quote, string) {
	    result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
	  });
	  return result;
	});

	module.exports = stringToPath;


/***/ }),
/* 152 */
/***/ (function(module, exports, __webpack_require__) {

	var memoize = __webpack_require__(153);

	/** Used as the maximum memoize cache size. */
	var MAX_MEMOIZE_SIZE = 500;

	/**
	 * A specialized version of `_.memoize` which clears the memoized function's
	 * cache when it exceeds `MAX_MEMOIZE_SIZE`.
	 *
	 * @private
	 * @param {Function} func The function to have its output memoized.
	 * @returns {Function} Returns the new memoized function.
	 */
	function memoizeCapped(func) {
	  var result = memoize(func, function(key) {
	    if (cache.size === MAX_MEMOIZE_SIZE) {
	      cache.clear();
	    }
	    return key;
	  });

	  var cache = result.cache;
	  return result;
	}

	module.exports = memoizeCapped;


/***/ }),
/* 153 */
/***/ (function(module, exports, __webpack_require__) {

	var MapCache = __webpack_require__(108);

	/** Error message constants. */
	var FUNC_ERROR_TEXT = 'Expected a function';

	/**
	 * Creates a function that memoizes the result of `func`. If `resolver` is
	 * provided, it determines the cache key for storing the result based on the
	 * arguments provided to the memoized function. By default, the first argument
	 * provided to the memoized function is used as the map cache key. The `func`
	 * is invoked with the `this` binding of the memoized function.
	 *
	 * **Note:** The cache is exposed as the `cache` property on the memoized
	 * function. Its creation may be customized by replacing the `_.memoize.Cache`
	 * constructor with one whose instances implement the
	 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
	 * method interface of `clear`, `delete`, `get`, `has`, and `set`.
	 *
	 * @static
	 * @memberOf _
	 * @since 0.1.0
	 * @category Function
	 * @param {Function} func The function to have its output memoized.
	 * @param {Function} [resolver] The function to resolve the cache key.
	 * @returns {Function} Returns the new memoized function.
	 * @example
	 *
	 * var object = { 'a': 1, 'b': 2 };
	 * var other = { 'c': 3, 'd': 4 };
	 *
	 * var values = _.memoize(_.values);
	 * values(object);
	 * // => [1, 2]
	 *
	 * values(other);
	 * // => [3, 4]
	 *
	 * object.a = 2;
	 * values(object);
	 * // => [1, 2]
	 *
	 * // Modify the result cache.
	 * values.cache.set(object, ['a', 'b']);
	 * values(object);
	 * // => ['a', 'b']
	 *
	 * // Replace `_.memoize.Cache`.
	 * _.memoize.Cache = WeakMap;
	 */
	function memoize(func, resolver) {
	  if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
	    throw new TypeError(FUNC_ERROR_TEXT);
	  }
	  var memoized = function() {
	    var args = arguments,
	        key = resolver ? resolver.apply(this, args) : args[0],
	        cache = memoized.cache;

	    if (cache.has(key)) {
	      return cache.get(key);
	    }
	    var result = func.apply(this, args);
	    memoized.cache = cache.set(key, result) || cache;
	    return result;
	  };
	  memoized.cache = new (memoize.Cache || MapCache);
	  return memoized;
	}

	// Expose `MapCache`.
	memoize.Cache = MapCache;

	module.exports = memoize;


/***/ }),
/* 154 */
/***/ (function(module, exports, __webpack_require__) {

	var baseToString = __webpack_require__(155);

	/**
	 * Converts `value` to a string. An empty string is returned for `null`
	 * and `undefined` values. The sign of `-0` is preserved.
	 *
	 * @static
	 * @memberOf _
	 * @since 4.0.0
	 * @category Lang
	 * @param {*} value The value to convert.
	 * @returns {string} Returns the converted string.
	 * @example
	 *
	 * _.toString(null);
	 * // => ''
	 *
	 * _.toString(-0);
	 * // => '-0'
	 *
	 * _.toString([1, 2, 3]);
	 * // => '1,2,3'
	 */
	function toString(value) {
	  return value == null ? '' : baseToString(value);
	}

	module.exports = toString;


/***/ }),
/* 155 */
/***/ (function(module, exports, __webpack_require__) {

	var Symbol = __webpack_require__(26),
	    arrayMap = __webpack_require__(156),
	    isArray = __webpack_require__(58),
	    isSymbol = __webpack_require__(150);

	/** Used as references for various `Number` constants. */
	var INFINITY = 1 / 0;

	/** Used to convert symbols to primitives and strings. */
	var symbolProto = Symbol ? Symbol.prototype : undefined,
	    symbolToString = symbolProto ? symbolProto.toString : undefined;

	/**
	 * The base implementation of `_.toString` which doesn't convert nullish
	 * values to empty strings.
	 *
	 * @private
	 * @param {*} value The value to process.
	 * @returns {string} Returns the string.
	 */
	function baseToString(value) {
	  // Exit early for strings to avoid a performance hit in some environments.
	  if (typeof value == 'string') {
	    return value;
	  }
	  if (isArray(value)) {
	    // Recursively convert values (susceptible to call stack limits).
	    return arrayMap(value, baseToString) + '';
	  }
	  if (isSymbol(value)) {
	    return symbolToString ? symbolToString.call(value) : '';
	  }
	  var result = (value + '');
	  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
	}

	module.exports = baseToString;


/***/ }),
/* 156 */
/***/ (function(module, exports) {

	/**
	 * A specialized version of `_.map` for arrays without support for iteratee
	 * shorthands.
	 *
	 * @private
	 * @param {Array} [array] The array to iterate over.
	 * @param {Function} iteratee The function invoked per iteration.
	 * @returns {Array} Returns the new mapped array.
	 */
	function arrayMap(array, iteratee) {
	  var index = -1,
	      length = array == null ? 0 : array.length,
	      result = Array(length);

	  while (++index < length) {
	    result[index] = iteratee(array[index], index, array);
	  }
	  return result;
	}

	module.exports = arrayMap;


/***/ }),
/* 157 */
/***/ (function(module, exports, __webpack_require__) {

	var isSymbol = __webpack_require__(150);

	/** Used as references for various `Number` constants. */
	var INFINITY = 1 / 0;

	/**
	 * Converts `value` to a string key if it's not a string or symbol.
	 *
	 * @private
	 * @param {*} value The value to inspect.
	 * @returns {string|symbol} Returns the key.
	 */
	function toKey(value) {
	  if (typeof value == 'string' || isSymbol(value)) {
	    return value;
	  }
	  var result = (value + '');
	  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
	}

	module.exports = toKey;


/***/ }),
/* 158 */
/***/ (function(module, exports, __webpack_require__) {

	var baseHasIn = __webpack_require__(159),
	    hasPath = __webpack_require__(160);

	/**
	 * Checks if `path` is a direct or inherited property of `object`.
	 *
	 * @static
	 * @memberOf _
	 * @since 4.0.0
	 * @category Object
	 * @param {Object} object The object to query.
	 * @param {Array|string} path The path to check.
	 * @returns {boolean} Returns `true` if `path` exists, else `false`.
	 * @example
	 *
	 * var object = _.create({ 'a': _.create({ 'b': 2 }) });
	 *
	 * _.hasIn(object, 'a');
	 * // => true
	 *
	 * _.hasIn(object, 'a.b');
	 * // => true
	 *
	 * _.hasIn(object, ['a', 'b']);
	 * // => true
	 *
	 * _.hasIn(object, 'b');
	 * // => false
	 */
	function hasIn(object, path) {
	  return object != null && hasPath(object, path, baseHasIn);
	}

	module.exports = hasIn;


/***/ }),
/* 159 */
/***/ (function(module, exports) {

	/**
	 * The base implementation of `_.hasIn` without support for deep paths.
	 *
	 * @private
	 * @param {Object} [object] The object to query.
	 * @param {Array|string} key The key to check.
	 * @returns {boolean} Returns `true` if `key` exists, else `false`.
	 */
	function baseHasIn(object, key) {
	  return object != null && key in Object(object);
	}

	module.exports = baseHasIn;


/***/ }),
/* 160 */
/***/ (function(module, exports, __webpack_require__) {

	var castPath = __webpack_require__(148),
	    isArguments = __webpack_require__(55),
	    isArray = __webpack_require__(58),
	    isIndex = __webpack_require__(50),
	    isLength = __webpack_require__(49),
	    toKey = __webpack_require__(157);

	/**
	 * Checks if `path` exists on `object`.
	 *
	 * @private
	 * @param {Object} object The object to query.
	 * @param {Array|string} path The path to check.
	 * @param {Function} hasFunc The function to check properties.
	 * @returns {boolean} Returns `true` if `path` exists, else `false`.
	 */
	function hasPath(object, path, hasFunc) {
	  path = castPath(path, object);

	  var index = -1,
	      length = path.length,
	      result = false;

	  while (++index < length) {
	    var key = toKey(path[index]);
	    if (!(result = object != null && hasFunc(object, key))) {
	      break;
	    }
	    object = object[key];
	  }
	  if (result || ++index != length) {
	    return result;
	  }
	  length = object == null ? 0 : object.length;
	  return !!length && isLength(length) && isIndex(key, length) &&
	    (isArray(object) || isArguments(object));
	}

	module.exports = hasPath;


/***/ }),
/* 161 */
/***/ (function(module, exports, __webpack_require__) {

	var baseProperty = __webpack_require__(162),
	    basePropertyDeep = __webpack_require__(163),
	    isKey = __webpack_require__(149),
	    toKey = __webpack_require__(157);

	/**
	 * Creates a function that returns the value at `path` of a given object.
	 *
	 * @static
	 * @memberOf _
	 * @since 2.4.0
	 * @category Util
	 * @param {Array|string} path The path of the property to get.
	 * @returns {Function} Returns the new accessor function.
	 * @example
	 *
	 * var objects = [
	 *   { 'a': { 'b': 2 } },
	 *   { 'a': { 'b': 1 } }
	 * ];
	 *
	 * _.map(objects, _.property('a.b'));
	 * // => [2, 1]
	 *
	 * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
	 * // => [1, 2]
	 */
	function property(path) {
	  return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
	}

	module.exports = property;


/***/ }),
/* 162 */
/***/ (function(module, exports) {

	/**
	 * The base implementation of `_.property` without support for deep paths.
	 *
	 * @private
	 * @param {string} key The key of the property to get.
	 * @returns {Function} Returns the new accessor function.
	 */
	function baseProperty(key) {
	  return function(object) {
	    return object == null ? undefined : object[key];
	  };
	}

	module.exports = baseProperty;


/***/ }),
/* 163 */
/***/ (function(module, exports, __webpack_require__) {

	var baseGet = __webpack_require__(147);

	/**
	 * A specialized version of `baseProperty` which supports deep paths.
	 *
	 * @private
	 * @param {Array|string} path The path of the property to get.
	 * @returns {Function} Returns the new accessor function.
	 */
	function basePropertyDeep(path) {
	  return function(object) {
	    return baseGet(object, path);
	  };
	}

	module.exports = basePropertyDeep;


/***/ }),
/* 164 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLAttribute, create;

	  create = __webpack_require__(72);

	  module.exports = XMLAttribute = (function() {
	    function XMLAttribute(parent, name, value) {
	      this.stringify = parent.stringify;
	      if (name == null) {
	        throw new Error("Missing attribute name of element " + parent.name);
	      }
	      if (value == null) {
	        throw new Error("Missing attribute value for attribute " + name + " of element " + parent.name);
	      }
	      this.name = this.stringify.attName(name);
	      this.value = this.stringify.attValue(value);
	    }

	    XMLAttribute.prototype.clone = function() {
	      return create(XMLAttribute.prototype, this);
	    };

	    XMLAttribute.prototype.toString = function(options, level) {
	      return ' ' + this.name + '="' + this.value + '"';
	    };

	    return XMLAttribute;

	  })();

	}).call(this);


/***/ }),
/* 165 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLProcessingInstruction, create;

	  create = __webpack_require__(72);

	  module.exports = XMLProcessingInstruction = (function() {
	    function XMLProcessingInstruction(parent, target, value) {
	      this.stringify = parent.stringify;
	      if (target == null) {
	        throw new Error("Missing instruction target");
	      }
	      this.target = this.stringify.insTarget(target);
	      if (value) {
	        this.value = this.stringify.insValue(value);
	      }
	    }

	    XMLProcessingInstruction.prototype.clone = function() {
	      return create(XMLProcessingInstruction.prototype, this);
	    };

	    XMLProcessingInstruction.prototype.toString = function(options, level) {
	      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      if (pretty) {
	        r += space;
	      }
	      r += '<?';
	      r += this.target;
	      if (this.value) {
	        r += ' ' + this.value;
	      }
	      r += '?>';
	      if (pretty) {
	        r += newline;
	      }
	      return r;
	    };

	    return XMLProcessingInstruction;

	  })();

	}).call(this);


/***/ }),
/* 166 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLCData, XMLNode, create,
	    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
	    hasProp = {}.hasOwnProperty;

	  create = __webpack_require__(72);

	  XMLNode = __webpack_require__(75);

	  module.exports = XMLCData = (function(superClass) {
	    extend(XMLCData, superClass);

	    function XMLCData(parent, text) {
	      XMLCData.__super__.constructor.call(this, parent);
	      if (text == null) {
	        throw new Error("Missing CDATA text");
	      }
	      this.text = this.stringify.cdata(text);
	    }

	    XMLCData.prototype.clone = function() {
	      return create(XMLCData.prototype, this);
	    };

	    XMLCData.prototype.toString = function(options, level) {
	      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      if (pretty) {
	        r += space;
	      }
	      r += '<![CDATA[' + this.text + ']]>';
	      if (pretty) {
	        r += newline;
	      }
	      return r;
	    };

	    return XMLCData;

	  })(XMLNode);

	}).call(this);


/***/ }),
/* 167 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLComment, XMLNode, create,
	    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
	    hasProp = {}.hasOwnProperty;

	  create = __webpack_require__(72);

	  XMLNode = __webpack_require__(75);

	  module.exports = XMLComment = (function(superClass) {
	    extend(XMLComment, superClass);

	    function XMLComment(parent, text) {
	      XMLComment.__super__.constructor.call(this, parent);
	      if (text == null) {
	        throw new Error("Missing comment text");
	      }
	      this.text = this.stringify.comment(text);
	    }

	    XMLComment.prototype.clone = function() {
	      return create(XMLComment.prototype, this);
	    };

	    XMLComment.prototype.toString = function(options, level) {
	      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      if (pretty) {
	        r += space;
	      }
	      r += '<!-- ' + this.text + ' -->';
	      if (pretty) {
	        r += newline;
	      }
	      return r;
	    };

	    return XMLComment;

	  })(XMLNode);

	}).call(this);


/***/ }),
/* 168 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLProcessingInstruction, create, isObject;

	  create = __webpack_require__(72);

	  isObject = __webpack_require__(31);

	  XMLCData = __webpack_require__(166);

	  XMLComment = __webpack_require__(167);

	  XMLDTDAttList = __webpack_require__(169);

	  XMLDTDEntity = __webpack_require__(170);

	  XMLDTDElement = __webpack_require__(171);

	  XMLDTDNotation = __webpack_require__(172);

	  XMLProcessingInstruction = __webpack_require__(165);

	  module.exports = XMLDocType = (function() {
	    function XMLDocType(parent, pubID, sysID) {
	      var ref, ref1;
	      this.documentObject = parent;
	      this.stringify = this.documentObject.stringify;
	      this.children = [];
	      if (isObject(pubID)) {
	        ref = pubID, pubID = ref.pubID, sysID = ref.sysID;
	      }
	      if (sysID == null) {
	        ref1 = [pubID, sysID], sysID = ref1[0], pubID = ref1[1];
	      }
	      if (pubID != null) {
	        this.pubID = this.stringify.dtdPubID(pubID);
	      }
	      if (sysID != null) {
	        this.sysID = this.stringify.dtdSysID(sysID);
	      }
	    }

	    XMLDocType.prototype.element = function(name, value) {
	      var child;
	      child = new XMLDTDElement(this, name, value);
	      this.children.push(child);
	      return this;
	    };

	    XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {
	      var child;
	      child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);
	      this.children.push(child);
	      return this;
	    };

	    XMLDocType.prototype.entity = function(name, value) {
	      var child;
	      child = new XMLDTDEntity(this, false, name, value);
	      this.children.push(child);
	      return this;
	    };

	    XMLDocType.prototype.pEntity = function(name, value) {
	      var child;
	      child = new XMLDTDEntity(this, true, name, value);
	      this.children.push(child);
	      return this;
	    };

	    XMLDocType.prototype.notation = function(name, value) {
	      var child;
	      child = new XMLDTDNotation(this, name, value);
	      this.children.push(child);
	      return this;
	    };

	    XMLDocType.prototype.cdata = function(value) {
	      var child;
	      child = new XMLCData(this, value);
	      this.children.push(child);
	      return this;
	    };

	    XMLDocType.prototype.comment = function(value) {
	      var child;
	      child = new XMLComment(this, value);
	      this.children.push(child);
	      return this;
	    };

	    XMLDocType.prototype.instruction = function(target, value) {
	      var child;
	      child = new XMLProcessingInstruction(this, target, value);
	      this.children.push(child);
	      return this;
	    };

	    XMLDocType.prototype.root = function() {
	      return this.documentObject.root();
	    };

	    XMLDocType.prototype.document = function() {
	      return this.documentObject;
	    };

	    XMLDocType.prototype.toString = function(options, level) {
	      var child, i, indent, len, newline, offset, pretty, r, ref, ref1, ref2, ref3, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      if (pretty) {
	        r += space;
	      }
	      r += '<!DOCTYPE ' + this.root().name;
	      if (this.pubID && this.sysID) {
	        r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
	      } else if (this.sysID) {
	        r += ' SYSTEM "' + this.sysID + '"';
	      }
	      if (this.children.length > 0) {
	        r += ' [';
	        if (pretty) {
	          r += newline;
	        }
	        ref3 = this.children;
	        for (i = 0, len = ref3.length; i < len; i++) {
	          child = ref3[i];
	          r += child.toString(options, level + 1);
	        }
	        r += ']';
	      }
	      r += '>';
	      if (pretty) {
	        r += newline;
	      }
	      return r;
	    };

	    XMLDocType.prototype.ele = function(name, value) {
	      return this.element(name, value);
	    };

	    XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {
	      return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue);
	    };

	    XMLDocType.prototype.ent = function(name, value) {
	      return this.entity(name, value);
	    };

	    XMLDocType.prototype.pent = function(name, value) {
	      return this.pEntity(name, value);
	    };

	    XMLDocType.prototype.not = function(name, value) {
	      return this.notation(name, value);
	    };

	    XMLDocType.prototype.dat = function(value) {
	      return this.cdata(value);
	    };

	    XMLDocType.prototype.com = function(value) {
	      return this.comment(value);
	    };

	    XMLDocType.prototype.ins = function(target, value) {
	      return this.instruction(target, value);
	    };

	    XMLDocType.prototype.up = function() {
	      return this.root();
	    };

	    XMLDocType.prototype.doc = function() {
	      return this.document();
	    };

	    return XMLDocType;

	  })();

	}).call(this);


/***/ }),
/* 169 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLDTDAttList, create;

	  create = __webpack_require__(72);

	  module.exports = XMLDTDAttList = (function() {
	    function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {
	      this.stringify = parent.stringify;
	      if (elementName == null) {
	        throw new Error("Missing DTD element name");
	      }
	      if (attributeName == null) {
	        throw new Error("Missing DTD attribute name");
	      }
	      if (!attributeType) {
	        throw new Error("Missing DTD attribute type");
	      }
	      if (!defaultValueType) {
	        throw new Error("Missing DTD attribute default");
	      }
	      if (defaultValueType.indexOf('#') !== 0) {
	        defaultValueType = '#' + defaultValueType;
	      }
	      if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) {
	        throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT");
	      }
	      if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) {
	        throw new Error("Default value only applies to #FIXED or #DEFAULT");
	      }
	      this.elementName = this.stringify.eleName(elementName);
	      this.attributeName = this.stringify.attName(attributeName);
	      this.attributeType = this.stringify.dtdAttType(attributeType);
	      this.defaultValue = this.stringify.dtdAttDefault(defaultValue);
	      this.defaultValueType = defaultValueType;
	    }

	    XMLDTDAttList.prototype.toString = function(options, level) {
	      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      if (pretty) {
	        r += space;
	      }
	      r += '<!ATTLIST ' + this.elementName + ' ' + this.attributeName + ' ' + this.attributeType;
	      if (this.defaultValueType !== '#DEFAULT') {
	        r += ' ' + this.defaultValueType;
	      }
	      if (this.defaultValue) {
	        r += ' "' + this.defaultValue + '"';
	      }
	      r += '>';
	      if (pretty) {
	        r += newline;
	      }
	      return r;
	    };

	    return XMLDTDAttList;

	  })();

	}).call(this);


/***/ }),
/* 170 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLDTDEntity, create, isObject;

	  create = __webpack_require__(72);

	  isObject = __webpack_require__(31);

	  module.exports = XMLDTDEntity = (function() {
	    function XMLDTDEntity(parent, pe, name, value) {
	      this.stringify = parent.stringify;
	      if (name == null) {
	        throw new Error("Missing entity name");
	      }
	      if (value == null) {
	        throw new Error("Missing entity value");
	      }
	      this.pe = !!pe;
	      this.name = this.stringify.eleName(name);
	      if (!isObject(value)) {
	        this.value = this.stringify.dtdEntityValue(value);
	      } else {
	        if (!value.pubID && !value.sysID) {
	          throw new Error("Public and/or system identifiers are required for an external entity");
	        }
	        if (value.pubID && !value.sysID) {
	          throw new Error("System identifier is required for a public external entity");
	        }
	        if (value.pubID != null) {
	          this.pubID = this.stringify.dtdPubID(value.pubID);
	        }
	        if (value.sysID != null) {
	          this.sysID = this.stringify.dtdSysID(value.sysID);
	        }
	        if (value.nData != null) {
	          this.nData = this.stringify.dtdNData(value.nData);
	        }
	        if (this.pe && this.nData) {
	          throw new Error("Notation declaration is not allowed in a parameter entity");
	        }
	      }
	    }

	    XMLDTDEntity.prototype.toString = function(options, level) {
	      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      if (pretty) {
	        r += space;
	      }
	      r += '<!ENTITY';
	      if (this.pe) {
	        r += ' %';
	      }
	      r += ' ' + this.name;
	      if (this.value) {
	        r += ' "' + this.value + '"';
	      } else {
	        if (this.pubID && this.sysID) {
	          r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
	        } else if (this.sysID) {
	          r += ' SYSTEM "' + this.sysID + '"';
	        }
	        if (this.nData) {
	          r += ' NDATA ' + this.nData;
	        }
	      }
	      r += '>';
	      if (pretty) {
	        r += newline;
	      }
	      return r;
	    };

	    return XMLDTDEntity;

	  })();

	}).call(this);


/***/ }),
/* 171 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLDTDElement, create;

	  create = __webpack_require__(72);

	  module.exports = XMLDTDElement = (function() {
	    function XMLDTDElement(parent, name, value) {
	      this.stringify = parent.stringify;
	      if (name == null) {
	        throw new Error("Missing DTD element name");
	      }
	      if (!value) {
	        value = '(#PCDATA)';
	      }
	      if (Array.isArray(value)) {
	        value = '(' + value.join(',') + ')';
	      }
	      this.name = this.stringify.eleName(name);
	      this.value = this.stringify.dtdElementValue(value);
	    }

	    XMLDTDElement.prototype.toString = function(options, level) {
	      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      if (pretty) {
	        r += space;
	      }
	      r += '<!ELEMENT ' + this.name + ' ' + this.value + '>';
	      if (pretty) {
	        r += newline;
	      }
	      return r;
	    };

	    return XMLDTDElement;

	  })();

	}).call(this);


/***/ }),
/* 172 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLDTDNotation, create;

	  create = __webpack_require__(72);

	  module.exports = XMLDTDNotation = (function() {
	    function XMLDTDNotation(parent, name, value) {
	      this.stringify = parent.stringify;
	      if (name == null) {
	        throw new Error("Missing notation name");
	      }
	      if (!value.pubID && !value.sysID) {
	        throw new Error("Public or system identifiers are required for an external entity");
	      }
	      this.name = this.stringify.eleName(name);
	      if (value.pubID != null) {
	        this.pubID = this.stringify.dtdPubID(value.pubID);
	      }
	      if (value.sysID != null) {
	        this.sysID = this.stringify.dtdSysID(value.sysID);
	      }
	    }

	    XMLDTDNotation.prototype.toString = function(options, level) {
	      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      if (pretty) {
	        r += space;
	      }
	      r += '<!NOTATION ' + this.name;
	      if (this.pubID && this.sysID) {
	        r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
	      } else if (this.pubID) {
	        r += ' PUBLIC "' + this.pubID + '"';
	      } else if (this.sysID) {
	        r += ' SYSTEM "' + this.sysID + '"';
	      }
	      r += '>';
	      if (pretty) {
	        r += newline;
	      }
	      return r;
	    };

	    return XMLDTDNotation;

	  })();

	}).call(this);


/***/ }),
/* 173 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLNode, XMLRaw, create,
	    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
	    hasProp = {}.hasOwnProperty;

	  create = __webpack_require__(72);

	  XMLNode = __webpack_require__(75);

	  module.exports = XMLRaw = (function(superClass) {
	    extend(XMLRaw, superClass);

	    function XMLRaw(parent, text) {
	      XMLRaw.__super__.constructor.call(this, parent);
	      if (text == null) {
	        throw new Error("Missing raw text");
	      }
	      this.value = this.stringify.raw(text);
	    }

	    XMLRaw.prototype.clone = function() {
	      return create(XMLRaw.prototype, this);
	    };

	    XMLRaw.prototype.toString = function(options, level) {
	      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      if (pretty) {
	        r += space;
	      }
	      r += this.value;
	      if (pretty) {
	        r += newline;
	      }
	      return r;
	    };

	    return XMLRaw;

	  })(XMLNode);

	}).call(this);


/***/ }),
/* 174 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.9.1
	(function() {
	  var XMLNode, XMLText, create,
	    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
	    hasProp = {}.hasOwnProperty;

	  create = __webpack_require__(72);

	  XMLNode = __webpack_require__(75);

	  module.exports = XMLText = (function(superClass) {
	    extend(XMLText, superClass);

	    function XMLText(parent, text) {
	      XMLText.__super__.constructor.call(this, parent);
	      if (text == null) {
	        throw new Error("Missing element text");
	      }
	      this.value = this.stringify.eleText(text);
	    }

	    XMLText.prototype.clone = function() {
	      return create(XMLText.prototype, this);
	    };

	    XMLText.prototype.toString = function(options, level) {
	      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
	      pretty = (options != null ? options.pretty : void 0) || false;
	      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
	      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
	      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
	      level || (level = 0);
	      space = new Array(level + offset + 1).join(indent);
	      r = '';
	      if (pretty) {
	        r += space;
	      }
	      r += this.value;
	      if (pretty) {
	        r += newline;
	      }
	      return r;
	    };

	    return XMLText;

	  })(XMLNode);

	}).call(this);


/***/ }),
/* 175 */
/***/ (function(module, exports, __webpack_require__) {

	var Collection = __webpack_require__(12);
	var Operation = __webpack_require__(176);
	var Shape = __webpack_require__(11);
	var Paginator = __webpack_require__(177);
	var ResourceWaiter = __webpack_require__(178);

	var util = __webpack_require__(4);
	var property = util.property;
	var memoizedProperty = util.memoizedProperty;

	function Api(api, options) {
	  api = api || {};
	  options = options || {};
	  options.api = this;

	  api.metadata = api.metadata || {};

	  property(this, 'isApi', true, false);
	  property(this, 'apiVersion', api.metadata.apiVersion);
	  property(this, 'endpointPrefix', api.metadata.endpointPrefix);
	  property(this, 'signingName', api.metadata.signingName);
	  property(this, 'globalEndpoint', api.metadata.globalEndpoint);
	  property(this, 'signatureVersion', api.metadata.signatureVersion);
	  property(this, 'jsonVersion', api.metadata.jsonVersion);
	  property(this, 'targetPrefix', api.metadata.targetPrefix);
	  property(this, 'protocol', api.metadata.protocol);
	  property(this, 'timestampFormat', api.metadata.timestampFormat);
	  property(this, 'xmlNamespaceUri', api.metadata.xmlNamespace);
	  property(this, 'abbreviation', api.metadata.serviceAbbreviation);
	  property(this, 'fullName', api.metadata.serviceFullName);

	  memoizedProperty(this, 'className', function() {
	    var name = api.metadata.serviceAbbreviation || api.metadata.serviceFullName;
	    if (!name) return null;

	    name = name.replace(/^Amazon|AWS\s*|\(.*|\s+|\W+/g, '');
	    if (name === 'ElasticLoadBalancing') name = 'ELB';
	    return name;
	  });

	  property(this, 'operations', new Collection(api.operations, options, function(name, operation) {
	    return new Operation(name, operation, options);
	  }, util.string.lowerFirst));

	  property(this, 'shapes', new Collection(api.shapes, options, function(name, shape) {
	    return Shape.create(shape, options);
	  }));

	  property(this, 'paginators', new Collection(api.paginators, options, function(name, paginator) {
	    return new Paginator(name, paginator, options);
	  }));

	  property(this, 'waiters', new Collection(api.waiters, options, function(name, waiter) {
	    return new ResourceWaiter(name, waiter, options);
	  }, util.string.lowerFirst));

	  if (options.documentation) {
	    property(this, 'documentation', api.documentation);
	    property(this, 'documentationUrl', api.documentationUrl);
	  }
	}

	module.exports = Api;


/***/ }),
/* 176 */
/***/ (function(module, exports, __webpack_require__) {

	var Shape = __webpack_require__(11);

	var util = __webpack_require__(4);
	var property = util.property;
	var memoizedProperty = util.memoizedProperty;

	function Operation(name, operation, options) {
	  var self = this;
	  options = options || {};

	  property(this, 'name', operation.name || name);
	  property(this, 'api', options.api, false);

	  operation.http = operation.http || {};
	  property(this, 'httpMethod', operation.http.method || 'POST');
	  property(this, 'httpPath', operation.http.requestUri || '/');
	  property(this, 'authtype', operation.authtype || '');

	  memoizedProperty(this, 'input', function() {
	    if (!operation.input) {
	      return new Shape.create({type: 'structure'}, options);
	    }
	    return Shape.create(operation.input, options);
	  });

	  memoizedProperty(this, 'output', function() {
	    if (!operation.output) {
	      return new Shape.create({type: 'structure'}, options);
	    }
	    return Shape.create(operation.output, options);
	  });

	  memoizedProperty(this, 'errors', function() {
	    var list = [];
	    if (!operation.errors) return null;

	    for (var i = 0; i < operation.errors.length; i++) {
	      list.push(Shape.create(operation.errors[i], options));
	    }

	    return list;
	  });

	  memoizedProperty(this, 'paginator', function() {
	    return options.api.paginators[name];
	  });

	  if (options.documentation) {
	    property(this, 'documentation', operation.documentation);
	    property(this, 'documentationUrl', operation.documentationUrl);
	  }

	  // idempotentMembers only tracks top-level input shapes
	  memoizedProperty(this, 'idempotentMembers', function() {
	    var idempotentMembers = [];
	    var input = self.input;
	    var members = input.members;
	    if (!input.members) {
	      return idempotentMembers;
	    }
	    for (var name in members) {
	      if (!members.hasOwnProperty(name)) {
	        continue;
	      }
	      if (members[name].isIdempotent === true) {
	        idempotentMembers.push(name);
	      }
	    }
	    return idempotentMembers;
	  });

	}

	module.exports = Operation;


/***/ }),
/* 177 */
/***/ (function(module, exports, __webpack_require__) {

	var property = __webpack_require__(4).property;

	function Paginator(name, paginator) {
	  property(this, 'inputToken', paginator.input_token);
	  property(this, 'limitKey', paginator.limit_key);
	  property(this, 'moreResults', paginator.more_results);
	  property(this, 'outputToken', paginator.output_token);
	  property(this, 'resultKey', paginator.result_key);
	}

	module.exports = Paginator;


/***/ }),
/* 178 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(4);
	var property = util.property;

	function ResourceWaiter(name, waiter, options) {
	  options = options || {};
	  property(this, 'name', name);
	  property(this, 'api', options.api, false);

	  if (waiter.operation) {
	    property(this, 'operation', util.string.lowerFirst(waiter.operation));
	  }

	  var self = this;
	  var keys = [
	    'type',
	    'description',
	    'delay',
	    'maxAttempts',
	    'acceptors'
	  ];

	  keys.forEach(function(key) {
	    var value = waiter[key];
	    if (value) {
	      property(self, key, value);
	    }
	  });
	}

	module.exports = ResourceWaiter;


/***/ }),
/* 179 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var Api = __webpack_require__(175);
	var regionConfig = __webpack_require__(180);
	var inherit = AWS.util.inherit;
	var clientCount = 0;

	/**
	 * The service class representing an AWS service.
	 *
	 * @abstract
	 *
	 * @!attribute apiVersions
	 *   @return [Array<String>] the list of API versions supported by this service.
	 *   @readonly
	 */
	AWS.Service = inherit({
	  /**
	   * Create a new service object with a configuration object
	   *
	   * @param config [map] a map of configuration options
	   */
	  constructor: function Service(config) {
	    if (!this.loadServiceClass) {
	      throw AWS.util.error(new Error(),
	        'Service must be constructed with `new\' operator');
	    }
	    var ServiceClass = this.loadServiceClass(config || {});
	    if (ServiceClass) {
	      var originalConfig = AWS.util.copy(config);
	      var svc = new ServiceClass(config);
	      Object.defineProperty(svc, '_originalConfig', {
	        get: function() { return originalConfig; },
	        enumerable: false,
	        configurable: true
	      });
	      svc._clientId = ++clientCount;
	      return svc;
	    }
	    this.initialize(config);
	  },

	  /**
	   * @api private
	   */
	  initialize: function initialize(config) {
	    var svcConfig = AWS.config[this.serviceIdentifier];

	    this.config = new AWS.Config(AWS.config);
	    if (svcConfig) this.config.update(svcConfig, true);
	    if (config) this.config.update(config, true);

	    this.validateService();
	    if (!this.config.endpoint) regionConfig(this);

	    this.config.endpoint = this.endpointFromTemplate(this.config.endpoint);
	    this.setEndpoint(this.config.endpoint);
	  },

	  /**
	   * @api private
	   */
	  validateService: function validateService() {
	  },

	  /**
	   * @api private
	   */
	  loadServiceClass: function loadServiceClass(serviceConfig) {
	    var config = serviceConfig;
	    if (!AWS.util.isEmpty(this.api)) {
	      return null;
	    } else if (config.apiConfig) {
	      return AWS.Service.defineServiceApi(this.constructor, config.apiConfig);
	    } else if (!this.constructor.services) {
	      return null;
	    } else {
	      config = new AWS.Config(AWS.config);
	      config.update(serviceConfig, true);
	      var version = config.apiVersions[this.constructor.serviceIdentifier];
	      version = version || config.apiVersion;
	      return this.getLatestServiceClass(version);
	    }
	  },

	  /**
	   * @api private
	   */
	  getLatestServiceClass: function getLatestServiceClass(version) {
	    version = this.getLatestServiceVersion(version);
	    if (this.constructor.services[version] === null) {
	      AWS.Service.defineServiceApi(this.constructor, version);
	    }

	    return this.constructor.services[version];
	  },

	  /**
	   * @api private
	   */
	  getLatestServiceVersion: function getLatestServiceVersion(version) {
	    if (!this.constructor.services || this.constructor.services.length === 0) {
	      throw new Error('No services defined on ' +
	                      this.constructor.serviceIdentifier);
	    }

	    if (!version) {
	      version = 'latest';
	    } else if (AWS.util.isType(version, Date)) {
	      version = AWS.util.date.iso8601(version).split('T')[0];
	    }

	    if (Object.hasOwnProperty(this.constructor.services, version)) {
	      return version;
	    }

	    var keys = Object.keys(this.constructor.services).sort();
	    var selectedVersion = null;
	    for (var i = keys.length - 1; i >= 0; i--) {
	      // versions that end in "*" are not available on disk and can be
	      // skipped, so do not choose these as selectedVersions
	      if (keys[i][keys[i].length - 1] !== '*') {
	        selectedVersion = keys[i];
	      }
	      if (keys[i].substr(0, 10) <= version) {
	        return selectedVersion;
	      }
	    }

	    throw new Error('Could not find ' + this.constructor.serviceIdentifier +
	                    ' API to satisfy version constraint `' + version + '\'');
	  },

	  /**
	   * @api private
	   */
	  api: {},

	  /**
	   * @api private
	   */
	  defaultRetryCount: 3,

	  /**
	   * @api private
	   */
	  customizeRequests: function customizeRequests(callback) {
	    if (!callback) {
	      this.customRequestHandler = null;
	    } else if (typeof callback === 'function') {
	      this.customRequestHandler = callback;
	    } else {
	      throw new Error('Invalid callback type \'' + typeof callback + '\' provided in customizeRequests');
	    }
	  },

	  /**
	   * Calls an operation on a service with the given input parameters.
	   *
	   * @param operation [String] the name of the operation to call on the service.
	   * @param params [map] a map of input options for the operation
	   * @callback callback function(err, data)
	   *   If a callback is supplied, it is called when a response is returned
	   *   from the service.
	   *   @param err [Error] the error object returned from the request.
	   *     Set to `null` if the request is successful.
	   *   @param data [Object] the de-serialized data returned from
	   *     the request. Set to `null` if a request error occurs.
	   */
	  makeRequest: function makeRequest(operation, params, callback) {
	    if (typeof params === 'function') {
	      callback = params;
	      params = null;
	    }

	    params = params || {};
	    if (this.config.params) { // copy only toplevel bound params
	      var rules = this.api.operations[operation];
	      if (rules) {
	        params = AWS.util.copy(params);
	        AWS.util.each(this.config.params, function(key, value) {
	          if (rules.input.members[key]) {
	            if (params[key] === undefined || params[key] === null) {
	              params[key] = value;
	            }
	          }
	        });
	      }
	    }

	    var request = new AWS.Request(this, operation, params);
	    this.addAllRequestListeners(request);

	    if (callback) request.send(callback);
	    return request;
	  },

	  /**
	   * Calls an operation on a service with the given input parameters, without
	   * any authentication data. This method is useful for "public" API operations.
	   *
	   * @param operation [String] the name of the operation to call on the service.
	   * @param params [map] a map of input options for the operation
	   * @callback callback function(err, data)
	   *   If a callback is supplied, it is called when a response is returned
	   *   from the service.
	   *   @param err [Error] the error object returned from the request.
	   *     Set to `null` if the request is successful.
	   *   @param data [Object] the de-serialized data returned from
	   *     the request. Set to `null` if a request error occurs.
	   */
	  makeUnauthenticatedRequest: function makeUnauthenticatedRequest(operation, params, callback) {
	    if (typeof params === 'function') {
	      callback = params;
	      params = {};
	    }

	    var request = this.makeRequest(operation, params).toUnauthenticated();
	    return callback ? request.send(callback) : request;
	  },

	  /**
	   * Waits for a given state
	   *
	   * @param state [String] the state on the service to wait for
	   * @param params [map] a map of parameters to pass with each request
	   * @option params $waiter [map] a map of configuration options for the waiter
	   * @option params $waiter.delay [Number] The number of seconds to wait between
	   *                                       requests
	   * @option params $waiter.maxAttempts [Number] The maximum number of requests
	   *                                             to send while waiting
	   * @callback callback function(err, data)
	   *   If a callback is supplied, it is called when a response is returned
	   *   from the service.
	   *   @param err [Error] the error object returned from the request.
	   *     Set to `null` if the request is successful.
	   *   @param data [Object] the de-serialized data returned from
	   *     the request. Set to `null` if a request error occurs.
	   */
	  waitFor: function waitFor(state, params, callback) {
	    var waiter = new AWS.ResourceWaiter(this, state);
	    return waiter.wait(params, callback);
	  },

	  /**
	   * @api private
	   */
	  addAllRequestListeners: function addAllRequestListeners(request) {
	    var list = [AWS.events, AWS.EventListeners.Core, this.serviceInterface(),
	                AWS.EventListeners.CorePost];
	    for (var i = 0; i < list.length; i++) {
	      if (list[i]) request.addListeners(list[i]);
	    }

	    // disable parameter validation
	    if (!this.config.paramValidation) {
	      request.removeListener('validate',
	        AWS.EventListeners.Core.VALIDATE_PARAMETERS);
	    }

	    if (this.config.logger) { // add logging events
	      request.addListeners(AWS.EventListeners.Logger);
	    }

	    this.setupRequestListeners(request);
	    // call prototype's customRequestHandler
	    if (typeof this.constructor.prototype.customRequestHandler === 'function') {
	      this.constructor.prototype.customRequestHandler(request);
	    }
	    // call instance's customRequestHandler
	    if (Object.prototype.hasOwnProperty.call(this, 'customRequestHandler') && typeof this.customRequestHandler === 'function') {
	      this.customRequestHandler(request);
	    }
	  },

	  /**
	   * Override this method to setup any custom request listeners for each
	   * new request to the service.
	   *
	   * @abstract
	   */
	  setupRequestListeners: function setupRequestListeners() {
	  },

	  /**
	   * Gets the signer class for a given request
	   * @api private
	   */
	  getSignerClass: function getSignerClass(request) {
	    var version;
	    // get operation authtype if present
	    var operation = null;
	    var authtype = '';
	    if (request) {
	      var operations = request.service.api.operations || {};
	      operation = operations[request.operation] || null;
	      authtype = operation ? operation.authtype : '';
	    }
	    if (this.config.signatureVersion) {
	      version = this.config.signatureVersion;
	    } else if (authtype === 'v4' || authtype === 'v4-unsigned-body') {
	      version = 'v4';
	    } else {
	      version = this.api.signatureVersion;
	    }
	    return AWS.Signers.RequestSigner.getVersion(version);
	  },

	  /**
	   * @api private
	   */
	  serviceInterface: function serviceInterface() {
	    switch (this.api.protocol) {
	      case 'ec2': return AWS.EventListeners.Query;
	      case 'query': return AWS.EventListeners.Query;
	      case 'json': return AWS.EventListeners.Json;
	      case 'rest-json': return AWS.EventListeners.RestJson;
	      case 'rest-xml': return AWS.EventListeners.RestXml;
	    }
	    if (this.api.protocol) {
	      throw new Error('Invalid service `protocol\' ' +
	        this.api.protocol + ' in API config');
	    }
	  },

	  /**
	   * @api private
	   */
	  successfulResponse: function successfulResponse(resp) {
	    return resp.httpResponse.statusCode < 300;
	  },

	  /**
	   * How many times a failed request should be retried before giving up.
	   * the defaultRetryCount can be overriden by service classes.
	   *
	   * @api private
	   */
	  numRetries: function numRetries() {
	    if (this.config.maxRetries !== undefined) {
	      return this.config.maxRetries;
	    } else {
	      return this.defaultRetryCount;
	    }
	  },

	  /**
	   * @api private
	   */
	  retryDelays: function retryDelays(retryCount) {
	    return AWS.util.calculateRetryDelay(retryCount, this.config.retryDelayOptions);
	  },

	  /**
	   * @api private
	   */
	  retryableError: function retryableError(error) {
	    if (this.networkingError(error)) return true;
	    if (this.expiredCredentialsError(error)) return true;
	    if (this.throttledError(error)) return true;
	    if (error.statusCode >= 500) return true;
	    return false;
	  },

	  /**
	   * @api private
	   */
	  networkingError: function networkingError(error) {
	    return error.code === 'NetworkingError';
	  },

	  /**
	   * @api private
	   */
	  expiredCredentialsError: function expiredCredentialsError(error) {
	    // TODO : this only handles *one* of the expired credential codes
	    return (error.code === 'ExpiredTokenException');
	  },

	  /**
	   * @api private
	   */
	  clockSkewError: function clockSkewError(error) {
	    switch (error.code) {
	      case 'RequestTimeTooSkewed':
	      case 'RequestExpired':
	      case 'InvalidSignatureException':
	      case 'SignatureDoesNotMatch':
	      case 'AuthFailure':
	      case 'RequestInTheFuture':
	        return true;
	      default: return false;
	    }
	  },

	  /**
	   * @api private
	   */
	  throttledError: function throttledError(error) {
	    // this logic varies between services
	    switch (error.code) {
	      case 'ProvisionedThroughputExceededException':
	      case 'Throttling':
	      case 'ThrottlingException':
	      case 'RequestLimitExceeded':
	      case 'RequestThrottled':
	        return true;
	      default:
	        return false;
	    }
	  },

	  /**
	   * @api private
	   */
	  endpointFromTemplate: function endpointFromTemplate(endpoint) {
	    if (typeof endpoint !== 'string') return endpoint;

	    var e = endpoint;
	    e = e.replace(/\{service\}/g, this.api.endpointPrefix);
	    e = e.replace(/\{region\}/g, this.config.region);
	    e = e.replace(/\{scheme\}/g, this.config.sslEnabled ? 'https' : 'http');
	    return e;
	  },

	  /**
	   * @api private
	   */
	  setEndpoint: function setEndpoint(endpoint) {
	    this.endpoint = new AWS.Endpoint(endpoint, this.config);
	  },

	  /**
	   * @api private
	   */
	  paginationConfig: function paginationConfig(operation, throwException) {
	    var paginator = this.api.operations[operation].paginator;
	    if (!paginator) {
	      if (throwException) {
	        var e = new Error();
	        throw AWS.util.error(e, 'No pagination configuration for ' + operation);
	      }
	      return null;
	    }

	    return paginator;
	  }
	});

	AWS.util.update(AWS.Service, {

	  /**
	   * Adds one method for each operation described in the api configuration
	   *
	   * @api private
	   */
	  defineMethods: function defineMethods(svc) {
	    AWS.util.each(svc.prototype.api.operations, function iterator(method) {
	      if (svc.prototype[method]) return;
	      var operation = svc.prototype.api.operations[method];
	      if (operation.authtype === 'none') {
	        svc.prototype[method] = function (params, callback) {
	          return this.makeUnauthenticatedRequest(method, params, callback);
	        };
	      } else {
	        svc.prototype[method] = function (params, callback) {
	          return this.makeRequest(method, params, callback);
	        };
	      }
	    });
	  },

	  /**
	   * Defines a new Service class using a service identifier and list of versions
	   * including an optional set of features (functions) to apply to the class
	   * prototype.
	   *
	   * @param serviceIdentifier [String] the identifier for the service
	   * @param versions [Array<String>] a list of versions that work with this
	   *   service
	   * @param features [Object] an object to attach to the prototype
	   * @return [Class<Service>] the service class defined by this function.
	   */
	  defineService: function defineService(serviceIdentifier, versions, features) {
	    AWS.Service._serviceMap[serviceIdentifier] = true;
	    if (!Array.isArray(versions)) {
	      features = versions;
	      versions = [];
	    }

	    var svc = inherit(AWS.Service, features || {});

	    if (typeof serviceIdentifier === 'string') {
	      AWS.Service.addVersions(svc, versions);

	      var identifier = svc.serviceIdentifier || serviceIdentifier;
	      svc.serviceIdentifier = identifier;
	    } else { // defineService called with an API
	      svc.prototype.api = serviceIdentifier;
	      AWS.Service.defineMethods(svc);
	    }

	    return svc;
	  },

	  /**
	   * @api private
	   */
	  addVersions: function addVersions(svc, versions) {
	    if (!Array.isArray(versions)) versions = [versions];

	    svc.services = svc.services || {};
	    for (var i = 0; i < versions.length; i++) {
	      if (svc.services[versions[i]] === undefined) {
	        svc.services[versions[i]] = null;
	      }
	    }

	    svc.apiVersions = Object.keys(svc.services).sort();
	  },

	  /**
	   * @api private
	   */
	  defineServiceApi: function defineServiceApi(superclass, version, apiConfig) {
	    var svc = inherit(superclass, {
	      serviceIdentifier: superclass.serviceIdentifier
	    });

	    function setApi(api) {
	      if (api.isApi) {
	        svc.prototype.api = api;
	      } else {
	        svc.prototype.api = new Api(api);
	      }
	    }

	    if (typeof version === 'string') {
	      if (apiConfig) {
	        setApi(apiConfig);
	      } else {
	        try {
	          setApi(AWS.apiLoader(superclass.serviceIdentifier, version));
	        } catch (err) {
	          throw AWS.util.error(err, {
	            message: 'Could not find API configuration ' +
	              superclass.serviceIdentifier + '-' + version
	          });
	        }
	      }
	      if (!Object.prototype.hasOwnProperty.call(superclass.services, version)) {
	        superclass.apiVersions = superclass.apiVersions.concat(version).sort();
	      }
	      superclass.services[version] = svc;
	    } else {
	      setApi(version);
	    }

	    AWS.Service.defineMethods(svc);
	    return svc;
	  },

	  /**
	   * @api private
	   */
	  hasService: function(identifier) {
	    return Object.prototype.hasOwnProperty.call(AWS.Service._serviceMap, identifier);
	  },

	  /**
	   * @api private
	   */
	  _serviceMap: {}
	});

	module.exports = AWS.Service;


/***/ }),
/* 180 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(4);
	var regionConfig = __webpack_require__(181);

	function generateRegionPrefix(region) {
	  if (!region) return null;

	  var parts = region.split('-');
	  if (parts.length < 3) return null;
	  return parts.slice(0, parts.length - 2).join('-') + '-*';
	}

	function derivedKeys(service) {
	  var region = service.config.region;
	  var regionPrefix = generateRegionPrefix(region);
	  var endpointPrefix = service.api.endpointPrefix;

	  return [
	    [region, endpointPrefix],
	    [regionPrefix, endpointPrefix],
	    [region, '*'],
	    [regionPrefix, '*'],
	    ['*', endpointPrefix],
	    ['*', '*']
	  ].map(function(item) {
	    return item[0] && item[1] ? item.join('/') : null;
	  });
	}

	function applyConfig(service, config) {
	  util.each(config, function(key, value) {
	    if (key === 'globalEndpoint') return;
	    if (service.config[key] === undefined || service.config[key] === null) {
	      service.config[key] = value;
	    }
	  });
	}

	function configureEndpoint(service) {
	  var keys = derivedKeys(service);
	  for (var i = 0; i < keys.length; i++) {
	    var key = keys[i];
	    if (!key) continue;

	    if (Object.prototype.hasOwnProperty.call(regionConfig.rules, key)) {
	      var config = regionConfig.rules[key];
	      if (typeof config === 'string') {
	        config = regionConfig.patterns[config];
	      }

	      // set dualstack endpoint
	      if (service.config.useDualstack && util.isDualstackAvailable(service)) {
	        config = util.copy(config);
	        config.endpoint = '{service}.dualstack.{region}.amazonaws.com';
	      }

	      // set global endpoint
	      service.isGlobalEndpoint = !!config.globalEndpoint;

	      // signature version
	      if (!config.signatureVersion) config.signatureVersion = 'v4';

	      // merge config
	      applyConfig(service, config);
	      return;
	    }
	  }
	}

	module.exports = configureEndpoint;


/***/ }),
/* 181 */
/***/ (function(module, exports) {

	module.exports = {
		"rules": {
			"*/*": {
				"endpoint": "{service}.{region}.amazonaws.com"
			},
			"cn-*/*": {
				"endpoint": "{service}.{region}.amazonaws.com.cn"
			},
			"*/budgets": "globalSSL",
			"*/cloudfront": "globalSSL",
			"*/iam": "globalSSL",
			"*/sts": "globalSSL",
			"*/importexport": {
				"endpoint": "{service}.amazonaws.com",
				"signatureVersion": "v2",
				"globalEndpoint": true
			},
			"*/route53": {
				"endpoint": "https://{service}.amazonaws.com",
				"signatureVersion": "v3https",
				"globalEndpoint": true
			},
			"*/waf": "globalSSL",
			"us-gov-*/iam": "globalGovCloud",
			"us-gov-*/sts": {
				"endpoint": "{service}.{region}.amazonaws.com"
			},
			"us-gov-west-1/s3": "s3dash",
			"us-west-1/s3": "s3dash",
			"us-west-2/s3": "s3dash",
			"eu-west-1/s3": "s3dash",
			"ap-southeast-1/s3": "s3dash",
			"ap-southeast-2/s3": "s3dash",
			"ap-northeast-1/s3": "s3dash",
			"sa-east-1/s3": "s3dash",
			"us-east-1/s3": {
				"endpoint": "{service}.amazonaws.com",
				"signatureVersion": "s3"
			},
			"us-east-1/sdb": {
				"endpoint": "{service}.amazonaws.com",
				"signatureVersion": "v2"
			},
			"*/sdb": {
				"endpoint": "{service}.{region}.amazonaws.com",
				"signatureVersion": "v2"
			}
		},
		"patterns": {
			"globalSSL": {
				"endpoint": "https://{service}.amazonaws.com",
				"globalEndpoint": true
			},
			"globalGovCloud": {
				"endpoint": "{service}.us-gov.amazonaws.com"
			},
			"s3dash": {
				"endpoint": "{service}-{region}.amazonaws.com",
				"signatureVersion": "s3"
			}
		}
	};

/***/ }),
/* 182 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	__webpack_require__(183);
	__webpack_require__(184);
	var PromisesDependency;

	/**
	 * The main configuration class used by all service objects to set
	 * the region, credentials, and other options for requests.
	 *
	 * By default, credentials and region settings are left unconfigured.
	 * This should be configured by the application before using any
	 * AWS service APIs.
	 *
	 * In order to set global configuration options, properties should
	 * be assigned to the global {AWS.config} object.
	 *
	 * @see AWS.config
	 *
	 * @!group General Configuration Options
	 *
	 * @!attribute credentials
	 *   @return [AWS.Credentials] the AWS credentials to sign requests with.
	 *
	 * @!attribute region
	 *   @example Set the global region setting to us-west-2
	 *     AWS.config.update({region: 'us-west-2'});
	 *   @return [AWS.Credentials] The region to send service requests to.
	 *   @see http://docs.amazonwebservices.com/general/latest/gr/rande.html
	 *     A list of available endpoints for each AWS service
	 *
	 * @!attribute maxRetries
	 *   @return [Integer] the maximum amount of retries to perform for a
	 *     service request. By default this value is calculated by the specific
	 *     service object that the request is being made to.
	 *
	 * @!attribute maxRedirects
	 *   @return [Integer] the maximum amount of redirects to follow for a
	 *     service request. Defaults to 10.
	 *
	 * @!attribute paramValidation
	 *   @return [Boolean|map] whether input parameters should be validated against
	 *     the operation description before sending the request. Defaults to true.
	 *     Pass a map to enable any of the following specific validation features:
	 *
	 *     * **min** [Boolean] &mdash; Validates that a value meets the min
	 *       constraint. This is enabled by default when paramValidation is set
	 *       to `true`.
	 *     * **max** [Boolean] &mdash; Validates that a value meets the max
	 *       constraint.
	 *     * **pattern** [Boolean] &mdash; Validates that a string value matches a
	 *       regular expression.
	 *     * **enum** [Boolean] &mdash; Validates that a string value matches one
	 *       of the allowable enum values.
	 *
	 * @!attribute computeChecksums
	 *   @return [Boolean] whether to compute checksums for payload bodies when
	 *     the service accepts it (currently supported in S3 only).
	 *
	 * @!attribute convertResponseTypes
	 *   @return [Boolean] whether types are converted when parsing response data.
	 *     Currently only supported for JSON based services. Turning this off may
	 *     improve performance on large response payloads. Defaults to `true`.
	 *
	 * @!attribute correctClockSkew
	 *   @return [Boolean] whether to apply a clock skew correction and retry
	 *     requests that fail because of an skewed client clock. Defaults to
	 *     `false`.
	 *
	 * @!attribute sslEnabled
	 *   @return [Boolean] whether SSL is enabled for requests
	 *
	 * @!attribute s3ForcePathStyle
	 *   @return [Boolean] whether to force path style URLs for S3 objects
	 *
	 * @!attribute s3BucketEndpoint
	 *   @note Setting this configuration option requires an `endpoint` to be
	 *     provided explicitly to the service constructor.
	 *   @return [Boolean] whether the provided endpoint addresses an individual
	 *     bucket (false if it addresses the root API endpoint).
	 *
	 * @!attribute s3DisableBodySigning
	 *   @return [Boolean] whether to disable S3 body signing when using signature version `v4`.
	 *     Body signing can only be disabled when using https. Defaults to `true`.
	 *
	 * @!attribute useAccelerateEndpoint
	 *   @note This configuration option is only compatible with S3 while accessing
	 *     dns-compatible buckets.
	 *   @return [Boolean] Whether to use the Accelerate endpoint with the S3 service.
	 *     Defaults to `false`.
	 *
	 * @!attribute retryDelayOptions
	 *   @example Set the base retry delay for all services to 300 ms
	 *     AWS.config.update({retryDelayOptions: {base: 300}});
	 *     // Delays with maxRetries = 3: 300, 600, 1200
	 *   @example Set a custom backoff function to provide delay values on retries
	 *     AWS.config.update({retryDelayOptions: {customBackoff: function(retryCount) {
	 *       // returns delay in ms
	 *     }}});
	 *   @return [map] A set of options to configure the retry delay on retryable errors.
	 *     Currently supported options are:
	 *
	 *     * **base** [Integer] &mdash; The base number of milliseconds to use in the
	 *       exponential backoff for operation retries. Defaults to 100 ms for all services except
	 *       DynamoDB, where it defaults to 50ms.
	 *     * **customBackoff ** [function] &mdash; A custom function that accepts a retry count
	 *       and returns the amount of time to delay in milliseconds. The `base` option will be
	 *       ignored if this option is supplied.
	 *
	 * @!attribute httpOptions
	 *   @return [map] A set of options to pass to the low-level HTTP request.
	 *     Currently supported options are:
	 *
	 *     * **proxy** [String] &mdash; the URL to proxy requests through
	 *     * **agent** [http.Agent, https.Agent] &mdash; the Agent object to perform
	 *       HTTP requests with. Used for connection pooling. Defaults to the global
	 *       agent (`http.globalAgent`) for non-SSL connections. Note that for
	 *       SSL connections, a special Agent object is used in order to enable
	 *       peer certificate verification. This feature is only supported in the
	 *       Node.js environment.
	 *     * **timeout** [Integer] &mdash; The number of milliseconds to wait before
	 *       giving up on a connection attempt. Defaults to two minutes (120000).
	 *     * **xhrAsync** [Boolean] &mdash; Whether the SDK will send asynchronous
	 *       HTTP requests. Used in the browser environment only. Set to false to
	 *       send requests synchronously. Defaults to true (async on).
	 *     * **xhrWithCredentials** [Boolean] &mdash; Sets the "withCredentials"
	 *       property of an XMLHttpRequest object. Used in the browser environment
	 *       only. Defaults to false.
	 * @!attribute logger
	 *   @return [#write,#log] an object that responds to .write() (like a stream)
	 *     or .log() (like the console object) in order to log information about
	 *     requests
	 *
	 * @!attribute systemClockOffset
	 *   @return [Number] an offset value in milliseconds to apply to all signing
	 *     times. Use this to compensate for clock skew when your system may be
	 *     out of sync with the service time. Note that this configuration option
	 *     can only be applied to the global `AWS.config` object and cannot be
	 *     overridden in service-specific configuration. Defaults to 0 milliseconds.
	 *
	 * @!attribute signatureVersion
	 *   @return [String] the signature version to sign requests with (overriding
	 *     the API configuration). Possible values are: 'v2', 'v3', 'v4'.
	 *
	 * @!attribute signatureCache
	 *   @return [Boolean] whether the signature to sign requests with (overriding
	 *     the API configuration) is cached. Only applies to the signature version 'v4'.
	 *     Defaults to `true`.
	 */
	AWS.Config = AWS.util.inherit({
	  /**
	   * @!endgroup
	   */

	  /**
	   * Creates a new configuration object. This is the object that passes
	   * option data along to service requests, including credentials, security,
	   * region information, and some service specific settings.
	   *
	   * @example Creating a new configuration object with credentials and region
	   *   var config = new AWS.Config({
	   *     accessKeyId: 'AKID', secretAccessKey: 'SECRET', region: 'us-west-2'
	   *   });
	   * @option options accessKeyId [String] your AWS access key ID.
	   * @option options secretAccessKey [String] your AWS secret access key.
	   * @option options sessionToken [AWS.Credentials] the optional AWS
	   *   session token to sign requests with.
	   * @option options credentials [AWS.Credentials] the AWS credentials
	   *   to sign requests with. You can either specify this object, or
	   *   specify the accessKeyId and secretAccessKey options directly.
	   * @option options credentialProvider [AWS.CredentialProviderChain] the
	   *   provider chain used to resolve credentials if no static `credentials`
	   *   property is set.
	   * @option options region [String] the region to send service requests to.
	   *   See {region} for more information.
	   * @option options maxRetries [Integer] the maximum amount of retries to
	   *   attempt with a request. See {maxRetries} for more information.
	   * @option options maxRedirects [Integer] the maximum amount of redirects to
	   *   follow with a request. See {maxRedirects} for more information.
	   * @option options sslEnabled [Boolean] whether to enable SSL for
	   *   requests.
	   * @option options paramValidation [Boolean|map] whether input parameters
	   *   should be validated against the operation description before sending
	   *   the request. Defaults to true. Pass a map to enable any of the
	   *   following specific validation features:
	   *
	   *   * **min** [Boolean] &mdash; Validates that a value meets the min
	   *     constraint. This is enabled by default when paramValidation is set
	   *     to `true`.
	   *   * **max** [Boolean] &mdash; Validates that a value meets the max
	   *     constraint.
	   *   * **pattern** [Boolean] &mdash; Validates that a string value matches a
	   *     regular expression.
	   *   * **enum** [Boolean] &mdash; Validates that a string value matches one
	   *     of the allowable enum values.
	   * @option options computeChecksums [Boolean] whether to compute checksums
	   *   for payload bodies when the service accepts it (currently supported
	   *   in S3 only)
	   * @option options convertResponseTypes [Boolean] whether types are converted
	   *     when parsing response data. Currently only supported for JSON based
	   *     services. Turning this off may improve performance on large response
	   *     payloads. Defaults to `true`.
	   * @option options correctClockSkew [Boolean] whether to apply a clock skew
	   *     correction and retry requests that fail because of an skewed client
	   *     clock. Defaults to `false`.
	   * @option options s3ForcePathStyle [Boolean] whether to force path
	   *   style URLs for S3 objects.
	   * @option options s3BucketEndpoint [Boolean] whether the provided endpoint
	   *   addresses an individual bucket (false if it addresses the root API
	   *   endpoint). Note that setting this configuration option requires an
	   *   `endpoint` to be provided explicitly to the service constructor.
	   * @option options s3DisableBodySigning [Boolean] whether S3 body signing
	   *   should be disabled when using signature version `v4`. Body signing
	   *   can only be disabled when using https. Defaults to `true`.
	   *
	   * @option options retryDelayOptions [map] A set of options to configure
	   *   the retry delay on retryable errors. Currently supported options are:
	   *
	   *   * **base** [Integer] &mdash; The base number of milliseconds to use in the
	   *     exponential backoff for operation retries. Defaults to 100 ms for all
	   *     services except DynamoDB, where it defaults to 50ms.
	   *   * **customBackoff ** [function] &mdash; A custom function that accepts a retry count
	   *     and returns the amount of time to delay in milliseconds. The `base` option will be
	   *     ignored if this option is supplied.
	   * @option options httpOptions [map] A set of options to pass to the low-level
	   *   HTTP request. Currently supported options are:
	   *
	   *   * **proxy** [String] &mdash; the URL to proxy requests through
	   *   * **agent** [http.Agent, https.Agent] &mdash; the Agent object to perform
	   *     HTTP requests with. Used for connection pooling. Defaults to the global
	   *     agent (`http.globalAgent`) for non-SSL connections. Note that for
	   *     SSL connections, a special Agent object is used in order to enable
	   *     peer certificate verification. This feature is only available in the
	   *     Node.js environment.
	   *   * **connectTimeout** [Integer] &mdash; Sets the socket to timeout after
	   *     failing to establish a connection with the server after
	   *     `connectTimeout` milliseconds. This timeout has no effect once a socket
	   *     connection has been established.
	   *   * **timeout** [Integer] &mdash; Sets the socket to timeout after timeout
	   *     milliseconds of inactivity on the socket. Defaults to two minutes
	   *     (120000).
	   *   * **xhrAsync** [Boolean] &mdash; Whether the SDK will send asynchronous
	   *     HTTP requests. Used in the browser environment only. Set to false to
	   *     send requests synchronously. Defaults to true (async on).
	   *   * **xhrWithCredentials** [Boolean] &mdash; Sets the "withCredentials"
	   *     property of an XMLHttpRequest object. Used in the browser environment
	   *     only. Defaults to false.
	   * @option options apiVersion [String, Date] a String in YYYY-MM-DD format
	   *   (or a date) that represents the latest possible API version that can be
	   *   used in all services (unless overridden by `apiVersions`). Specify
	   *   'latest' to use the latest possible version.
	   * @option options apiVersions [map<String, String|Date>] a map of service
	   *   identifiers (the lowercase service class name) with the API version to
	   *   use when instantiating a service. Specify 'latest' for each individual
	   *   that can use the latest available version.
	   * @option options logger [#write,#log] an object that responds to .write()
	   *   (like a stream) or .log() (like the console object) in order to log
	   *   information about requests
	   * @option options systemClockOffset [Number] an offset value in milliseconds
	   *   to apply to all signing times. Use this to compensate for clock skew
	   *   when your system may be out of sync with the service time. Note that
	   *   this configuration option can only be applied to the global `AWS.config`
	   *   object and cannot be overridden in service-specific configuration.
	   *   Defaults to 0 milliseconds.
	   * @option options signatureVersion [String] the signature version to sign
	   *   requests with (overriding the API configuration). Possible values are:
	   *   'v2', 'v3', 'v4'.
	   * @option options signatureCache [Boolean] whether the signature to sign
	   *   requests with (overriding the API configuration) is cached. Only applies
	   *   to the signature version 'v4'. Defaults to `true`.
	   * @option options dynamoDbCrc32 [Boolean] whether to validate the CRC32
	   *   checksum of HTTP response bodies returned by DynamoDB. Default: `true`.
	   */
	  constructor: function Config(options) {
	    if (options === undefined) options = {};
	    options = this.extractCredentials(options);

	    AWS.util.each.call(this, this.keys, function (key, value) {
	      this.set(key, options[key], value);
	    });
	  },

	  /**
	   * @!group Managing Credentials
	   */

	  /**
	   * Loads credentials from the configuration object. This is used internally
	   * by the SDK to ensure that refreshable {Credentials} objects are properly
	   * refreshed and loaded when sending a request. If you want to ensure that
	   * your credentials are loaded prior to a request, you can use this method
	   * directly to provide accurate credential data stored in the object.
	   *
	   * @note If you configure the SDK with static or environment credentials,
	   *   the credential data should already be present in {credentials} attribute.
	   *   This method is primarily necessary to load credentials from asynchronous
	   *   sources, or sources that can refresh credentials periodically.
	   * @example Getting your access key
	   *   AWS.config.getCredentials(function(err) {
	   *     if (err) console.log(err.stack); // credentials not loaded
	   *     else console.log("Access Key:", AWS.config.credentials.accessKeyId);
	   *   })
	   * @callback callback function(err)
	   *   Called when the {credentials} have been properly set on the configuration
	   *   object.
	   *
	   *   @param err [Error] if this is set, credentials were not successfully
	   *     loaded and this error provides information why.
	   * @see credentials
	   * @see Credentials
	   */
	  getCredentials: function getCredentials(callback) {
	    var self = this;

	    function finish(err) {
	      callback(err, err ? null : self.credentials);
	    }

	    function credError(msg, err) {
	      return new AWS.util.error(err || new Error(), {
	        code: 'CredentialsError',
	        message: msg,
	        name: 'CredentialsError'
	      });
	    }

	    function getAsyncCredentials() {
	      self.credentials.get(function(err) {
	        if (err) {
	          var msg = 'Could not load credentials from ' +
	            self.credentials.constructor.name;
	          err = credError(msg, err);
	        }
	        finish(err);
	      });
	    }

	    function getStaticCredentials() {
	      var err = null;
	      if (!self.credentials.accessKeyId || !self.credentials.secretAccessKey) {
	        err = credError('Missing credentials');
	      }
	      finish(err);
	    }

	    if (self.credentials) {
	      if (typeof self.credentials.get === 'function') {
	        getAsyncCredentials();
	      } else { // static credentials
	        getStaticCredentials();
	      }
	    } else if (self.credentialProvider) {
	      self.credentialProvider.resolve(function(err, creds) {
	        if (err) {
	          err = credError('Could not load credentials from any providers', err);
	        }
	        self.credentials = creds;
	        finish(err);
	      });
	    } else {
	      finish(credError('No credentials to load'));
	    }
	  },

	  /**
	   * @!group Loading and Setting Configuration Options
	   */

	  /**
	   * @overload update(options, allowUnknownKeys = false)
	   *   Updates the current configuration object with new options.
	   *
	   *   @example Update maxRetries property of a configuration object
	   *     config.update({maxRetries: 10});
	   *   @param [Object] options a map of option keys and values.
	   *   @param [Boolean] allowUnknownKeys whether unknown keys can be set on
	   *     the configuration object. Defaults to `false`.
	   *   @see constructor
	   */
	  update: function update(options, allowUnknownKeys) {
	    allowUnknownKeys = allowUnknownKeys || false;
	    options = this.extractCredentials(options);
	    AWS.util.each.call(this, options, function (key, value) {
	      if (allowUnknownKeys || Object.prototype.hasOwnProperty.call(this.keys, key) ||
	          AWS.Service.hasService(key)) {
	        this.set(key, value);
	      }
	    });
	  },

	  /**
	   * Loads configuration data from a JSON file into this config object.
	   * @note Loading configuration will reset all existing configuration
	   *   on the object.
	   * @!macro nobrowser
	   * @param path [String] the path relative to your process's current
	   *    working directory to load configuration from.
	   * @return [AWS.Config] the same configuration object
	   */
	  loadFromPath: function loadFromPath(path) {
	    this.clear();

	    var options = JSON.parse(AWS.util.readFileSync(path));
	    var fileSystemCreds = new AWS.FileSystemCredentials(path);
	    var chain = new AWS.CredentialProviderChain();
	    chain.providers.unshift(fileSystemCreds);
	    chain.resolve(function (err, creds) {
	      if (err) throw err;
	      else options.credentials = creds;
	    });

	    this.constructor(options);

	    return this;
	  },

	  /**
	   * Clears configuration data on this object
	   *
	   * @api private
	   */
	  clear: function clear() {
	    /*jshint forin:false */
	    AWS.util.each.call(this, this.keys, function (key) {
	      delete this[key];
	    });

	    // reset credential provider
	    this.set('credentials', undefined);
	    this.set('credentialProvider', undefined);
	  },

	  /**
	   * Sets a property on the configuration object, allowing for a
	   * default value
	   * @api private
	   */
	  set: function set(property, value, defaultValue) {
	    if (value === undefined) {
	      if (defaultValue === undefined) {
	        defaultValue = this.keys[property];
	      }
	      if (typeof defaultValue === 'function') {
	        this[property] = defaultValue.call(this);
	      } else {
	        this[property] = defaultValue;
	      }
	    } else if (property === 'httpOptions' && this[property]) {
	      // deep merge httpOptions
	      this[property] = AWS.util.merge(this[property], value);
	    } else {
	      this[property] = value;
	    }
	  },

	  /**
	   * All of the keys with their default values.
	   *
	   * @constant
	   * @api private
	   */
	  keys: {
	    credentials: null,
	    credentialProvider: null,
	    region: null,
	    logger: null,
	    apiVersions: {},
	    apiVersion: null,
	    endpoint: undefined,
	    httpOptions: {
	      timeout: 120000
	    },
	    maxRetries: undefined,
	    maxRedirects: 10,
	    paramValidation: true,
	    sslEnabled: true,
	    s3ForcePathStyle: false,
	    s3BucketEndpoint: false,
	    s3DisableBodySigning: true,
	    computeChecksums: true,
	    convertResponseTypes: true,
	    correctClockSkew: false,
	    customUserAgent: null,
	    dynamoDbCrc32: true,
	    systemClockOffset: 0,
	    signatureVersion: null,
	    signatureCache: true,
	    retryDelayOptions: {},
	    useAccelerateEndpoint: false
	  },

	  /**
	   * Extracts accessKeyId, secretAccessKey and sessionToken
	   * from a configuration hash.
	   *
	   * @api private
	   */
	  extractCredentials: function extractCredentials(options) {
	    if (options.accessKeyId && options.secretAccessKey) {
	      options = AWS.util.copy(options);
	      options.credentials = new AWS.Credentials(options);
	    }
	    return options;
	  },

	  /**
	   * Sets the promise dependency the SDK will use wherever Promises are returned.
	   * Passing `null` will force the SDK to use native Promises if they are available.
	   * If native Promises are not available, passing `null` will have no effect.
	   * @param [Constructor] dep A reference to a Promise constructor
	   */
	  setPromisesDependency: function setPromisesDependency(dep) {
	    PromisesDependency = dep;
	    // if null was passed in, we should try to use native promises
	    if (dep === null && typeof Promise === 'function') {
	      PromisesDependency = Promise;
	    }
	    var constructors = [AWS.Request, AWS.Credentials, AWS.CredentialProviderChain];
	    if (AWS.S3 && AWS.S3.ManagedUpload) constructors.push(AWS.S3.ManagedUpload);
	    AWS.util.addPromises(constructors, PromisesDependency);
	  },

	  /**
	   * Gets the promise dependency set by `AWS.config.setPromisesDependency`.
	   */
	  getPromisesDependency: function getPromisesDependency() {
	    return PromisesDependency;
	  }
	});

	/**
	 * @return [AWS.Config] The global configuration object singleton instance
	 * @readonly
	 * @see AWS.Config
	 */
	AWS.config = new AWS.Config();


/***/ }),
/* 183 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	/**
	 * Represents your AWS security credentials, specifically the
	 * {accessKeyId}, {secretAccessKey}, and optional {sessionToken}.
	 * Creating a `Credentials` object allows you to pass around your
	 * security information to configuration and service objects.
	 *
	 * Note that this class typically does not need to be constructed manually,
	 * as the {AWS.Config} and {AWS.Service} classes both accept simple
	 * options hashes with the three keys. These structures will be converted
	 * into Credentials objects automatically.
	 *
	 * ## Expiring and Refreshing Credentials
	 *
	 * Occasionally credentials can expire in the middle of a long-running
	 * application. In this case, the SDK will automatically attempt to
	 * refresh the credentials from the storage location if the Credentials
	 * class implements the {refresh} method.
	 *
	 * If you are implementing a credential storage location, you
	 * will want to create a subclass of the `Credentials` class and
	 * override the {refresh} method. This method allows credentials to be
	 * retrieved from the backing store, be it a file system, database, or
	 * some network storage. The method should reset the credential attributes
	 * on the object.
	 *
	 * @!attribute expired
	 *   @return [Boolean] whether the credentials have been expired and
	 *     require a refresh. Used in conjunction with {expireTime}.
	 * @!attribute expireTime
	 *   @return [Date] a time when credentials should be considered expired. Used
	 *     in conjunction with {expired}.
	 * @!attribute accessKeyId
	 *   @return [String] the AWS access key ID
	 * @!attribute secretAccessKey
	 *   @return [String] the AWS secret access key
	 * @!attribute sessionToken
	 *   @return [String] an optional AWS session token
	 */
	AWS.Credentials = AWS.util.inherit({
	  /**
	   * A credentials object can be created using positional arguments or an options
	   * hash.
	   *
	   * @overload AWS.Credentials(accessKeyId, secretAccessKey, sessionToken=null)
	   *   Creates a Credentials object with a given set of credential information
	   *   as positional arguments.
	   *   @param accessKeyId [String] the AWS access key ID
	   *   @param secretAccessKey [String] the AWS secret access key
	   *   @param sessionToken [String] the optional AWS session token
	   *   @example Create a credentials object with AWS credentials
	   *     var creds = new AWS.Credentials('akid', 'secret', 'session');
	   * @overload AWS.Credentials(options)
	   *   Creates a Credentials object with a given set of credential information
	   *   as an options hash.
	   *   @option options accessKeyId [String] the AWS access key ID
	   *   @option options secretAccessKey [String] the AWS secret access key
	   *   @option options sessionToken [String] the optional AWS session token
	   *   @example Create a credentials object with AWS credentials
	   *     var creds = new AWS.Credentials({
	   *       accessKeyId: 'akid', secretAccessKey: 'secret', sessionToken: 'session'
	   *     });
	   */
	  constructor: function Credentials() {
	    // hide secretAccessKey from being displayed with util.inspect
	    AWS.util.hideProperties(this, ['secretAccessKey']);

	    this.expired = false;
	    this.expireTime = null;
	    if (arguments.length === 1 && typeof arguments[0] === 'object') {
	      var creds = arguments[0].credentials || arguments[0];
	      this.accessKeyId = creds.accessKeyId;
	      this.secretAccessKey = creds.secretAccessKey;
	      this.sessionToken = creds.sessionToken;
	    } else {
	      this.accessKeyId = arguments[0];
	      this.secretAccessKey = arguments[1];
	      this.sessionToken = arguments[2];
	    }
	  },

	  /**
	   * @return [Integer] the number of seconds before {expireTime} during which
	   *   the credentials will be considered expired.
	   */
	  expiryWindow: 15,

	  /**
	   * @return [Boolean] whether the credentials object should call {refresh}
	   * @note Subclasses should override this method to provide custom refresh
	   *   logic.
	   */
	  needsRefresh: function needsRefresh() {
	    var currentTime = AWS.util.date.getDate().getTime();
	    var adjustedTime = new Date(currentTime + this.expiryWindow * 1000);

	    if (this.expireTime && adjustedTime > this.expireTime) {
	      return true;
	    } else {
	      return this.expired || !this.accessKeyId || !this.secretAccessKey;
	    }
	  },

	  /**
	   * Gets the existing credentials, refreshing them if they are not yet loaded
	   * or have expired. Users should call this method before using {refresh},
	   * as this will not attempt to reload credentials when they are already
	   * loaded into the object.
	   *
	   * @callback callback function(err)
	   *   When this callback is called with no error, it means either credentials
	   *   do not need to be refreshed or refreshed credentials information has
	   *   been loaded into the object (as the `accessKeyId`, `secretAccessKey`,
	   *   and `sessionToken` properties).
	   *   @param err [Error] if an error occurred, this value will be filled
	   */
	  get: function get(callback) {
	    var self = this;
	    if (this.needsRefresh()) {
	      this.refresh(function(err) {
	        if (!err) self.expired = false; // reset expired flag
	        if (callback) callback(err);
	      });
	    } else if (callback) {
	      callback();
	    }
	  },

	  /**
	   * @!method  getPromise()
	   *   Returns a 'thenable' promise.
	   *   Gets the existing credentials, refreshing them if they are not yet loaded
	   *   or have expired. Users should call this method before using {refresh},
	   *   as this will not attempt to reload credentials when they are already
	   *   loaded into the object.
	   *
	   *   Two callbacks can be provided to the `then` method on the returned promise.
	   *   The first callback will be called if the promise is fulfilled, and the second
	   *   callback will be called if the promise is rejected.
	   *   @callback fulfilledCallback function()
	   *     Called if the promise is fulfilled. When this callback is called, it
	   *     means either credentials do not need to be refreshed or refreshed
	   *     credentials information has been loaded into the object (as the
	   *     `accessKeyId`, `secretAccessKey`, and `sessionToken` properties).
	   *   @callback rejectedCallback function(err)
	   *     Called if the promise is rejected.
	   *     @param err [Error] if an error occurred, this value will be filled
	   *   @return [Promise] A promise that represents the state of the `get` call.
	   *   @example Calling the `getPromise` method.
	   *     var promise = credProvider.getPromise();
	   *     promise.then(function() { ... }, function(err) { ... });
	   */

	  /**
	   * @!method  refreshPromise()
	   *   Returns a 'thenable' promise.
	   *   Refreshes the credentials. Users should call {get} before attempting
	   *   to forcibly refresh credentials.
	   *
	   *   Two callbacks can be provided to the `then` method on the returned promise.
	   *   The first callback will be called if the promise is fulfilled, and the second
	   *   callback will be called if the promise is rejected.
	   *   @callback fulfilledCallback function()
	   *     Called if the promise is fulfilled. When this callback is called, it
	   *     means refreshed credentials information has been loaded into the object
	   *     (as the `accessKeyId`, `secretAccessKey`, and `sessionToken` properties).
	   *   @callback rejectedCallback function(err)
	   *     Called if the promise is rejected.
	   *     @param err [Error] if an error occurred, this value will be filled
	   *   @return [Promise] A promise that represents the state of the `refresh` call.
	   *   @example Calling the `refreshPromise` method.
	   *     var promise = credProvider.refreshPromise();
	   *     promise.then(function() { ... }, function(err) { ... });
	   */

	  /**
	   * Refreshes the credentials. Users should call {get} before attempting
	   * to forcibly refresh credentials.
	   *
	   * @callback callback function(err)
	   *   When this callback is called with no error, it means refreshed
	   *   credentials information has been loaded into the object (as the
	   *   `accessKeyId`, `secretAccessKey`, and `sessionToken` properties).
	   *   @param err [Error] if an error occurred, this value will be filled
	   * @note Subclasses should override this class to reset the
	   *   {accessKeyId}, {secretAccessKey} and optional {sessionToken}
	   *   on the credentials object and then call the callback with
	   *   any error information.
	   * @see get
	   */
	  refresh: function refresh(callback) {
	    this.expired = false;
	    callback();
	  }
	});

	/**
	 * @api private
	 */
	AWS.Credentials.addPromisesToClass = function addPromisesToClass(PromiseDependency) {
	  this.prototype.getPromise = AWS.util.promisifyMethod('get', PromiseDependency);
	  this.prototype.refreshPromise = AWS.util.promisifyMethod('refresh', PromiseDependency);
	};

	/**
	 * @api private
	 */
	AWS.Credentials.deletePromisesFromClass = function deletePromisesFromClass() {
	  delete this.prototype.getPromise;
	  delete this.prototype.refreshPromise;
	};

	AWS.util.addPromises(AWS.Credentials);


/***/ }),
/* 184 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	/**
	 * Creates a credential provider chain that searches for AWS credentials
	 * in a list of credential providers specified by the {providers} property.
	 *
	 * By default, the chain will use the {defaultProviders} to resolve credentials.
	 * These providers will look in the environment using the
	 * {AWS.EnvironmentCredentials} class with the 'AWS' and 'AMAZON' prefixes.
	 *
	 * ## Setting Providers
	 *
	 * Each provider in the {providers} list should be a function that returns
	 * a {AWS.Credentials} object, or a hardcoded credentials object. The function
	 * form allows for delayed execution of the credential construction.
	 *
	 * ## Resolving Credentials from a Chain
	 *
	 * Call {resolve} to return the first valid credential object that can be
	 * loaded by the provider chain.
	 *
	 * For example, to resolve a chain with a custom provider that checks a file
	 * on disk after the set of {defaultProviders}:
	 *
	 * ```javascript
	 * var diskProvider = new AWS.FileSystemCredentials('./creds.json');
	 * var chain = new AWS.CredentialProviderChain();
	 * chain.providers.push(diskProvider);
	 * chain.resolve();
	 * ```
	 *
	 * The above code will return the `diskProvider` object if the
	 * file contains credentials and the `defaultProviders` do not contain
	 * any credential settings.
	 *
	 * @!attribute providers
	 *   @return [Array<AWS.Credentials, Function>]
	 *     a list of credentials objects or functions that return credentials
	 *     objects. If the provider is a function, the function will be
	 *     executed lazily when the provider needs to be checked for valid
	 *     credentials. By default, this object will be set to the
	 *     {defaultProviders}.
	 *   @see defaultProviders
	 */
	AWS.CredentialProviderChain = AWS.util.inherit(AWS.Credentials, {

	  /**
	   * Creates a new CredentialProviderChain with a default set of providers
	   * specified by {defaultProviders}.
	   */
	  constructor: function CredentialProviderChain(providers) {
	    if (providers) {
	      this.providers = providers;
	    } else {
	      this.providers = AWS.CredentialProviderChain.defaultProviders.slice(0);
	    }
	  },

	  /**
	   * @!method  resolvePromise()
	   *   Returns a 'thenable' promise.
	   *   Resolves the provider chain by searching for the first set of
	   *   credentials in {providers}.
	   *
	   *   Two callbacks can be provided to the `then` method on the returned promise.
	   *   The first callback will be called if the promise is fulfilled, and the second
	   *   callback will be called if the promise is rejected.
	   *   @callback fulfilledCallback function(credentials)
	   *     Called if the promise is fulfilled and the provider resolves the chain
	   *     to a credentials object
	   *     @param credentials [AWS.Credentials] the credentials object resolved
	   *       by the provider chain.
	   *   @callback rejectedCallback function(error)
	   *     Called if the promise is rejected.
	   *     @param err [Error] the error object returned if no credentials are found.
	   *   @return [Promise] A promise that represents the state of the `resolve` method call.
	   *   @example Calling the `resolvePromise` method.
	   *     var promise = chain.resolvePromise();
	   *     promise.then(function(credentials) { ... }, function(err) { ... });
	   */

	  /**
	   * Resolves the provider chain by searching for the first set of
	   * credentials in {providers}.
	   *
	   * @callback callback function(err, credentials)
	   *   Called when the provider resolves the chain to a credentials object
	   *   or null if no credentials can be found.
	   *
	   *   @param err [Error] the error object returned if no credentials are
	   *     found.
	   *   @param credentials [AWS.Credentials] the credentials object resolved
	   *     by the provider chain.
	   * @return [AWS.CredentialProviderChain] the provider, for chaining.
	   */
	  resolve: function resolve(callback) {
	    if (this.providers.length === 0) {
	      callback(new Error('No providers'));
	      return this;
	    }

	    var index = 0;
	    var providers = this.providers.slice(0);

	    function resolveNext(err, creds) {
	      if ((!err && creds) || index === providers.length) {
	        callback(err, creds);
	        return;
	      }

	      var provider = providers[index++];
	      if (typeof provider === 'function') {
	        creds = provider.call();
	      } else {
	        creds = provider;
	      }

	      if (creds.get) {
	        creds.get(function(getErr) {
	          resolveNext(getErr, getErr ? null : creds);
	        });
	      } else {
	        resolveNext(null, creds);
	      }
	    }

	    resolveNext();
	    return this;
	  }
	});

	/**
	 * The default set of providers used by a vanilla CredentialProviderChain.
	 *
	 * In the browser:
	 *
	 * ```javascript
	 * AWS.CredentialProviderChain.defaultProviders = []
	 * ```
	 *
	 * In Node.js:
	 *
	 * ```javascript
	 * AWS.CredentialProviderChain.defaultProviders = [
	 *   function () { return new AWS.EnvironmentCredentials('AWS'); },
	 *   function () { return new AWS.EnvironmentCredentials('AMAZON'); },
	 *   function () { return new AWS.SharedIniFileCredentials(); },
	 *   function () {
	 *     // if AWS_CONTAINER_CREDENTIALS_RELATIVE_URI is set
	 *       return new AWS.ECSCredentials();
	 *     // else
	 *       return new AWS.EC2MetadataCredentials();
	 *   }
	 * ]
	 * ```
	 */
	AWS.CredentialProviderChain.defaultProviders = [];

	/**
	 * @api private
	 */
	AWS.CredentialProviderChain.addPromisesToClass = function addPromisesToClass(PromiseDependency) {
	  this.prototype.resolvePromise = AWS.util.promisifyMethod('resolve', PromiseDependency);
	};

	/**
	 * @api private
	 */
	AWS.CredentialProviderChain.deletePromisesFromClass = function deletePromisesFromClass() {
	  delete this.prototype.resolvePromise;
	};

	AWS.util.addPromises(AWS.CredentialProviderChain);


/***/ }),
/* 185 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var STS = __webpack_require__(186);

	/**
	 * Represents temporary credentials retrieved from {AWS.STS}. Without any
	 * extra parameters, credentials will be fetched from the
	 * {AWS.STS.getSessionToken} operation. If an IAM role is provided, the
	 * {AWS.STS.assumeRole} operation will be used to fetch credentials for the
	 * role instead.
	 *
	 * To setup temporary credentials, configure a set of master credentials
	 * using the standard credentials providers (environment, EC2 instance metadata,
	 * or from the filesystem), then set the global credentials to a new
	 * temporary credentials object:
	 *
	 * ```javascript
	 * // Note that environment credentials are loaded by default,
	 * // the following line is shown for clarity:
	 * AWS.config.credentials = new AWS.EnvironmentCredentials('AWS');
	 *
	 * // Now set temporary credentials seeded from the master credentials
	 * AWS.config.credentials = new AWS.TemporaryCredentials();
	 *
	 * // subsequent requests will now use temporary credentials from AWS STS.
	 * new AWS.S3().listBucket(function(err, data) { ... });
	 * ```
	 *
	 * @!attribute masterCredentials
	 *   @return [AWS.Credentials] the master (non-temporary) credentials used to
	 *     get and refresh temporary credentials from AWS STS.
	 * @note (see constructor)
	 */
	AWS.TemporaryCredentials = AWS.util.inherit(AWS.Credentials, {
	  /**
	   * Creates a new temporary credentials object.
	   *
	   * @note In order to create temporary credentials, you first need to have
	   *   "master" credentials configured in {AWS.Config.credentials}. These
	   *   master credentials are necessary to retrieve the temporary credentials,
	   *   as well as refresh the credentials when they expire.
	   * @param params [map] a map of options that are passed to the
	   *   {AWS.STS.assumeRole} or {AWS.STS.getSessionToken} operations.
	   *   If a `RoleArn` parameter is passed in, credentials will be based on the
	   *   IAM role.
	   * @param masterCredentials [AWS.Credentials] the master (non-temporary) credentials
	   *  used to get and refresh temporary credentials from AWS STS.
	   * @example Creating a new credentials object for generic temporary credentials
	   *   AWS.config.credentials = new AWS.TemporaryCredentials();
	   * @example Creating a new credentials object for an IAM role
	   *   AWS.config.credentials = new AWS.TemporaryCredentials({
	   *     RoleArn: 'arn:aws:iam::1234567890:role/TemporaryCredentials',
	   *   });
	   * @see AWS.STS.assumeRole
	   * @see AWS.STS.getSessionToken
	   */
	  constructor: function TemporaryCredentials(params, masterCredentials) {
	    AWS.Credentials.call(this);
	    this.loadMasterCredentials(masterCredentials);
	    this.expired = true;

	    this.params = params || {};
	    if (this.params.RoleArn) {
	      this.params.RoleSessionName =
	        this.params.RoleSessionName || 'temporary-credentials';
	    }
	  },

	  /**
	   * Refreshes credentials using {AWS.STS.assumeRole} or
	   * {AWS.STS.getSessionToken}, depending on whether an IAM role ARN was passed
	   * to the credentials {constructor}.
	   *
	   * @callback callback function(err)
	   *   Called when the STS service responds (or fails). When
	   *   this callback is called with no error, it means that the credentials
	   *   information has been loaded into the object (as the `accessKeyId`,
	   *   `secretAccessKey`, and `sessionToken` properties).
	   *   @param err [Error] if an error occurred, this value will be filled
	   * @see get
	   */
	  refresh: function refresh(callback) {
	    var self = this;
	    self.createClients();
	    if (!callback) callback = function(err) { if (err) throw err; };

	    self.masterCredentials.get(function() {
	      self.service.config.credentials = self.masterCredentials;
	      var operation = self.params.RoleArn ?
	        self.service.assumeRole : self.service.getSessionToken;
	      operation.call(self.service, function (err, data) {
	        if (!err) {
	          self.service.credentialsFrom(data, self);
	        }
	        callback(err);
	      });
	    });
	  },

	  /**
	   * @api private
	   */
	  loadMasterCredentials: function loadMasterCredentials(masterCredentials) {
	    this.masterCredentials = masterCredentials || AWS.config.credentials;
	    while (this.masterCredentials.masterCredentials) {
	      this.masterCredentials = this.masterCredentials.masterCredentials;
	    }

	    if (typeof this.masterCredentials.get !== 'function') {
	      this.masterCredentials = new AWS.Credentials(this.masterCredentials);
	    }
	  },

	  /**
	   * @api private
	   */
	  createClients: function() {
	    this.service = this.service || new STS({params: this.params});
	  }

	});


/***/ }),
/* 186 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['sts'] = {};
	AWS.STS = Service.defineService('sts', ['2011-06-15']);
	__webpack_require__(188);
	Object.defineProperty(apiLoader.services['sts'], '2011-06-15', {
	  get: function get() {
	    var model = __webpack_require__(189);
	    model.paginators = __webpack_require__(190).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.STS;


/***/ }),
/* 187 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	AWS.apiLoader = function(svc, version) {
	  if (!AWS.apiLoader.services.hasOwnProperty(svc)) {
	    throw new Error('InvalidService: Failed to load api for ' + svc);
	  }
	  return AWS.apiLoader.services[svc][version];
	};

	/**
	 * This member of AWS.apiLoader is private, but changing it will necessitate a
	 * change to ../scripts/services-table-generator.ts
	 */
	AWS.apiLoader.services = {};

	module.exports = AWS.apiLoader;


/***/ }),
/* 188 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	AWS.util.update(AWS.STS.prototype, {
	  /**
	   * @overload credentialsFrom(data, credentials = null)
	   *   Creates a credentials object from STS response data containing
	   *   credentials information. Useful for quickly setting AWS credentials.
	   *
	   *   @note This is a low-level utility function. If you want to load temporary
	   *     credentials into your process for subsequent requests to AWS resources,
	   *     you should use {AWS.TemporaryCredentials} instead.
	   *   @param data [map] data retrieved from a call to {getFederatedToken},
	   *     {getSessionToken}, {assumeRole}, or {assumeRoleWithWebIdentity}.
	   *   @param credentials [AWS.Credentials] an optional credentials object to
	   *     fill instead of creating a new object. Useful when modifying an
	   *     existing credentials object from a refresh call.
	   *   @return [AWS.TemporaryCredentials] the set of temporary credentials
	   *     loaded from a raw STS operation response.
	   *   @example Using credentialsFrom to load global AWS credentials
	   *     var sts = new AWS.STS();
	   *     sts.getSessionToken(function (err, data) {
	   *       if (err) console.log("Error getting credentials");
	   *       else {
	   *         AWS.config.credentials = sts.credentialsFrom(data);
	   *       }
	   *     });
	   *   @see AWS.TemporaryCredentials
	   */
	  credentialsFrom: function credentialsFrom(data, credentials) {
	    if (!data) return null;
	    if (!credentials) credentials = new AWS.TemporaryCredentials();
	    credentials.expired = false;
	    credentials.accessKeyId = data.Credentials.AccessKeyId;
	    credentials.secretAccessKey = data.Credentials.SecretAccessKey;
	    credentials.sessionToken = data.Credentials.SessionToken;
	    credentials.expireTime = data.Credentials.Expiration;
	    return credentials;
	  },

	  assumeRoleWithWebIdentity: function assumeRoleWithWebIdentity(params, callback) {
	    return this.makeUnauthenticatedRequest('assumeRoleWithWebIdentity', params, callback);
	  },

	  assumeRoleWithSAML: function assumeRoleWithSAML(params, callback) {
	    return this.makeUnauthenticatedRequest('assumeRoleWithSAML', params, callback);
	  }
	});


/***/ }),
/* 189 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2011-06-15",
			"endpointPrefix": "sts",
			"globalEndpoint": "sts.amazonaws.com",
			"protocol": "query",
			"serviceAbbreviation": "AWS STS",
			"serviceFullName": "AWS Security Token Service",
			"signatureVersion": "v4",
			"uid": "sts-2011-06-15",
			"xmlNamespace": "https://sts.amazonaws.com/doc/2011-06-15/"
		},
		"operations": {
			"AssumeRole": {
				"input": {
					"type": "structure",
					"required": [
						"RoleArn",
						"RoleSessionName"
					],
					"members": {
						"RoleArn": {},
						"RoleSessionName": {},
						"Policy": {},
						"DurationSeconds": {
							"type": "integer"
						},
						"ExternalId": {},
						"SerialNumber": {},
						"TokenCode": {}
					}
				},
				"output": {
					"resultWrapper": "AssumeRoleResult",
					"type": "structure",
					"members": {
						"Credentials": {
							"shape": "Sa"
						},
						"AssumedRoleUser": {
							"shape": "Sf"
						},
						"PackedPolicySize": {
							"type": "integer"
						}
					}
				}
			},
			"AssumeRoleWithSAML": {
				"input": {
					"type": "structure",
					"required": [
						"RoleArn",
						"PrincipalArn",
						"SAMLAssertion"
					],
					"members": {
						"RoleArn": {},
						"PrincipalArn": {},
						"SAMLAssertion": {},
						"Policy": {},
						"DurationSeconds": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "AssumeRoleWithSAMLResult",
					"type": "structure",
					"members": {
						"Credentials": {
							"shape": "Sa"
						},
						"AssumedRoleUser": {
							"shape": "Sf"
						},
						"PackedPolicySize": {
							"type": "integer"
						},
						"Subject": {},
						"SubjectType": {},
						"Issuer": {},
						"Audience": {},
						"NameQualifier": {}
					}
				}
			},
			"AssumeRoleWithWebIdentity": {
				"input": {
					"type": "structure",
					"required": [
						"RoleArn",
						"RoleSessionName",
						"WebIdentityToken"
					],
					"members": {
						"RoleArn": {},
						"RoleSessionName": {},
						"WebIdentityToken": {},
						"ProviderId": {},
						"Policy": {},
						"DurationSeconds": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "AssumeRoleWithWebIdentityResult",
					"type": "structure",
					"members": {
						"Credentials": {
							"shape": "Sa"
						},
						"SubjectFromWebIdentityToken": {},
						"AssumedRoleUser": {
							"shape": "Sf"
						},
						"PackedPolicySize": {
							"type": "integer"
						},
						"Provider": {},
						"Audience": {}
					}
				}
			},
			"DecodeAuthorizationMessage": {
				"input": {
					"type": "structure",
					"required": [
						"EncodedMessage"
					],
					"members": {
						"EncodedMessage": {}
					}
				},
				"output": {
					"resultWrapper": "DecodeAuthorizationMessageResult",
					"type": "structure",
					"members": {
						"DecodedMessage": {}
					}
				}
			},
			"GetCallerIdentity": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"resultWrapper": "GetCallerIdentityResult",
					"type": "structure",
					"members": {
						"UserId": {},
						"Account": {},
						"Arn": {}
					}
				}
			},
			"GetFederationToken": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"Policy": {},
						"DurationSeconds": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "GetFederationTokenResult",
					"type": "structure",
					"members": {
						"Credentials": {
							"shape": "Sa"
						},
						"FederatedUser": {
							"type": "structure",
							"required": [
								"FederatedUserId",
								"Arn"
							],
							"members": {
								"FederatedUserId": {},
								"Arn": {}
							}
						},
						"PackedPolicySize": {
							"type": "integer"
						}
					}
				}
			},
			"GetSessionToken": {
				"input": {
					"type": "structure",
					"members": {
						"DurationSeconds": {
							"type": "integer"
						},
						"SerialNumber": {},
						"TokenCode": {}
					}
				},
				"output": {
					"resultWrapper": "GetSessionTokenResult",
					"type": "structure",
					"members": {
						"Credentials": {
							"shape": "Sa"
						}
					}
				}
			}
		},
		"shapes": {
			"Sa": {
				"type": "structure",
				"required": [
					"AccessKeyId",
					"SecretAccessKey",
					"SessionToken",
					"Expiration"
				],
				"members": {
					"AccessKeyId": {},
					"SecretAccessKey": {},
					"SessionToken": {},
					"Expiration": {
						"type": "timestamp"
					}
				}
			},
			"Sf": {
				"type": "structure",
				"required": [
					"AssumedRoleId",
					"Arn"
				],
				"members": {
					"AssumedRoleId": {},
					"Arn": {}
				}
			}
		}
	};

/***/ }),
/* 190 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 191 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var STS = __webpack_require__(186);

	/**
	 * Represents credentials retrieved from STS Web Identity Federation support.
	 *
	 * By default this provider gets credentials using the
	 * {AWS.STS.assumeRoleWithWebIdentity} service operation. This operation
	 * requires a `RoleArn` containing the ARN of the IAM trust policy for the
	 * application for which credentials will be given. In addition, the
	 * `WebIdentityToken` must be set to the token provided by the identity
	 * provider. See {constructor} for an example on creating a credentials
	 * object with proper `RoleArn` and `WebIdentityToken` values.
	 *
	 * ## Refreshing Credentials from Identity Service
	 *
	 * In addition to AWS credentials expiring after a given amount of time, the
	 * login token from the identity provider will also expire. Once this token
	 * expires, it will not be usable to refresh AWS credentials, and another
	 * token will be needed. The SDK does not manage refreshing of the token value,
	 * but this can be done through a "refresh token" supported by most identity
	 * providers. Consult the documentation for the identity provider for refreshing
	 * tokens. Once the refreshed token is acquired, you should make sure to update
	 * this new token in the credentials object's {params} property. The following
	 * code will update the WebIdentityToken, assuming you have retrieved an updated
	 * token from the identity provider:
	 *
	 * ```javascript
	 * AWS.config.credentials.params.WebIdentityToken = updatedToken;
	 * ```
	 *
	 * Future calls to `credentials.refresh()` will now use the new token.
	 *
	 * @!attribute params
	 *   @return [map] the map of params passed to
	 *     {AWS.STS.assumeRoleWithWebIdentity}. To update the token, set the
	 *     `params.WebIdentityToken` property.
	 * @!attribute data
	 *   @return [map] the raw data response from the call to
	 *     {AWS.STS.assumeRoleWithWebIdentity}. Use this if you want to get
	 *     access to other properties from the response.
	 */
	AWS.WebIdentityCredentials = AWS.util.inherit(AWS.Credentials, {
	  /**
	   * Creates a new credentials object.
	   * @param (see AWS.STS.assumeRoleWithWebIdentity)
	   * @example Creating a new credentials object
	   *   AWS.config.credentials = new AWS.WebIdentityCredentials({
	   *     RoleArn: 'arn:aws:iam::1234567890:role/WebIdentity',
	   *     WebIdentityToken: 'ABCDEFGHIJKLMNOP', // token from identity service
	   *     RoleSessionName: 'web' // optional name, defaults to web-identity
	   *   }, {
	   *     // optionally provide configuration to apply to the underlying AWS.STS service client
	   *     // if configuration is not provided, then configuration will be pulled from AWS.config
	   *
	   *     // specify timeout options
	   *     httpOptions: {
	   *       timeout: 100
	   *     }
	   *   });
	   * @see AWS.STS.assumeRoleWithWebIdentity
	   * @see AWS.Config
	   */
	  constructor: function WebIdentityCredentials(params, clientConfig) {
	    AWS.Credentials.call(this);
	    this.expired = true;
	    this.params = params;
	    this.params.RoleSessionName = this.params.RoleSessionName || 'web-identity';
	    this.data = null;
	    this._clientConfig = AWS.util.copy(clientConfig || {});
	  },

	  /**
	   * Refreshes credentials using {AWS.STS.assumeRoleWithWebIdentity}
	   *
	   * @callback callback function(err)
	   *   Called when the STS service responds (or fails). When
	   *   this callback is called with no error, it means that the credentials
	   *   information has been loaded into the object (as the `accessKeyId`,
	   *   `secretAccessKey`, and `sessionToken` properties).
	   *   @param err [Error] if an error occurred, this value will be filled
	   * @see get
	   */
	  refresh: function refresh(callback) {
	    var self = this;
	    self.createClients();
	    if (!callback) callback = function(err) { if (err) throw err; };

	    self.service.assumeRoleWithWebIdentity(function (err, data) {
	      self.data = null;
	      if (!err) {
	        self.data = data;
	        self.service.credentialsFrom(data, self);
	      }
	      callback(err);
	    });
	  },

	  /**
	   * @api private
	   */
	  createClients: function() {
	    if (!this.service) {
	      var stsConfig = AWS.util.merge({}, this._clientConfig);
	      stsConfig.params = this.params;
	      this.service = new STS(stsConfig);
	    }
	  }

	});


/***/ }),
/* 192 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var CognitoIdentity = __webpack_require__(193);
	var STS = __webpack_require__(186);

	/**
	 * Represents credentials retrieved from STS Web Identity Federation using
	 * the Amazon Cognito Identity service.
	 *
	 * By default this provider gets credentials using the
	 * {AWS.CognitoIdentity.getCredentialsForIdentity} service operation, which
	 * requires either an `IdentityId` or an `IdentityPoolId` (Amazon Cognito
	 * Identity Pool ID), which is used to call {AWS.CognitoIdentity.getId} to
	 * obtain an `IdentityId`. If the identity or identity pool is not configured in
	 * the Amazon Cognito Console to use IAM roles with the appropriate permissions,
	 * then additionally a `RoleArn` is required containing the ARN of the IAM trust
	 * policy for the Amazon Cognito role that the user will log into. If a `RoleArn`
	 * is provided, then this provider gets credentials using the
	 * {AWS.STS.assumeRoleWithWebIdentity} service operation, after first getting an
	 * Open ID token from {AWS.CognitoIdentity.getOpenIdToken}.
	 *
	 * In addition, if this credential provider is used to provide authenticated
	 * login, the `Logins` map may be set to the tokens provided by the respective
	 * identity providers. See {constructor} for an example on creating a credentials
	 * object with proper property values.
	 *
	 * ## Refreshing Credentials from Identity Service
	 *
	 * In addition to AWS credentials expiring after a given amount of time, the
	 * login token from the identity provider will also expire. Once this token
	 * expires, it will not be usable to refresh AWS credentials, and another
	 * token will be needed. The SDK does not manage refreshing of the token value,
	 * but this can be done through a "refresh token" supported by most identity
	 * providers. Consult the documentation for the identity provider for refreshing
	 * tokens. Once the refreshed token is acquired, you should make sure to update
	 * this new token in the credentials object's {params} property. The following
	 * code will update the WebIdentityToken, assuming you have retrieved an updated
	 * token from the identity provider:
	 *
	 * ```javascript
	 * AWS.config.credentials.params.Logins['graph.facebook.com'] = updatedToken;
	 * ```
	 *
	 * Future calls to `credentials.refresh()` will now use the new token.
	 *
	 * @!attribute params
	 *   @return [map] the map of params passed to
	 *     {AWS.CognitoIdentity.getId},
	 *     {AWS.CognitoIdentity.getOpenIdToken}, and
	 *     {AWS.STS.assumeRoleWithWebIdentity}. To update the token, set the
	 *     `params.WebIdentityToken` property.
	 * @!attribute data
	 *   @return [map] the raw data response from the call to
	 *     {AWS.CognitoIdentity.getCredentialsForIdentity}, or
	 *     {AWS.STS.assumeRoleWithWebIdentity}. Use this if you want to get
	 *     access to other properties from the response.
	 * @!attribute identityId
	 *   @return [String] the Cognito ID returned by the last call to
	 *     {AWS.CognitoIdentity.getOpenIdToken}. This ID represents the actual
	 *     final resolved identity ID from Amazon Cognito.
	 */
	AWS.CognitoIdentityCredentials = AWS.util.inherit(AWS.Credentials, {
	  /**
	   * @api private
	   */
	  localStorageKey: {
	    id: 'aws.cognito.identity-id.',
	    providers: 'aws.cognito.identity-providers.'
	  },

	  /**
	   * Creates a new credentials object.
	   * @example Creating a new credentials object
	   *   AWS.config.credentials = new AWS.CognitoIdentityCredentials({
	   *
	   *     // either IdentityPoolId or IdentityId is required
	   *     // See the IdentityPoolId param for AWS.CognitoIdentity.getID (linked below)
	   *     // See the IdentityId param for AWS.CognitoIdentity.getCredentialsForIdentity
	   *     // or AWS.CognitoIdentity.getOpenIdToken (linked below)
	   *     IdentityPoolId: 'us-east-1:1699ebc0-7900-4099-b910-2df94f52a030',
	   *     IdentityId: 'us-east-1:128d0a74-c82f-4553-916d-90053e4a8b0f'
	   *
	   *     // optional, only necessary when the identity pool is not configured
	   *     // to use IAM roles in the Amazon Cognito Console
	   *     // See the RoleArn param for AWS.STS.assumeRoleWithWebIdentity (linked below)
	   *     RoleArn: 'arn:aws:iam::1234567890:role/MYAPP-CognitoIdentity',
	   *
	   *     // optional tokens, used for authenticated login
	   *     // See the Logins param for AWS.CognitoIdentity.getID (linked below)
	   *     Logins: {
	   *       'graph.facebook.com': 'FBTOKEN',
	   *       'www.amazon.com': 'AMAZONTOKEN',
	   *       'accounts.google.com': 'GOOGLETOKEN',
	   *       'api.twitter.com': 'TWITTERTOKEN',
	   *       'www.digits.com': 'DIGITSTOKEN'
	   *     },
	   *
	   *     // optional name, defaults to web-identity
	   *     // See the RoleSessionName param for AWS.STS.assumeRoleWithWebIdentity (linked below)
	   *     RoleSessionName: 'web',
	   *
	   *     // optional, only necessary when application runs in a browser
	   *     // and multiple users are signed in at once, used for caching
	   *     LoginId: 'example@gmail.com'
	   *
	   *   }, {
	   *      // optionally provide configuration to apply to the underlying service clients
	   *      // if configuration is not provided, then configuration will be pulled from AWS.config
	   *
	   *      // region should match the region your identity pool is located in
	   *      region: 'us-east-1',
	   *
	   *      // specify timeout options
	   *      httpOptions: {
	   *        timeout: 100
	   *      }
	   *   });
	   * @see AWS.CognitoIdentity.getId
	   * @see AWS.CognitoIdentity.getCredentialsForIdentity
	   * @see AWS.STS.assumeRoleWithWebIdentity
	   * @see AWS.CognitoIdentity.getOpenIdToken
	   * @see AWS.Config
	   * @note If a region is not provided in the global AWS.config, or
	   *   specified in the `clientConfig` to the CognitoIdentityCredentials
	   *   constructor, you may encounter a 'Missing credentials in config' error
	   *   when calling making a service call.
	   */
	  constructor: function CognitoIdentityCredentials(params, clientConfig) {
	    AWS.Credentials.call(this);
	    this.expired = true;
	    this.params = params;
	    this.data = null;
	    this._identityId = null;
	    this._clientConfig = AWS.util.copy(clientConfig || {});
	    this.loadCachedId();
	    var self = this;
	    Object.defineProperty(this, 'identityId', {
	      get: function() {
	        self.loadCachedId();
	        return self._identityId || self.params.IdentityId;
	      },
	      set: function(identityId) {
	        self._identityId = identityId;
	      }
	    });
	  },

	  /**
	   * Refreshes credentials using {AWS.CognitoIdentity.getCredentialsForIdentity},
	   * or {AWS.STS.assumeRoleWithWebIdentity}.
	   *
	   * @callback callback function(err)
	   *   Called when the STS service responds (or fails). When
	   *   this callback is called with no error, it means that the credentials
	   *   information has been loaded into the object (as the `accessKeyId`,
	   *   `secretAccessKey`, and `sessionToken` properties).
	   *   @param err [Error] if an error occurred, this value will be filled
	   * @see AWS.Credentials.get
	   */
	  refresh: function refresh(callback) {
	    var self = this;
	    self.createClients();
	    self.data = null;
	    self._identityId = null;
	    self.getId(function(err) {
	      if (!err) {
	        if (!self.params.RoleArn) {
	          self.getCredentialsForIdentity(callback);
	        } else {
	          self.getCredentialsFromSTS(callback);
	        }
	      } else {
	        self.clearIdOnNotAuthorized(err);
	        callback(err);
	      }
	    });
	  },

	  /**
	   * Clears the cached Cognito ID associated with the currently configured
	   * identity pool ID. Use this to manually invalidate your cache if
	   * the identity pool ID was deleted.
	   */
	  clearCachedId: function clearCache() {
	    this._identityId = null;
	    delete this.params.IdentityId;

	    var poolId = this.params.IdentityPoolId;
	    var loginId = this.params.LoginId || '';
	    delete this.storage[this.localStorageKey.id + poolId + loginId];
	    delete this.storage[this.localStorageKey.providers + poolId + loginId];
	  },

	  /**
	   * @api private
	   */
	  clearIdOnNotAuthorized: function clearIdOnNotAuthorized(err) {
	    var self = this;
	    if (err.code == 'NotAuthorizedException') {
	      self.clearCachedId();
	    }
	  },

	  /**
	   * Retrieves a Cognito ID, loading from cache if it was already retrieved
	   * on this device.
	   *
	   * @callback callback function(err, identityId)
	   *   @param err [Error, null] an error object if the call failed or null if
	   *     it succeeded.
	   *   @param identityId [String, null] if successful, the callback will return
	   *     the Cognito ID.
	   * @note If not loaded explicitly, the Cognito ID is loaded and stored in
	   *   localStorage in the browser environment of a device.
	   * @api private
	   */
	  getId: function getId(callback) {
	    var self = this;
	    if (typeof self.params.IdentityId === 'string') {
	      return callback(null, self.params.IdentityId);
	    }

	    self.cognito.getId(function(err, data) {
	      if (!err && data.IdentityId) {
	        self.params.IdentityId = data.IdentityId;
	        callback(null, data.IdentityId);
	      } else {
	        callback(err);
	      }
	    });
	  },


	  /**
	   * @api private
	   */
	  loadCredentials: function loadCredentials(data, credentials) {
	    if (!data || !credentials) return;
	    credentials.expired = false;
	    credentials.accessKeyId = data.Credentials.AccessKeyId;
	    credentials.secretAccessKey = data.Credentials.SecretKey;
	    credentials.sessionToken = data.Credentials.SessionToken;
	    credentials.expireTime = data.Credentials.Expiration;
	  },

	  /**
	   * @api private
	   */
	  getCredentialsForIdentity: function getCredentialsForIdentity(callback) {
	    var self = this;
	    self.cognito.getCredentialsForIdentity(function(err, data) {
	      if (!err) {
	        self.cacheId(data);
	        self.data = data;
	        self.loadCredentials(self.data, self);
	      } else {
	        self.clearIdOnNotAuthorized(err);
	      }
	      callback(err);
	    });
	  },

	  /**
	   * @api private
	   */
	  getCredentialsFromSTS: function getCredentialsFromSTS(callback) {
	    var self = this;
	    self.cognito.getOpenIdToken(function(err, data) {
	      if (!err) {
	        self.cacheId(data);
	        self.params.WebIdentityToken = data.Token;
	        self.webIdentityCredentials.refresh(function(webErr) {
	          if (!webErr) {
	            self.data = self.webIdentityCredentials.data;
	            self.sts.credentialsFrom(self.data, self);
	          }
	          callback(webErr);
	        });
	      } else {
	        self.clearIdOnNotAuthorized(err);
	        callback(err);
	      }
	    });
	  },

	  /**
	   * @api private
	   */
	  loadCachedId: function loadCachedId() {
	    var self = this;

	    // in the browser we source default IdentityId from localStorage
	    if (AWS.util.isBrowser() && !self.params.IdentityId) {
	      var id = self.getStorage('id');
	      if (id && self.params.Logins) {
	        var actualProviders = Object.keys(self.params.Logins);
	        var cachedProviders =
	          (self.getStorage('providers') || '').split(',');

	        // only load ID if at least one provider used this ID before
	        var intersect = cachedProviders.filter(function(n) {
	          return actualProviders.indexOf(n) !== -1;
	        });
	        if (intersect.length !== 0) {
	          self.params.IdentityId = id;
	        }
	      } else if (id) {
	        self.params.IdentityId = id;
	      }
	    }
	  },

	  /**
	   * @api private
	   */
	  createClients: function() {
	    var clientConfig = this._clientConfig;
	    this.webIdentityCredentials = this.webIdentityCredentials ||
	      new AWS.WebIdentityCredentials(this.params, clientConfig);
	    if (!this.cognito) {
	      var cognitoConfig = AWS.util.merge({}, clientConfig);
	      cognitoConfig.params = this.params;
	      this.cognito = new CognitoIdentity(cognitoConfig);
	    }
	    this.sts = this.sts || new STS(clientConfig);
	  },

	  /**
	   * @api private
	   */
	  cacheId: function cacheId(data) {
	    this._identityId = data.IdentityId;
	    this.params.IdentityId = this._identityId;

	    // cache this IdentityId in browser localStorage if possible
	    if (AWS.util.isBrowser()) {
	      this.setStorage('id', data.IdentityId);

	      if (this.params.Logins) {
	        this.setStorage('providers', Object.keys(this.params.Logins).join(','));
	      }
	    }
	  },

	  /**
	   * @api private
	   */
	  getStorage: function getStorage(key) {
	    return this.storage[this.localStorageKey[key] + this.params.IdentityPoolId + (this.params.LoginId || '')];
	  },

	  /**
	   * @api private
	   */
	  setStorage: function setStorage(key, val) {
	    try {
	      this.storage[this.localStorageKey[key] + this.params.IdentityPoolId + (this.params.LoginId || '')] = val;
	    } catch (_) {}
	  },

	  /**
	   * @api private
	   */
	  storage: (function() {
	    try {
	      var storage = AWS.util.isBrowser() && window.localStorage !== null && typeof window.localStorage === 'object' ?
	          window.localStorage : {};

	      // Test set/remove which would throw an error in Safari's private browsing
	      storage['aws.test-storage'] = 'foobar';
	      delete storage['aws.test-storage'];

	      return storage;
	    } catch (_) {
	      return {};
	    }
	  })()
	});


/***/ }),
/* 193 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cognitoidentity'] = {};
	AWS.CognitoIdentity = Service.defineService('cognitoidentity', ['2014-06-30']);
	__webpack_require__(194);
	Object.defineProperty(apiLoader.services['cognitoidentity'], '2014-06-30', {
	  get: function get() {
	    var model = __webpack_require__(195);
	    model.paginators = __webpack_require__(196).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CognitoIdentity;


/***/ }),
/* 194 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	AWS.util.update(AWS.CognitoIdentity.prototype, {
	  getOpenIdToken: function getOpenIdToken(params, callback) {
	    return this.makeUnauthenticatedRequest('getOpenIdToken', params, callback);
	  },

	  getId: function getId(params, callback) {
	    return this.makeUnauthenticatedRequest('getId', params, callback);
	  },

	  getCredentialsForIdentity: function getCredentialsForIdentity(params, callback) {
	    return this.makeUnauthenticatedRequest('getCredentialsForIdentity', params, callback);
	  }
	});


/***/ }),
/* 195 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-06-30",
			"endpointPrefix": "cognito-identity",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon Cognito Identity",
			"signatureVersion": "v4",
			"targetPrefix": "AWSCognitoIdentityService",
			"uid": "cognito-identity-2014-06-30"
		},
		"operations": {
			"CreateIdentityPool": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolName",
						"AllowUnauthenticatedIdentities"
					],
					"members": {
						"IdentityPoolName": {},
						"AllowUnauthenticatedIdentities": {
							"type": "boolean"
						},
						"SupportedLoginProviders": {
							"shape": "S4"
						},
						"DeveloperProviderName": {},
						"OpenIdConnectProviderARNs": {
							"shape": "S8"
						},
						"CognitoIdentityProviders": {
							"shape": "Sa"
						},
						"SamlProviderARNs": {
							"shape": "Sf"
						}
					}
				},
				"output": {
					"shape": "Sg"
				}
			},
			"DeleteIdentities": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityIdsToDelete"
					],
					"members": {
						"IdentityIdsToDelete": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UnprocessedIdentityIds": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"IdentityId": {},
									"ErrorCode": {}
								}
							}
						}
					}
				}
			},
			"DeleteIdentityPool": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId"
					],
					"members": {
						"IdentityPoolId": {}
					}
				}
			},
			"DescribeIdentity": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityId"
					],
					"members": {
						"IdentityId": {}
					}
				},
				"output": {
					"shape": "Sr"
				}
			},
			"DescribeIdentityPool": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId"
					],
					"members": {
						"IdentityPoolId": {}
					}
				},
				"output": {
					"shape": "Sg"
				}
			},
			"GetCredentialsForIdentity": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityId"
					],
					"members": {
						"IdentityId": {},
						"Logins": {
							"shape": "Sw"
						},
						"CustomRoleArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityId": {},
						"Credentials": {
							"type": "structure",
							"members": {
								"AccessKeyId": {},
								"SecretKey": {},
								"SessionToken": {},
								"Expiration": {
									"type": "timestamp"
								}
							}
						}
					}
				}
			},
			"GetId": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId"
					],
					"members": {
						"AccountId": {},
						"IdentityPoolId": {},
						"Logins": {
							"shape": "Sw"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityId": {}
					}
				}
			},
			"GetIdentityPoolRoles": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId"
					],
					"members": {
						"IdentityPoolId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityPoolId": {},
						"Roles": {
							"shape": "S18"
						},
						"RoleMappings": {
							"shape": "S1a"
						}
					}
				}
			},
			"GetOpenIdToken": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityId"
					],
					"members": {
						"IdentityId": {},
						"Logins": {
							"shape": "Sw"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityId": {},
						"Token": {}
					}
				}
			},
			"GetOpenIdTokenForDeveloperIdentity": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"Logins"
					],
					"members": {
						"IdentityPoolId": {},
						"IdentityId": {},
						"Logins": {
							"shape": "Sw"
						},
						"TokenDuration": {
							"type": "long"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityId": {},
						"Token": {}
					}
				}
			},
			"ListIdentities": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"MaxResults"
					],
					"members": {
						"IdentityPoolId": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {},
						"HideDisabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityPoolId": {},
						"Identities": {
							"type": "list",
							"member": {
								"shape": "Sr"
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListIdentityPools": {
				"input": {
					"type": "structure",
					"required": [
						"MaxResults"
					],
					"members": {
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityPools": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"IdentityPoolId": {},
									"IdentityPoolName": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"LookupDeveloperIdentity": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId"
					],
					"members": {
						"IdentityPoolId": {},
						"IdentityId": {},
						"DeveloperUserIdentifier": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityId": {},
						"DeveloperUserIdentifierList": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				}
			},
			"MergeDeveloperIdentities": {
				"input": {
					"type": "structure",
					"required": [
						"SourceUserIdentifier",
						"DestinationUserIdentifier",
						"DeveloperProviderName",
						"IdentityPoolId"
					],
					"members": {
						"SourceUserIdentifier": {},
						"DestinationUserIdentifier": {},
						"DeveloperProviderName": {},
						"IdentityPoolId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityId": {}
					}
				}
			},
			"SetIdentityPoolRoles": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"Roles"
					],
					"members": {
						"IdentityPoolId": {},
						"Roles": {
							"shape": "S18"
						},
						"RoleMappings": {
							"shape": "S1a"
						}
					}
				}
			},
			"UnlinkDeveloperIdentity": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityId",
						"IdentityPoolId",
						"DeveloperProviderName",
						"DeveloperUserIdentifier"
					],
					"members": {
						"IdentityId": {},
						"IdentityPoolId": {},
						"DeveloperProviderName": {},
						"DeveloperUserIdentifier": {}
					}
				}
			},
			"UnlinkIdentity": {
				"input": {
					"type": "structure",
					"required": [
						"IdentityId",
						"Logins",
						"LoginsToRemove"
					],
					"members": {
						"IdentityId": {},
						"Logins": {
							"shape": "Sw"
						},
						"LoginsToRemove": {
							"shape": "Ss"
						}
					}
				}
			},
			"UpdateIdentityPool": {
				"input": {
					"shape": "Sg"
				},
				"output": {
					"shape": "Sg"
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S8": {
				"type": "list",
				"member": {}
			},
			"Sa": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ProviderName": {},
						"ClientId": {},
						"ServerSideTokenCheck": {
							"type": "boolean"
						}
					}
				}
			},
			"Sf": {
				"type": "list",
				"member": {}
			},
			"Sg": {
				"type": "structure",
				"required": [
					"IdentityPoolId",
					"IdentityPoolName",
					"AllowUnauthenticatedIdentities"
				],
				"members": {
					"IdentityPoolId": {},
					"IdentityPoolName": {},
					"AllowUnauthenticatedIdentities": {
						"type": "boolean"
					},
					"SupportedLoginProviders": {
						"shape": "S4"
					},
					"DeveloperProviderName": {},
					"OpenIdConnectProviderARNs": {
						"shape": "S8"
					},
					"CognitoIdentityProviders": {
						"shape": "Sa"
					},
					"SamlProviderARNs": {
						"shape": "Sf"
					}
				}
			},
			"Sr": {
				"type": "structure",
				"members": {
					"IdentityId": {},
					"Logins": {
						"shape": "Ss"
					},
					"CreationDate": {
						"type": "timestamp"
					},
					"LastModifiedDate": {
						"type": "timestamp"
					}
				}
			},
			"Ss": {
				"type": "list",
				"member": {}
			},
			"Sw": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S18": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1a": {
				"type": "map",
				"key": {},
				"value": {
					"type": "structure",
					"required": [
						"Type"
					],
					"members": {
						"Type": {},
						"AmbiguousRoleResolution": {},
						"RulesConfiguration": {
							"type": "structure",
							"required": [
								"Rules"
							],
							"members": {
								"Rules": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"Claim",
											"MatchType",
											"Value",
											"RoleARN"
										],
										"members": {
											"Claim": {},
											"MatchType": {},
											"Value": {},
											"RoleARN": {}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	};

/***/ }),
/* 196 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 197 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var STS = __webpack_require__(186);

	/**
	 * Represents credentials retrieved from STS SAML support.
	 *
	 * By default this provider gets credentials using the
	 * {AWS.STS.assumeRoleWithSAML} service operation. This operation
	 * requires a `RoleArn` containing the ARN of the IAM trust policy for the
	 * application for which credentials will be given, as well as a `PrincipalArn`
	 * representing the ARN for the SAML identity provider. In addition, the
	 * `SAMLAssertion` must be set to the token provided by the identity
	 * provider. See {constructor} for an example on creating a credentials
	 * object with proper `RoleArn`, `PrincipalArn`, and `SAMLAssertion` values.
	 *
	 * ## Refreshing Credentials from Identity Service
	 *
	 * In addition to AWS credentials expiring after a given amount of time, the
	 * login token from the identity provider will also expire. Once this token
	 * expires, it will not be usable to refresh AWS credentials, and another
	 * token will be needed. The SDK does not manage refreshing of the token value,
	 * but this can be done through a "refresh token" supported by most identity
	 * providers. Consult the documentation for the identity provider for refreshing
	 * tokens. Once the refreshed token is acquired, you should make sure to update
	 * this new token in the credentials object's {params} property. The following
	 * code will update the SAMLAssertion, assuming you have retrieved an updated
	 * token from the identity provider:
	 *
	 * ```javascript
	 * AWS.config.credentials.params.SAMLAssertion = updatedToken;
	 * ```
	 *
	 * Future calls to `credentials.refresh()` will now use the new token.
	 *
	 * @!attribute params
	 *   @return [map] the map of params passed to
	 *     {AWS.STS.assumeRoleWithSAML}. To update the token, set the
	 *     `params.SAMLAssertion` property.
	 */
	AWS.SAMLCredentials = AWS.util.inherit(AWS.Credentials, {
	  /**
	   * Creates a new credentials object.
	   * @param (see AWS.STS.assumeRoleWithSAML)
	   * @example Creating a new credentials object
	   *   AWS.config.credentials = new AWS.SAMLCredentials({
	   *     RoleArn: 'arn:aws:iam::1234567890:role/SAMLRole',
	   *     PrincipalArn: 'arn:aws:iam::1234567890:role/SAMLPrincipal',
	   *     SAMLAssertion: 'base64-token', // base64-encoded token from IdP
	   *   });
	   * @see AWS.STS.assumeRoleWithSAML
	   */
	  constructor: function SAMLCredentials(params) {
	    AWS.Credentials.call(this);
	    this.expired = true;
	    this.params = params;
	  },

	  /**
	   * Refreshes credentials using {AWS.STS.assumeRoleWithSAML}
	   *
	   * @callback callback function(err)
	   *   Called when the STS service responds (or fails). When
	   *   this callback is called with no error, it means that the credentials
	   *   information has been loaded into the object (as the `accessKeyId`,
	   *   `secretAccessKey`, and `sessionToken` properties).
	   *   @param err [Error] if an error occurred, this value will be filled
	   * @see get
	   */
	  refresh: function refresh(callback) {
	    var self = this;
	    self.createClients();
	    if (!callback) callback = function(err) { if (err) throw err; };

	    self.service.assumeRoleWithSAML(function (err, data) {
	      if (!err) {
	        self.service.credentialsFrom(data, self);
	      }
	      callback(err);
	    });
	  },

	  /**
	   * @api private
	   */
	  createClients: function() {
	    this.service = this.service || new STS({params: this.params});
	  }

	});


/***/ }),
/* 198 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var inherit = AWS.util.inherit;

	/**
	 * The endpoint that a service will talk to, for example,
	 * `'https://ec2.ap-southeast-1.amazonaws.com'`. If
	 * you need to override an endpoint for a service, you can
	 * set the endpoint on a service by passing the endpoint
	 * object with the `endpoint` option key:
	 *
	 * ```javascript
	 * var ep = new AWS.Endpoint('awsproxy.example.com');
	 * var s3 = new AWS.S3({endpoint: ep});
	 * s3.service.endpoint.hostname == 'awsproxy.example.com'
	 * ```
	 *
	 * Note that if you do not specify a protocol, the protocol will
	 * be selected based on your current {AWS.config} configuration.
	 *
	 * @!attribute protocol
	 *   @return [String] the protocol (http or https) of the endpoint
	 *     URL
	 * @!attribute hostname
	 *   @return [String] the host portion of the endpoint, e.g.,
	 *     example.com
	 * @!attribute host
	 *   @return [String] the host portion of the endpoint including
	 *     the port, e.g., example.com:80
	 * @!attribute port
	 *   @return [Integer] the port of the endpoint
	 * @!attribute href
	 *   @return [String] the full URL of the endpoint
	 */
	AWS.Endpoint = inherit({

	  /**
	   * @overload Endpoint(endpoint)
	   *   Constructs a new endpoint given an endpoint URL. If the
	   *   URL omits a protocol (http or https), the default protocol
	   *   set in the global {AWS.config} will be used.
	   *   @param endpoint [String] the URL to construct an endpoint from
	   */
	  constructor: function Endpoint(endpoint, config) {
	    AWS.util.hideProperties(this, ['slashes', 'auth', 'hash', 'search', 'query']);

	    if (typeof endpoint === 'undefined' || endpoint === null) {
	      throw new Error('Invalid endpoint: ' + endpoint);
	    } else if (typeof endpoint !== 'string') {
	      return AWS.util.copy(endpoint);
	    }

	    if (!endpoint.match(/^http/)) {
	      var useSSL = config && config.sslEnabled !== undefined ?
	        config.sslEnabled : AWS.config.sslEnabled;
	      endpoint = (useSSL ? 'https' : 'http') + '://' + endpoint;
	    }

	    AWS.util.update(this, AWS.util.urlParse(endpoint));

	    // Ensure the port property is set as an integer
	    if (this.port) {
	      this.port = parseInt(this.port, 10);
	    } else {
	      this.port = this.protocol === 'https:' ? 443 : 80;
	    }
	  }

	});

	/**
	 * The low level HTTP request object, encapsulating all HTTP header
	 * and body data sent by a service request.
	 *
	 * @!attribute method
	 *   @return [String] the HTTP method of the request
	 * @!attribute path
	 *   @return [String] the path portion of the URI, e.g.,
	 *     "/list/?start=5&num=10"
	 * @!attribute headers
	 *   @return [map<String,String>]
	 *     a map of header keys and their respective values
	 * @!attribute body
	 *   @return [String] the request body payload
	 * @!attribute endpoint
	 *   @return [AWS.Endpoint] the endpoint for the request
	 * @!attribute region
	 *   @api private
	 *   @return [String] the region, for signing purposes only.
	 */
	AWS.HttpRequest = inherit({

	  /**
	   * @api private
	   */
	  constructor: function HttpRequest(endpoint, region) {
	    endpoint = new AWS.Endpoint(endpoint);
	    this.method = 'POST';
	    this.path = endpoint.path || '/';
	    this.headers = {};
	    this.body = '';
	    this.endpoint = endpoint;
	    this.region = region;
	    this._userAgent = '';
	    this.setUserAgent();
	  },

	  /**
	   * @api private
	   */
	  setUserAgent: function setUserAgent() {
	    this._userAgent = this.headers[this.getUserAgentHeaderName()] = AWS.util.userAgent();
	  },

	  getUserAgentHeaderName: function getUserAgentHeaderName() {
	    var prefix = AWS.util.isBrowser() ? 'X-Amz-' : '';
	    return prefix + 'User-Agent';
	  },

	  /**
	   * @api private
	   */
	  appendToUserAgent: function appendToUserAgent(agentPartial) {
	    if (typeof agentPartial === 'string' && agentPartial) {
	      this._userAgent += ' ' + agentPartial;
	    }
	    this.headers[this.getUserAgentHeaderName()] = this._userAgent;
	  },

	  /**
	   * @api private
	   */
	  getUserAgent: function getUserAgent() {
	    return this._userAgent;
	  },

	  /**
	   * @return [String] the part of the {path} excluding the
	   *   query string
	   */
	  pathname: function pathname() {
	    return this.path.split('?', 1)[0];
	  },

	  /**
	   * @return [String] the query string portion of the {path}
	   */
	  search: function search() {
	    var query = this.path.split('?', 2)[1];
	    if (query) {
	      query = AWS.util.queryStringParse(query);
	      return AWS.util.queryParamsToString(query);
	    }
	    return '';
	  }

	});

	/**
	 * The low level HTTP response object, encapsulating all HTTP header
	 * and body data returned from the request.
	 *
	 * @!attribute statusCode
	 *   @return [Integer] the HTTP status code of the response (e.g., 200, 404)
	 * @!attribute headers
	 *   @return [map<String,String>]
	 *      a map of response header keys and their respective values
	 * @!attribute body
	 *   @return [String] the response body payload
	 * @!attribute [r] streaming
	 *   @return [Boolean] whether this response is being streamed at a low-level.
	 *     Defaults to `false` (buffered reads). Do not modify this manually, use
	 *     {createUnbufferedStream} to convert the stream to unbuffered mode
	 *     instead.
	 */
	AWS.HttpResponse = inherit({

	  /**
	   * @api private
	   */
	  constructor: function HttpResponse() {
	    this.statusCode = undefined;
	    this.headers = {};
	    this.body = undefined;
	    this.streaming = false;
	    this.stream = null;
	  },

	  /**
	   * Disables buffering on the HTTP response and returns the stream for reading.
	   * @return [Stream, XMLHttpRequest, null] the underlying stream object.
	   *   Use this object to directly read data off of the stream.
	   * @note This object is only available after the {AWS.Request~httpHeaders}
	   *   event has fired. This method must be called prior to
	   *   {AWS.Request~httpData}.
	   * @example Taking control of a stream
	   *   request.on('httpHeaders', function(statusCode, headers) {
	   *     if (statusCode < 300) {
	   *       if (headers.etag === 'xyz') {
	   *         // pipe the stream, disabling buffering
	   *         var stream = this.response.httpResponse.createUnbufferedStream();
	   *         stream.pipe(process.stdout);
	   *       } else { // abort this request and set a better error message
	   *         this.abort();
	   *         this.response.error = new Error('Invalid ETag');
	   *       }
	   *     }
	   *   }).send(console.log);
	   */
	  createUnbufferedStream: function createUnbufferedStream() {
	    this.streaming = true;
	    return this.stream;
	  }
	});


	AWS.HttpClient = inherit({});

	/**
	 * @api private
	 */
	AWS.HttpClient.getInstance = function getInstance() {
	  if (this.singleton === undefined) {
	    this.singleton = new this();
	  }
	  return this.singleton;
	};


/***/ }),
/* 199 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	/**
	 * @api private
	 * @!method on(eventName, callback)
	 *   Registers an event listener callback for the event given by `eventName`.
	 *   Parameters passed to the callback function depend on the individual event
	 *   being triggered. See the event documentation for those parameters.
	 *
	 *   @param eventName [String] the event name to register the listener for
	 *   @param callback [Function] the listener callback function
	 *   @return [AWS.SequentialExecutor] the same object for chaining
	 */
	AWS.SequentialExecutor = AWS.util.inherit({

	  constructor: function SequentialExecutor() {
	    this._events = {};
	  },

	  /**
	   * @api private
	   */
	  listeners: function listeners(eventName) {
	    return this._events[eventName] ? this._events[eventName].slice(0) : [];
	  },

	  on: function on(eventName, listener) {
	    if (this._events[eventName]) {
	      this._events[eventName].push(listener);
	    } else {
	      this._events[eventName] = [listener];
	    }
	    return this;
	  },

	  /**
	   * @api private
	   */
	  onAsync: function onAsync(eventName, listener) {
	    listener._isAsync = true;
	    return this.on(eventName, listener);
	  },

	  removeListener: function removeListener(eventName, listener) {
	    var listeners = this._events[eventName];
	    if (listeners) {
	      var length = listeners.length;
	      var position = -1;
	      for (var i = 0; i < length; ++i) {
	        if (listeners[i] === listener) {
	          position = i;
	        }
	      }
	      if (position > -1) {
	        listeners.splice(position, 1);
	      }
	    }
	    return this;
	  },

	  removeAllListeners: function removeAllListeners(eventName) {
	    if (eventName) {
	      delete this._events[eventName];
	    } else {
	      this._events = {};
	    }
	    return this;
	  },

	  /**
	   * @api private
	   */
	  emit: function emit(eventName, eventArgs, doneCallback) {
	    if (!doneCallback) doneCallback = function() { };
	    var listeners = this.listeners(eventName);
	    var count = listeners.length;
	    this.callListeners(listeners, eventArgs, doneCallback);
	    return count > 0;
	  },

	  /**
	   * @api private
	   */
	  callListeners: function callListeners(listeners, args, doneCallback, prevError) {
	    var self = this;
	    var error = prevError || null;

	    function callNextListener(err) {
	      if (err) {
	        error = AWS.util.error(error || new Error(), err);
	        if (self._haltHandlersOnError) {
	          return doneCallback.call(self, error);
	        }
	      }
	      self.callListeners(listeners, args, doneCallback, error);
	    }

	    while (listeners.length > 0) {
	      var listener = listeners.shift();
	      if (listener._isAsync) { // asynchronous listener
	        listener.apply(self, args.concat([callNextListener]));
	        return; // stop here, callNextListener will continue
	      } else { // synchronous listener
	        try {
	          listener.apply(self, args);
	        } catch (err) {
	          error = AWS.util.error(error || new Error(), err);
	        }
	        if (error && self._haltHandlersOnError) {
	          doneCallback.call(self, error);
	          return;
	        }
	      }
	    }
	    doneCallback.call(self, error);
	  },

	  /**
	   * Adds or copies a set of listeners from another list of
	   * listeners or SequentialExecutor object.
	   *
	   * @param listeners [map<String,Array<Function>>, AWS.SequentialExecutor]
	   *   a list of events and callbacks, or an event emitter object
	   *   containing listeners to add to this emitter object.
	   * @return [AWS.SequentialExecutor] the emitter object, for chaining.
	   * @example Adding listeners from a map of listeners
	   *   emitter.addListeners({
	   *     event1: [function() { ... }, function() { ... }],
	   *     event2: [function() { ... }]
	   *   });
	   *   emitter.emit('event1'); // emitter has event1
	   *   emitter.emit('event2'); // emitter has event2
	   * @example Adding listeners from another emitter object
	   *   var emitter1 = new AWS.SequentialExecutor();
	   *   emitter1.on('event1', function() { ... });
	   *   emitter1.on('event2', function() { ... });
	   *   var emitter2 = new AWS.SequentialExecutor();
	   *   emitter2.addListeners(emitter1);
	   *   emitter2.emit('event1'); // emitter2 has event1
	   *   emitter2.emit('event2'); // emitter2 has event2
	   */
	  addListeners: function addListeners(listeners) {
	    var self = this;

	    // extract listeners if parameter is an SequentialExecutor object
	    if (listeners._events) listeners = listeners._events;

	    AWS.util.each(listeners, function(event, callbacks) {
	      if (typeof callbacks === 'function') callbacks = [callbacks];
	      AWS.util.arrayEach(callbacks, function(callback) {
	        self.on(event, callback);
	      });
	    });

	    return self;
	  },

	  /**
	   * Registers an event with {on} and saves the callback handle function
	   * as a property on the emitter object using a given `name`.
	   *
	   * @param name [String] the property name to set on this object containing
	   *   the callback function handle so that the listener can be removed in
	   *   the future.
	   * @param (see on)
	   * @return (see on)
	   * @example Adding a named listener DATA_CALLBACK
	   *   var listener = function() { doSomething(); };
	   *   emitter.addNamedListener('DATA_CALLBACK', 'data', listener);
	   *
	   *   // the following prints: true
	   *   console.log(emitter.DATA_CALLBACK == listener);
	   */
	  addNamedListener: function addNamedListener(name, eventName, callback) {
	    this[name] = callback;
	    this.addListener(eventName, callback);
	    return this;
	  },

	  /**
	   * @api private
	   */
	  addNamedAsyncListener: function addNamedAsyncListener(name, eventName, callback) {
	    callback._isAsync = true;
	    return this.addNamedListener(name, eventName, callback);
	  },

	  /**
	   * Helper method to add a set of named listeners using
	   * {addNamedListener}. The callback contains a parameter
	   * with a handle to the `addNamedListener` method.
	   *
	   * @callback callback function(add)
	   *   The callback function is called immediately in order to provide
	   *   the `add` function to the block. This simplifies the addition of
	   *   a large group of named listeners.
	   *   @param add [Function] the {addNamedListener} function to call
	   *     when registering listeners.
	   * @example Adding a set of named listeners
	   *   emitter.addNamedListeners(function(add) {
	   *     add('DATA_CALLBACK', 'data', function() { ... });
	   *     add('OTHER', 'otherEvent', function() { ... });
	   *     add('LAST', 'lastEvent', function() { ... });
	   *   });
	   *
	   *   // these properties are now set:
	   *   emitter.DATA_CALLBACK;
	   *   emitter.OTHER;
	   *   emitter.LAST;
	   */
	  addNamedListeners: function addNamedListeners(callback) {
	    var self = this;
	    callback(
	      function() {
	        self.addNamedListener.apply(self, arguments);
	      },
	      function() {
	        self.addNamedAsyncListener.apply(self, arguments);
	      }
	    );
	    return this;
	  }
	});

	/**
	 * {on} is the prefered method.
	 * @api private
	 */
	AWS.SequentialExecutor.prototype.addListener = AWS.SequentialExecutor.prototype.on;

	module.exports = AWS.SequentialExecutor;


/***/ }),
/* 200 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var SequentialExecutor = __webpack_require__(199);
	/**
	 * The namespace used to register global event listeners for request building
	 * and sending.
	 */
	AWS.EventListeners = {
	  /**
	   * @!attribute VALIDATE_CREDENTIALS
	   *   A request listener that validates whether the request is being
	   *   sent with credentials.
	   *   Handles the {AWS.Request~validate 'validate' Request event}
	   *   @example Sending a request without validating credentials
	   *     var listener = AWS.EventListeners.Core.VALIDATE_CREDENTIALS;
	   *     request.removeListener('validate', listener);
	   *   @readonly
	   *   @return [Function]
	   * @!attribute VALIDATE_REGION
	   *   A request listener that validates whether the region is set
	   *   for a request.
	   *   Handles the {AWS.Request~validate 'validate' Request event}
	   *   @example Sending a request without validating region configuration
	   *     var listener = AWS.EventListeners.Core.VALIDATE_REGION;
	   *     request.removeListener('validate', listener);
	   *   @readonly
	   *   @return [Function]
	   * @!attribute VALIDATE_PARAMETERS
	   *   A request listener that validates input parameters in a request.
	   *   Handles the {AWS.Request~validate 'validate' Request event}
	   *   @example Sending a request without validating parameters
	   *     var listener = AWS.EventListeners.Core.VALIDATE_PARAMETERS;
	   *     request.removeListener('validate', listener);
	   *   @example Disable parameter validation globally
	   *     AWS.EventListeners.Core.removeListener('validate',
	   *       AWS.EventListeners.Core.VALIDATE_REGION);
	   *   @readonly
	   *   @return [Function]
	   * @!attribute SEND
	   *   A request listener that initiates the HTTP connection for a
	   *   request being sent. Handles the {AWS.Request~send 'send' Request event}
	   *   @example Replacing the HTTP handler
	   *     var listener = AWS.EventListeners.Core.SEND;
	   *     request.removeListener('send', listener);
	   *     request.on('send', function(response) {
	   *       customHandler.send(response);
	   *     });
	   *   @return [Function]
	   *   @readonly
	   * @!attribute HTTP_DATA
	   *   A request listener that reads data from the HTTP connection in order
	   *   to build the response data.
	   *   Handles the {AWS.Request~httpData 'httpData' Request event}.
	   *   Remove this handler if you are overriding the 'httpData' event and
	   *   do not want extra data processing and buffering overhead.
	   *   @example Disabling default data processing
	   *     var listener = AWS.EventListeners.Core.HTTP_DATA;
	   *     request.removeListener('httpData', listener);
	   *   @return [Function]
	   *   @readonly
	   */
	  Core: {} /* doc hack */
	};

	/**
	 * @api private
	 */
	function getOperationAuthtype(req) {
	  if (!req.service.api.operations) {
	    return '';
	  }
	  var operation = req.service.api.operations[req.operation];
	  return operation ? operation.authtype : '';
	}

	AWS.EventListeners = {
	  Core: new SequentialExecutor().addNamedListeners(function(add, addAsync) {
	    addAsync('VALIDATE_CREDENTIALS', 'validate',
	        function VALIDATE_CREDENTIALS(req, done) {
	      if (!req.service.api.signatureVersion) return done(); // none
	      req.service.config.getCredentials(function(err) {
	        if (err) {
	          req.response.error = AWS.util.error(err,
	            {code: 'CredentialsError', message: 'Missing credentials in config'});
	        }
	        done();
	      });
	    });

	    add('VALIDATE_REGION', 'validate', function VALIDATE_REGION(req) {
	      if (!req.service.config.region && !req.service.isGlobalEndpoint) {
	        req.response.error = AWS.util.error(new Error(),
	          {code: 'ConfigError', message: 'Missing region in config'});
	      }
	    });

	    add('BUILD_IDEMPOTENCY_TOKENS', 'validate', function BUILD_IDEMPOTENCY_TOKENS(req) {
	      if (!req.service.api.operations) {
	        return;
	      }
	      var operation = req.service.api.operations[req.operation];
	      if (!operation) {
	        return;
	      }
	      var idempotentMembers = operation.idempotentMembers;
	      if (!idempotentMembers.length) {
	        return;
	      }
	      // creates a copy of params so user's param object isn't mutated
	      var params = AWS.util.copy(req.params);
	      for (var i = 0, iLen = idempotentMembers.length; i < iLen; i++) {
	        if (!params[idempotentMembers[i]]) {
	          // add the member
	          params[idempotentMembers[i]] = AWS.util.uuid.v4();
	        }
	      }
	      req.params = params;
	    });

	    add('VALIDATE_PARAMETERS', 'validate', function VALIDATE_PARAMETERS(req) {
	      if (!req.service.api.operations) {
	        return;
	      }
	      var rules = req.service.api.operations[req.operation].input;
	      var validation = req.service.config.paramValidation;
	      new AWS.ParamValidator(validation).validate(rules, req.params);
	    });

	    addAsync('COMPUTE_SHA256', 'afterBuild', function COMPUTE_SHA256(req, done) {
	      req.haltHandlersOnError();
	      if (!req.service.api.operations) {
	        return;
	      }
	      var operation = req.service.api.operations[req.operation];
	      var authtype = operation ? operation.authtype : '';
	      if (!req.service.api.signatureVersion && !authtype) return done(); // none
	      if (req.service.getSignerClass(req) === AWS.Signers.V4) {
	        var body = req.httpRequest.body || '';
	        if (authtype.indexOf('unsigned-body') >= 0) {
	          req.httpRequest.headers['X-Amz-Content-Sha256'] = 'UNSIGNED-PAYLOAD';
	          return done();
	        }
	        AWS.util.computeSha256(body, function(err, sha) {
	          if (err) {
	            done(err);
	          }
	          else {
	            req.httpRequest.headers['X-Amz-Content-Sha256'] = sha;
	            done();
	          }
	        });
	      } else {
	        done();
	      }
	    });

	    add('SET_CONTENT_LENGTH', 'afterBuild', function SET_CONTENT_LENGTH(req) {
	      var authtype = getOperationAuthtype(req);
	      if (req.httpRequest.headers['Content-Length'] === undefined
	          && authtype.indexOf('unsigned-body') === -1) {
	        var length = AWS.util.string.byteLength(req.httpRequest.body);
	        req.httpRequest.headers['Content-Length'] = length;
	      }
	    });

	    add('SET_HTTP_HOST', 'afterBuild', function SET_HTTP_HOST(req) {
	      req.httpRequest.headers['Host'] = req.httpRequest.endpoint.host;
	    });

	    add('RESTART', 'restart', function RESTART() {
	      var err = this.response.error;
	      if (!err || !err.retryable) return;

	      this.httpRequest = new AWS.HttpRequest(
	        this.service.endpoint,
	        this.service.region
	      );

	      if (this.response.retryCount < this.service.config.maxRetries) {
	        this.response.retryCount++;
	      } else {
	        this.response.error = null;
	      }
	    });

	    addAsync('SIGN', 'sign', function SIGN(req, done) {
	      var service = req.service;
	      var operations = req.service.api.operations || {};
	      var operation = operations[req.operation];
	      var authtype = operation ? operation.authtype : '';
	      if (!service.api.signatureVersion && !authtype) return done(); // none

	      service.config.getCredentials(function (err, credentials) {
	        if (err) {
	          req.response.error = err;
	          return done();
	        }

	        try {
	          var date = AWS.util.date.getDate();
	          var SignerClass = service.getSignerClass(req);
	          var signer = new SignerClass(req.httpRequest,
	            service.api.signingName || service.api.endpointPrefix,
	            {
	              signatureCache: service.config.signatureCache,
	              operation: operation
	            });
	          signer.setServiceClientId(service._clientId);

	          // clear old authorization headers
	          delete req.httpRequest.headers['Authorization'];
	          delete req.httpRequest.headers['Date'];
	          delete req.httpRequest.headers['X-Amz-Date'];

	          // add new authorization
	          signer.addAuthorization(credentials, date);
	          req.signedAt = date;
	        } catch (e) {
	          req.response.error = e;
	        }
	        done();
	      });
	    });

	    add('VALIDATE_RESPONSE', 'validateResponse', function VALIDATE_RESPONSE(resp) {
	      if (this.service.successfulResponse(resp, this)) {
	        resp.data = {};
	        resp.error = null;
	      } else {
	        resp.data = null;
	        resp.error = AWS.util.error(new Error(),
	          {code: 'UnknownError', message: 'An unknown error occurred.'});
	      }
	    });

	    addAsync('SEND', 'send', function SEND(resp, done) {
	      resp.httpResponse._abortCallback = done;
	      resp.error = null;
	      resp.data = null;

	      function callback(httpResp) {
	        resp.httpResponse.stream = httpResp;
	        var stream = resp.request.httpRequest.stream;

	        httpResp.on('headers', function onHeaders(statusCode, headers, statusMessage) {
	          resp.request.emit(
	            'httpHeaders',
	            [statusCode, headers, resp, statusMessage]
	          );

	          if (!resp.httpResponse.streaming) {
	            if (AWS.HttpClient.streamsApiVersion === 2) { // streams2 API check
	              httpResp.on('readable', function onReadable() {
	                var data = httpResp.read();
	                if (data !== null) {
	                  resp.request.emit('httpData', [data, resp]);
	                }
	              });
	            } else { // legacy streams API
	              httpResp.on('data', function onData(data) {
	                resp.request.emit('httpData', [data, resp]);
	              });
	            }
	          }
	        });

	        httpResp.on('end', function onEnd() {
	          if (!stream || !stream.didCallback) {
	            resp.request.emit('httpDone');
	            done();
	          }
	        });
	      }

	      function progress(httpResp) {
	        httpResp.on('sendProgress', function onSendProgress(value) {
	          resp.request.emit('httpUploadProgress', [value, resp]);
	        });

	        httpResp.on('receiveProgress', function onReceiveProgress(value) {
	          resp.request.emit('httpDownloadProgress', [value, resp]);
	        });
	      }

	      function error(err) {
	        resp.error = AWS.util.error(err, {
	          code: 'NetworkingError',
	          region: resp.request.httpRequest.region,
	          hostname: resp.request.httpRequest.endpoint.hostname,
	          retryable: true
	        });
	        resp.request.emit('httpError', [resp.error, resp], function() {
	          done();
	        });
	      }

	      function executeSend() {
	        var http = AWS.HttpClient.getInstance();
	        var httpOptions = resp.request.service.config.httpOptions || {};
	        try {
	          var stream = http.handleRequest(resp.request.httpRequest, httpOptions,
	                                          callback, error);
	          progress(stream);
	        } catch (err) {
	          error(err);
	        }
	      }

	      var timeDiff = (AWS.util.date.getDate() - this.signedAt) / 1000;
	      if (timeDiff >= 60 * 10) { // if we signed 10min ago, re-sign
	        this.emit('sign', [this], function(err) {
	          if (err) done(err);
	          else executeSend();
	        });
	      } else {
	        executeSend();
	      }
	    });

	    add('HTTP_HEADERS', 'httpHeaders',
	        function HTTP_HEADERS(statusCode, headers, resp, statusMessage) {
	      resp.httpResponse.statusCode = statusCode;
	      resp.httpResponse.statusMessage = statusMessage;
	      resp.httpResponse.headers = headers;
	      resp.httpResponse.body = new AWS.util.Buffer('');
	      resp.httpResponse.buffers = [];
	      resp.httpResponse.numBytes = 0;
	      var dateHeader = headers.date || headers.Date;
	      if (dateHeader) {
	        var serverTime = Date.parse(dateHeader);
	        if (resp.request.service.config.correctClockSkew
	            && AWS.util.isClockSkewed(serverTime)) {
	          AWS.util.applyClockOffset(serverTime);
	        }
	      }
	    });

	    add('HTTP_DATA', 'httpData', function HTTP_DATA(chunk, resp) {
	      if (chunk) {
	        if (AWS.util.isNode()) {
	          resp.httpResponse.numBytes += chunk.length;

	          var total = resp.httpResponse.headers['content-length'];
	          var progress = { loaded: resp.httpResponse.numBytes, total: total };
	          resp.request.emit('httpDownloadProgress', [progress, resp]);
	        }

	        resp.httpResponse.buffers.push(new AWS.util.Buffer(chunk));
	      }
	    });

	    add('HTTP_DONE', 'httpDone', function HTTP_DONE(resp) {
	      // convert buffers array into single buffer
	      if (resp.httpResponse.buffers && resp.httpResponse.buffers.length > 0) {
	        var body = AWS.util.buffer.concat(resp.httpResponse.buffers);
	        resp.httpResponse.body = body;
	      }
	      delete resp.httpResponse.numBytes;
	      delete resp.httpResponse.buffers;
	    });

	    add('FINALIZE_ERROR', 'retry', function FINALIZE_ERROR(resp) {
	      if (resp.httpResponse.statusCode) {
	        resp.error.statusCode = resp.httpResponse.statusCode;
	        if (resp.error.retryable === undefined) {
	          resp.error.retryable = this.service.retryableError(resp.error, this);
	        }
	      }
	    });

	    add('INVALIDATE_CREDENTIALS', 'retry', function INVALIDATE_CREDENTIALS(resp) {
	      if (!resp.error) return;
	      switch (resp.error.code) {
	        case 'RequestExpired': // EC2 only
	        case 'ExpiredTokenException':
	        case 'ExpiredToken':
	          resp.error.retryable = true;
	          resp.request.service.config.credentials.expired = true;
	      }
	    });

	    add('EXPIRED_SIGNATURE', 'retry', function EXPIRED_SIGNATURE(resp) {
	      var err = resp.error;
	      if (!err) return;
	      if (typeof err.code === 'string' && typeof err.message === 'string') {
	        if (err.code.match(/Signature/) && err.message.match(/expired/)) {
	          resp.error.retryable = true;
	        }
	      }
	    });

	    add('CLOCK_SKEWED', 'retry', function CLOCK_SKEWED(resp) {
	      if (!resp.error) return;
	      if (this.service.clockSkewError(resp.error)
	          && this.service.config.correctClockSkew
	          && AWS.config.isClockSkewed) {
	        resp.error.retryable = true;
	      }
	    });

	    add('REDIRECT', 'retry', function REDIRECT(resp) {
	      if (resp.error && resp.error.statusCode >= 300 &&
	          resp.error.statusCode < 400 && resp.httpResponse.headers['location']) {
	        this.httpRequest.endpoint =
	          new AWS.Endpoint(resp.httpResponse.headers['location']);
	        this.httpRequest.headers['Host'] = this.httpRequest.endpoint.host;
	        resp.error.redirect = true;
	        resp.error.retryable = true;
	      }
	    });

	    add('RETRY_CHECK', 'retry', function RETRY_CHECK(resp) {
	      if (resp.error) {
	        if (resp.error.redirect && resp.redirectCount < resp.maxRedirects) {
	          resp.error.retryDelay = 0;
	        } else if (resp.retryCount < resp.maxRetries) {
	          resp.error.retryDelay = this.service.retryDelays(resp.retryCount) || 0;
	        }
	      }
	    });

	    addAsync('RESET_RETRY_STATE', 'afterRetry', function RESET_RETRY_STATE(resp, done) {
	      var delay, willRetry = false;

	      if (resp.error) {
	        delay = resp.error.retryDelay || 0;
	        if (resp.error.retryable && resp.retryCount < resp.maxRetries) {
	          resp.retryCount++;
	          willRetry = true;
	        } else if (resp.error.redirect && resp.redirectCount < resp.maxRedirects) {
	          resp.redirectCount++;
	          willRetry = true;
	        }
	      }

	      if (willRetry) {
	        resp.error = null;
	        setTimeout(done, delay);
	      } else {
	        done();
	      }
	    });
	  }),

	  CorePost: new SequentialExecutor().addNamedListeners(function(add) {
	    add('EXTRACT_REQUEST_ID', 'extractData', AWS.util.extractRequestId);
	    add('EXTRACT_REQUEST_ID', 'extractError', AWS.util.extractRequestId);

	    add('ENOTFOUND_ERROR', 'httpError', function ENOTFOUND_ERROR(err) {
	      if (err.code === 'NetworkingError' && err.errno === 'ENOTFOUND') {
	        var message = 'Inaccessible host: `' + err.hostname +
	          '\'. This service may not be available in the `' + err.region +
	          '\' region.';
	        this.response.error = AWS.util.error(new Error(message), {
	          code: 'UnknownEndpoint',
	          region: err.region,
	          hostname: err.hostname,
	          retryable: true,
	          originalError: err
	        });
	      }
	    });
	  }),

	  Logger: new SequentialExecutor().addNamedListeners(function(add) {
	    add('LOG_REQUEST', 'complete', function LOG_REQUEST(resp) {
	      var req = resp.request;
	      var logger = req.service.config.logger;
	      if (!logger) return;

	      function buildMessage() {
	        var time = AWS.util.date.getDate().getTime();
	        var delta = (time - req.startTime.getTime()) / 1000;
	        var ansi = logger.isTTY ? true : false;
	        var status = resp.httpResponse.statusCode;
	        var params = __webpack_require__(201).inspect(req.params, true, null);

	        var message = '';
	        if (ansi) message += '\x1B[33m';
	        message += '[AWS ' + req.service.serviceIdentifier + ' ' + status;
	        message += ' ' + delta.toString() + 's ' + resp.retryCount + ' retries]';
	        if (ansi) message += '\x1B[0;1m';
	        message += ' ' + AWS.util.string.lowerFirst(req.operation);
	        message += '(' + params + ')';
	        if (ansi) message += '\x1B[0m';
	        return message;
	      }

	      var line = buildMessage();
	      if (typeof logger.log === 'function') {
	        logger.log(line);
	      } else if (typeof logger.write === 'function') {
	        logger.write(line + '\n');
	      }
	    });
	  }),

	  Json: new SequentialExecutor().addNamedListeners(function(add) {
	    var svc = __webpack_require__(6);
	    add('BUILD', 'build', svc.buildRequest);
	    add('EXTRACT_DATA', 'extractData', svc.extractData);
	    add('EXTRACT_ERROR', 'extractError', svc.extractError);
	  }),

	  Rest: new SequentialExecutor().addNamedListeners(function(add) {
	    var svc = __webpack_require__(13);
	    add('BUILD', 'build', svc.buildRequest);
	    add('EXTRACT_DATA', 'extractData', svc.extractData);
	    add('EXTRACT_ERROR', 'extractError', svc.extractError);
	  }),

	  RestJson: new SequentialExecutor().addNamedListeners(function(add) {
	    var svc = __webpack_require__(14);
	    add('BUILD', 'build', svc.buildRequest);
	    add('EXTRACT_DATA', 'extractData', svc.extractData);
	    add('EXTRACT_ERROR', 'extractError', svc.extractError);
	  }),

	  RestXml: new SequentialExecutor().addNamedListeners(function(add) {
	    var svc = __webpack_require__(15);
	    add('BUILD', 'build', svc.buildRequest);
	    add('EXTRACT_DATA', 'extractData', svc.extractData);
	    add('EXTRACT_ERROR', 'extractError', svc.extractError);
	  }),

	  Query: new SequentialExecutor().addNamedListeners(function(add) {
	    var svc = __webpack_require__(9);
	    add('BUILD', 'build', svc.buildRequest);
	    add('EXTRACT_DATA', 'extractData', svc.extractData);
	    add('EXTRACT_ERROR', 'extractError', svc.extractError);
	  })
	};


/***/ }),
/* 201 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	var formatRegExp = /%[sdj%]/g;
	exports.format = function(f) {
	  if (!isString(f)) {
	    var objects = [];
	    for (var i = 0; i < arguments.length; i++) {
	      objects.push(inspect(arguments[i]));
	    }
	    return objects.join(' ');
	  }

	  var i = 1;
	  var args = arguments;
	  var len = args.length;
	  var str = String(f).replace(formatRegExp, function(x) {
	    if (x === '%%') return '%';
	    if (i >= len) return x;
	    switch (x) {
	      case '%s': return String(args[i++]);
	      case '%d': return Number(args[i++]);
	      case '%j':
	        try {
	          return JSON.stringify(args[i++]);
	        } catch (_) {
	          return '[Circular]';
	        }
	      default:
	        return x;
	    }
	  });
	  for (var x = args[i]; i < len; x = args[++i]) {
	    if (isNull(x) || !isObject(x)) {
	      str += ' ' + x;
	    } else {
	      str += ' ' + inspect(x);
	    }
	  }
	  return str;
	};


	// Mark that a method should not be used.
	// Returns a modified function which warns once by default.
	// If --no-deprecation is set, then it is a no-op.
	exports.deprecate = function(fn, msg) {
	  // Allow for deprecating things in the process of starting up.
	  if (isUndefined(global.process)) {
	    return function() {
	      return exports.deprecate(fn, msg).apply(this, arguments);
	    };
	  }

	  if (process.noDeprecation === true) {
	    return fn;
	  }

	  var warned = false;
	  function deprecated() {
	    if (!warned) {
	      if (process.throwDeprecation) {
	        throw new Error(msg);
	      } else if (process.traceDeprecation) {
	        console.trace(msg);
	      } else {
	        console.error(msg);
	      }
	      warned = true;
	    }
	    return fn.apply(this, arguments);
	  }

	  return deprecated;
	};


	var debugs = {};
	var debugEnviron;
	exports.debuglog = function(set) {
	  if (isUndefined(debugEnviron))
	    debugEnviron = process.env.NODE_DEBUG || '';
	  set = set.toUpperCase();
	  if (!debugs[set]) {
	    if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
	      var pid = process.pid;
	      debugs[set] = function() {
	        var msg = exports.format.apply(exports, arguments);
	        console.error('%s %d: %s', set, pid, msg);
	      };
	    } else {
	      debugs[set] = function() {};
	    }
	  }
	  return debugs[set];
	};


	/**
	 * Echos the value of a value. Trys to print the value out
	 * in the best way possible given the different types.
	 *
	 * @param {Object} obj The object to print out.
	 * @param {Object} opts Optional options object that alters the output.
	 */
	/* legacy: obj, showHidden, depth, colors*/
	function inspect(obj, opts) {
	  // default options
	  var ctx = {
	    seen: [],
	    stylize: stylizeNoColor
	  };
	  // legacy...
	  if (arguments.length >= 3) ctx.depth = arguments[2];
	  if (arguments.length >= 4) ctx.colors = arguments[3];
	  if (isBoolean(opts)) {
	    // legacy...
	    ctx.showHidden = opts;
	  } else if (opts) {
	    // got an "options" object
	    exports._extend(ctx, opts);
	  }
	  // set default options
	  if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
	  if (isUndefined(ctx.depth)) ctx.depth = 2;
	  if (isUndefined(ctx.colors)) ctx.colors = false;
	  if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
	  if (ctx.colors) ctx.stylize = stylizeWithColor;
	  return formatValue(ctx, obj, ctx.depth);
	}
	exports.inspect = inspect;


	// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
	inspect.colors = {
	  'bold' : [1, 22],
	  'italic' : [3, 23],
	  'underline' : [4, 24],
	  'inverse' : [7, 27],
	  'white' : [37, 39],
	  'grey' : [90, 39],
	  'black' : [30, 39],
	  'blue' : [34, 39],
	  'cyan' : [36, 39],
	  'green' : [32, 39],
	  'magenta' : [35, 39],
	  'red' : [31, 39],
	  'yellow' : [33, 39]
	};

	// Don't use 'blue' not visible on cmd.exe
	inspect.styles = {
	  'special': 'cyan',
	  'number': 'yellow',
	  'boolean': 'yellow',
	  'undefined': 'grey',
	  'null': 'bold',
	  'string': 'green',
	  'date': 'magenta',
	  // "name": intentionally not styling
	  'regexp': 'red'
	};


	function stylizeWithColor(str, styleType) {
	  var style = inspect.styles[styleType];

	  if (style) {
	    return '\u001b[' + inspect.colors[style][0] + 'm' + str +
	           '\u001b[' + inspect.colors[style][1] + 'm';
	  } else {
	    return str;
	  }
	}


	function stylizeNoColor(str, styleType) {
	  return str;
	}


	function arrayToHash(array) {
	  var hash = {};

	  array.forEach(function(val, idx) {
	    hash[val] = true;
	  });

	  return hash;
	}


	function formatValue(ctx, value, recurseTimes) {
	  // Provide a hook for user-specified inspect functions.
	  // Check that value is an object with an inspect function on it
	  if (ctx.customInspect &&
	      value &&
	      isFunction(value.inspect) &&
	      // Filter out the util module, it's inspect function is special
	      value.inspect !== exports.inspect &&
	      // Also filter out any prototype objects using the circular check.
	      !(value.constructor && value.constructor.prototype === value)) {
	    var ret = value.inspect(recurseTimes, ctx);
	    if (!isString(ret)) {
	      ret = formatValue(ctx, ret, recurseTimes);
	    }
	    return ret;
	  }

	  // Primitive types cannot have properties
	  var primitive = formatPrimitive(ctx, value);
	  if (primitive) {
	    return primitive;
	  }

	  // Look up the keys of the object.
	  var keys = Object.keys(value);
	  var visibleKeys = arrayToHash(keys);

	  if (ctx.showHidden) {
	    keys = Object.getOwnPropertyNames(value);
	  }

	  // IE doesn't make error fields non-enumerable
	  // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
	  if (isError(value)
	      && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
	    return formatError(value);
	  }

	  // Some type of object without properties can be shortcutted.
	  if (keys.length === 0) {
	    if (isFunction(value)) {
	      var name = value.name ? ': ' + value.name : '';
	      return ctx.stylize('[Function' + name + ']', 'special');
	    }
	    if (isRegExp(value)) {
	      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
	    }
	    if (isDate(value)) {
	      return ctx.stylize(Date.prototype.toString.call(value), 'date');
	    }
	    if (isError(value)) {
	      return formatError(value);
	    }
	  }

	  var base = '', array = false, braces = ['{', '}'];

	  // Make Array say that they are Array
	  if (isArray(value)) {
	    array = true;
	    braces = ['[', ']'];
	  }

	  // Make functions say that they are functions
	  if (isFunction(value)) {
	    var n = value.name ? ': ' + value.name : '';
	    base = ' [Function' + n + ']';
	  }

	  // Make RegExps say that they are RegExps
	  if (isRegExp(value)) {
	    base = ' ' + RegExp.prototype.toString.call(value);
	  }

	  // Make dates with properties first say the date
	  if (isDate(value)) {
	    base = ' ' + Date.prototype.toUTCString.call(value);
	  }

	  // Make error with message first say the error
	  if (isError(value)) {
	    base = ' ' + formatError(value);
	  }

	  if (keys.length === 0 && (!array || value.length == 0)) {
	    return braces[0] + base + braces[1];
	  }

	  if (recurseTimes < 0) {
	    if (isRegExp(value)) {
	      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
	    } else {
	      return ctx.stylize('[Object]', 'special');
	    }
	  }

	  ctx.seen.push(value);

	  var output;
	  if (array) {
	    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
	  } else {
	    output = keys.map(function(key) {
	      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
	    });
	  }

	  ctx.seen.pop();

	  return reduceToSingleString(output, base, braces);
	}


	function formatPrimitive(ctx, value) {
	  if (isUndefined(value))
	    return ctx.stylize('undefined', 'undefined');
	  if (isString(value)) {
	    var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
	                                             .replace(/'/g, "\\'")
	                                             .replace(/\\"/g, '"') + '\'';
	    return ctx.stylize(simple, 'string');
	  }
	  if (isNumber(value))
	    return ctx.stylize('' + value, 'number');
	  if (isBoolean(value))
	    return ctx.stylize('' + value, 'boolean');
	  // For some reason typeof null is "object", so special case here.
	  if (isNull(value))
	    return ctx.stylize('null', 'null');
	}


	function formatError(value) {
	  return '[' + Error.prototype.toString.call(value) + ']';
	}


	function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
	  var output = [];
	  for (var i = 0, l = value.length; i < l; ++i) {
	    if (hasOwnProperty(value, String(i))) {
	      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
	          String(i), true));
	    } else {
	      output.push('');
	    }
	  }
	  keys.forEach(function(key) {
	    if (!key.match(/^\d+$/)) {
	      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
	          key, true));
	    }
	  });
	  return output;
	}


	function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
	  var name, str, desc;
	  desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
	  if (desc.get) {
	    if (desc.set) {
	      str = ctx.stylize('[Getter/Setter]', 'special');
	    } else {
	      str = ctx.stylize('[Getter]', 'special');
	    }
	  } else {
	    if (desc.set) {
	      str = ctx.stylize('[Setter]', 'special');
	    }
	  }
	  if (!hasOwnProperty(visibleKeys, key)) {
	    name = '[' + key + ']';
	  }
	  if (!str) {
	    if (ctx.seen.indexOf(desc.value) < 0) {
	      if (isNull(recurseTimes)) {
	        str = formatValue(ctx, desc.value, null);
	      } else {
	        str = formatValue(ctx, desc.value, recurseTimes - 1);
	      }
	      if (str.indexOf('\n') > -1) {
	        if (array) {
	          str = str.split('\n').map(function(line) {
	            return '  ' + line;
	          }).join('\n').substr(2);
	        } else {
	          str = '\n' + str.split('\n').map(function(line) {
	            return '   ' + line;
	          }).join('\n');
	        }
	      }
	    } else {
	      str = ctx.stylize('[Circular]', 'special');
	    }
	  }
	  if (isUndefined(name)) {
	    if (array && key.match(/^\d+$/)) {
	      return str;
	    }
	    name = JSON.stringify('' + key);
	    if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
	      name = name.substr(1, name.length - 2);
	      name = ctx.stylize(name, 'name');
	    } else {
	      name = name.replace(/'/g, "\\'")
	                 .replace(/\\"/g, '"')
	                 .replace(/(^"|"$)/g, "'");
	      name = ctx.stylize(name, 'string');
	    }
	  }

	  return name + ': ' + str;
	}


	function reduceToSingleString(output, base, braces) {
	  var numLinesEst = 0;
	  var length = output.reduce(function(prev, cur) {
	    numLinesEst++;
	    if (cur.indexOf('\n') >= 0) numLinesEst++;
	    return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
	  }, 0);

	  if (length > 60) {
	    return braces[0] +
	           (base === '' ? '' : base + '\n ') +
	           ' ' +
	           output.join(',\n  ') +
	           ' ' +
	           braces[1];
	  }

	  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
	}


	// NOTE: These type checking functions intentionally don't use `instanceof`
	// because it is fragile and can be easily faked with `Object.create()`.
	function isArray(ar) {
	  return Array.isArray(ar);
	}
	exports.isArray = isArray;

	function isBoolean(arg) {
	  return typeof arg === 'boolean';
	}
	exports.isBoolean = isBoolean;

	function isNull(arg) {
	  return arg === null;
	}
	exports.isNull = isNull;

	function isNullOrUndefined(arg) {
	  return arg == null;
	}
	exports.isNullOrUndefined = isNullOrUndefined;

	function isNumber(arg) {
	  return typeof arg === 'number';
	}
	exports.isNumber = isNumber;

	function isString(arg) {
	  return typeof arg === 'string';
	}
	exports.isString = isString;

	function isSymbol(arg) {
	  return typeof arg === 'symbol';
	}
	exports.isSymbol = isSymbol;

	function isUndefined(arg) {
	  return arg === void 0;
	}
	exports.isUndefined = isUndefined;

	function isRegExp(re) {
	  return isObject(re) && objectToString(re) === '[object RegExp]';
	}
	exports.isRegExp = isRegExp;

	function isObject(arg) {
	  return typeof arg === 'object' && arg !== null;
	}
	exports.isObject = isObject;

	function isDate(d) {
	  return isObject(d) && objectToString(d) === '[object Date]';
	}
	exports.isDate = isDate;

	function isError(e) {
	  return isObject(e) &&
	      (objectToString(e) === '[object Error]' || e instanceof Error);
	}
	exports.isError = isError;

	function isFunction(arg) {
	  return typeof arg === 'function';
	}
	exports.isFunction = isFunction;

	function isPrimitive(arg) {
	  return arg === null ||
	         typeof arg === 'boolean' ||
	         typeof arg === 'number' ||
	         typeof arg === 'string' ||
	         typeof arg === 'symbol' ||  // ES6 symbol
	         typeof arg === 'undefined';
	}
	exports.isPrimitive = isPrimitive;

	exports.isBuffer = __webpack_require__(202);

	function objectToString(o) {
	  return Object.prototype.toString.call(o);
	}


	function pad(n) {
	  return n < 10 ? '0' + n.toString(10) : n.toString(10);
	}


	var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
	              'Oct', 'Nov', 'Dec'];

	// 26 Feb 16:19:34
	function timestamp() {
	  var d = new Date();
	  var time = [pad(d.getHours()),
	              pad(d.getMinutes()),
	              pad(d.getSeconds())].join(':');
	  return [d.getDate(), months[d.getMonth()], time].join(' ');
	}


	// log is just a thin wrapper to console.log that prepends a timestamp
	exports.log = function() {
	  console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
	};


	/**
	 * Inherit the prototype methods from one constructor into another.
	 *
	 * The Function.prototype.inherits from lang.js rewritten as a standalone
	 * function (not on Function.prototype). NOTE: If this file is to be loaded
	 * during bootstrapping this function needs to be rewritten using some native
	 * functions as prototype setup using normal JavaScript does not work as
	 * expected during bootstrapping (see mirror.js in r114903).
	 *
	 * @param {function} ctor Constructor function which needs to inherit the
	 *     prototype.
	 * @param {function} superCtor Constructor function to inherit prototype from.
	 */
	exports.inherits = __webpack_require__(207);

	exports._extend = function(origin, add) {
	  // Don't do anything if add isn't an object
	  if (!add || !isObject(add)) return origin;

	  var keys = Object.keys(add);
	  var i = keys.length;
	  while (i--) {
	    origin[keys[i]] = add[keys[i]];
	  }
	  return origin;
	};

	function hasOwnProperty(obj, prop) {
	  return Object.prototype.hasOwnProperty.call(obj, prop);
	}

	/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(3)))

/***/ }),
/* 202 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {module.exports = function isBuffer(arg) {
	  return arg instanceof Buffer;
	}

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 203 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(global) {/*!
	 * The buffer module from node.js, for the browser.
	 *
	 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
	 * @license  MIT
	 */
	/* eslint-disable no-proto */

	'use strict'

	var base64 = __webpack_require__(204)
	var ieee754 = __webpack_require__(205)
	var isArray = __webpack_require__(206)

	exports.Buffer = Buffer
	exports.SlowBuffer = SlowBuffer
	exports.INSPECT_MAX_BYTES = 50

	/**
	 * If `Buffer.TYPED_ARRAY_SUPPORT`:
	 *   === true    Use Uint8Array implementation (fastest)
	 *   === false   Use Object implementation (most compatible, even IE6)
	 *
	 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
	 * Opera 11.6+, iOS 4.2+.
	 *
	 * Due to various browser bugs, sometimes the Object implementation will be used even
	 * when the browser supports typed arrays.
	 *
	 * Note:
	 *
	 *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
	 *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
	 *
	 *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
	 *
	 *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
	 *     incorrect length in some situations.

	 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
	 * get the Object implementation, which is slower but behaves correctly.
	 */
	Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined
	  ? global.TYPED_ARRAY_SUPPORT
	  : typedArraySupport()

	/*
	 * Export kMaxLength after typed array support is determined.
	 */
	exports.kMaxLength = kMaxLength()

	function typedArraySupport () {
	  try {
	    var arr = new Uint8Array(1)
	    arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}
	    return arr.foo() === 42 && // typed array instances can be augmented
	        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
	        arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
	  } catch (e) {
	    return false
	  }
	}

	function kMaxLength () {
	  return Buffer.TYPED_ARRAY_SUPPORT
	    ? 0x7fffffff
	    : 0x3fffffff
	}

	function createBuffer (that, length) {
	  if (kMaxLength() < length) {
	    throw new RangeError('Invalid typed array length')
	  }
	  if (Buffer.TYPED_ARRAY_SUPPORT) {
	    // Return an augmented `Uint8Array` instance, for best performance
	    that = new Uint8Array(length)
	    that.__proto__ = Buffer.prototype
	  } else {
	    // Fallback: Return an object instance of the Buffer class
	    if (that === null) {
	      that = new Buffer(length)
	    }
	    that.length = length
	  }

	  return that
	}

	/**
	 * The Buffer constructor returns instances of `Uint8Array` that have their
	 * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
	 * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
	 * and the `Uint8Array` methods. Square bracket notation works as expected -- it
	 * returns a single octet.
	 *
	 * The `Uint8Array` prototype remains unmodified.
	 */

	function Buffer (arg, encodingOrOffset, length) {
	  if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {
	    return new Buffer(arg, encodingOrOffset, length)
	  }

	  // Common case.
	  if (typeof arg === 'number') {
	    if (typeof encodingOrOffset === 'string') {
	      throw new Error(
	        'If encoding is specified then the first argument must be a string'
	      )
	    }
	    return allocUnsafe(this, arg)
	  }
	  return from(this, arg, encodingOrOffset, length)
	}

	Buffer.poolSize = 8192 // not used by this implementation

	// TODO: Legacy, not needed anymore. Remove in next major version.
	Buffer._augment = function (arr) {
	  arr.__proto__ = Buffer.prototype
	  return arr
	}

	function from (that, value, encodingOrOffset, length) {
	  if (typeof value === 'number') {
	    throw new TypeError('"value" argument must not be a number')
	  }

	  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {
	    return fromArrayBuffer(that, value, encodingOrOffset, length)
	  }

	  if (typeof value === 'string') {
	    return fromString(that, value, encodingOrOffset)
	  }

	  return fromObject(that, value)
	}

	/**
	 * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
	 * if value is a number.
	 * Buffer.from(str[, encoding])
	 * Buffer.from(array)
	 * Buffer.from(buffer)
	 * Buffer.from(arrayBuffer[, byteOffset[, length]])
	 **/
	Buffer.from = function (value, encodingOrOffset, length) {
	  return from(null, value, encodingOrOffset, length)
	}

	if (Buffer.TYPED_ARRAY_SUPPORT) {
	  Buffer.prototype.__proto__ = Uint8Array.prototype
	  Buffer.__proto__ = Uint8Array
	  if (typeof Symbol !== 'undefined' && Symbol.species &&
	      Buffer[Symbol.species] === Buffer) {
	    // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
	    Object.defineProperty(Buffer, Symbol.species, {
	      value: null,
	      configurable: true
	    })
	  }
	}

	function assertSize (size) {
	  if (typeof size !== 'number') {
	    throw new TypeError('"size" argument must be a number')
	  } else if (size < 0) {
	    throw new RangeError('"size" argument must not be negative')
	  }
	}

	function alloc (that, size, fill, encoding) {
	  assertSize(size)
	  if (size <= 0) {
	    return createBuffer(that, size)
	  }
	  if (fill !== undefined) {
	    // Only pay attention to encoding if it's a string. This
	    // prevents accidentally sending in a number that would
	    // be interpretted as a start offset.
	    return typeof encoding === 'string'
	      ? createBuffer(that, size).fill(fill, encoding)
	      : createBuffer(that, size).fill(fill)
	  }
	  return createBuffer(that, size)
	}

	/**
	 * Creates a new filled Buffer instance.
	 * alloc(size[, fill[, encoding]])
	 **/
	Buffer.alloc = function (size, fill, encoding) {
	  return alloc(null, size, fill, encoding)
	}

	function allocUnsafe (that, size) {
	  assertSize(size)
	  that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)
	  if (!Buffer.TYPED_ARRAY_SUPPORT) {
	    for (var i = 0; i < size; ++i) {
	      that[i] = 0
	    }
	  }
	  return that
	}

	/**
	 * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
	 * */
	Buffer.allocUnsafe = function (size) {
	  return allocUnsafe(null, size)
	}
	/**
	 * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
	 */
	Buffer.allocUnsafeSlow = function (size) {
	  return allocUnsafe(null, size)
	}

	function fromString (that, string, encoding) {
	  if (typeof encoding !== 'string' || encoding === '') {
	    encoding = 'utf8'
	  }

	  if (!Buffer.isEncoding(encoding)) {
	    throw new TypeError('"encoding" must be a valid string encoding')
	  }

	  var length = byteLength(string, encoding) | 0
	  that = createBuffer(that, length)

	  var actual = that.write(string, encoding)

	  if (actual !== length) {
	    // Writing a hex string, for example, that contains invalid characters will
	    // cause everything after the first invalid character to be ignored. (e.g.
	    // 'abxxcd' will be treated as 'ab')
	    that = that.slice(0, actual)
	  }

	  return that
	}

	function fromArrayLike (that, array) {
	  var length = array.length < 0 ? 0 : checked(array.length) | 0
	  that = createBuffer(that, length)
	  for (var i = 0; i < length; i += 1) {
	    that[i] = array[i] & 255
	  }
	  return that
	}

	function fromArrayBuffer (that, array, byteOffset, length) {
	  array.byteLength // this throws if `array` is not a valid ArrayBuffer

	  if (byteOffset < 0 || array.byteLength < byteOffset) {
	    throw new RangeError('\'offset\' is out of bounds')
	  }

	  if (array.byteLength < byteOffset + (length || 0)) {
	    throw new RangeError('\'length\' is out of bounds')
	  }

	  if (byteOffset === undefined && length === undefined) {
	    array = new Uint8Array(array)
	  } else if (length === undefined) {
	    array = new Uint8Array(array, byteOffset)
	  } else {
	    array = new Uint8Array(array, byteOffset, length)
	  }

	  if (Buffer.TYPED_ARRAY_SUPPORT) {
	    // Return an augmented `Uint8Array` instance, for best performance
	    that = array
	    that.__proto__ = Buffer.prototype
	  } else {
	    // Fallback: Return an object instance of the Buffer class
	    that = fromArrayLike(that, array)
	  }
	  return that
	}

	function fromObject (that, obj) {
	  if (Buffer.isBuffer(obj)) {
	    var len = checked(obj.length) | 0
	    that = createBuffer(that, len)

	    if (that.length === 0) {
	      return that
	    }

	    obj.copy(that, 0, 0, len)
	    return that
	  }

	  if (obj) {
	    if ((typeof ArrayBuffer !== 'undefined' &&
	        obj.buffer instanceof ArrayBuffer) || 'length' in obj) {
	      if (typeof obj.length !== 'number' || isnan(obj.length)) {
	        return createBuffer(that, 0)
	      }
	      return fromArrayLike(that, obj)
	    }

	    if (obj.type === 'Buffer' && isArray(obj.data)) {
	      return fromArrayLike(that, obj.data)
	    }
	  }

	  throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')
	}

	function checked (length) {
	  // Note: cannot use `length < kMaxLength()` here because that fails when
	  // length is NaN (which is otherwise coerced to zero.)
	  if (length >= kMaxLength()) {
	    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
	                         'size: 0x' + kMaxLength().toString(16) + ' bytes')
	  }
	  return length | 0
	}

	function SlowBuffer (length) {
	  if (+length != length) { // eslint-disable-line eqeqeq
	    length = 0
	  }
	  return Buffer.alloc(+length)
	}

	Buffer.isBuffer = function isBuffer (b) {
	  return !!(b != null && b._isBuffer)
	}

	Buffer.compare = function compare (a, b) {
	  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
	    throw new TypeError('Arguments must be Buffers')
	  }

	  if (a === b) return 0

	  var x = a.length
	  var y = b.length

	  for (var i = 0, len = Math.min(x, y); i < len; ++i) {
	    if (a[i] !== b[i]) {
	      x = a[i]
	      y = b[i]
	      break
	    }
	  }

	  if (x < y) return -1
	  if (y < x) return 1
	  return 0
	}

	Buffer.isEncoding = function isEncoding (encoding) {
	  switch (String(encoding).toLowerCase()) {
	    case 'hex':
	    case 'utf8':
	    case 'utf-8':
	    case 'ascii':
	    case 'latin1':
	    case 'binary':
	    case 'base64':
	    case 'ucs2':
	    case 'ucs-2':
	    case 'utf16le':
	    case 'utf-16le':
	      return true
	    default:
	      return false
	  }
	}

	Buffer.concat = function concat (list, length) {
	  if (!isArray(list)) {
	    throw new TypeError('"list" argument must be an Array of Buffers')
	  }

	  if (list.length === 0) {
	    return Buffer.alloc(0)
	  }

	  var i
	  if (length === undefined) {
	    length = 0
	    for (i = 0; i < list.length; ++i) {
	      length += list[i].length
	    }
	  }

	  var buffer = Buffer.allocUnsafe(length)
	  var pos = 0
	  for (i = 0; i < list.length; ++i) {
	    var buf = list[i]
	    if (!Buffer.isBuffer(buf)) {
	      throw new TypeError('"list" argument must be an Array of Buffers')
	    }
	    buf.copy(buffer, pos)
	    pos += buf.length
	  }
	  return buffer
	}

	function byteLength (string, encoding) {
	  if (Buffer.isBuffer(string)) {
	    return string.length
	  }
	  if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&
	      (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
	    return string.byteLength
	  }
	  if (typeof string !== 'string') {
	    string = '' + string
	  }

	  var len = string.length
	  if (len === 0) return 0

	  // Use a for loop to avoid recursion
	  var loweredCase = false
	  for (;;) {
	    switch (encoding) {
	      case 'ascii':
	      case 'latin1':
	      case 'binary':
	        return len
	      case 'utf8':
	      case 'utf-8':
	      case undefined:
	        return utf8ToBytes(string).length
	      case 'ucs2':
	      case 'ucs-2':
	      case 'utf16le':
	      case 'utf-16le':
	        return len * 2
	      case 'hex':
	        return len >>> 1
	      case 'base64':
	        return base64ToBytes(string).length
	      default:
	        if (loweredCase) return utf8ToBytes(string).length // assume utf8
	        encoding = ('' + encoding).toLowerCase()
	        loweredCase = true
	    }
	  }
	}
	Buffer.byteLength = byteLength

	function slowToString (encoding, start, end) {
	  var loweredCase = false

	  // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
	  // property of a typed array.

	  // This behaves neither like String nor Uint8Array in that we set start/end
	  // to their upper/lower bounds if the value passed is out of range.
	  // undefined is handled specially as per ECMA-262 6th Edition,
	  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
	  if (start === undefined || start < 0) {
	    start = 0
	  }
	  // Return early if start > this.length. Done here to prevent potential uint32
	  // coercion fail below.
	  if (start > this.length) {
	    return ''
	  }

	  if (end === undefined || end > this.length) {
	    end = this.length
	  }

	  if (end <= 0) {
	    return ''
	  }

	  // Force coersion to uint32. This will also coerce falsey/NaN values to 0.
	  end >>>= 0
	  start >>>= 0

	  if (end <= start) {
	    return ''
	  }

	  if (!encoding) encoding = 'utf8'

	  while (true) {
	    switch (encoding) {
	      case 'hex':
	        return hexSlice(this, start, end)

	      case 'utf8':
	      case 'utf-8':
	        return utf8Slice(this, start, end)

	      case 'ascii':
	        return asciiSlice(this, start, end)

	      case 'latin1':
	      case 'binary':
	        return latin1Slice(this, start, end)

	      case 'base64':
	        return base64Slice(this, start, end)

	      case 'ucs2':
	      case 'ucs-2':
	      case 'utf16le':
	      case 'utf-16le':
	        return utf16leSlice(this, start, end)

	      default:
	        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
	        encoding = (encoding + '').toLowerCase()
	        loweredCase = true
	    }
	  }
	}

	// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect
	// Buffer instances.
	Buffer.prototype._isBuffer = true

	function swap (b, n, m) {
	  var i = b[n]
	  b[n] = b[m]
	  b[m] = i
	}

	Buffer.prototype.swap16 = function swap16 () {
	  var len = this.length
	  if (len % 2 !== 0) {
	    throw new RangeError('Buffer size must be a multiple of 16-bits')
	  }
	  for (var i = 0; i < len; i += 2) {
	    swap(this, i, i + 1)
	  }
	  return this
	}

	Buffer.prototype.swap32 = function swap32 () {
	  var len = this.length
	  if (len % 4 !== 0) {
	    throw new RangeError('Buffer size must be a multiple of 32-bits')
	  }
	  for (var i = 0; i < len; i += 4) {
	    swap(this, i, i + 3)
	    swap(this, i + 1, i + 2)
	  }
	  return this
	}

	Buffer.prototype.swap64 = function swap64 () {
	  var len = this.length
	  if (len % 8 !== 0) {
	    throw new RangeError('Buffer size must be a multiple of 64-bits')
	  }
	  for (var i = 0; i < len; i += 8) {
	    swap(this, i, i + 7)
	    swap(this, i + 1, i + 6)
	    swap(this, i + 2, i + 5)
	    swap(this, i + 3, i + 4)
	  }
	  return this
	}

	Buffer.prototype.toString = function toString () {
	  var length = this.length | 0
	  if (length === 0) return ''
	  if (arguments.length === 0) return utf8Slice(this, 0, length)
	  return slowToString.apply(this, arguments)
	}

	Buffer.prototype.equals = function equals (b) {
	  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
	  if (this === b) return true
	  return Buffer.compare(this, b) === 0
	}

	Buffer.prototype.inspect = function inspect () {
	  var str = ''
	  var max = exports.INSPECT_MAX_BYTES
	  if (this.length > 0) {
	    str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
	    if (this.length > max) str += ' ... '
	  }
	  return '<Buffer ' + str + '>'
	}

	Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
	  if (!Buffer.isBuffer(target)) {
	    throw new TypeError('Argument must be a Buffer')
	  }

	  if (start === undefined) {
	    start = 0
	  }
	  if (end === undefined) {
	    end = target ? target.length : 0
	  }
	  if (thisStart === undefined) {
	    thisStart = 0
	  }
	  if (thisEnd === undefined) {
	    thisEnd = this.length
	  }

	  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
	    throw new RangeError('out of range index')
	  }

	  if (thisStart >= thisEnd && start >= end) {
	    return 0
	  }
	  if (thisStart >= thisEnd) {
	    return -1
	  }
	  if (start >= end) {
	    return 1
	  }

	  start >>>= 0
	  end >>>= 0
	  thisStart >>>= 0
	  thisEnd >>>= 0

	  if (this === target) return 0

	  var x = thisEnd - thisStart
	  var y = end - start
	  var len = Math.min(x, y)

	  var thisCopy = this.slice(thisStart, thisEnd)
	  var targetCopy = target.slice(start, end)

	  for (var i = 0; i < len; ++i) {
	    if (thisCopy[i] !== targetCopy[i]) {
	      x = thisCopy[i]
	      y = targetCopy[i]
	      break
	    }
	  }

	  if (x < y) return -1
	  if (y < x) return 1
	  return 0
	}

	// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
	// OR the last index of `val` in `buffer` at offset <= `byteOffset`.
	//
	// Arguments:
	// - buffer - a Buffer to search
	// - val - a string, Buffer, or number
	// - byteOffset - an index into `buffer`; will be clamped to an int32
	// - encoding - an optional encoding, relevant is val is a string
	// - dir - true for indexOf, false for lastIndexOf
	function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
	  // Empty buffer means no match
	  if (buffer.length === 0) return -1

	  // Normalize byteOffset
	  if (typeof byteOffset === 'string') {
	    encoding = byteOffset
	    byteOffset = 0
	  } else if (byteOffset > 0x7fffffff) {
	    byteOffset = 0x7fffffff
	  } else if (byteOffset < -0x80000000) {
	    byteOffset = -0x80000000
	  }
	  byteOffset = +byteOffset  // Coerce to Number.
	  if (isNaN(byteOffset)) {
	    // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
	    byteOffset = dir ? 0 : (buffer.length - 1)
	  }

	  // Normalize byteOffset: negative offsets start from the end of the buffer
	  if (byteOffset < 0) byteOffset = buffer.length + byteOffset
	  if (byteOffset >= buffer.length) {
	    if (dir) return -1
	    else byteOffset = buffer.length - 1
	  } else if (byteOffset < 0) {
	    if (dir) byteOffset = 0
	    else return -1
	  }

	  // Normalize val
	  if (typeof val === 'string') {
	    val = Buffer.from(val, encoding)
	  }

	  // Finally, search either indexOf (if dir is true) or lastIndexOf
	  if (Buffer.isBuffer(val)) {
	    // Special case: looking for empty string/buffer always fails
	    if (val.length === 0) {
	      return -1
	    }
	    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
	  } else if (typeof val === 'number') {
	    val = val & 0xFF // Search for a byte value [0-255]
	    if (Buffer.TYPED_ARRAY_SUPPORT &&
	        typeof Uint8Array.prototype.indexOf === 'function') {
	      if (dir) {
	        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
	      } else {
	        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
	      }
	    }
	    return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)
	  }

	  throw new TypeError('val must be string, number or Buffer')
	}

	function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
	  var indexSize = 1
	  var arrLength = arr.length
	  var valLength = val.length

	  if (encoding !== undefined) {
	    encoding = String(encoding).toLowerCase()
	    if (encoding === 'ucs2' || encoding === 'ucs-2' ||
	        encoding === 'utf16le' || encoding === 'utf-16le') {
	      if (arr.length < 2 || val.length < 2) {
	        return -1
	      }
	      indexSize = 2
	      arrLength /= 2
	      valLength /= 2
	      byteOffset /= 2
	    }
	  }

	  function read (buf, i) {
	    if (indexSize === 1) {
	      return buf[i]
	    } else {
	      return buf.readUInt16BE(i * indexSize)
	    }
	  }

	  var i
	  if (dir) {
	    var foundIndex = -1
	    for (i = byteOffset; i < arrLength; i++) {
	      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
	        if (foundIndex === -1) foundIndex = i
	        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
	      } else {
	        if (foundIndex !== -1) i -= i - foundIndex
	        foundIndex = -1
	      }
	    }
	  } else {
	    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
	    for (i = byteOffset; i >= 0; i--) {
	      var found = true
	      for (var j = 0; j < valLength; j++) {
	        if (read(arr, i + j) !== read(val, j)) {
	          found = false
	          break
	        }
	      }
	      if (found) return i
	    }
	  }

	  return -1
	}

	Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
	  return this.indexOf(val, byteOffset, encoding) !== -1
	}

	Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
	  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
	}

	Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
	  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
	}

	function hexWrite (buf, string, offset, length) {
	  offset = Number(offset) || 0
	  var remaining = buf.length - offset
	  if (!length) {
	    length = remaining
	  } else {
	    length = Number(length)
	    if (length > remaining) {
	      length = remaining
	    }
	  }

	  // must be an even number of digits
	  var strLen = string.length
	  if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')

	  if (length > strLen / 2) {
	    length = strLen / 2
	  }
	  for (var i = 0; i < length; ++i) {
	    var parsed = parseInt(string.substr(i * 2, 2), 16)
	    if (isNaN(parsed)) return i
	    buf[offset + i] = parsed
	  }
	  return i
	}

	function utf8Write (buf, string, offset, length) {
	  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
	}

	function asciiWrite (buf, string, offset, length) {
	  return blitBuffer(asciiToBytes(string), buf, offset, length)
	}

	function latin1Write (buf, string, offset, length) {
	  return asciiWrite(buf, string, offset, length)
	}

	function base64Write (buf, string, offset, length) {
	  return blitBuffer(base64ToBytes(string), buf, offset, length)
	}

	function ucs2Write (buf, string, offset, length) {
	  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
	}

	Buffer.prototype.write = function write (string, offset, length, encoding) {
	  // Buffer#write(string)
	  if (offset === undefined) {
	    encoding = 'utf8'
	    length = this.length
	    offset = 0
	  // Buffer#write(string, encoding)
	  } else if (length === undefined && typeof offset === 'string') {
	    encoding = offset
	    length = this.length
	    offset = 0
	  // Buffer#write(string, offset[, length][, encoding])
	  } else if (isFinite(offset)) {
	    offset = offset | 0
	    if (isFinite(length)) {
	      length = length | 0
	      if (encoding === undefined) encoding = 'utf8'
	    } else {
	      encoding = length
	      length = undefined
	    }
	  // legacy write(string, encoding, offset, length) - remove in v0.13
	  } else {
	    throw new Error(
	      'Buffer.write(string, encoding, offset[, length]) is no longer supported'
	    )
	  }

	  var remaining = this.length - offset
	  if (length === undefined || length > remaining) length = remaining

	  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
	    throw new RangeError('Attempt to write outside buffer bounds')
	  }

	  if (!encoding) encoding = 'utf8'

	  var loweredCase = false
	  for (;;) {
	    switch (encoding) {
	      case 'hex':
	        return hexWrite(this, string, offset, length)

	      case 'utf8':
	      case 'utf-8':
	        return utf8Write(this, string, offset, length)

	      case 'ascii':
	        return asciiWrite(this, string, offset, length)

	      case 'latin1':
	      case 'binary':
	        return latin1Write(this, string, offset, length)

	      case 'base64':
	        // Warning: maxLength not taken into account in base64Write
	        return base64Write(this, string, offset, length)

	      case 'ucs2':
	      case 'ucs-2':
	      case 'utf16le':
	      case 'utf-16le':
	        return ucs2Write(this, string, offset, length)

	      default:
	        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
	        encoding = ('' + encoding).toLowerCase()
	        loweredCase = true
	    }
	  }
	}

	Buffer.prototype.toJSON = function toJSON () {
	  return {
	    type: 'Buffer',
	    data: Array.prototype.slice.call(this._arr || this, 0)
	  }
	}

	function base64Slice (buf, start, end) {
	  if (start === 0 && end === buf.length) {
	    return base64.fromByteArray(buf)
	  } else {
	    return base64.fromByteArray(buf.slice(start, end))
	  }
	}

	function utf8Slice (buf, start, end) {
	  end = Math.min(buf.length, end)
	  var res = []

	  var i = start
	  while (i < end) {
	    var firstByte = buf[i]
	    var codePoint = null
	    var bytesPerSequence = (firstByte > 0xEF) ? 4
	      : (firstByte > 0xDF) ? 3
	      : (firstByte > 0xBF) ? 2
	      : 1

	    if (i + bytesPerSequence <= end) {
	      var secondByte, thirdByte, fourthByte, tempCodePoint

	      switch (bytesPerSequence) {
	        case 1:
	          if (firstByte < 0x80) {
	            codePoint = firstByte
	          }
	          break
	        case 2:
	          secondByte = buf[i + 1]
	          if ((secondByte & 0xC0) === 0x80) {
	            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
	            if (tempCodePoint > 0x7F) {
	              codePoint = tempCodePoint
	            }
	          }
	          break
	        case 3:
	          secondByte = buf[i + 1]
	          thirdByte = buf[i + 2]
	          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
	            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
	            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
	              codePoint = tempCodePoint
	            }
	          }
	          break
	        case 4:
	          secondByte = buf[i + 1]
	          thirdByte = buf[i + 2]
	          fourthByte = buf[i + 3]
	          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
	            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
	            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
	              codePoint = tempCodePoint
	            }
	          }
	      }
	    }

	    if (codePoint === null) {
	      // we did not generate a valid codePoint so insert a
	      // replacement char (U+FFFD) and advance only 1 byte
	      codePoint = 0xFFFD
	      bytesPerSequence = 1
	    } else if (codePoint > 0xFFFF) {
	      // encode to utf16 (surrogate pair dance)
	      codePoint -= 0x10000
	      res.push(codePoint >>> 10 & 0x3FF | 0xD800)
	      codePoint = 0xDC00 | codePoint & 0x3FF
	    }

	    res.push(codePoint)
	    i += bytesPerSequence
	  }

	  return decodeCodePointsArray(res)
	}

	// Based on http://stackoverflow.com/a/22747272/680742, the browser with
	// the lowest limit is Chrome, with 0x10000 args.
	// We go 1 magnitude less, for safety
	var MAX_ARGUMENTS_LENGTH = 0x1000

	function decodeCodePointsArray (codePoints) {
	  var len = codePoints.length
	  if (len <= MAX_ARGUMENTS_LENGTH) {
	    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
	  }

	  // Decode in chunks to avoid "call stack size exceeded".
	  var res = ''
	  var i = 0
	  while (i < len) {
	    res += String.fromCharCode.apply(
	      String,
	      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
	    )
	  }
	  return res
	}

	function asciiSlice (buf, start, end) {
	  var ret = ''
	  end = Math.min(buf.length, end)

	  for (var i = start; i < end; ++i) {
	    ret += String.fromCharCode(buf[i] & 0x7F)
	  }
	  return ret
	}

	function latin1Slice (buf, start, end) {
	  var ret = ''
	  end = Math.min(buf.length, end)

	  for (var i = start; i < end; ++i) {
	    ret += String.fromCharCode(buf[i])
	  }
	  return ret
	}

	function hexSlice (buf, start, end) {
	  var len = buf.length

	  if (!start || start < 0) start = 0
	  if (!end || end < 0 || end > len) end = len

	  var out = ''
	  for (var i = start; i < end; ++i) {
	    out += toHex(buf[i])
	  }
	  return out
	}

	function utf16leSlice (buf, start, end) {
	  var bytes = buf.slice(start, end)
	  var res = ''
	  for (var i = 0; i < bytes.length; i += 2) {
	    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
	  }
	  return res
	}

	Buffer.prototype.slice = function slice (start, end) {
	  var len = this.length
	  start = ~~start
	  end = end === undefined ? len : ~~end

	  if (start < 0) {
	    start += len
	    if (start < 0) start = 0
	  } else if (start > len) {
	    start = len
	  }

	  if (end < 0) {
	    end += len
	    if (end < 0) end = 0
	  } else if (end > len) {
	    end = len
	  }

	  if (end < start) end = start

	  var newBuf
	  if (Buffer.TYPED_ARRAY_SUPPORT) {
	    newBuf = this.subarray(start, end)
	    newBuf.__proto__ = Buffer.prototype
	  } else {
	    var sliceLen = end - start
	    newBuf = new Buffer(sliceLen, undefined)
	    for (var i = 0; i < sliceLen; ++i) {
	      newBuf[i] = this[i + start]
	    }
	  }

	  return newBuf
	}

	/*
	 * Need to make sure that buffer isn't trying to write out of bounds.
	 */
	function checkOffset (offset, ext, length) {
	  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
	  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
	}

	Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
	  offset = offset | 0
	  byteLength = byteLength | 0
	  if (!noAssert) checkOffset(offset, byteLength, this.length)

	  var val = this[offset]
	  var mul = 1
	  var i = 0
	  while (++i < byteLength && (mul *= 0x100)) {
	    val += this[offset + i] * mul
	  }

	  return val
	}

	Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
	  offset = offset | 0
	  byteLength = byteLength | 0
	  if (!noAssert) {
	    checkOffset(offset, byteLength, this.length)
	  }

	  var val = this[offset + --byteLength]
	  var mul = 1
	  while (byteLength > 0 && (mul *= 0x100)) {
	    val += this[offset + --byteLength] * mul
	  }

	  return val
	}

	Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 1, this.length)
	  return this[offset]
	}

	Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 2, this.length)
	  return this[offset] | (this[offset + 1] << 8)
	}

	Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 2, this.length)
	  return (this[offset] << 8) | this[offset + 1]
	}

	Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 4, this.length)

	  return ((this[offset]) |
	      (this[offset + 1] << 8) |
	      (this[offset + 2] << 16)) +
	      (this[offset + 3] * 0x1000000)
	}

	Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 4, this.length)

	  return (this[offset] * 0x1000000) +
	    ((this[offset + 1] << 16) |
	    (this[offset + 2] << 8) |
	    this[offset + 3])
	}

	Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
	  offset = offset | 0
	  byteLength = byteLength | 0
	  if (!noAssert) checkOffset(offset, byteLength, this.length)

	  var val = this[offset]
	  var mul = 1
	  var i = 0
	  while (++i < byteLength && (mul *= 0x100)) {
	    val += this[offset + i] * mul
	  }
	  mul *= 0x80

	  if (val >= mul) val -= Math.pow(2, 8 * byteLength)

	  return val
	}

	Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
	  offset = offset | 0
	  byteLength = byteLength | 0
	  if (!noAssert) checkOffset(offset, byteLength, this.length)

	  var i = byteLength
	  var mul = 1
	  var val = this[offset + --i]
	  while (i > 0 && (mul *= 0x100)) {
	    val += this[offset + --i] * mul
	  }
	  mul *= 0x80

	  if (val >= mul) val -= Math.pow(2, 8 * byteLength)

	  return val
	}

	Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 1, this.length)
	  if (!(this[offset] & 0x80)) return (this[offset])
	  return ((0xff - this[offset] + 1) * -1)
	}

	Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 2, this.length)
	  var val = this[offset] | (this[offset + 1] << 8)
	  return (val & 0x8000) ? val | 0xFFFF0000 : val
	}

	Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 2, this.length)
	  var val = this[offset + 1] | (this[offset] << 8)
	  return (val & 0x8000) ? val | 0xFFFF0000 : val
	}

	Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 4, this.length)

	  return (this[offset]) |
	    (this[offset + 1] << 8) |
	    (this[offset + 2] << 16) |
	    (this[offset + 3] << 24)
	}

	Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 4, this.length)

	  return (this[offset] << 24) |
	    (this[offset + 1] << 16) |
	    (this[offset + 2] << 8) |
	    (this[offset + 3])
	}

	Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 4, this.length)
	  return ieee754.read(this, offset, true, 23, 4)
	}

	Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 4, this.length)
	  return ieee754.read(this, offset, false, 23, 4)
	}

	Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 8, this.length)
	  return ieee754.read(this, offset, true, 52, 8)
	}

	Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
	  if (!noAssert) checkOffset(offset, 8, this.length)
	  return ieee754.read(this, offset, false, 52, 8)
	}

	function checkInt (buf, value, offset, ext, max, min) {
	  if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
	  if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
	  if (offset + ext > buf.length) throw new RangeError('Index out of range')
	}

	Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
	  value = +value
	  offset = offset | 0
	  byteLength = byteLength | 0
	  if (!noAssert) {
	    var maxBytes = Math.pow(2, 8 * byteLength) - 1
	    checkInt(this, value, offset, byteLength, maxBytes, 0)
	  }

	  var mul = 1
	  var i = 0
	  this[offset] = value & 0xFF
	  while (++i < byteLength && (mul *= 0x100)) {
	    this[offset + i] = (value / mul) & 0xFF
	  }

	  return offset + byteLength
	}

	Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
	  value = +value
	  offset = offset | 0
	  byteLength = byteLength | 0
	  if (!noAssert) {
	    var maxBytes = Math.pow(2, 8 * byteLength) - 1
	    checkInt(this, value, offset, byteLength, maxBytes, 0)
	  }

	  var i = byteLength - 1
	  var mul = 1
	  this[offset + i] = value & 0xFF
	  while (--i >= 0 && (mul *= 0x100)) {
	    this[offset + i] = (value / mul) & 0xFF
	  }

	  return offset + byteLength
	}

	Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
	  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
	  this[offset] = (value & 0xff)
	  return offset + 1
	}

	function objectWriteUInt16 (buf, value, offset, littleEndian) {
	  if (value < 0) value = 0xffff + value + 1
	  for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
	    buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
	      (littleEndian ? i : 1 - i) * 8
	  }
	}

	Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
	  if (Buffer.TYPED_ARRAY_SUPPORT) {
	    this[offset] = (value & 0xff)
	    this[offset + 1] = (value >>> 8)
	  } else {
	    objectWriteUInt16(this, value, offset, true)
	  }
	  return offset + 2
	}

	Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
	  if (Buffer.TYPED_ARRAY_SUPPORT) {
	    this[offset] = (value >>> 8)
	    this[offset + 1] = (value & 0xff)
	  } else {
	    objectWriteUInt16(this, value, offset, false)
	  }
	  return offset + 2
	}

	function objectWriteUInt32 (buf, value, offset, littleEndian) {
	  if (value < 0) value = 0xffffffff + value + 1
	  for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
	    buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
	  }
	}

	Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
	  if (Buffer.TYPED_ARRAY_SUPPORT) {
	    this[offset + 3] = (value >>> 24)
	    this[offset + 2] = (value >>> 16)
	    this[offset + 1] = (value >>> 8)
	    this[offset] = (value & 0xff)
	  } else {
	    objectWriteUInt32(this, value, offset, true)
	  }
	  return offset + 4
	}

	Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
	  if (Buffer.TYPED_ARRAY_SUPPORT) {
	    this[offset] = (value >>> 24)
	    this[offset + 1] = (value >>> 16)
	    this[offset + 2] = (value >>> 8)
	    this[offset + 3] = (value & 0xff)
	  } else {
	    objectWriteUInt32(this, value, offset, false)
	  }
	  return offset + 4
	}

	Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) {
	    var limit = Math.pow(2, 8 * byteLength - 1)

	    checkInt(this, value, offset, byteLength, limit - 1, -limit)
	  }

	  var i = 0
	  var mul = 1
	  var sub = 0
	  this[offset] = value & 0xFF
	  while (++i < byteLength && (mul *= 0x100)) {
	    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
	      sub = 1
	    }
	    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
	  }

	  return offset + byteLength
	}

	Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) {
	    var limit = Math.pow(2, 8 * byteLength - 1)

	    checkInt(this, value, offset, byteLength, limit - 1, -limit)
	  }

	  var i = byteLength - 1
	  var mul = 1
	  var sub = 0
	  this[offset + i] = value & 0xFF
	  while (--i >= 0 && (mul *= 0x100)) {
	    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
	      sub = 1
	    }
	    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
	  }

	  return offset + byteLength
	}

	Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
	  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
	  if (value < 0) value = 0xff + value + 1
	  this[offset] = (value & 0xff)
	  return offset + 1
	}

	Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
	  if (Buffer.TYPED_ARRAY_SUPPORT) {
	    this[offset] = (value & 0xff)
	    this[offset + 1] = (value >>> 8)
	  } else {
	    objectWriteUInt16(this, value, offset, true)
	  }
	  return offset + 2
	}

	Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
	  if (Buffer.TYPED_ARRAY_SUPPORT) {
	    this[offset] = (value >>> 8)
	    this[offset + 1] = (value & 0xff)
	  } else {
	    objectWriteUInt16(this, value, offset, false)
	  }
	  return offset + 2
	}

	Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
	  if (Buffer.TYPED_ARRAY_SUPPORT) {
	    this[offset] = (value & 0xff)
	    this[offset + 1] = (value >>> 8)
	    this[offset + 2] = (value >>> 16)
	    this[offset + 3] = (value >>> 24)
	  } else {
	    objectWriteUInt32(this, value, offset, true)
	  }
	  return offset + 4
	}

	Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
	  value = +value
	  offset = offset | 0
	  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
	  if (value < 0) value = 0xffffffff + value + 1
	  if (Buffer.TYPED_ARRAY_SUPPORT) {
	    this[offset] = (value >>> 24)
	    this[offset + 1] = (value >>> 16)
	    this[offset + 2] = (value >>> 8)
	    this[offset + 3] = (value & 0xff)
	  } else {
	    objectWriteUInt32(this, value, offset, false)
	  }
	  return offset + 4
	}

	function checkIEEE754 (buf, value, offset, ext, max, min) {
	  if (offset + ext > buf.length) throw new RangeError('Index out of range')
	  if (offset < 0) throw new RangeError('Index out of range')
	}

	function writeFloat (buf, value, offset, littleEndian, noAssert) {
	  if (!noAssert) {
	    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
	  }
	  ieee754.write(buf, value, offset, littleEndian, 23, 4)
	  return offset + 4
	}

	Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
	  return writeFloat(this, value, offset, true, noAssert)
	}

	Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
	  return writeFloat(this, value, offset, false, noAssert)
	}

	function writeDouble (buf, value, offset, littleEndian, noAssert) {
	  if (!noAssert) {
	    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
	  }
	  ieee754.write(buf, value, offset, littleEndian, 52, 8)
	  return offset + 8
	}

	Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
	  return writeDouble(this, value, offset, true, noAssert)
	}

	Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
	  return writeDouble(this, value, offset, false, noAssert)
	}

	// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
	Buffer.prototype.copy = function copy (target, targetStart, start, end) {
	  if (!start) start = 0
	  if (!end && end !== 0) end = this.length
	  if (targetStart >= target.length) targetStart = target.length
	  if (!targetStart) targetStart = 0
	  if (end > 0 && end < start) end = start

	  // Copy 0 bytes; we're done
	  if (end === start) return 0
	  if (target.length === 0 || this.length === 0) return 0

	  // Fatal error conditions
	  if (targetStart < 0) {
	    throw new RangeError('targetStart out of bounds')
	  }
	  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
	  if (end < 0) throw new RangeError('sourceEnd out of bounds')

	  // Are we oob?
	  if (end > this.length) end = this.length
	  if (target.length - targetStart < end - start) {
	    end = target.length - targetStart + start
	  }

	  var len = end - start
	  var i

	  if (this === target && start < targetStart && targetStart < end) {
	    // descending copy from end
	    for (i = len - 1; i >= 0; --i) {
	      target[i + targetStart] = this[i + start]
	    }
	  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
	    // ascending copy from start
	    for (i = 0; i < len; ++i) {
	      target[i + targetStart] = this[i + start]
	    }
	  } else {
	    Uint8Array.prototype.set.call(
	      target,
	      this.subarray(start, start + len),
	      targetStart
	    )
	  }

	  return len
	}

	// Usage:
	//    buffer.fill(number[, offset[, end]])
	//    buffer.fill(buffer[, offset[, end]])
	//    buffer.fill(string[, offset[, end]][, encoding])
	Buffer.prototype.fill = function fill (val, start, end, encoding) {
	  // Handle string cases:
	  if (typeof val === 'string') {
	    if (typeof start === 'string') {
	      encoding = start
	      start = 0
	      end = this.length
	    } else if (typeof end === 'string') {
	      encoding = end
	      end = this.length
	    }
	    if (val.length === 1) {
	      var code = val.charCodeAt(0)
	      if (code < 256) {
	        val = code
	      }
	    }
	    if (encoding !== undefined && typeof encoding !== 'string') {
	      throw new TypeError('encoding must be a string')
	    }
	    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
	      throw new TypeError('Unknown encoding: ' + encoding)
	    }
	  } else if (typeof val === 'number') {
	    val = val & 255
	  }

	  // Invalid ranges are not set to a default, so can range check early.
	  if (start < 0 || this.length < start || this.length < end) {
	    throw new RangeError('Out of range index')
	  }

	  if (end <= start) {
	    return this
	  }

	  start = start >>> 0
	  end = end === undefined ? this.length : end >>> 0

	  if (!val) val = 0

	  var i
	  if (typeof val === 'number') {
	    for (i = start; i < end; ++i) {
	      this[i] = val
	    }
	  } else {
	    var bytes = Buffer.isBuffer(val)
	      ? val
	      : utf8ToBytes(new Buffer(val, encoding).toString())
	    var len = bytes.length
	    for (i = 0; i < end - start; ++i) {
	      this[i + start] = bytes[i % len]
	    }
	  }

	  return this
	}

	// HELPER FUNCTIONS
	// ================

	var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g

	function base64clean (str) {
	  // Node strips out invalid characters like \n and \t from the string, base64-js does not
	  str = stringtrim(str).replace(INVALID_BASE64_RE, '')
	  // Node converts strings with length < 2 to ''
	  if (str.length < 2) return ''
	  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
	  while (str.length % 4 !== 0) {
	    str = str + '='
	  }
	  return str
	}

	function stringtrim (str) {
	  if (str.trim) return str.trim()
	  return str.replace(/^\s+|\s+$/g, '')
	}

	function toHex (n) {
	  if (n < 16) return '0' + n.toString(16)
	  return n.toString(16)
	}

	function utf8ToBytes (string, units) {
	  units = units || Infinity
	  var codePoint
	  var length = string.length
	  var leadSurrogate = null
	  var bytes = []

	  for (var i = 0; i < length; ++i) {
	    codePoint = string.charCodeAt(i)

	    // is surrogate component
	    if (codePoint > 0xD7FF && codePoint < 0xE000) {
	      // last char was a lead
	      if (!leadSurrogate) {
	        // no lead yet
	        if (codePoint > 0xDBFF) {
	          // unexpected trail
	          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
	          continue
	        } else if (i + 1 === length) {
	          // unpaired lead
	          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
	          continue
	        }

	        // valid lead
	        leadSurrogate = codePoint

	        continue
	      }

	      // 2 leads in a row
	      if (codePoint < 0xDC00) {
	        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
	        leadSurrogate = codePoint
	        continue
	      }

	      // valid surrogate pair
	      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
	    } else if (leadSurrogate) {
	      // valid bmp char, but last char was a lead
	      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
	    }

	    leadSurrogate = null

	    // encode utf8
	    if (codePoint < 0x80) {
	      if ((units -= 1) < 0) break
	      bytes.push(codePoint)
	    } else if (codePoint < 0x800) {
	      if ((units -= 2) < 0) break
	      bytes.push(
	        codePoint >> 0x6 | 0xC0,
	        codePoint & 0x3F | 0x80
	      )
	    } else if (codePoint < 0x10000) {
	      if ((units -= 3) < 0) break
	      bytes.push(
	        codePoint >> 0xC | 0xE0,
	        codePoint >> 0x6 & 0x3F | 0x80,
	        codePoint & 0x3F | 0x80
	      )
	    } else if (codePoint < 0x110000) {
	      if ((units -= 4) < 0) break
	      bytes.push(
	        codePoint >> 0x12 | 0xF0,
	        codePoint >> 0xC & 0x3F | 0x80,
	        codePoint >> 0x6 & 0x3F | 0x80,
	        codePoint & 0x3F | 0x80
	      )
	    } else {
	      throw new Error('Invalid code point')
	    }
	  }

	  return bytes
	}

	function asciiToBytes (str) {
	  var byteArray = []
	  for (var i = 0; i < str.length; ++i) {
	    // Node's code seems to be doing this and not & 0x7F..
	    byteArray.push(str.charCodeAt(i) & 0xFF)
	  }
	  return byteArray
	}

	function utf16leToBytes (str, units) {
	  var c, hi, lo
	  var byteArray = []
	  for (var i = 0; i < str.length; ++i) {
	    if ((units -= 2) < 0) break

	    c = str.charCodeAt(i)
	    hi = c >> 8
	    lo = c % 256
	    byteArray.push(lo)
	    byteArray.push(hi)
	  }

	  return byteArray
	}

	function base64ToBytes (str) {
	  return base64.toByteArray(base64clean(str))
	}

	function blitBuffer (src, dst, offset, length) {
	  for (var i = 0; i < length; ++i) {
	    if ((i + offset >= dst.length) || (i >= src.length)) break
	    dst[i + offset] = src[i]
	  }
	  return i
	}

	function isnan (val) {
	  return val !== val // eslint-disable-line no-self-compare
	}

	/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))

/***/ }),
/* 204 */
/***/ (function(module, exports) {

	'use strict'

	exports.byteLength = byteLength
	exports.toByteArray = toByteArray
	exports.fromByteArray = fromByteArray

	var lookup = []
	var revLookup = []
	var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array

	var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
	for (var i = 0, len = code.length; i < len; ++i) {
	  lookup[i] = code[i]
	  revLookup[code.charCodeAt(i)] = i
	}

	revLookup['-'.charCodeAt(0)] = 62
	revLookup['_'.charCodeAt(0)] = 63

	function placeHoldersCount (b64) {
	  var len = b64.length
	  if (len % 4 > 0) {
	    throw new Error('Invalid string. Length must be a multiple of 4')
	  }

	  // the number of equal signs (place holders)
	  // if there are two placeholders, than the two characters before it
	  // represent one byte
	  // if there is only one, then the three characters before it represent 2 bytes
	  // this is just a cheap hack to not do indexOf twice
	  return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0
	}

	function byteLength (b64) {
	  // base64 is 4/3 + up to two characters of the original data
	  return (b64.length * 3 / 4) - placeHoldersCount(b64)
	}

	function toByteArray (b64) {
	  var i, l, tmp, placeHolders, arr
	  var len = b64.length
	  placeHolders = placeHoldersCount(b64)

	  arr = new Arr((len * 3 / 4) - placeHolders)

	  // if there are placeholders, only get up to the last complete 4 chars
	  l = placeHolders > 0 ? len - 4 : len

	  var L = 0

	  for (i = 0; i < l; i += 4) {
	    tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]
	    arr[L++] = (tmp >> 16) & 0xFF
	    arr[L++] = (tmp >> 8) & 0xFF
	    arr[L++] = tmp & 0xFF
	  }

	  if (placeHolders === 2) {
	    tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)
	    arr[L++] = tmp & 0xFF
	  } else if (placeHolders === 1) {
	    tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)
	    arr[L++] = (tmp >> 8) & 0xFF
	    arr[L++] = tmp & 0xFF
	  }

	  return arr
	}

	function tripletToBase64 (num) {
	  return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]
	}

	function encodeChunk (uint8, start, end) {
	  var tmp
	  var output = []
	  for (var i = start; i < end; i += 3) {
	    tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
	    output.push(tripletToBase64(tmp))
	  }
	  return output.join('')
	}

	function fromByteArray (uint8) {
	  var tmp
	  var len = uint8.length
	  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
	  var output = ''
	  var parts = []
	  var maxChunkLength = 16383 // must be multiple of 3

	  // go through the array every three bytes, we'll deal with trailing stuff later
	  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
	    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))
	  }

	  // pad the end with zeros, but make sure to not forget the extra bytes
	  if (extraBytes === 1) {
	    tmp = uint8[len - 1]
	    output += lookup[tmp >> 2]
	    output += lookup[(tmp << 4) & 0x3F]
	    output += '=='
	  } else if (extraBytes === 2) {
	    tmp = (uint8[len - 2] << 8) + (uint8[len - 1])
	    output += lookup[tmp >> 10]
	    output += lookup[(tmp >> 4) & 0x3F]
	    output += lookup[(tmp << 2) & 0x3F]
	    output += '='
	  }

	  parts.push(output)

	  return parts.join('')
	}


/***/ }),
/* 205 */
/***/ (function(module, exports) {

	exports.read = function (buffer, offset, isLE, mLen, nBytes) {
	  var e, m
	  var eLen = nBytes * 8 - mLen - 1
	  var eMax = (1 << eLen) - 1
	  var eBias = eMax >> 1
	  var nBits = -7
	  var i = isLE ? (nBytes - 1) : 0
	  var d = isLE ? -1 : 1
	  var s = buffer[offset + i]

	  i += d

	  e = s & ((1 << (-nBits)) - 1)
	  s >>= (-nBits)
	  nBits += eLen
	  for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}

	  m = e & ((1 << (-nBits)) - 1)
	  e >>= (-nBits)
	  nBits += mLen
	  for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}

	  if (e === 0) {
	    e = 1 - eBias
	  } else if (e === eMax) {
	    return m ? NaN : ((s ? -1 : 1) * Infinity)
	  } else {
	    m = m + Math.pow(2, mLen)
	    e = e - eBias
	  }
	  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
	}

	exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
	  var e, m, c
	  var eLen = nBytes * 8 - mLen - 1
	  var eMax = (1 << eLen) - 1
	  var eBias = eMax >> 1
	  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
	  var i = isLE ? 0 : (nBytes - 1)
	  var d = isLE ? 1 : -1
	  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0

	  value = Math.abs(value)

	  if (isNaN(value) || value === Infinity) {
	    m = isNaN(value) ? 1 : 0
	    e = eMax
	  } else {
	    e = Math.floor(Math.log(value) / Math.LN2)
	    if (value * (c = Math.pow(2, -e)) < 1) {
	      e--
	      c *= 2
	    }
	    if (e + eBias >= 1) {
	      value += rt / c
	    } else {
	      value += rt * Math.pow(2, 1 - eBias)
	    }
	    if (value * c >= 2) {
	      e++
	      c /= 2
	    }

	    if (e + eBias >= eMax) {
	      m = 0
	      e = eMax
	    } else if (e + eBias >= 1) {
	      m = (value * c - 1) * Math.pow(2, mLen)
	      e = e + eBias
	    } else {
	      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
	      e = 0
	    }
	  }

	  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}

	  e = (e << mLen) | m
	  eLen += mLen
	  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}

	  buffer[offset + i - d] |= s * 128
	}


/***/ }),
/* 206 */
/***/ (function(module, exports) {

	var toString = {}.toString;

	module.exports = Array.isArray || function (arr) {
	  return toString.call(arr) == '[object Array]';
	};


/***/ }),
/* 207 */
/***/ (function(module, exports) {

	if (typeof Object.create === 'function') {
	  // implementation from standard node.js 'util' module
	  module.exports = function inherits(ctor, superCtor) {
	    ctor.super_ = superCtor
	    ctor.prototype = Object.create(superCtor.prototype, {
	      constructor: {
	        value: ctor,
	        enumerable: false,
	        writable: true,
	        configurable: true
	      }
	    });
	  };
	} else {
	  // old school shim for old browsers
	  module.exports = function inherits(ctor, superCtor) {
	    ctor.super_ = superCtor
	    var TempCtor = function () {}
	    TempCtor.prototype = superCtor.prototype
	    ctor.prototype = new TempCtor()
	    ctor.prototype.constructor = ctor
	  }
	}


/***/ }),
/* 208 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(process) {var AWS = __webpack_require__(5);
	var AcceptorStateMachine = __webpack_require__(209);
	var inherit = AWS.util.inherit;
	var domain = AWS.util.domain;
	var jmespath = __webpack_require__(210);

	/**
	 * @api private
	 */
	var hardErrorStates = {success: 1, error: 1, complete: 1};

	function isTerminalState(machine) {
	  return Object.prototype.hasOwnProperty.call(hardErrorStates, machine._asm.currentState);
	}

	var fsm = new AcceptorStateMachine();
	fsm.setupStates = function() {
	  var transition = function(_, done) {
	    var self = this;
	    self._haltHandlersOnError = false;

	    self.emit(self._asm.currentState, function(err) {
	      if (err) {
	        if (isTerminalState(self)) {
	          if (domain && self.domain instanceof domain.Domain) {
	            err.domainEmitter = self;
	            err.domain = self.domain;
	            err.domainThrown = false;
	            self.domain.emit('error', err);
	          } else {
	            throw err;
	          }
	        } else {
	          self.response.error = err;
	          done(err);
	        }
	      } else {
	        done(self.response.error);
	      }
	    });

	  };

	  this.addState('validate', 'build', 'error', transition);
	  this.addState('build', 'afterBuild', 'restart', transition);
	  this.addState('afterBuild', 'sign', 'restart', transition);
	  this.addState('sign', 'send', 'retry', transition);
	  this.addState('retry', 'afterRetry', 'afterRetry', transition);
	  this.addState('afterRetry', 'sign', 'error', transition);
	  this.addState('send', 'validateResponse', 'retry', transition);
	  this.addState('validateResponse', 'extractData', 'extractError', transition);
	  this.addState('extractError', 'extractData', 'retry', transition);
	  this.addState('extractData', 'success', 'retry', transition);
	  this.addState('restart', 'build', 'error', transition);
	  this.addState('success', 'complete', 'complete', transition);
	  this.addState('error', 'complete', 'complete', transition);
	  this.addState('complete', null, null, transition);
	};
	fsm.setupStates();

	/**
	 * ## Asynchronous Requests
	 *
	 * All requests made through the SDK are asynchronous and use a
	 * callback interface. Each service method that kicks off a request
	 * returns an `AWS.Request` object that you can use to register
	 * callbacks.
	 *
	 * For example, the following service method returns the request
	 * object as "request", which can be used to register callbacks:
	 *
	 * ```javascript
	 * // request is an AWS.Request object
	 * var request = ec2.describeInstances();
	 *
	 * // register callbacks on request to retrieve response data
	 * request.on('success', function(response) {
	 *   console.log(response.data);
	 * });
	 * ```
	 *
	 * When a request is ready to be sent, the {send} method should
	 * be called:
	 *
	 * ```javascript
	 * request.send();
	 * ```
	 *
	 * Since registered callbacks may or may not be idempotent, requests should only
	 * be sent once. To perform the same operation multiple times, you will need to
	 * create multiple request objects, each with its own registered callbacks.
	 *
	 * ## Removing Default Listeners for Events
	 *
	 * Request objects are built with default listeners for the various events,
	 * depending on the service type. In some cases, you may want to remove
	 * some built-in listeners to customize behaviour. Doing this requires
	 * access to the built-in listener functions, which are exposed through
	 * the {AWS.EventListeners.Core} namespace. For instance, you may
	 * want to customize the HTTP handler used when sending a request. In this
	 * case, you can remove the built-in listener associated with the 'send'
	 * event, the {AWS.EventListeners.Core.SEND} listener and add your own.
	 *
	 * ## Multiple Callbacks and Chaining
	 *
	 * You can register multiple callbacks on any request object. The
	 * callbacks can be registered for different events, or all for the
	 * same event. In addition, you can chain callback registration, for
	 * example:
	 *
	 * ```javascript
	 * request.
	 *   on('success', function(response) {
	 *     console.log("Success!");
	 *   }).
	 *   on('error', function(response) {
	 *     console.log("Error!");
	 *   }).
	 *   on('complete', function(response) {
	 *     console.log("Always!");
	 *   }).
	 *   send();
	 * ```
	 *
	 * The above example will print either "Success! Always!", or "Error! Always!",
	 * depending on whether the request succeeded or not.
	 *
	 * @!attribute httpRequest
	 *   @readonly
	 *   @!group HTTP Properties
	 *   @return [AWS.HttpRequest] the raw HTTP request object
	 *     containing request headers and body information
	 *     sent by the service.
	 *
	 * @!attribute startTime
	 *   @readonly
	 *   @!group Operation Properties
	 *   @return [Date] the time that the request started
	 *
	 * @!group Request Building Events
	 *
	 * @!event validate(request)
	 *   Triggered when a request is being validated. Listeners
	 *   should throw an error if the request should not be sent.
	 *   @param request [Request] the request object being sent
	 *   @see AWS.EventListeners.Core.VALIDATE_CREDENTIALS
	 *   @see AWS.EventListeners.Core.VALIDATE_REGION
	 *   @example Ensuring that a certain parameter is set before sending a request
	 *     var req = s3.putObject(params);
	 *     req.on('validate', function() {
	 *       if (!req.params.Body.match(/^Hello\s/)) {
	 *         throw new Error('Body must start with "Hello "');
	 *       }
	 *     });
	 *     req.send(function(err, data) { ... });
	 *
	 * @!event build(request)
	 *   Triggered when the request payload is being built. Listeners
	 *   should fill the necessary information to send the request
	 *   over HTTP.
	 *   @param (see AWS.Request~validate)
	 *   @example Add a custom HTTP header to a request
	 *     var req = s3.putObject(params);
	 *     req.on('build', function() {
	 *       req.httpRequest.headers['Custom-Header'] = 'value';
	 *     });
	 *     req.send(function(err, data) { ... });
	 *
	 * @!event sign(request)
	 *   Triggered when the request is being signed. Listeners should
	 *   add the correct authentication headers and/or adjust the body,
	 *   depending on the authentication mechanism being used.
	 *   @param (see AWS.Request~validate)
	 *
	 * @!group Request Sending Events
	 *
	 * @!event send(response)
	 *   Triggered when the request is ready to be sent. Listeners
	 *   should call the underlying transport layer to initiate
	 *   the sending of the request.
	 *   @param response [Response] the response object
	 *   @context [Request] the request object that was sent
	 *   @see AWS.EventListeners.Core.SEND
	 *
	 * @!event retry(response)
	 *   Triggered when a request failed and might need to be retried or redirected.
	 *   If the response is retryable, the listener should set the
	 *   `response.error.retryable` property to `true`, and optionally set
	 *   `response.error.retryDelay` to the millisecond delay for the next attempt.
	 *   In the case of a redirect, `response.error.redirect` should be set to
	 *   `true` with `retryDelay` set to an optional delay on the next request.
	 *
	 *   If a listener decides that a request should not be retried,
	 *   it should set both `retryable` and `redirect` to false.
	 *
	 *   Note that a retryable error will be retried at most
	 *   {AWS.Config.maxRetries} times (based on the service object's config).
	 *   Similarly, a request that is redirected will only redirect at most
	 *   {AWS.Config.maxRedirects} times.
	 *
	 *   @param (see AWS.Request~send)
	 *   @context (see AWS.Request~send)
	 *   @example Adding a custom retry for a 404 response
	 *     request.on('retry', function(response) {
	 *       // this resource is not yet available, wait 10 seconds to get it again
	 *       if (response.httpResponse.statusCode === 404 && response.error) {
	 *         response.error.retryable = true;   // retry this error
	 *         response.error.retryDelay = 10000; // wait 10 seconds
	 *       }
	 *     });
	 *
	 * @!group Data Parsing Events
	 *
	 * @!event extractError(response)
	 *   Triggered on all non-2xx requests so that listeners can extract
	 *   error details from the response body. Listeners to this event
	 *   should set the `response.error` property.
	 *   @param (see AWS.Request~send)
	 *   @context (see AWS.Request~send)
	 *
	 * @!event extractData(response)
	 *   Triggered in successful requests to allow listeners to
	 *   de-serialize the response body into `response.data`.
	 *   @param (see AWS.Request~send)
	 *   @context (see AWS.Request~send)
	 *
	 * @!group Completion Events
	 *
	 * @!event success(response)
	 *   Triggered when the request completed successfully.
	 *   `response.data` will contain the response data and
	 *   `response.error` will be null.
	 *   @param (see AWS.Request~send)
	 *   @context (see AWS.Request~send)
	 *
	 * @!event error(error, response)
	 *   Triggered when an error occurs at any point during the
	 *   request. `response.error` will contain details about the error
	 *   that occurred. `response.data` will be null.
	 *   @param error [Error] the error object containing details about
	 *     the error that occurred.
	 *   @param (see AWS.Request~send)
	 *   @context (see AWS.Request~send)
	 *
	 * @!event complete(response)
	 *   Triggered whenever a request cycle completes. `response.error`
	 *   should be checked, since the request may have failed.
	 *   @param (see AWS.Request~send)
	 *   @context (see AWS.Request~send)
	 *
	 * @!group HTTP Events
	 *
	 * @!event httpHeaders(statusCode, headers, response, statusMessage)
	 *   Triggered when headers are sent by the remote server
	 *   @param statusCode [Integer] the HTTP response code
	 *   @param headers [map<String,String>] the response headers
	 *   @param (see AWS.Request~send)
	 *   @param statusMessage [String] A status message corresponding to the HTTP
	 *                                 response code
	 *   @context (see AWS.Request~send)
	 *
	 * @!event httpData(chunk, response)
	 *   Triggered when data is sent by the remote server
	 *   @param chunk [Buffer] the buffer data containing the next data chunk
	 *     from the server
	 *   @param (see AWS.Request~send)
	 *   @context (see AWS.Request~send)
	 *   @see AWS.EventListeners.Core.HTTP_DATA
	 *
	 * @!event httpUploadProgress(progress, response)
	 *   Triggered when the HTTP request has uploaded more data
	 *   @param progress [map] An object containing the `loaded` and `total` bytes
	 *     of the request.
	 *   @param (see AWS.Request~send)
	 *   @context (see AWS.Request~send)
	 *   @note This event will not be emitted in Node.js 0.8.x.
	 *
	 * @!event httpDownloadProgress(progress, response)
	 *   Triggered when the HTTP request has downloaded more data
	 *   @param progress [map] An object containing the `loaded` and `total` bytes
	 *     of the request.
	 *   @param (see AWS.Request~send)
	 *   @context (see AWS.Request~send)
	 *   @note This event will not be emitted in Node.js 0.8.x.
	 *
	 * @!event httpError(error, response)
	 *   Triggered when the HTTP request failed
	 *   @param error [Error] the error object that was thrown
	 *   @param (see AWS.Request~send)
	 *   @context (see AWS.Request~send)
	 *
	 * @!event httpDone(response)
	 *   Triggered when the server is finished sending data
	 *   @param (see AWS.Request~send)
	 *   @context (see AWS.Request~send)
	 *
	 * @see AWS.Response
	 */
	AWS.Request = inherit({

	  /**
	   * Creates a request for an operation on a given service with
	   * a set of input parameters.
	   *
	   * @param service [AWS.Service] the service to perform the operation on
	   * @param operation [String] the operation to perform on the service
	   * @param params [Object] parameters to send to the operation.
	   *   See the operation's documentation for the format of the
	   *   parameters.
	   */
	  constructor: function Request(service, operation, params) {
	    var endpoint = service.endpoint;
	    var region = service.config.region;
	    var customUserAgent = service.config.customUserAgent;

	    // global endpoints sign as us-east-1
	    if (service.isGlobalEndpoint) region = 'us-east-1';

	    this.domain = domain && domain.active;
	    this.service = service;
	    this.operation = operation;
	    this.params = params || {};
	    this.httpRequest = new AWS.HttpRequest(endpoint, region);
	    this.httpRequest.appendToUserAgent(customUserAgent);
	    this.startTime = AWS.util.date.getDate();

	    this.response = new AWS.Response(this);
	    this._asm = new AcceptorStateMachine(fsm.states, 'validate');
	    this._haltHandlersOnError = false;

	    AWS.SequentialExecutor.call(this);
	    this.emit = this.emitEvent;
	  },

	  /**
	   * @!group Sending a Request
	   */

	  /**
	   * @overload send(callback = null)
	   *   Sends the request object.
	   *
	   *   @callback callback function(err, data)
	   *     If a callback is supplied, it is called when a response is returned
	   *     from the service.
	   *     @context [AWS.Request] the request object being sent.
	   *     @param err [Error] the error object returned from the request.
	   *       Set to `null` if the request is successful.
	   *     @param data [Object] the de-serialized data returned from
	   *       the request. Set to `null` if a request error occurs.
	   *   @example Sending a request with a callback
	   *     request = s3.putObject({Bucket: 'bucket', Key: 'key'});
	   *     request.send(function(err, data) { console.log(err, data); });
	   *   @example Sending a request with no callback (using event handlers)
	   *     request = s3.putObject({Bucket: 'bucket', Key: 'key'});
	   *     request.on('complete', function(response) { ... }); // register a callback
	   *     request.send();
	   */
	  send: function send(callback) {
	    if (callback) {
	      // append to user agent
	      this.httpRequest.appendToUserAgent('callback');
	      this.on('complete', function (resp) {
	        callback.call(resp, resp.error, resp.data);
	      });
	    }
	    this.runTo();

	    return this.response;
	  },

	  /**
	   * @!method  promise()
	   *   Sends the request and returns a 'thenable' promise.
	   *
	   *   Two callbacks can be provided to the `then` method on the returned promise.
	   *   The first callback will be called if the promise is fulfilled, and the second
	   *   callback will be called if the promise is rejected.
	   *   @callback fulfilledCallback function(data)
	   *     Called if the promise is fulfilled.
	   *     @param data [Object] the de-serialized data returned from the request.
	   *   @callback rejectedCallback function(error)
	   *     Called if the promise is rejected.
	   *     @param error [Error] the error object returned from the request.
	   *   @return [Promise] A promise that represents the state of the request.
	   *   @example Sending a request using promises.
	   *     var request = s3.putObject({Bucket: 'bucket', Key: 'key'});
	   *     var result = request.promise();
	   *     result.then(function(data) { ... }, function(error) { ... });
	   */

	  /**
	   * @api private
	   */
	  build: function build(callback) {
	    return this.runTo('send', callback);
	  },

	  /**
	   * @api private
	   */
	  runTo: function runTo(state, done) {
	    this._asm.runTo(state, done, this);
	    return this;
	  },

	  /**
	   * Aborts a request, emitting the error and complete events.
	   *
	   * @!macro nobrowser
	   * @example Aborting a request after sending
	   *   var params = {
	   *     Bucket: 'bucket', Key: 'key',
	   *     Body: new Buffer(1024 * 1024 * 5) // 5MB payload
	   *   };
	   *   var request = s3.putObject(params);
	   *   request.send(function (err, data) {
	   *     if (err) console.log("Error:", err.code, err.message);
	   *     else console.log(data);
	   *   });
	   *
	   *   // abort request in 1 second
	   *   setTimeout(request.abort.bind(request), 1000);
	   *
	   *   // prints "Error: RequestAbortedError Request aborted by user"
	   * @return [AWS.Request] the same request object, for chaining.
	   * @since v1.4.0
	   */
	  abort: function abort() {
	    this.removeAllListeners('validateResponse');
	    this.removeAllListeners('extractError');
	    this.on('validateResponse', function addAbortedError(resp) {
	      resp.error = AWS.util.error(new Error('Request aborted by user'), {
	         code: 'RequestAbortedError', retryable: false
	      });
	    });

	    if (this.httpRequest.stream && !this.httpRequest.stream.didCallback) { // abort HTTP stream
	      this.httpRequest.stream.abort();
	      if (this.httpRequest._abortCallback) {
	         this.httpRequest._abortCallback();
	      } else {
	        this.removeAllListeners('send'); // haven't sent yet, so let's not
	      }
	    }

	    return this;
	  },

	  /**
	   * Iterates over each page of results given a pageable request, calling
	   * the provided callback with each page of data. After all pages have been
	   * retrieved, the callback is called with `null` data.
	   *
	   * @note This operation can generate multiple requests to a service.
	   * @example Iterating over multiple pages of objects in an S3 bucket
	   *   var pages = 1;
	   *   s3.listObjects().eachPage(function(err, data) {
	   *     if (err) return;
	   *     console.log("Page", pages++);
	   *     console.log(data);
	   *   });
	   * @example Iterating over multiple pages with an asynchronous callback
	   *   s3.listObjects(params).eachPage(function(err, data, done) {
	   *     doSomethingAsyncAndOrExpensive(function() {
	   *       // The next page of results isn't fetched until done is called
	   *       done();
	   *     });
	   *   });
	   * @callback callback function(err, data, [doneCallback])
	   *   Called with each page of resulting data from the request. If the
	   *   optional `doneCallback` is provided in the function, it must be called
	   *   when the callback is complete.
	   *
	   *   @param err [Error] an error object, if an error occurred.
	   *   @param data [Object] a single page of response data. If there is no
	   *     more data, this object will be `null`.
	   *   @param doneCallback [Function] an optional done callback. If this
	   *     argument is defined in the function declaration, it should be called
	   *     when the next page is ready to be retrieved. This is useful for
	   *     controlling serial pagination across asynchronous operations.
	   *   @return [Boolean] if the callback returns `false`, pagination will
	   *     stop.
	   *
	   * @see AWS.Request.eachItem
	   * @see AWS.Response.nextPage
	   * @since v1.4.0
	   */
	  eachPage: function eachPage(callback) {
	    // Make all callbacks async-ish
	    callback = AWS.util.fn.makeAsync(callback, 3);

	    function wrappedCallback(response) {
	      callback.call(response, response.error, response.data, function (result) {
	        if (result === false) return;

	        if (response.hasNextPage()) {
	          response.nextPage().on('complete', wrappedCallback).send();
	        } else {
	          callback.call(response, null, null, AWS.util.fn.noop);
	        }
	      });
	    }

	    this.on('complete', wrappedCallback).send();
	  },

	  /**
	   * Enumerates over individual items of a request, paging the responses if
	   * necessary.
	   *
	   * @api experimental
	   * @since v1.4.0
	   */
	  eachItem: function eachItem(callback) {
	    var self = this;
	    function wrappedCallback(err, data) {
	      if (err) return callback(err, null);
	      if (data === null) return callback(null, null);

	      var config = self.service.paginationConfig(self.operation);
	      var resultKey = config.resultKey;
	      if (Array.isArray(resultKey)) resultKey = resultKey[0];
	      var items = jmespath.search(data, resultKey);
	      var continueIteration = true;
	      AWS.util.arrayEach(items, function(item) {
	        continueIteration = callback(null, item);
	        if (continueIteration === false) {
	          return AWS.util.abort;
	        }
	      });
	      return continueIteration;
	    }

	    this.eachPage(wrappedCallback);
	  },

	  /**
	   * @return [Boolean] whether the operation can return multiple pages of
	   *   response data.
	   * @see AWS.Response.eachPage
	   * @since v1.4.0
	   */
	  isPageable: function isPageable() {
	    return this.service.paginationConfig(this.operation) ? true : false;
	  },

	  /**
	   * Sends the request and converts the request object into a readable stream
	   * that can be read from or piped into a writable stream.
	   *
	   * @note The data read from a readable stream contains only
	   *   the raw HTTP body contents.
	   * @example Manually reading from a stream
	   *   request.createReadStream().on('data', function(data) {
	   *     console.log("Got data:", data.toString());
	   *   });
	   * @example Piping a request body into a file
	   *   var out = fs.createWriteStream('/path/to/outfile.jpg');
	   *   s3.service.getObject(params).createReadStream().pipe(out);
	   * @return [Stream] the readable stream object that can be piped
	   *   or read from (by registering 'data' event listeners).
	   * @!macro nobrowser
	   */
	  createReadStream: function createReadStream() {
	    var streams = AWS.util.stream;
	    var req = this;
	    var stream = null;

	    if (AWS.HttpClient.streamsApiVersion === 2) {
	      stream = new streams.PassThrough();
	      process.nextTick(function() { req.send(); });
	    } else {
	      stream = new streams.Stream();
	      stream.readable = true;

	      stream.sent = false;
	      stream.on('newListener', function(event) {
	        if (!stream.sent && event === 'data') {
	          stream.sent = true;
	          process.nextTick(function() { req.send(); });
	        }
	      });
	    }

	    this.on('error', function(err) {
	      stream.emit('error', err);
	    });

	    this.on('httpHeaders', function streamHeaders(statusCode, headers, resp) {
	      if (statusCode < 300) {
	        req.removeListener('httpData', AWS.EventListeners.Core.HTTP_DATA);
	        req.removeListener('httpError', AWS.EventListeners.Core.HTTP_ERROR);
	        req.on('httpError', function streamHttpError(error) {
	          resp.error = error;
	          resp.error.retryable = false;
	        });

	        var shouldCheckContentLength = false;
	        var expectedLen;
	        if (req.httpRequest.method !== 'HEAD') {
	          expectedLen = parseInt(headers['content-length'], 10);
	        }
	        if (expectedLen !== undefined && !isNaN(expectedLen) && expectedLen >= 0) {
	          shouldCheckContentLength = true;
	          var receivedLen = 0;
	        }

	        var checkContentLengthAndEmit = function checkContentLengthAndEmit() {
	          if (shouldCheckContentLength && receivedLen !== expectedLen) {
	            stream.emit('error', AWS.util.error(
	              new Error('Stream content length mismatch. Received ' +
	                receivedLen + ' of ' + expectedLen + ' bytes.'),
	              { code: 'StreamContentLengthMismatch' }
	            ));
	          } else if (AWS.HttpClient.streamsApiVersion === 2) {
	            stream.end();
	          } else {
	            stream.emit('end');
	          }
	        };

	        var httpStream = resp.httpResponse.createUnbufferedStream();

	        if (AWS.HttpClient.streamsApiVersion === 2) {
	          if (shouldCheckContentLength) {
	            var lengthAccumulator = new streams.PassThrough();
	            lengthAccumulator._write = function(chunk) {
	              if (chunk && chunk.length) {
	                receivedLen += chunk.length;
	              }
	              return streams.PassThrough.prototype._write.apply(this, arguments);
	            };

	            lengthAccumulator.on('end', checkContentLengthAndEmit);
	            stream.on('error', function(err) {
	              shouldCheckContentLength = false;
	              httpStream.unpipe(lengthAccumulator);
	              lengthAccumulator.emit('end');
	              lengthAccumulator.end();
	            });
	            httpStream.pipe(lengthAccumulator).pipe(stream, { end: false });
	          } else {
	            httpStream.pipe(stream);
	          }
	        } else {

	          if (shouldCheckContentLength) {
	            httpStream.on('data', function(arg) {
	              if (arg && arg.length) {
	                receivedLen += arg.length;
	              }
	            });
	          }

	          httpStream.on('data', function(arg) {
	            stream.emit('data', arg);
	          });
	          httpStream.on('end', checkContentLengthAndEmit);
	        }

	        httpStream.on('error', function(err) {
	          shouldCheckContentLength = false;
	          stream.emit('error', err);
	        });
	      }
	    });

	    return stream;
	  },

	  /**
	   * @param [Array,Response] args This should be the response object,
	   *   or an array of args to send to the event.
	   * @api private
	   */
	  emitEvent: function emit(eventName, args, done) {
	    if (typeof args === 'function') { done = args; args = null; }
	    if (!done) done = function() { };
	    if (!args) args = this.eventParameters(eventName, this.response);

	    var origEmit = AWS.SequentialExecutor.prototype.emit;
	    origEmit.call(this, eventName, args, function (err) {
	      if (err) this.response.error = err;
	      done.call(this, err);
	    });
	  },

	  /**
	   * @api private
	   */
	  eventParameters: function eventParameters(eventName) {
	    switch (eventName) {
	      case 'restart':
	      case 'validate':
	      case 'sign':
	      case 'build':
	      case 'afterValidate':
	      case 'afterBuild':
	        return [this];
	      case 'error':
	        return [this.response.error, this.response];
	      default:
	        return [this.response];
	    }
	  },

	  /**
	   * @api private
	   */
	  presign: function presign(expires, callback) {
	    if (!callback && typeof expires === 'function') {
	      callback = expires;
	      expires = null;
	    }
	    return new AWS.Signers.Presign().sign(this.toGet(), expires, callback);
	  },

	  /**
	   * @api private
	   */
	  isPresigned: function isPresigned() {
	    return Object.prototype.hasOwnProperty.call(this.httpRequest.headers, 'presigned-expires');
	  },

	  /**
	   * @api private
	   */
	  toUnauthenticated: function toUnauthenticated() {
	    this.removeListener('validate', AWS.EventListeners.Core.VALIDATE_CREDENTIALS);
	    this.removeListener('sign', AWS.EventListeners.Core.SIGN);
	    return this;
	  },

	  /**
	   * @api private
	   */
	  toGet: function toGet() {
	    if (this.service.api.protocol === 'query' ||
	        this.service.api.protocol === 'ec2') {
	      this.removeListener('build', this.buildAsGet);
	      this.addListener('build', this.buildAsGet);
	    }
	    return this;
	  },

	  /**
	   * @api private
	   */
	  buildAsGet: function buildAsGet(request) {
	    request.httpRequest.method = 'GET';
	    request.httpRequest.path = request.service.endpoint.path +
	                               '?' + request.httpRequest.body;
	    request.httpRequest.body = '';

	    // don't need these headers on a GET request
	    delete request.httpRequest.headers['Content-Length'];
	    delete request.httpRequest.headers['Content-Type'];
	  },

	  /**
	   * @api private
	   */
	  haltHandlersOnError: function haltHandlersOnError() {
	    this._haltHandlersOnError = true;
	  }
	});

	/**
	 * @api private
	 */
	AWS.Request.addPromisesToClass = function addPromisesToClass(PromiseDependency) {
	  this.prototype.promise = function promise() {
	    var self = this;
	    // append to user agent
	    this.httpRequest.appendToUserAgent('promise');
	    return new PromiseDependency(function(resolve, reject) {
	      self.on('complete', function(resp) {
	        if (resp.error) {
	          reject(resp.error);
	        } else {
	          // define $response property so that it is not enumberable
	          // this prevents circular reference errors when stringifying the JSON object
	          resolve(Object.defineProperty(
	            resp.data || {},
	            '$response',
	            {value: resp}
	          ));
	        }
	      });
	      self.runTo();
	    });
	  };
	};

	/**
	 * @api private
	 */
	AWS.Request.deletePromisesFromClass = function deletePromisesFromClass() {
	  delete this.prototype.promise;
	};

	AWS.util.addPromises(AWS.Request);

	AWS.util.mixin(AWS.Request, AWS.SequentialExecutor);

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))

/***/ }),
/* 209 */
/***/ (function(module, exports) {

	function AcceptorStateMachine(states, state) {
	  this.currentState = state || null;
	  this.states = states || {};
	}

	AcceptorStateMachine.prototype.runTo = function runTo(finalState, done, bindObject, inputError) {
	  if (typeof finalState === 'function') {
	    inputError = bindObject; bindObject = done;
	    done = finalState; finalState = null;
	  }

	  var self = this;
	  var state = self.states[self.currentState];
	  state.fn.call(bindObject || self, inputError, function(err) {
	    if (err) {
	      if (state.fail) self.currentState = state.fail;
	      else return done ? done.call(bindObject, err) : null;
	    } else {
	      if (state.accept) self.currentState = state.accept;
	      else return done ? done.call(bindObject) : null;
	    }
	    if (self.currentState === finalState) {
	      return done ? done.call(bindObject, err) : null;
	    }

	    self.runTo(finalState, done, bindObject, err);
	  });
	};

	AcceptorStateMachine.prototype.addState = function addState(name, acceptState, failState, fn) {
	  if (typeof acceptState === 'function') {
	    fn = acceptState; acceptState = null; failState = null;
	  } else if (typeof failState === 'function') {
	    fn = failState; failState = null;
	  }

	  if (!this.currentState) this.currentState = name;
	  this.states[name] = { accept: acceptState, fail: failState, fn: fn };
	  return this;
	};

	module.exports = AcceptorStateMachine;


/***/ }),
/* 210 */
/***/ (function(module, exports, __webpack_require__) {

	(function(exports) {
	  "use strict";

	  function isArray(obj) {
	    if (obj !== null) {
	      return Object.prototype.toString.call(obj) === "[object Array]";
	    } else {
	      return false;
	    }
	  }

	  function isObject(obj) {
	    if (obj !== null) {
	      return Object.prototype.toString.call(obj) === "[object Object]";
	    } else {
	      return false;
	    }
	  }

	  function strictDeepEqual(first, second) {
	    // Check the scalar case first.
	    if (first === second) {
	      return true;
	    }

	    // Check if they are the same type.
	    var firstType = Object.prototype.toString.call(first);
	    if (firstType !== Object.prototype.toString.call(second)) {
	      return false;
	    }
	    // We know that first and second have the same type so we can just check the
	    // first type from now on.
	    if (isArray(first) === true) {
	      // Short circuit if they're not the same length;
	      if (first.length !== second.length) {
	        return false;
	      }
	      for (var i = 0; i < first.length; i++) {
	        if (strictDeepEqual(first[i], second[i]) === false) {
	          return false;
	        }
	      }
	      return true;
	    }
	    if (isObject(first) === true) {
	      // An object is equal if it has the same key/value pairs.
	      var keysSeen = {};
	      for (var key in first) {
	        if (hasOwnProperty.call(first, key)) {
	          if (strictDeepEqual(first[key], second[key]) === false) {
	            return false;
	          }
	          keysSeen[key] = true;
	        }
	      }
	      // Now check that there aren't any keys in second that weren't
	      // in first.
	      for (var key2 in second) {
	        if (hasOwnProperty.call(second, key2)) {
	          if (keysSeen[key2] !== true) {
	            return false;
	          }
	        }
	      }
	      return true;
	    }
	    return false;
	  }

	  function isFalse(obj) {
	    // From the spec:
	    // A false value corresponds to the following values:
	    // Empty list
	    // Empty object
	    // Empty string
	    // False boolean
	    // null value

	    // First check the scalar values.
	    if (obj === "" || obj === false || obj === null) {
	        return true;
	    } else if (isArray(obj) && obj.length === 0) {
	        // Check for an empty array.
	        return true;
	    } else if (isObject(obj)) {
	        // Check for an empty object.
	        for (var key in obj) {
	            // If there are any keys, then
	            // the object is not empty so the object
	            // is not false.
	            if (obj.hasOwnProperty(key)) {
	              return false;
	            }
	        }
	        return true;
	    } else {
	        return false;
	    }
	  }

	  function objValues(obj) {
	    var keys = Object.keys(obj);
	    var values = [];
	    for (var i = 0; i < keys.length; i++) {
	      values.push(obj[keys[i]]);
	    }
	    return values;
	  }

	  function merge(a, b) {
	      var merged = {};
	      for (var key in a) {
	          merged[key] = a[key];
	      }
	      for (var key2 in b) {
	          merged[key2] = b[key2];
	      }
	      return merged;
	  }

	  var trimLeft;
	  if (typeof String.prototype.trimLeft === "function") {
	    trimLeft = function(str) {
	      return str.trimLeft();
	    };
	  } else {
	    trimLeft = function(str) {
	      return str.match(/^\s*(.*)/)[1];
	    };
	  }

	  // Type constants used to define functions.
	  var TYPE_NUMBER = 0;
	  var TYPE_ANY = 1;
	  var TYPE_STRING = 2;
	  var TYPE_ARRAY = 3;
	  var TYPE_OBJECT = 4;
	  var TYPE_BOOLEAN = 5;
	  var TYPE_EXPREF = 6;
	  var TYPE_NULL = 7;
	  var TYPE_ARRAY_NUMBER = 8;
	  var TYPE_ARRAY_STRING = 9;

	  var TOK_EOF = "EOF";
	  var TOK_UNQUOTEDIDENTIFIER = "UnquotedIdentifier";
	  var TOK_QUOTEDIDENTIFIER = "QuotedIdentifier";
	  var TOK_RBRACKET = "Rbracket";
	  var TOK_RPAREN = "Rparen";
	  var TOK_COMMA = "Comma";
	  var TOK_COLON = "Colon";
	  var TOK_RBRACE = "Rbrace";
	  var TOK_NUMBER = "Number";
	  var TOK_CURRENT = "Current";
	  var TOK_EXPREF = "Expref";
	  var TOK_PIPE = "Pipe";
	  var TOK_OR = "Or";
	  var TOK_AND = "And";
	  var TOK_EQ = "EQ";
	  var TOK_GT = "GT";
	  var TOK_LT = "LT";
	  var TOK_GTE = "GTE";
	  var TOK_LTE = "LTE";
	  var TOK_NE = "NE";
	  var TOK_FLATTEN = "Flatten";
	  var TOK_STAR = "Star";
	  var TOK_FILTER = "Filter";
	  var TOK_DOT = "Dot";
	  var TOK_NOT = "Not";
	  var TOK_LBRACE = "Lbrace";
	  var TOK_LBRACKET = "Lbracket";
	  var TOK_LPAREN= "Lparen";
	  var TOK_LITERAL= "Literal";

	  // The "&", "[", "<", ">" tokens
	  // are not in basicToken because
	  // there are two token variants
	  // ("&&", "[?", "<=", ">=").  This is specially handled
	  // below.

	  var basicTokens = {
	    ".": TOK_DOT,
	    "*": TOK_STAR,
	    ",": TOK_COMMA,
	    ":": TOK_COLON,
	    "{": TOK_LBRACE,
	    "}": TOK_RBRACE,
	    "]": TOK_RBRACKET,
	    "(": TOK_LPAREN,
	    ")": TOK_RPAREN,
	    "@": TOK_CURRENT
	  };

	  var operatorStartToken = {
	      "<": true,
	      ">": true,
	      "=": true,
	      "!": true
	  };

	  var skipChars = {
	      " ": true,
	      "\t": true,
	      "\n": true
	  };


	  function isAlpha(ch) {
	      return (ch >= "a" && ch <= "z") ||
	             (ch >= "A" && ch <= "Z") ||
	             ch === "_";
	  }

	  function isNum(ch) {
	      return (ch >= "0" && ch <= "9") ||
	             ch === "-";
	  }
	  function isAlphaNum(ch) {
	      return (ch >= "a" && ch <= "z") ||
	             (ch >= "A" && ch <= "Z") ||
	             (ch >= "0" && ch <= "9") ||
	             ch === "_";
	  }

	  function Lexer() {
	  }
	  Lexer.prototype = {
	      tokenize: function(stream) {
	          var tokens = [];
	          this._current = 0;
	          var start;
	          var identifier;
	          var token;
	          while (this._current < stream.length) {
	              if (isAlpha(stream[this._current])) {
	                  start = this._current;
	                  identifier = this._consumeUnquotedIdentifier(stream);
	                  tokens.push({type: TOK_UNQUOTEDIDENTIFIER,
	                               value: identifier,
	                               start: start});
	              } else if (basicTokens[stream[this._current]] !== undefined) {
	                  tokens.push({type: basicTokens[stream[this._current]],
	                              value: stream[this._current],
	                              start: this._current});
	                  this._current++;
	              } else if (isNum(stream[this._current])) {
	                  token = this._consumeNumber(stream);
	                  tokens.push(token);
	              } else if (stream[this._current] === "[") {
	                  // No need to increment this._current.  This happens
	                  // in _consumeLBracket
	                  token = this._consumeLBracket(stream);
	                  tokens.push(token);
	              } else if (stream[this._current] === "\"") {
	                  start = this._current;
	                  identifier = this._consumeQuotedIdentifier(stream);
	                  tokens.push({type: TOK_QUOTEDIDENTIFIER,
	                               value: identifier,
	                               start: start});
	              } else if (stream[this._current] === "'") {
	                  start = this._current;
	                  identifier = this._consumeRawStringLiteral(stream);
	                  tokens.push({type: TOK_LITERAL,
	                               value: identifier,
	                               start: start});
	              } else if (stream[this._current] === "`") {
	                  start = this._current;
	                  var literal = this._consumeLiteral(stream);
	                  tokens.push({type: TOK_LITERAL,
	                               value: literal,
	                               start: start});
	              } else if (operatorStartToken[stream[this._current]] !== undefined) {
	                  tokens.push(this._consumeOperator(stream));
	              } else if (skipChars[stream[this._current]] !== undefined) {
	                  // Ignore whitespace.
	                  this._current++;
	              } else if (stream[this._current] === "&") {
	                  start = this._current;
	                  this._current++;
	                  if (stream[this._current] === "&") {
	                      this._current++;
	                      tokens.push({type: TOK_AND, value: "&&", start: start});
	                  } else {
	                      tokens.push({type: TOK_EXPREF, value: "&", start: start});
	                  }
	              } else if (stream[this._current] === "|") {
	                  start = this._current;
	                  this._current++;
	                  if (stream[this._current] === "|") {
	                      this._current++;
	                      tokens.push({type: TOK_OR, value: "||", start: start});
	                  } else {
	                      tokens.push({type: TOK_PIPE, value: "|", start: start});
	                  }
	              } else {
	                  var error = new Error("Unknown character:" + stream[this._current]);
	                  error.name = "LexerError";
	                  throw error;
	              }
	          }
	          return tokens;
	      },

	      _consumeUnquotedIdentifier: function(stream) {
	          var start = this._current;
	          this._current++;
	          while (this._current < stream.length && isAlphaNum(stream[this._current])) {
	              this._current++;
	          }
	          return stream.slice(start, this._current);
	      },

	      _consumeQuotedIdentifier: function(stream) {
	          var start = this._current;
	          this._current++;
	          var maxLength = stream.length;
	          while (stream[this._current] !== "\"" && this._current < maxLength) {
	              // You can escape a double quote and you can escape an escape.
	              var current = this._current;
	              if (stream[current] === "\\" && (stream[current + 1] === "\\" ||
	                                               stream[current + 1] === "\"")) {
	                  current += 2;
	              } else {
	                  current++;
	              }
	              this._current = current;
	          }
	          this._current++;
	          return JSON.parse(stream.slice(start, this._current));
	      },

	      _consumeRawStringLiteral: function(stream) {
	          var start = this._current;
	          this._current++;
	          var maxLength = stream.length;
	          while (stream[this._current] !== "'" && this._current < maxLength) {
	              // You can escape a single quote and you can escape an escape.
	              var current = this._current;
	              if (stream[current] === "\\" && (stream[current + 1] === "\\" ||
	                                               stream[current + 1] === "'")) {
	                  current += 2;
	              } else {
	                  current++;
	              }
	              this._current = current;
	          }
	          this._current++;
	          var literal = stream.slice(start + 1, this._current - 1);
	          return literal.replace("\\'", "'");
	      },

	      _consumeNumber: function(stream) {
	          var start = this._current;
	          this._current++;
	          var maxLength = stream.length;
	          while (isNum(stream[this._current]) && this._current < maxLength) {
	              this._current++;
	          }
	          var value = parseInt(stream.slice(start, this._current));
	          return {type: TOK_NUMBER, value: value, start: start};
	      },

	      _consumeLBracket: function(stream) {
	          var start = this._current;
	          this._current++;
	          if (stream[this._current] === "?") {
	              this._current++;
	              return {type: TOK_FILTER, value: "[?", start: start};
	          } else if (stream[this._current] === "]") {
	              this._current++;
	              return {type: TOK_FLATTEN, value: "[]", start: start};
	          } else {
	              return {type: TOK_LBRACKET, value: "[", start: start};
	          }
	      },

	      _consumeOperator: function(stream) {
	          var start = this._current;
	          var startingChar = stream[start];
	          this._current++;
	          if (startingChar === "!") {
	              if (stream[this._current] === "=") {
	                  this._current++;
	                  return {type: TOK_NE, value: "!=", start: start};
	              } else {
	                return {type: TOK_NOT, value: "!", start: start};
	              }
	          } else if (startingChar === "<") {
	              if (stream[this._current] === "=") {
	                  this._current++;
	                  return {type: TOK_LTE, value: "<=", start: start};
	              } else {
	                  return {type: TOK_LT, value: "<", start: start};
	              }
	          } else if (startingChar === ">") {
	              if (stream[this._current] === "=") {
	                  this._current++;
	                  return {type: TOK_GTE, value: ">=", start: start};
	              } else {
	                  return {type: TOK_GT, value: ">", start: start};
	              }
	          } else if (startingChar === "=") {
	              if (stream[this._current] === "=") {
	                  this._current++;
	                  return {type: TOK_EQ, value: "==", start: start};
	              }
	          }
	      },

	      _consumeLiteral: function(stream) {
	          this._current++;
	          var start = this._current;
	          var maxLength = stream.length;
	          var literal;
	          while(stream[this._current] !== "`" && this._current < maxLength) {
	              // You can escape a literal char or you can escape the escape.
	              var current = this._current;
	              if (stream[current] === "\\" && (stream[current + 1] === "\\" ||
	                                               stream[current + 1] === "`")) {
	                  current += 2;
	              } else {
	                  current++;
	              }
	              this._current = current;
	          }
	          var literalString = trimLeft(stream.slice(start, this._current));
	          literalString = literalString.replace("\\`", "`");
	          if (this._looksLikeJSON(literalString)) {
	              literal = JSON.parse(literalString);
	          } else {
	              // Try to JSON parse it as "<literal>"
	              literal = JSON.parse("\"" + literalString + "\"");
	          }
	          // +1 gets us to the ending "`", +1 to move on to the next char.
	          this._current++;
	          return literal;
	      },

	      _looksLikeJSON: function(literalString) {
	          var startingChars = "[{\"";
	          var jsonLiterals = ["true", "false", "null"];
	          var numberLooking = "-0123456789";

	          if (literalString === "") {
	              return false;
	          } else if (startingChars.indexOf(literalString[0]) >= 0) {
	              return true;
	          } else if (jsonLiterals.indexOf(literalString) >= 0) {
	              return true;
	          } else if (numberLooking.indexOf(literalString[0]) >= 0) {
	              try {
	                  JSON.parse(literalString);
	                  return true;
	              } catch (ex) {
	                  return false;
	              }
	          } else {
	              return false;
	          }
	      }
	  };

	      var bindingPower = {};
	      bindingPower[TOK_EOF] = 0;
	      bindingPower[TOK_UNQUOTEDIDENTIFIER] = 0;
	      bindingPower[TOK_QUOTEDIDENTIFIER] = 0;
	      bindingPower[TOK_RBRACKET] = 0;
	      bindingPower[TOK_RPAREN] = 0;
	      bindingPower[TOK_COMMA] = 0;
	      bindingPower[TOK_RBRACE] = 0;
	      bindingPower[TOK_NUMBER] = 0;
	      bindingPower[TOK_CURRENT] = 0;
	      bindingPower[TOK_EXPREF] = 0;
	      bindingPower[TOK_PIPE] = 1;
	      bindingPower[TOK_OR] = 2;
	      bindingPower[TOK_AND] = 3;
	      bindingPower[TOK_EQ] = 5;
	      bindingPower[TOK_GT] = 5;
	      bindingPower[TOK_LT] = 5;
	      bindingPower[TOK_GTE] = 5;
	      bindingPower[TOK_LTE] = 5;
	      bindingPower[TOK_NE] = 5;
	      bindingPower[TOK_FLATTEN] = 9;
	      bindingPower[TOK_STAR] = 20;
	      bindingPower[TOK_FILTER] = 21;
	      bindingPower[TOK_DOT] = 40;
	      bindingPower[TOK_NOT] = 45;
	      bindingPower[TOK_LBRACE] = 50;
	      bindingPower[TOK_LBRACKET] = 55;
	      bindingPower[TOK_LPAREN] = 60;

	  function Parser() {
	  }

	  Parser.prototype = {
	      parse: function(expression) {
	          this._loadTokens(expression);
	          this.index = 0;
	          var ast = this.expression(0);
	          if (this._lookahead(0) !== TOK_EOF) {
	              var t = this._lookaheadToken(0);
	              var error = new Error(
	                  "Unexpected token type: " + t.type + ", value: " + t.value);
	              error.name = "ParserError";
	              throw error;
	          }
	          return ast;
	      },

	      _loadTokens: function(expression) {
	          var lexer = new Lexer();
	          var tokens = lexer.tokenize(expression);
	          tokens.push({type: TOK_EOF, value: "", start: expression.length});
	          this.tokens = tokens;
	      },

	      expression: function(rbp) {
	          var leftToken = this._lookaheadToken(0);
	          this._advance();
	          var left = this.nud(leftToken);
	          var currentToken = this._lookahead(0);
	          while (rbp < bindingPower[currentToken]) {
	              this._advance();
	              left = this.led(currentToken, left);
	              currentToken = this._lookahead(0);
	          }
	          return left;
	      },

	      _lookahead: function(number) {
	          return this.tokens[this.index + number].type;
	      },

	      _lookaheadToken: function(number) {
	          return this.tokens[this.index + number];
	      },

	      _advance: function() {
	          this.index++;
	      },

	      nud: function(token) {
	        var left;
	        var right;
	        var expression;
	        switch (token.type) {
	          case TOK_LITERAL:
	            return {type: "Literal", value: token.value};
	          case TOK_UNQUOTEDIDENTIFIER:
	            return {type: "Field", name: token.value};
	          case TOK_QUOTEDIDENTIFIER:
	            var node = {type: "Field", name: token.value};
	            if (this._lookahead(0) === TOK_LPAREN) {
	                throw new Error("Quoted identifier not allowed for function names.");
	            } else {
	                return node;
	            }
	            break;
	          case TOK_NOT:
	            right = this.expression(bindingPower.Not);
	            return {type: "NotExpression", children: [right]};
	          case TOK_STAR:
	            left = {type: "Identity"};
	            right = null;
	            if (this._lookahead(0) === TOK_RBRACKET) {
	                // This can happen in a multiselect,
	                // [a, b, *]
	                right = {type: "Identity"};
	            } else {
	                right = this._parseProjectionRHS(bindingPower.Star);
	            }
	            return {type: "ValueProjection", children: [left, right]};
	          case TOK_FILTER:
	            return this.led(token.type, {type: "Identity"});
	          case TOK_LBRACE:
	            return this._parseMultiselectHash();
	          case TOK_FLATTEN:
	            left = {type: TOK_FLATTEN, children: [{type: "Identity"}]};
	            right = this._parseProjectionRHS(bindingPower.Flatten);
	            return {type: "Projection", children: [left, right]};
	          case TOK_LBRACKET:
	            if (this._lookahead(0) === TOK_NUMBER || this._lookahead(0) === TOK_COLON) {
	                right = this._parseIndexExpression();
	                return this._projectIfSlice({type: "Identity"}, right);
	            } else if (this._lookahead(0) === TOK_STAR &&
	                       this._lookahead(1) === TOK_RBRACKET) {
	                this._advance();
	                this._advance();
	                right = this._parseProjectionRHS(bindingPower.Star);
	                return {type: "Projection",
	                        children: [{type: "Identity"}, right]};
	            } else {
	                return this._parseMultiselectList();
	            }
	            break;
	          case TOK_CURRENT:
	            return {type: TOK_CURRENT};
	          case TOK_EXPREF:
	            expression = this.expression(bindingPower.Expref);
	            return {type: "ExpressionReference", children: [expression]};
	          case TOK_LPAREN:
	            var args = [];
	            while (this._lookahead(0) !== TOK_RPAREN) {
	              if (this._lookahead(0) === TOK_CURRENT) {
	                expression = {type: TOK_CURRENT};
	                this._advance();
	              } else {
	                expression = this.expression(0);
	              }
	              args.push(expression);
	            }
	            this._match(TOK_RPAREN);
	            return args[0];
	          default:
	            this._errorToken(token);
	        }
	      },

	      led: function(tokenName, left) {
	        var right;
	        switch(tokenName) {
	          case TOK_DOT:
	            var rbp = bindingPower.Dot;
	            if (this._lookahead(0) !== TOK_STAR) {
	                right = this._parseDotRHS(rbp);
	                return {type: "Subexpression", children: [left, right]};
	            } else {
	                // Creating a projection.
	                this._advance();
	                right = this._parseProjectionRHS(rbp);
	                return {type: "ValueProjection", children: [left, right]};
	            }
	            break;
	          case TOK_PIPE:
	            right = this.expression(bindingPower.Pipe);
	            return {type: TOK_PIPE, children: [left, right]};
	          case TOK_OR:
	            right = this.expression(bindingPower.Or);
	            return {type: "OrExpression", children: [left, right]};
	          case TOK_AND:
	            right = this.expression(bindingPower.And);
	            return {type: "AndExpression", children: [left, right]};
	          case TOK_LPAREN:
	            var name = left.name;
	            var args = [];
	            var expression, node;
	            while (this._lookahead(0) !== TOK_RPAREN) {
	              if (this._lookahead(0) === TOK_CURRENT) {
	                expression = {type: TOK_CURRENT};
	                this._advance();
	              } else {
	                expression = this.expression(0);
	              }
	              if (this._lookahead(0) === TOK_COMMA) {
	                this._match(TOK_COMMA);
	              }
	              args.push(expression);
	            }
	            this._match(TOK_RPAREN);
	            node = {type: "Function", name: name, children: args};
	            return node;
	          case TOK_FILTER:
	            var condition = this.expression(0);
	            this._match(TOK_RBRACKET);
	            if (this._lookahead(0) === TOK_FLATTEN) {
	              right = {type: "Identity"};
	            } else {
	              right = this._parseProjectionRHS(bindingPower.Filter);
	            }
	            return {type: "FilterProjection", children: [left, right, condition]};
	          case TOK_FLATTEN:
	            var leftNode = {type: TOK_FLATTEN, children: [left]};
	            var rightNode = this._parseProjectionRHS(bindingPower.Flatten);
	            return {type: "Projection", children: [leftNode, rightNode]};
	          case TOK_EQ:
	          case TOK_NE:
	          case TOK_GT:
	          case TOK_GTE:
	          case TOK_LT:
	          case TOK_LTE:
	            return this._parseComparator(left, tokenName);
	          case TOK_LBRACKET:
	            var token = this._lookaheadToken(0);
	            if (token.type === TOK_NUMBER || token.type === TOK_COLON) {
	                right = this._parseIndexExpression();
	                return this._projectIfSlice(left, right);
	            } else {
	                this._match(TOK_STAR);
	                this._match(TOK_RBRACKET);
	                right = this._parseProjectionRHS(bindingPower.Star);
	                return {type: "Projection", children: [left, right]};
	            }
	            break;
	          default:
	            this._errorToken(this._lookaheadToken(0));
	        }
	      },

	      _match: function(tokenType) {
	          if (this._lookahead(0) === tokenType) {
	              this._advance();
	          } else {
	              var t = this._lookaheadToken(0);
	              var error = new Error("Expected " + tokenType + ", got: " + t.type);
	              error.name = "ParserError";
	              throw error;
	          }
	      },

	      _errorToken: function(token) {
	          var error = new Error("Invalid token (" +
	                                token.type + "): \"" +
	                                token.value + "\"");
	          error.name = "ParserError";
	          throw error;
	      },


	      _parseIndexExpression: function() {
	          if (this._lookahead(0) === TOK_COLON || this._lookahead(1) === TOK_COLON) {
	              return this._parseSliceExpression();
	          } else {
	              var node = {
	                  type: "Index",
	                  value: this._lookaheadToken(0).value};
	              this._advance();
	              this._match(TOK_RBRACKET);
	              return node;
	          }
	      },

	      _projectIfSlice: function(left, right) {
	          var indexExpr = {type: "IndexExpression", children: [left, right]};
	          if (right.type === "Slice") {
	              return {
	                  type: "Projection",
	                  children: [indexExpr, this._parseProjectionRHS(bindingPower.Star)]
	              };
	          } else {
	              return indexExpr;
	          }
	      },

	      _parseSliceExpression: function() {
	          // [start:end:step] where each part is optional, as well as the last
	          // colon.
	          var parts = [null, null, null];
	          var index = 0;
	          var currentToken = this._lookahead(0);
	          while (currentToken !== TOK_RBRACKET && index < 3) {
	              if (currentToken === TOK_COLON) {
	                  index++;
	                  this._advance();
	              } else if (currentToken === TOK_NUMBER) {
	                  parts[index] = this._lookaheadToken(0).value;
	                  this._advance();
	              } else {
	                  var t = this._lookahead(0);
	                  var error = new Error("Syntax error, unexpected token: " +
	                                        t.value + "(" + t.type + ")");
	                  error.name = "Parsererror";
	                  throw error;
	              }
	              currentToken = this._lookahead(0);
	          }
	          this._match(TOK_RBRACKET);
	          return {
	              type: "Slice",
	              children: parts
	          };
	      },

	      _parseComparator: function(left, comparator) {
	        var right = this.expression(bindingPower[comparator]);
	        return {type: "Comparator", name: comparator, children: [left, right]};
	      },

	      _parseDotRHS: function(rbp) {
	          var lookahead = this._lookahead(0);
	          var exprTokens = [TOK_UNQUOTEDIDENTIFIER, TOK_QUOTEDIDENTIFIER, TOK_STAR];
	          if (exprTokens.indexOf(lookahead) >= 0) {
	              return this.expression(rbp);
	          } else if (lookahead === TOK_LBRACKET) {
	              this._match(TOK_LBRACKET);
	              return this._parseMultiselectList();
	          } else if (lookahead === TOK_LBRACE) {
	              this._match(TOK_LBRACE);
	              return this._parseMultiselectHash();
	          }
	      },

	      _parseProjectionRHS: function(rbp) {
	          var right;
	          if (bindingPower[this._lookahead(0)] < 10) {
	              right = {type: "Identity"};
	          } else if (this._lookahead(0) === TOK_LBRACKET) {
	              right = this.expression(rbp);
	          } else if (this._lookahead(0) === TOK_FILTER) {
	              right = this.expression(rbp);
	          } else if (this._lookahead(0) === TOK_DOT) {
	              this._match(TOK_DOT);
	              right = this._parseDotRHS(rbp);
	          } else {
	              var t = this._lookaheadToken(0);
	              var error = new Error("Sytanx error, unexpected token: " +
	                                    t.value + "(" + t.type + ")");
	              error.name = "ParserError";
	              throw error;
	          }
	          return right;
	      },

	      _parseMultiselectList: function() {
	          var expressions = [];
	          while (this._lookahead(0) !== TOK_RBRACKET) {
	              var expression = this.expression(0);
	              expressions.push(expression);
	              if (this._lookahead(0) === TOK_COMMA) {
	                  this._match(TOK_COMMA);
	                  if (this._lookahead(0) === TOK_RBRACKET) {
	                    throw new Error("Unexpected token Rbracket");
	                  }
	              }
	          }
	          this._match(TOK_RBRACKET);
	          return {type: "MultiSelectList", children: expressions};
	      },

	      _parseMultiselectHash: function() {
	        var pairs = [];
	        var identifierTypes = [TOK_UNQUOTEDIDENTIFIER, TOK_QUOTEDIDENTIFIER];
	        var keyToken, keyName, value, node;
	        for (;;) {
	          keyToken = this._lookaheadToken(0);
	          if (identifierTypes.indexOf(keyToken.type) < 0) {
	            throw new Error("Expecting an identifier token, got: " +
	                            keyToken.type);
	          }
	          keyName = keyToken.value;
	          this._advance();
	          this._match(TOK_COLON);
	          value = this.expression(0);
	          node = {type: "KeyValuePair", name: keyName, value: value};
	          pairs.push(node);
	          if (this._lookahead(0) === TOK_COMMA) {
	            this._match(TOK_COMMA);
	          } else if (this._lookahead(0) === TOK_RBRACE) {
	            this._match(TOK_RBRACE);
	            break;
	          }
	        }
	        return {type: "MultiSelectHash", children: pairs};
	      }
	  };


	  function TreeInterpreter(runtime) {
	    this.runtime = runtime;
	  }

	  TreeInterpreter.prototype = {
	      search: function(node, value) {
	          return this.visit(node, value);
	      },

	      visit: function(node, value) {
	          var matched, current, result, first, second, field, left, right, collected, i;
	          switch (node.type) {
	            case "Field":
	              if (value === null ) {
	                  return null;
	              } else if (isObject(value)) {
	                  field = value[node.name];
	                  if (field === undefined) {
	                      return null;
	                  } else {
	                      return field;
	                  }
	              } else {
	                return null;
	              }
	              break;
	            case "Subexpression":
	              result = this.visit(node.children[0], value);
	              for (i = 1; i < node.children.length; i++) {
	                  result = this.visit(node.children[1], result);
	                  if (result === null) {
	                      return null;
	                  }
	              }
	              return result;
	            case "IndexExpression":
	              left = this.visit(node.children[0], value);
	              right = this.visit(node.children[1], left);
	              return right;
	            case "Index":
	              if (!isArray(value)) {
	                return null;
	              }
	              var index = node.value;
	              if (index < 0) {
	                index = value.length + index;
	              }
	              result = value[index];
	              if (result === undefined) {
	                result = null;
	              }
	              return result;
	            case "Slice":
	              if (!isArray(value)) {
	                return null;
	              }
	              var sliceParams = node.children.slice(0);
	              var computed = this.computeSliceParams(value.length, sliceParams);
	              var start = computed[0];
	              var stop = computed[1];
	              var step = computed[2];
	              result = [];
	              if (step > 0) {
	                  for (i = start; i < stop; i += step) {
	                      result.push(value[i]);
	                  }
	              } else {
	                  for (i = start; i > stop; i += step) {
	                      result.push(value[i]);
	                  }
	              }
	              return result;
	            case "Projection":
	              // Evaluate left child.
	              var base = this.visit(node.children[0], value);
	              if (!isArray(base)) {
	                return null;
	              }
	              collected = [];
	              for (i = 0; i < base.length; i++) {
	                current = this.visit(node.children[1], base[i]);
	                if (current !== null) {
	                  collected.push(current);
	                }
	              }
	              return collected;
	            case "ValueProjection":
	              // Evaluate left child.
	              base = this.visit(node.children[0], value);
	              if (!isObject(base)) {
	                return null;
	              }
	              collected = [];
	              var values = objValues(base);
	              for (i = 0; i < values.length; i++) {
	                current = this.visit(node.children[1], values[i]);
	                if (current !== null) {
	                  collected.push(current);
	                }
	              }
	              return collected;
	            case "FilterProjection":
	              base = this.visit(node.children[0], value);
	              if (!isArray(base)) {
	                return null;
	              }
	              var filtered = [];
	              var finalResults = [];
	              for (i = 0; i < base.length; i++) {
	                matched = this.visit(node.children[2], base[i]);
	                if (!isFalse(matched)) {
	                  filtered.push(base[i]);
	                }
	              }
	              for (var j = 0; j < filtered.length; j++) {
	                current = this.visit(node.children[1], filtered[j]);
	                if (current !== null) {
	                  finalResults.push(current);
	                }
	              }
	              return finalResults;
	            case "Comparator":
	              first = this.visit(node.children[0], value);
	              second = this.visit(node.children[1], value);
	              switch(node.name) {
	                case TOK_EQ:
	                  result = strictDeepEqual(first, second);
	                  break;
	                case TOK_NE:
	                  result = !strictDeepEqual(first, second);
	                  break;
	                case TOK_GT:
	                  result = first > second;
	                  break;
	                case TOK_GTE:
	                  result = first >= second;
	                  break;
	                case TOK_LT:
	                  result = first < second;
	                  break;
	                case TOK_LTE:
	                  result = first <= second;
	                  break;
	                default:
	                  throw new Error("Unknown comparator: " + node.name);
	              }
	              return result;
	            case TOK_FLATTEN:
	              var original = this.visit(node.children[0], value);
	              if (!isArray(original)) {
	                return null;
	              }
	              var merged = [];
	              for (i = 0; i < original.length; i++) {
	                current = original[i];
	                if (isArray(current)) {
	                  merged.push.apply(merged, current);
	                } else {
	                  merged.push(current);
	                }
	              }
	              return merged;
	            case "Identity":
	              return value;
	            case "MultiSelectList":
	              if (value === null) {
	                return null;
	              }
	              collected = [];
	              for (i = 0; i < node.children.length; i++) {
	                  collected.push(this.visit(node.children[i], value));
	              }
	              return collected;
	            case "MultiSelectHash":
	              if (value === null) {
	                return null;
	              }
	              collected = {};
	              var child;
	              for (i = 0; i < node.children.length; i++) {
	                child = node.children[i];
	                collected[child.name] = this.visit(child.value, value);
	              }
	              return collected;
	            case "OrExpression":
	              matched = this.visit(node.children[0], value);
	              if (isFalse(matched)) {
	                  matched = this.visit(node.children[1], value);
	              }
	              return matched;
	            case "AndExpression":
	              first = this.visit(node.children[0], value);

	              if (isFalse(first) === true) {
	                return first;
	              }
	              return this.visit(node.children[1], value);
	            case "NotExpression":
	              first = this.visit(node.children[0], value);
	              return isFalse(first);
	            case "Literal":
	              return node.value;
	            case TOK_PIPE:
	              left = this.visit(node.children[0], value);
	              return this.visit(node.children[1], left);
	            case TOK_CURRENT:
	              return value;
	            case "Function":
	              var resolvedArgs = [];
	              for (i = 0; i < node.children.length; i++) {
	                  resolvedArgs.push(this.visit(node.children[i], value));
	              }
	              return this.runtime.callFunction(node.name, resolvedArgs);
	            case "ExpressionReference":
	              var refNode = node.children[0];
	              // Tag the node with a specific attribute so the type
	              // checker verify the type.
	              refNode.jmespathType = TOK_EXPREF;
	              return refNode;
	            default:
	              throw new Error("Unknown node type: " + node.type);
	          }
	      },

	      computeSliceParams: function(arrayLength, sliceParams) {
	        var start = sliceParams[0];
	        var stop = sliceParams[1];
	        var step = sliceParams[2];
	        var computed = [null, null, null];
	        if (step === null) {
	          step = 1;
	        } else if (step === 0) {
	          var error = new Error("Invalid slice, step cannot be 0");
	          error.name = "RuntimeError";
	          throw error;
	        }
	        var stepValueNegative = step < 0 ? true : false;

	        if (start === null) {
	            start = stepValueNegative ? arrayLength - 1 : 0;
	        } else {
	            start = this.capSliceRange(arrayLength, start, step);
	        }

	        if (stop === null) {
	            stop = stepValueNegative ? -1 : arrayLength;
	        } else {
	            stop = this.capSliceRange(arrayLength, stop, step);
	        }
	        computed[0] = start;
	        computed[1] = stop;
	        computed[2] = step;
	        return computed;
	      },

	      capSliceRange: function(arrayLength, actualValue, step) {
	          if (actualValue < 0) {
	              actualValue += arrayLength;
	              if (actualValue < 0) {
	                  actualValue = step < 0 ? -1 : 0;
	              }
	          } else if (actualValue >= arrayLength) {
	              actualValue = step < 0 ? arrayLength - 1 : arrayLength;
	          }
	          return actualValue;
	      }

	  };

	  function Runtime(interpreter) {
	    this._interpreter = interpreter;
	    this.functionTable = {
	        // name: [function, <signature>]
	        // The <signature> can be:
	        //
	        // {
	        //   args: [[type1, type2], [type1, type2]],
	        //   variadic: true|false
	        // }
	        //
	        // Each arg in the arg list is a list of valid types
	        // (if the function is overloaded and supports multiple
	        // types.  If the type is "any" then no type checking
	        // occurs on the argument.  Variadic is optional
	        // and if not provided is assumed to be false.
	        abs: {_func: this._functionAbs, _signature: [{types: [TYPE_NUMBER]}]},
	        avg: {_func: this._functionAvg, _signature: [{types: [TYPE_ARRAY_NUMBER]}]},
	        ceil: {_func: this._functionCeil, _signature: [{types: [TYPE_NUMBER]}]},
	        contains: {
	            _func: this._functionContains,
	            _signature: [{types: [TYPE_STRING, TYPE_ARRAY]},
	                        {types: [TYPE_ANY]}]},
	        "ends_with": {
	            _func: this._functionEndsWith,
	            _signature: [{types: [TYPE_STRING]}, {types: [TYPE_STRING]}]},
	        floor: {_func: this._functionFloor, _signature: [{types: [TYPE_NUMBER]}]},
	        length: {
	            _func: this._functionLength,
	            _signature: [{types: [TYPE_STRING, TYPE_ARRAY, TYPE_OBJECT]}]},
	        map: {
	            _func: this._functionMap,
	            _signature: [{types: [TYPE_EXPREF]}, {types: [TYPE_ARRAY]}]},
	        max: {
	            _func: this._functionMax,
	            _signature: [{types: [TYPE_ARRAY_NUMBER, TYPE_ARRAY_STRING]}]},
	        "merge": {
	            _func: this._functionMerge,
	            _signature: [{types: [TYPE_OBJECT], variadic: true}]
	        },
	        "max_by": {
	          _func: this._functionMaxBy,
	          _signature: [{types: [TYPE_ARRAY]}, {types: [TYPE_EXPREF]}]
	        },
	        sum: {_func: this._functionSum, _signature: [{types: [TYPE_ARRAY_NUMBER]}]},
	        "starts_with": {
	            _func: this._functionStartsWith,
	            _signature: [{types: [TYPE_STRING]}, {types: [TYPE_STRING]}]},
	        min: {
	            _func: this._functionMin,
	            _signature: [{types: [TYPE_ARRAY_NUMBER, TYPE_ARRAY_STRING]}]},
	        "min_by": {
	          _func: this._functionMinBy,
	          _signature: [{types: [TYPE_ARRAY]}, {types: [TYPE_EXPREF]}]
	        },
	        type: {_func: this._functionType, _signature: [{types: [TYPE_ANY]}]},
	        keys: {_func: this._functionKeys, _signature: [{types: [TYPE_OBJECT]}]},
	        values: {_func: this._functionValues, _signature: [{types: [TYPE_OBJECT]}]},
	        sort: {_func: this._functionSort, _signature: [{types: [TYPE_ARRAY_STRING, TYPE_ARRAY_NUMBER]}]},
	        "sort_by": {
	          _func: this._functionSortBy,
	          _signature: [{types: [TYPE_ARRAY]}, {types: [TYPE_EXPREF]}]
	        },
	        join: {
	            _func: this._functionJoin,
	            _signature: [
	                {types: [TYPE_STRING]},
	                {types: [TYPE_ARRAY_STRING]}
	            ]
	        },
	        reverse: {
	            _func: this._functionReverse,
	            _signature: [{types: [TYPE_STRING, TYPE_ARRAY]}]},
	        "to_array": {_func: this._functionToArray, _signature: [{types: [TYPE_ANY]}]},
	        "to_string": {_func: this._functionToString, _signature: [{types: [TYPE_ANY]}]},
	        "to_number": {_func: this._functionToNumber, _signature: [{types: [TYPE_ANY]}]},
	        "not_null": {
	            _func: this._functionNotNull,
	            _signature: [{types: [TYPE_ANY], variadic: true}]
	        }
	    };
	  }

	  Runtime.prototype = {
	    callFunction: function(name, resolvedArgs) {
	      var functionEntry = this.functionTable[name];
	      if (functionEntry === undefined) {
	          throw new Error("Unknown function: " + name + "()");
	      }
	      this._validateArgs(name, resolvedArgs, functionEntry._signature);
	      return functionEntry._func.call(this, resolvedArgs);
	    },

	    _validateArgs: function(name, args, signature) {
	        // Validating the args requires validating
	        // the correct arity and the correct type of each arg.
	        // If the last argument is declared as variadic, then we need
	        // a minimum number of args to be required.  Otherwise it has to
	        // be an exact amount.
	        var pluralized;
	        if (signature[signature.length - 1].variadic) {
	            if (args.length < signature.length) {
	                pluralized = signature.length === 1 ? " argument" : " arguments";
	                throw new Error("ArgumentError: " + name + "() " +
	                                "takes at least" + signature.length + pluralized +
	                                " but received " + args.length);
	            }
	        } else if (args.length !== signature.length) {
	            pluralized = signature.length === 1 ? " argument" : " arguments";
	            throw new Error("ArgumentError: " + name + "() " +
	                            "takes " + signature.length + pluralized +
	                            " but received " + args.length);
	        }
	        var currentSpec;
	        var actualType;
	        var typeMatched;
	        for (var i = 0; i < signature.length; i++) {
	            typeMatched = false;
	            currentSpec = signature[i].types;
	            actualType = this._getTypeName(args[i]);
	            for (var j = 0; j < currentSpec.length; j++) {
	                if (this._typeMatches(actualType, currentSpec[j], args[i])) {
	                    typeMatched = true;
	                    break;
	                }
	            }
	            if (!typeMatched) {
	                throw new Error("TypeError: " + name + "() " +
	                                "expected argument " + (i + 1) +
	                                " to be type " + currentSpec +
	                                " but received type " + actualType +
	                                " instead.");
	            }
	        }
	    },

	    _typeMatches: function(actual, expected, argValue) {
	        if (expected === TYPE_ANY) {
	            return true;
	        }
	        if (expected === TYPE_ARRAY_STRING ||
	            expected === TYPE_ARRAY_NUMBER ||
	            expected === TYPE_ARRAY) {
	            // The expected type can either just be array,
	            // or it can require a specific subtype (array of numbers).
	            //
	            // The simplest case is if "array" with no subtype is specified.
	            if (expected === TYPE_ARRAY) {
	                return actual === TYPE_ARRAY;
	            } else if (actual === TYPE_ARRAY) {
	                // Otherwise we need to check subtypes.
	                // I think this has potential to be improved.
	                var subtype;
	                if (expected === TYPE_ARRAY_NUMBER) {
	                  subtype = TYPE_NUMBER;
	                } else if (expected === TYPE_ARRAY_STRING) {
	                  subtype = TYPE_STRING;
	                }
	                for (var i = 0; i < argValue.length; i++) {
	                    if (!this._typeMatches(
	                            this._getTypeName(argValue[i]), subtype,
	                                             argValue[i])) {
	                        return false;
	                    }
	                }
	                return true;
	            }
	        } else {
	            return actual === expected;
	        }
	    },
	    _getTypeName: function(obj) {
	        switch (Object.prototype.toString.call(obj)) {
	            case "[object String]":
	              return TYPE_STRING;
	            case "[object Number]":
	              return TYPE_NUMBER;
	            case "[object Array]":
	              return TYPE_ARRAY;
	            case "[object Boolean]":
	              return TYPE_BOOLEAN;
	            case "[object Null]":
	              return TYPE_NULL;
	            case "[object Object]":
	              // Check if it's an expref.  If it has, it's been
	              // tagged with a jmespathType attr of 'Expref';
	              if (obj.jmespathType === TOK_EXPREF) {
	                return TYPE_EXPREF;
	              } else {
	                return TYPE_OBJECT;
	              }
	        }
	    },

	    _functionStartsWith: function(resolvedArgs) {
	        return resolvedArgs[0].lastIndexOf(resolvedArgs[1]) === 0;
	    },

	    _functionEndsWith: function(resolvedArgs) {
	        var searchStr = resolvedArgs[0];
	        var suffix = resolvedArgs[1];
	        return searchStr.indexOf(suffix, searchStr.length - suffix.length) !== -1;
	    },

	    _functionReverse: function(resolvedArgs) {
	        var typeName = this._getTypeName(resolvedArgs[0]);
	        if (typeName === TYPE_STRING) {
	          var originalStr = resolvedArgs[0];
	          var reversedStr = "";
	          for (var i = originalStr.length - 1; i >= 0; i--) {
	              reversedStr += originalStr[i];
	          }
	          return reversedStr;
	        } else {
	          var reversedArray = resolvedArgs[0].slice(0);
	          reversedArray.reverse();
	          return reversedArray;
	        }
	    },

	    _functionAbs: function(resolvedArgs) {
	      return Math.abs(resolvedArgs[0]);
	    },

	    _functionCeil: function(resolvedArgs) {
	        return Math.ceil(resolvedArgs[0]);
	    },

	    _functionAvg: function(resolvedArgs) {
	        var sum = 0;
	        var inputArray = resolvedArgs[0];
	        for (var i = 0; i < inputArray.length; i++) {
	            sum += inputArray[i];
	        }
	        return sum / inputArray.length;
	    },

	    _functionContains: function(resolvedArgs) {
	        return resolvedArgs[0].indexOf(resolvedArgs[1]) >= 0;
	    },

	    _functionFloor: function(resolvedArgs) {
	        return Math.floor(resolvedArgs[0]);
	    },

	    _functionLength: function(resolvedArgs) {
	       if (!isObject(resolvedArgs[0])) {
	         return resolvedArgs[0].length;
	       } else {
	         // As far as I can tell, there's no way to get the length
	         // of an object without O(n) iteration through the object.
	         return Object.keys(resolvedArgs[0]).length;
	       }
	    },

	    _functionMap: function(resolvedArgs) {
	      var mapped = [];
	      var interpreter = this._interpreter;
	      var exprefNode = resolvedArgs[0];
	      var elements = resolvedArgs[1];
	      for (var i = 0; i < elements.length; i++) {
	          mapped.push(interpreter.visit(exprefNode, elements[i]));
	      }
	      return mapped;
	    },

	    _functionMerge: function(resolvedArgs) {
	      var merged = {};
	      for (var i = 0; i < resolvedArgs.length; i++) {
	        var current = resolvedArgs[i];
	        for (var key in current) {
	          merged[key] = current[key];
	        }
	      }
	      return merged;
	    },

	    _functionMax: function(resolvedArgs) {
	      if (resolvedArgs[0].length > 0) {
	        var typeName = this._getTypeName(resolvedArgs[0][0]);
	        if (typeName === TYPE_NUMBER) {
	          return Math.max.apply(Math, resolvedArgs[0]);
	        } else {
	          var elements = resolvedArgs[0];
	          var maxElement = elements[0];
	          for (var i = 1; i < elements.length; i++) {
	              if (maxElement.localeCompare(elements[i]) < 0) {
	                  maxElement = elements[i];
	              }
	          }
	          return maxElement;
	        }
	      } else {
	          return null;
	      }
	    },

	    _functionMin: function(resolvedArgs) {
	      if (resolvedArgs[0].length > 0) {
	        var typeName = this._getTypeName(resolvedArgs[0][0]);
	        if (typeName === TYPE_NUMBER) {
	          return Math.min.apply(Math, resolvedArgs[0]);
	        } else {
	          var elements = resolvedArgs[0];
	          var minElement = elements[0];
	          for (var i = 1; i < elements.length; i++) {
	              if (elements[i].localeCompare(minElement) < 0) {
	                  minElement = elements[i];
	              }
	          }
	          return minElement;
	        }
	      } else {
	        return null;
	      }
	    },

	    _functionSum: function(resolvedArgs) {
	      var sum = 0;
	      var listToSum = resolvedArgs[0];
	      for (var i = 0; i < listToSum.length; i++) {
	        sum += listToSum[i];
	      }
	      return sum;
	    },

	    _functionType: function(resolvedArgs) {
	        switch (this._getTypeName(resolvedArgs[0])) {
	          case TYPE_NUMBER:
	            return "number";
	          case TYPE_STRING:
	            return "string";
	          case TYPE_ARRAY:
	            return "array";
	          case TYPE_OBJECT:
	            return "object";
	          case TYPE_BOOLEAN:
	            return "boolean";
	          case TYPE_EXPREF:
	            return "expref";
	          case TYPE_NULL:
	            return "null";
	        }
	    },

	    _functionKeys: function(resolvedArgs) {
	        return Object.keys(resolvedArgs[0]);
	    },

	    _functionValues: function(resolvedArgs) {
	        var obj = resolvedArgs[0];
	        var keys = Object.keys(obj);
	        var values = [];
	        for (var i = 0; i < keys.length; i++) {
	            values.push(obj[keys[i]]);
	        }
	        return values;
	    },

	    _functionJoin: function(resolvedArgs) {
	        var joinChar = resolvedArgs[0];
	        var listJoin = resolvedArgs[1];
	        return listJoin.join(joinChar);
	    },

	    _functionToArray: function(resolvedArgs) {
	        if (this._getTypeName(resolvedArgs[0]) === TYPE_ARRAY) {
	            return resolvedArgs[0];
	        } else {
	            return [resolvedArgs[0]];
	        }
	    },

	    _functionToString: function(resolvedArgs) {
	        if (this._getTypeName(resolvedArgs[0]) === TYPE_STRING) {
	            return resolvedArgs[0];
	        } else {
	            return JSON.stringify(resolvedArgs[0]);
	        }
	    },

	    _functionToNumber: function(resolvedArgs) {
	        var typeName = this._getTypeName(resolvedArgs[0]);
	        var convertedValue;
	        if (typeName === TYPE_NUMBER) {
	            return resolvedArgs[0];
	        } else if (typeName === TYPE_STRING) {
	            convertedValue = +resolvedArgs[0];
	            if (!isNaN(convertedValue)) {
	                return convertedValue;
	            }
	        }
	        return null;
	    },

	    _functionNotNull: function(resolvedArgs) {
	        for (var i = 0; i < resolvedArgs.length; i++) {
	            if (this._getTypeName(resolvedArgs[i]) !== TYPE_NULL) {
	                return resolvedArgs[i];
	            }
	        }
	        return null;
	    },

	    _functionSort: function(resolvedArgs) {
	        var sortedArray = resolvedArgs[0].slice(0);
	        sortedArray.sort();
	        return sortedArray;
	    },

	    _functionSortBy: function(resolvedArgs) {
	        var sortedArray = resolvedArgs[0].slice(0);
	        if (sortedArray.length === 0) {
	            return sortedArray;
	        }
	        var interpreter = this._interpreter;
	        var exprefNode = resolvedArgs[1];
	        var requiredType = this._getTypeName(
	            interpreter.visit(exprefNode, sortedArray[0]));
	        if ([TYPE_NUMBER, TYPE_STRING].indexOf(requiredType) < 0) {
	            throw new Error("TypeError");
	        }
	        var that = this;
	        // In order to get a stable sort out of an unstable
	        // sort algorithm, we decorate/sort/undecorate (DSU)
	        // by creating a new list of [index, element] pairs.
	        // In the cmp function, if the evaluated elements are
	        // equal, then the index will be used as the tiebreaker.
	        // After the decorated list has been sorted, it will be
	        // undecorated to extract the original elements.
	        var decorated = [];
	        for (var i = 0; i < sortedArray.length; i++) {
	          decorated.push([i, sortedArray[i]]);
	        }
	        decorated.sort(function(a, b) {
	          var exprA = interpreter.visit(exprefNode, a[1]);
	          var exprB = interpreter.visit(exprefNode, b[1]);
	          if (that._getTypeName(exprA) !== requiredType) {
	              throw new Error(
	                  "TypeError: expected " + requiredType + ", received " +
	                  that._getTypeName(exprA));
	          } else if (that._getTypeName(exprB) !== requiredType) {
	              throw new Error(
	                  "TypeError: expected " + requiredType + ", received " +
	                  that._getTypeName(exprB));
	          }
	          if (exprA > exprB) {
	            return 1;
	          } else if (exprA < exprB) {
	            return -1;
	          } else {
	            // If they're equal compare the items by their
	            // order to maintain relative order of equal keys
	            // (i.e. to get a stable sort).
	            return a[0] - b[0];
	          }
	        });
	        // Undecorate: extract out the original list elements.
	        for (var j = 0; j < decorated.length; j++) {
	          sortedArray[j] = decorated[j][1];
	        }
	        return sortedArray;
	    },

	    _functionMaxBy: function(resolvedArgs) {
	      var exprefNode = resolvedArgs[1];
	      var resolvedArray = resolvedArgs[0];
	      var keyFunction = this.createKeyFunction(exprefNode, [TYPE_NUMBER, TYPE_STRING]);
	      var maxNumber = -Infinity;
	      var maxRecord;
	      var current;
	      for (var i = 0; i < resolvedArray.length; i++) {
	        current = keyFunction(resolvedArray[i]);
	        if (current > maxNumber) {
	          maxNumber = current;
	          maxRecord = resolvedArray[i];
	        }
	      }
	      return maxRecord;
	    },

	    _functionMinBy: function(resolvedArgs) {
	      var exprefNode = resolvedArgs[1];
	      var resolvedArray = resolvedArgs[0];
	      var keyFunction = this.createKeyFunction(exprefNode, [TYPE_NUMBER, TYPE_STRING]);
	      var minNumber = Infinity;
	      var minRecord;
	      var current;
	      for (var i = 0; i < resolvedArray.length; i++) {
	        current = keyFunction(resolvedArray[i]);
	        if (current < minNumber) {
	          minNumber = current;
	          minRecord = resolvedArray[i];
	        }
	      }
	      return minRecord;
	    },

	    createKeyFunction: function(exprefNode, allowedTypes) {
	      var that = this;
	      var interpreter = this._interpreter;
	      var keyFunc = function(x) {
	        var current = interpreter.visit(exprefNode, x);
	        if (allowedTypes.indexOf(that._getTypeName(current)) < 0) {
	          var msg = "TypeError: expected one of " + allowedTypes +
	                    ", received " + that._getTypeName(current);
	          throw new Error(msg);
	        }
	        return current;
	      };
	      return keyFunc;
	    }

	  };

	  function compile(stream) {
	    var parser = new Parser();
	    var ast = parser.parse(stream);
	    return ast;
	  }

	  function tokenize(stream) {
	      var lexer = new Lexer();
	      return lexer.tokenize(stream);
	  }

	  function search(data, expression) {
	      var parser = new Parser();
	      // This needs to be improved.  Both the interpreter and runtime depend on
	      // each other.  The runtime needs the interpreter to support exprefs.
	      // There's likely a clean way to avoid the cyclic dependency.
	      var runtime = new Runtime();
	      var interpreter = new TreeInterpreter(runtime);
	      runtime._interpreter = interpreter;
	      var node = parser.parse(expression);
	      return interpreter.search(node, data);
	  }

	  exports.tokenize = tokenize;
	  exports.compile = compile;
	  exports.search = search;
	  exports.strictDeepEqual = strictDeepEqual;
	})( false ? this.jmespath = {} : exports);


/***/ }),
/* 211 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var inherit = AWS.util.inherit;
	var jmespath = __webpack_require__(210);

	/**
	 * This class encapsulates the response information
	 * from a service request operation sent through {AWS.Request}.
	 * The response object has two main properties for getting information
	 * back from a request:
	 *
	 * ## The `data` property
	 *
	 * The `response.data` property contains the serialized object data
	 * retrieved from the service request. For instance, for an
	 * Amazon DynamoDB `listTables` method call, the response data might
	 * look like:
	 *
	 * ```
	 * > resp.data
	 * { TableNames:
	 *    [ 'table1', 'table2', ... ] }
	 * ```
	 *
	 * The `data` property can be null if an error occurs (see below).
	 *
	 * ## The `error` property
	 *
	 * In the event of a service error (or transfer error), the
	 * `response.error` property will be filled with the given
	 * error data in the form:
	 *
	 * ```
	 * { code: 'SHORT_UNIQUE_ERROR_CODE',
	 *   message: 'Some human readable error message' }
	 * ```
	 *
	 * In the case of an error, the `data` property will be `null`.
	 * Note that if you handle events that can be in a failure state,
	 * you should always check whether `response.error` is set
	 * before attempting to access the `response.data` property.
	 *
	 * @!attribute data
	 *   @readonly
	 *   @!group Data Properties
	 *   @note Inside of a {AWS.Request~httpData} event, this
	 *     property contains a single raw packet instead of the
	 *     full de-serialized service response.
	 *   @return [Object] the de-serialized response data
	 *     from the service.
	 *
	 * @!attribute error
	 *   An structure containing information about a service
	 *   or networking error.
	 *   @readonly
	 *   @!group Data Properties
	 *   @note This attribute is only filled if a service or
	 *     networking error occurs.
	 *   @return [Error]
	 *     * code [String] a unique short code representing the
	 *       error that was emitted.
	 *     * message [String] a longer human readable error message
	 *     * retryable [Boolean] whether the error message is
	 *       retryable.
	 *     * statusCode [Numeric] in the case of a request that reached the service,
	 *       this value contains the response status code.
	 *     * time [Date] the date time object when the error occurred.
	 *     * hostname [String] set when a networking error occurs to easily
	 *       identify the endpoint of the request.
	 *     * region [String] set when a networking error occurs to easily
	 *       identify the region of the request.
	 *
	 * @!attribute requestId
	 *   @readonly
	 *   @!group Data Properties
	 *   @return [String] the unique request ID associated with the response.
	 *     Log this value when debugging requests for AWS support.
	 *
	 * @!attribute retryCount
	 *   @readonly
	 *   @!group Operation Properties
	 *   @return [Integer] the number of retries that were
	 *     attempted before the request was completed.
	 *
	 * @!attribute redirectCount
	 *   @readonly
	 *   @!group Operation Properties
	 *   @return [Integer] the number of redirects that were
	 *     followed before the request was completed.
	 *
	 * @!attribute httpResponse
	 *   @readonly
	 *   @!group HTTP Properties
	 *   @return [AWS.HttpResponse] the raw HTTP response object
	 *     containing the response headers and body information
	 *     from the server.
	 *
	 * @see AWS.Request
	 */
	AWS.Response = inherit({

	  /**
	   * @api private
	   */
	  constructor: function Response(request) {
	    this.request = request;
	    this.data = null;
	    this.error = null;
	    this.retryCount = 0;
	    this.redirectCount = 0;
	    this.httpResponse = new AWS.HttpResponse();
	    if (request) {
	      this.maxRetries = request.service.numRetries();
	      this.maxRedirects = request.service.config.maxRedirects;
	    }
	  },

	  /**
	   * Creates a new request for the next page of response data, calling the
	   * callback with the page data if a callback is provided.
	   *
	   * @callback callback function(err, data)
	   *   Called when a page of data is returned from the next request.
	   *
	   *   @param err [Error] an error object, if an error occurred in the request
	   *   @param data [Object] the next page of data, or null, if there are no
	   *     more pages left.
	   * @return [AWS.Request] the request object for the next page of data
	   * @return [null] if no callback is provided and there are no pages left
	   *   to retrieve.
	   * @since v1.4.0
	   */
	  nextPage: function nextPage(callback) {
	    var config;
	    var service = this.request.service;
	    var operation = this.request.operation;
	    try {
	      config = service.paginationConfig(operation, true);
	    } catch (e) { this.error = e; }

	    if (!this.hasNextPage()) {
	      if (callback) callback(this.error, null);
	      else if (this.error) throw this.error;
	      return null;
	    }

	    var params = AWS.util.copy(this.request.params);
	    if (!this.nextPageTokens) {
	      return callback ? callback(null, null) : null;
	    } else {
	      var inputTokens = config.inputToken;
	      if (typeof inputTokens === 'string') inputTokens = [inputTokens];
	      for (var i = 0; i < inputTokens.length; i++) {
	        params[inputTokens[i]] = this.nextPageTokens[i];
	      }
	      return service.makeRequest(this.request.operation, params, callback);
	    }
	  },

	  /**
	   * @return [Boolean] whether more pages of data can be returned by further
	   *   requests
	   * @since v1.4.0
	   */
	  hasNextPage: function hasNextPage() {
	    this.cacheNextPageTokens();
	    if (this.nextPageTokens) return true;
	    if (this.nextPageTokens === undefined) return undefined;
	    else return false;
	  },

	  /**
	   * @api private
	   */
	  cacheNextPageTokens: function cacheNextPageTokens() {
	    if (Object.prototype.hasOwnProperty.call(this, 'nextPageTokens')) return this.nextPageTokens;
	    this.nextPageTokens = undefined;

	    var config = this.request.service.paginationConfig(this.request.operation);
	    if (!config) return this.nextPageTokens;

	    this.nextPageTokens = null;
	    if (config.moreResults) {
	      if (!jmespath.search(this.data, config.moreResults)) {
	        return this.nextPageTokens;
	      }
	    }

	    var exprs = config.outputToken;
	    if (typeof exprs === 'string') exprs = [exprs];
	    AWS.util.arrayEach.call(this, exprs, function (expr) {
	      var output = jmespath.search(this.data, expr);
	      if (output) {
	        this.nextPageTokens = this.nextPageTokens || [];
	        this.nextPageTokens.push(output);
	      }
	    });

	    return this.nextPageTokens;
	  }

	});


/***/ }),
/* 212 */
/***/ (function(module, exports, __webpack_require__) {

	/**
	 * Copyright 2012-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
	 *
	 * Licensed under the Apache License, Version 2.0 (the "License"). You
	 * may not use this file except in compliance with the License. A copy of
	 * the License is located at
	 *
	 *     http://aws.amazon.com/apache2.0/
	 *
	 * or in the "license" file accompanying this file. This file is
	 * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
	 * ANY KIND, either express or implied. See the License for the specific
	 * language governing permissions and limitations under the License.
	 */

	var AWS = __webpack_require__(5);
	var inherit = AWS.util.inherit;
	var jmespath = __webpack_require__(210);

	/**
	 * @api private
	 */
	function CHECK_ACCEPTORS(resp) {
	  var waiter = resp.request._waiter;
	  var acceptors = waiter.config.acceptors;
	  var acceptorMatched = false;
	  var state = 'retry';

	  acceptors.forEach(function(acceptor) {
	    if (!acceptorMatched) {
	      var matcher = waiter.matchers[acceptor.matcher];
	      if (matcher && matcher(resp, acceptor.expected, acceptor.argument)) {
	        acceptorMatched = true;
	        state = acceptor.state;
	      }
	    }
	  });

	  if (!acceptorMatched && resp.error) state = 'failure';

	  if (state === 'success') {
	    waiter.setSuccess(resp);
	  } else {
	    waiter.setError(resp, state === 'retry');
	  }
	}

	/**
	 * @api private
	 */
	AWS.ResourceWaiter = inherit({
	  /**
	   * Waits for a given state on a service object
	   * @param service [Service] the service object to wait on
	   * @param state [String] the state (defined in waiter configuration) to wait
	   *   for.
	   * @example Create a waiter for running EC2 instances
	   *   var ec2 = new AWS.EC2;
	   *   var waiter = new AWS.ResourceWaiter(ec2, 'instanceRunning');
	   */
	  constructor: function constructor(service, state) {
	    this.service = service;
	    this.state = state;
	    this.loadWaiterConfig(this.state);
	  },

	  service: null,

	  state: null,

	  config: null,

	  matchers: {
	    path: function(resp, expected, argument) {
	      try {
	        var result = jmespath.search(resp.data, argument);
	      } catch (err) {
	        return false;
	      }

	      return jmespath.strictDeepEqual(result,expected);
	    },

	    pathAll: function(resp, expected, argument) {
	      try {
	        var results = jmespath.search(resp.data, argument);
	      } catch (err) {
	        return false;
	      }

	      if (!Array.isArray(results)) results = [results];
	      var numResults = results.length;
	      if (!numResults) return false;
	      for (var ind = 0 ; ind < numResults; ind++) {
	        if (!jmespath.strictDeepEqual(results[ind], expected)) {
	          return false;
	        }
	      }
	      return true;
	    },

	    pathAny: function(resp, expected, argument) {
	      try {
	        var results = jmespath.search(resp.data, argument);
	      } catch (err) {
	        return false;
	      }

	      if (!Array.isArray(results)) results = [results];
	      var numResults = results.length;
	      for (var ind = 0 ; ind < numResults; ind++) {
	        if (jmespath.strictDeepEqual(results[ind], expected)) {
	          return true;
	        }
	      }
	      return false;
	    },

	    status: function(resp, expected) {
	      var statusCode = resp.httpResponse.statusCode;
	      return (typeof statusCode === 'number') && (statusCode === expected);
	    },

	    error: function(resp, expected) {
	      if (typeof expected === 'string' && resp.error) {
	        return expected === resp.error.code;
	      }
	      // if expected is not string, can be boolean indicating presence of error
	      return expected === !!resp.error;
	    }
	  },

	  listeners: new AWS.SequentialExecutor().addNamedListeners(function(add) {
	    add('RETRY_CHECK', 'retry', function(resp) {
	      var waiter = resp.request._waiter;
	      if (resp.error && resp.error.code === 'ResourceNotReady') {
	        resp.error.retryDelay = (waiter.config.delay || 0) * 1000;
	      }
	    });

	    add('CHECK_OUTPUT', 'extractData', CHECK_ACCEPTORS);

	    add('CHECK_ERROR', 'extractError', CHECK_ACCEPTORS);
	  }),

	  /**
	   * @return [AWS.Request]
	   */
	  wait: function wait(params, callback) {
	    if (typeof params === 'function') {
	      callback = params; params = undefined;
	    }

	    if (params && params.$waiter) {
	      params = AWS.util.copy(params);
	      if (typeof params.$waiter.delay === 'number') {
	        this.config.delay = params.$waiter.delay;
	      }
	      if (typeof params.$waiter.maxAttempts === 'number') {
	        this.config.maxAttempts = params.$waiter.maxAttempts;
	      }
	      delete params.$waiter;
	    }

	    var request = this.service.makeRequest(this.config.operation, params);
	    request._waiter = this;
	    request.response.maxRetries = this.config.maxAttempts;
	    request.addListeners(this.listeners);

	    if (callback) request.send(callback);
	    return request;
	  },

	  setSuccess: function setSuccess(resp) {
	    resp.error = null;
	    resp.data = resp.data || {};
	    resp.request.removeAllListeners('extractData');
	  },

	  setError: function setError(resp, retryable) {
	    resp.data = null;
	    resp.error = AWS.util.error(resp.error || new Error(), {
	      code: 'ResourceNotReady',
	      message: 'Resource is not in the state ' + this.state,
	      retryable: retryable
	    });
	  },

	  /**
	   * Loads waiter configuration from API configuration
	   *
	   * @api private
	   */
	  loadWaiterConfig: function loadWaiterConfig(state) {
	    if (!this.service.api.waiters[state]) {
	      throw new AWS.util.error(new Error(), {
	        code: 'StateNotFoundError',
	        message: 'State ' + state + ' not found.'
	      });
	    }

	    this.config = AWS.util.copy(this.service.api.waiters[state]);
	  }
	});


/***/ }),
/* 213 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	var inherit = AWS.util.inherit;

	/**
	 * @api private
	 */
	AWS.Signers.RequestSigner = inherit({
	  constructor: function RequestSigner(request) {
	    this.request = request;
	  },

	  setServiceClientId: function setServiceClientId(id) {
	    this.serviceClientId = id;
	  },

	  getServiceClientId: function getServiceClientId() {
	    return this.serviceClientId;
	  }
	});

	AWS.Signers.RequestSigner.getVersion = function getVersion(version) {
	  switch (version) {
	    case 'v2': return AWS.Signers.V2;
	    case 'v3': return AWS.Signers.V3;
	    case 'v4': return AWS.Signers.V4;
	    case 's3': return AWS.Signers.S3;
	    case 'v3https': return AWS.Signers.V3Https;
	  }
	  throw new Error('Unknown signing version ' + version);
	};

	__webpack_require__(214);
	__webpack_require__(215);
	__webpack_require__(216);
	__webpack_require__(217);
	__webpack_require__(219);
	__webpack_require__(220);


/***/ }),
/* 214 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var inherit = AWS.util.inherit;

	/**
	 * @api private
	 */
	AWS.Signers.V2 = inherit(AWS.Signers.RequestSigner, {
	  addAuthorization: function addAuthorization(credentials, date) {

	    if (!date) date = AWS.util.date.getDate();

	    var r = this.request;

	    r.params.Timestamp = AWS.util.date.iso8601(date);
	    r.params.SignatureVersion = '2';
	    r.params.SignatureMethod = 'HmacSHA256';
	    r.params.AWSAccessKeyId = credentials.accessKeyId;

	    if (credentials.sessionToken) {
	      r.params.SecurityToken = credentials.sessionToken;
	    }

	    delete r.params.Signature; // delete old Signature for re-signing
	    r.params.Signature = this.signature(credentials);

	    r.body = AWS.util.queryParamsToString(r.params);
	    r.headers['Content-Length'] = r.body.length;
	  },

	  signature: function signature(credentials) {
	    return AWS.util.crypto.hmac(credentials.secretAccessKey, this.stringToSign(), 'base64');
	  },

	  stringToSign: function stringToSign() {
	    var parts = [];
	    parts.push(this.request.method);
	    parts.push(this.request.endpoint.host.toLowerCase());
	    parts.push(this.request.pathname());
	    parts.push(AWS.util.queryParamsToString(this.request.params));
	    return parts.join('\n');
	  }

	});

	module.exports = AWS.Signers.V2;


/***/ }),
/* 215 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var inherit = AWS.util.inherit;

	/**
	 * @api private
	 */
	AWS.Signers.V3 = inherit(AWS.Signers.RequestSigner, {
	  addAuthorization: function addAuthorization(credentials, date) {

	    var datetime = AWS.util.date.rfc822(date);

	    this.request.headers['X-Amz-Date'] = datetime;

	    if (credentials.sessionToken) {
	      this.request.headers['x-amz-security-token'] = credentials.sessionToken;
	    }

	    this.request.headers['X-Amzn-Authorization'] =
	      this.authorization(credentials, datetime);

	  },

	  authorization: function authorization(credentials) {
	    return 'AWS3 ' +
	      'AWSAccessKeyId=' + credentials.accessKeyId + ',' +
	      'Algorithm=HmacSHA256,' +
	      'SignedHeaders=' + this.signedHeaders() + ',' +
	      'Signature=' + this.signature(credentials);
	  },

	  signedHeaders: function signedHeaders() {
	    var headers = [];
	    AWS.util.arrayEach(this.headersToSign(), function iterator(h) {
	      headers.push(h.toLowerCase());
	    });
	    return headers.sort().join(';');
	  },

	  canonicalHeaders: function canonicalHeaders() {
	    var headers = this.request.headers;
	    var parts = [];
	    AWS.util.arrayEach(this.headersToSign(), function iterator(h) {
	      parts.push(h.toLowerCase().trim() + ':' + String(headers[h]).trim());
	    });
	    return parts.sort().join('\n') + '\n';
	  },

	  headersToSign: function headersToSign() {
	    var headers = [];
	    AWS.util.each(this.request.headers, function iterator(k) {
	      if (k === 'Host' || k === 'Content-Encoding' || k.match(/^X-Amz/i)) {
	        headers.push(k);
	      }
	    });
	    return headers;
	  },

	  signature: function signature(credentials) {
	    return AWS.util.crypto.hmac(credentials.secretAccessKey, this.stringToSign(), 'base64');
	  },

	  stringToSign: function stringToSign() {
	    var parts = [];
	    parts.push(this.request.method);
	    parts.push('/');
	    parts.push('');
	    parts.push(this.canonicalHeaders());
	    parts.push(this.request.body);
	    return AWS.util.crypto.sha256(parts.join('\n'));
	  }

	});

	module.exports = AWS.Signers.V3;


/***/ }),
/* 216 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var inherit = AWS.util.inherit;

	__webpack_require__(215);

	/**
	 * @api private
	 */
	AWS.Signers.V3Https = inherit(AWS.Signers.V3, {
	  authorization: function authorization(credentials) {
	    return 'AWS3-HTTPS ' +
	      'AWSAccessKeyId=' + credentials.accessKeyId + ',' +
	      'Algorithm=HmacSHA256,' +
	      'Signature=' + this.signature(credentials);
	  },

	  stringToSign: function stringToSign() {
	    return this.request.headers['X-Amz-Date'];
	  }
	});

	module.exports = AWS.Signers.V3Https;


/***/ }),
/* 217 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var v4Credentials = __webpack_require__(218);
	var inherit = AWS.util.inherit;

	/**
	 * @api private
	 */
	var expiresHeader = 'presigned-expires';

	/**
	 * @api private
	 */
	AWS.Signers.V4 = inherit(AWS.Signers.RequestSigner, {
	  constructor: function V4(request, serviceName, options) {
	    AWS.Signers.RequestSigner.call(this, request);
	    this.serviceName = serviceName;
	    options = options || {};
	    this.signatureCache = typeof options.signatureCache === 'boolean' ? options.signatureCache : true;
	    this.operation = options.operation;
	  },

	  algorithm: 'AWS4-HMAC-SHA256',

	  addAuthorization: function addAuthorization(credentials, date) {
	    var datetime = AWS.util.date.iso8601(date).replace(/[:\-]|\.\d{3}/g, '');

	    if (this.isPresigned()) {
	      this.updateForPresigned(credentials, datetime);
	    } else {
	      this.addHeaders(credentials, datetime);
	    }

	    this.request.headers['Authorization'] =
	      this.authorization(credentials, datetime);
	  },

	  addHeaders: function addHeaders(credentials, datetime) {
	    this.request.headers['X-Amz-Date'] = datetime;
	    if (credentials.sessionToken) {
	      this.request.headers['x-amz-security-token'] = credentials.sessionToken;
	    }
	  },

	  updateForPresigned: function updateForPresigned(credentials, datetime) {
	    var credString = this.credentialString(datetime);
	    var qs = {
	      'X-Amz-Date': datetime,
	      'X-Amz-Algorithm': this.algorithm,
	      'X-Amz-Credential': credentials.accessKeyId + '/' + credString,
	      'X-Amz-Expires': this.request.headers[expiresHeader],
	      'X-Amz-SignedHeaders': this.signedHeaders()
	    };

	    if (credentials.sessionToken) {
	      qs['X-Amz-Security-Token'] = credentials.sessionToken;
	    }

	    if (this.request.headers['Content-Type']) {
	      qs['Content-Type'] = this.request.headers['Content-Type'];
	    }
	    if (this.request.headers['Content-MD5']) {
	      qs['Content-MD5'] = this.request.headers['Content-MD5'];
	    }
	    if (this.request.headers['Cache-Control']) {
	      qs['Cache-Control'] = this.request.headers['Cache-Control'];
	    }

	    // need to pull in any other X-Amz-* headers
	    AWS.util.each.call(this, this.request.headers, function(key, value) {
	      if (key === expiresHeader) return;
	      if (this.isSignableHeader(key)) {
	        var lowerKey = key.toLowerCase();
	        // Metadata should be normalized
	        if (lowerKey.indexOf('x-amz-meta-') === 0) {
	          qs[lowerKey] = value;
	        } else if (lowerKey.indexOf('x-amz-') === 0) {
	          qs[key] = value;
	        }
	      }
	    });

	    var sep = this.request.path.indexOf('?') >= 0 ? '&' : '?';
	    this.request.path += sep + AWS.util.queryParamsToString(qs);
	  },

	  authorization: function authorization(credentials, datetime) {
	    var parts = [];
	    var credString = this.credentialString(datetime);
	    parts.push(this.algorithm + ' Credential=' +
	      credentials.accessKeyId + '/' + credString);
	    parts.push('SignedHeaders=' + this.signedHeaders());
	    parts.push('Signature=' + this.signature(credentials, datetime));
	    return parts.join(', ');
	  },

	  signature: function signature(credentials, datetime) {
	    var signingKey = v4Credentials.getSigningKey(
	      credentials,
	      datetime.substr(0, 8),
	      this.request.region,
	      this.serviceName,
	      this.signatureCache
	    );
	    return AWS.util.crypto.hmac(signingKey, this.stringToSign(datetime), 'hex');
	  },

	  stringToSign: function stringToSign(datetime) {
	    var parts = [];
	    parts.push('AWS4-HMAC-SHA256');
	    parts.push(datetime);
	    parts.push(this.credentialString(datetime));
	    parts.push(this.hexEncodedHash(this.canonicalString()));
	    return parts.join('\n');
	  },

	  canonicalString: function canonicalString() {
	    var parts = [], pathname = this.request.pathname();
	    if (this.serviceName !== 's3') pathname = AWS.util.uriEscapePath(pathname);

	    parts.push(this.request.method);
	    parts.push(pathname);
	    parts.push(this.request.search());
	    parts.push(this.canonicalHeaders() + '\n');
	    parts.push(this.signedHeaders());
	    parts.push(this.hexEncodedBodyHash());
	    return parts.join('\n');
	  },

	  canonicalHeaders: function canonicalHeaders() {
	    var headers = [];
	    AWS.util.each.call(this, this.request.headers, function (key, item) {
	      headers.push([key, item]);
	    });
	    headers.sort(function (a, b) {
	      return a[0].toLowerCase() < b[0].toLowerCase() ? -1 : 1;
	    });
	    var parts = [];
	    AWS.util.arrayEach.call(this, headers, function (item) {
	      var key = item[0].toLowerCase();
	      if (this.isSignableHeader(key)) {
	        var value = item[1];
	        if (typeof value === 'undefined' || value === null || typeof value.toString !== 'function') {
	          throw AWS.util.error(new Error('Header ' + key + ' contains invalid value'), {
	            code: 'InvalidHeader'
	          });
	        }
	        parts.push(key + ':' +
	          this.canonicalHeaderValues(value.toString()));
	      }
	    });
	    return parts.join('\n');
	  },

	  canonicalHeaderValues: function canonicalHeaderValues(values) {
	    return values.replace(/\s+/g, ' ').replace(/^\s+|\s+$/g, '');
	  },

	  signedHeaders: function signedHeaders() {
	    var keys = [];
	    AWS.util.each.call(this, this.request.headers, function (key) {
	      key = key.toLowerCase();
	      if (this.isSignableHeader(key)) keys.push(key);
	    });
	    return keys.sort().join(';');
	  },

	  credentialString: function credentialString(datetime) {
	    return v4Credentials.createScope(
	      datetime.substr(0, 8),
	      this.request.region,
	      this.serviceName
	    );
	  },

	  hexEncodedHash: function hash(string) {
	    return AWS.util.crypto.sha256(string, 'hex');
	  },

	  hexEncodedBodyHash: function hexEncodedBodyHash() {
	    var request = this.request;
	    if (this.isPresigned() && this.serviceName === 's3' && !request.body) {
	      return 'UNSIGNED-PAYLOAD';
	    } else if (request.headers['X-Amz-Content-Sha256']) {
	      return request.headers['X-Amz-Content-Sha256'];
	    } else {
	      return this.hexEncodedHash(this.request.body || '');
	    }
	  },

	  unsignableHeaders: [
	    'authorization',
	    'content-type',
	    'content-length',
	    'user-agent',
	    expiresHeader,
	    'expect',
	    'x-amzn-trace-id'
	  ],

	  isSignableHeader: function isSignableHeader(key) {
	    if (key.toLowerCase().indexOf('x-amz-') === 0) return true;
	    return this.unsignableHeaders.indexOf(key) < 0;
	  },

	  isPresigned: function isPresigned() {
	    return this.request.headers[expiresHeader] ? true : false;
	  }

	});

	module.exports = AWS.Signers.V4;


/***/ }),
/* 218 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	/**
	 * @api private
	 */
	var cachedSecret = {};

	/**
	 * @api private
	 */
	var cacheQueue = [];

	/**
	 * @api private
	 */
	var maxCacheEntries = 50;

	/**
	 * @api private
	 */
	var v4Identifier = 'aws4_request';

	module.exports = {
	  /**
	   * @api private
	   *
	   * @param date [String]
	   * @param region [String]
	   * @param serviceName [String]
	   * @return [String]
	   */
	  createScope: function createScope(date, region, serviceName) {
	    return [
	      date.substr(0, 8),
	      region,
	      serviceName,
	      v4Identifier
	    ].join('/');
	  },

	  /**
	   * @api private
	   *
	   * @param credentials [Credentials]
	   * @param date [String]
	   * @param region [String]
	   * @param service [String]
	   * @param shouldCache [Boolean]
	   * @return [String]
	   */
	  getSigningKey: function getSigningKey(
	    credentials,
	    date,
	    region,
	    service,
	    shouldCache
	  ) {
	    var credsIdentifier = AWS.util.crypto
	      .hmac(credentials.secretAccessKey, credentials.accessKeyId, 'base64');
	    var cacheKey = [credsIdentifier, date, region, service].join('_');
	    shouldCache = shouldCache !== false;
	    if (shouldCache && (cacheKey in cachedSecret)) {
	      return cachedSecret[cacheKey];
	    }

	    var kDate = AWS.util.crypto.hmac(
	      'AWS4' + credentials.secretAccessKey,
	      date,
	      'buffer'
	    );
	    var kRegion = AWS.util.crypto.hmac(kDate, region, 'buffer');
	    var kService = AWS.util.crypto.hmac(kRegion, service, 'buffer');

	    var signingKey = AWS.util.crypto.hmac(kService, v4Identifier, 'buffer');
	    if (shouldCache) {
	      cachedSecret[cacheKey] = signingKey;
	      cacheQueue.push(cacheKey);
	      if (cacheQueue.length > maxCacheEntries) {
	        // remove the oldest entry (not the least recently used)
	        delete cachedSecret[cacheQueue.shift()];
	      }
	    }

	    return signingKey;
	  },

	  /**
	   * @api private
	   *
	   * Empties the derived signing key cache. Made available for testing purposes
	   * only.
	   */
	  emptyCache: function emptyCache() {
	    cachedSecret = {};
	    cacheQueue = [];
	  }
	};


/***/ }),
/* 219 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var inherit = AWS.util.inherit;

	/**
	 * @api private
	 */
	AWS.Signers.S3 = inherit(AWS.Signers.RequestSigner, {
	  /**
	   * When building the stringToSign, these sub resource params should be
	   * part of the canonical resource string with their NON-decoded values
	   */
	  subResources: {
	    'acl': 1,
	    'accelerate': 1,
	    'analytics': 1,
	    'cors': 1,
	    'lifecycle': 1,
	    'delete': 1,
	    'inventory': 1,
	    'location': 1,
	    'logging': 1,
	    'metrics': 1,
	    'notification': 1,
	    'partNumber': 1,
	    'policy': 1,
	    'requestPayment': 1,
	    'replication': 1,
	    'restore': 1,
	    'tagging': 1,
	    'torrent': 1,
	    'uploadId': 1,
	    'uploads': 1,
	    'versionId': 1,
	    'versioning': 1,
	    'versions': 1,
	    'website': 1
	  },

	  // when building the stringToSign, these querystring params should be
	  // part of the canonical resource string with their NON-encoded values
	  responseHeaders: {
	    'response-content-type': 1,
	    'response-content-language': 1,
	    'response-expires': 1,
	    'response-cache-control': 1,
	    'response-content-disposition': 1,
	    'response-content-encoding': 1
	  },

	  addAuthorization: function addAuthorization(credentials, date) {
	    if (!this.request.headers['presigned-expires']) {
	      this.request.headers['X-Amz-Date'] = AWS.util.date.rfc822(date);
	    }

	    if (credentials.sessionToken) {
	      // presigned URLs require this header to be lowercased
	      this.request.headers['x-amz-security-token'] = credentials.sessionToken;
	    }

	    var signature = this.sign(credentials.secretAccessKey, this.stringToSign());
	    var auth = 'AWS ' + credentials.accessKeyId + ':' + signature;

	    this.request.headers['Authorization'] = auth;
	  },

	  stringToSign: function stringToSign() {
	    var r = this.request;

	    var parts = [];
	    parts.push(r.method);
	    parts.push(r.headers['Content-MD5'] || '');
	    parts.push(r.headers['Content-Type'] || '');

	    // This is the "Date" header, but we use X-Amz-Date.
	    // The S3 signing mechanism requires us to pass an empty
	    // string for this Date header regardless.
	    parts.push(r.headers['presigned-expires'] || '');

	    var headers = this.canonicalizedAmzHeaders();
	    if (headers) parts.push(headers);
	    parts.push(this.canonicalizedResource());

	    return parts.join('\n');

	  },

	  canonicalizedAmzHeaders: function canonicalizedAmzHeaders() {

	    var amzHeaders = [];

	    AWS.util.each(this.request.headers, function (name) {
	      if (name.match(/^x-amz-/i))
	        amzHeaders.push(name);
	    });

	    amzHeaders.sort(function (a, b) {
	      return a.toLowerCase() < b.toLowerCase() ? -1 : 1;
	    });

	    var parts = [];
	    AWS.util.arrayEach.call(this, amzHeaders, function (name) {
	      parts.push(name.toLowerCase() + ':' + String(this.request.headers[name]));
	    });

	    return parts.join('\n');

	  },

	  canonicalizedResource: function canonicalizedResource() {

	    var r = this.request;

	    var parts = r.path.split('?');
	    var path = parts[0];
	    var querystring = parts[1];

	    var resource = '';

	    if (r.virtualHostedBucket)
	      resource += '/' + r.virtualHostedBucket;

	    resource += path;

	    if (querystring) {

	      // collect a list of sub resources and query params that need to be signed
	      var resources = [];

	      AWS.util.arrayEach.call(this, querystring.split('&'), function (param) {
	        var name = param.split('=')[0];
	        var value = param.split('=')[1];
	        if (this.subResources[name] || this.responseHeaders[name]) {
	          var subresource = { name: name };
	          if (value !== undefined) {
	            if (this.subResources[name]) {
	              subresource.value = value;
	            } else {
	              subresource.value = decodeURIComponent(value);
	            }
	          }
	          resources.push(subresource);
	        }
	      });

	      resources.sort(function (a, b) { return a.name < b.name ? -1 : 1; });

	      if (resources.length) {

	        querystring = [];
	        AWS.util.arrayEach(resources, function (res) {
	          if (res.value === undefined) {
	            querystring.push(res.name);
	          } else {
	            querystring.push(res.name + '=' + res.value);
	          }
	        });

	        resource += '?' + querystring.join('&');
	      }

	    }

	    return resource;

	  },

	  sign: function sign(secret, string) {
	    return AWS.util.crypto.hmac(secret, string, 'base64', 'sha1');
	  }
	});

	module.exports = AWS.Signers.S3;


/***/ }),
/* 220 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var inherit = AWS.util.inherit;

	/**
	 * @api private
	 */
	var expiresHeader = 'presigned-expires';

	/**
	 * @api private
	 */
	function signedUrlBuilder(request) {
	  var expires = request.httpRequest.headers[expiresHeader];
	  var signerClass = request.service.getSignerClass(request);

	  delete request.httpRequest.headers['User-Agent'];
	  delete request.httpRequest.headers['X-Amz-User-Agent'];

	  if (signerClass === AWS.Signers.V4) {
	    if (expires > 604800) { // one week expiry is invalid
	      var message = 'Presigning does not support expiry time greater ' +
	                    'than a week with SigV4 signing.';
	      throw AWS.util.error(new Error(), {
	        code: 'InvalidExpiryTime', message: message, retryable: false
	      });
	    }
	    request.httpRequest.headers[expiresHeader] = expires;
	  } else if (signerClass === AWS.Signers.S3) {
	    request.httpRequest.headers[expiresHeader] = parseInt(
	      AWS.util.date.unixTimestamp() + expires, 10).toString();
	  } else {
	    throw AWS.util.error(new Error(), {
	      message: 'Presigning only supports S3 or SigV4 signing.',
	      code: 'UnsupportedSigner', retryable: false
	    });
	  }
	}

	/**
	 * @api private
	 */
	function signedUrlSigner(request) {
	  var endpoint = request.httpRequest.endpoint;
	  var parsedUrl = AWS.util.urlParse(request.httpRequest.path);
	  var queryParams = {};

	  if (parsedUrl.search) {
	    queryParams = AWS.util.queryStringParse(parsedUrl.search.substr(1));
	  }

	  AWS.util.each(request.httpRequest.headers, function (key, value) {
	    if (key === expiresHeader) key = 'Expires';
	    if (key.indexOf('x-amz-meta-') === 0) {
	      // Delete existing, potentially not normalized key
	      delete queryParams[key];
	      key = key.toLowerCase();
	    }
	    queryParams[key] = value;
	  });
	  delete request.httpRequest.headers[expiresHeader];

	  var auth = queryParams['Authorization'].split(' ');
	  if (auth[0] === 'AWS') {
	    auth = auth[1].split(':');
	    queryParams['AWSAccessKeyId'] = auth[0];
	    queryParams['Signature'] = auth[1];
	  } else if (auth[0] === 'AWS4-HMAC-SHA256') { // SigV4 signing
	    auth.shift();
	    var rest = auth.join(' ');
	    var signature = rest.match(/Signature=(.*?)(?:,|\s|\r?\n|$)/)[1];
	    queryParams['X-Amz-Signature'] = signature;
	    delete queryParams['Expires'];
	  }
	  delete queryParams['Authorization'];
	  delete queryParams['Host'];

	  // build URL
	  endpoint.pathname = parsedUrl.pathname;
	  endpoint.search = AWS.util.queryParamsToString(queryParams);
	}

	/**
	 * @api private
	 */
	AWS.Signers.Presign = inherit({
	  /**
	   * @api private
	   */
	  sign: function sign(request, expireTime, callback) {
	    request.httpRequest.headers[expiresHeader] = expireTime || 3600;
	    request.on('build', signedUrlBuilder);
	    request.on('sign', signedUrlSigner);
	    request.removeListener('afterBuild',
	      AWS.EventListeners.Core.SET_CONTENT_LENGTH);
	    request.removeListener('afterBuild',
	      AWS.EventListeners.Core.COMPUTE_SHA256);

	    request.emit('beforePresign', [request]);

	    if (callback) {
	      request.build(function() {
	        if (this.response.error) callback(this.response.error);
	        else {
	          callback(null, AWS.util.urlFormat(request.httpRequest.endpoint));
	        }
	      });
	    } else {
	      request.build();
	      if (request.response.error) throw request.response.error;
	      return AWS.util.urlFormat(request.httpRequest.endpoint);
	    }
	  }
	});

	module.exports = AWS.Signers.Presign;


/***/ }),
/* 221 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	/**
	 * @api private
	 */
	AWS.ParamValidator = AWS.util.inherit({
	  /**
	   * Create a new validator object.
	   *
	   * @param validation [Boolean|map] whether input parameters should be
	   *     validated against the operation description before sending the
	   *     request. Pass a map to enable any of the following specific
	   *     validation features:
	   *
	   *     * **min** [Boolean] &mdash; Validates that a value meets the min
	   *       constraint. This is enabled by default when paramValidation is set
	   *       to `true`.
	   *     * **max** [Boolean] &mdash; Validates that a value meets the max
	   *       constraint.
	   *     * **pattern** [Boolean] &mdash; Validates that a string value matches a
	   *       regular expression.
	   *     * **enum** [Boolean] &mdash; Validates that a string value matches one
	   *       of the allowable enum values.
	   */
	  constructor: function ParamValidator(validation) {
	    if (validation === true || validation === undefined) {
	      validation = {'min': true};
	    }
	    this.validation = validation;
	  },

	  validate: function validate(shape, params, context) {
	    this.errors = [];
	    this.validateMember(shape, params || {}, context || 'params');

	    if (this.errors.length > 1) {
	      var msg = this.errors.join('\n* ');
	      msg = 'There were ' + this.errors.length +
	        ' validation errors:\n* ' + msg;
	      throw AWS.util.error(new Error(msg),
	        {code: 'MultipleValidationErrors', errors: this.errors});
	    } else if (this.errors.length === 1) {
	      throw this.errors[0];
	    } else {
	      return true;
	    }
	  },

	  fail: function fail(code, message) {
	    this.errors.push(AWS.util.error(new Error(message), {code: code}));
	  },

	  validateStructure: function validateStructure(shape, params, context) {
	    this.validateType(params, context, ['object'], 'structure');

	    var paramName;
	    for (var i = 0; shape.required && i < shape.required.length; i++) {
	      paramName = shape.required[i];
	      var value = params[paramName];
	      if (value === undefined || value === null) {
	        this.fail('MissingRequiredParameter',
	          'Missing required key \'' + paramName + '\' in ' + context);
	      }
	    }

	    // validate hash members
	    for (paramName in params) {
	      if (!Object.prototype.hasOwnProperty.call(params, paramName)) continue;

	      var paramValue = params[paramName],
	          memberShape = shape.members[paramName];

	      if (memberShape !== undefined) {
	        var memberContext = [context, paramName].join('.');
	        this.validateMember(memberShape, paramValue, memberContext);
	      } else {
	        this.fail('UnexpectedParameter',
	          'Unexpected key \'' + paramName + '\' found in ' + context);
	      }
	    }

	    return true;
	  },

	  validateMember: function validateMember(shape, param, context) {
	    switch (shape.type) {
	      case 'structure':
	        return this.validateStructure(shape, param, context);
	      case 'list':
	        return this.validateList(shape, param, context);
	      case 'map':
	        return this.validateMap(shape, param, context);
	      default:
	        return this.validateScalar(shape, param, context);
	    }
	  },

	  validateList: function validateList(shape, params, context) {
	    if (this.validateType(params, context, [Array])) {
	      this.validateRange(shape, params.length, context, 'list member count');
	      // validate array members
	      for (var i = 0; i < params.length; i++) {
	        this.validateMember(shape.member, params[i], context + '[' + i + ']');
	      }
	    }
	  },

	  validateMap: function validateMap(shape, params, context) {
	    if (this.validateType(params, context, ['object'], 'map')) {
	      // Build up a count of map members to validate range traits.
	      var mapCount = 0;
	      for (var param in params) {
	        if (!Object.prototype.hasOwnProperty.call(params, param)) continue;
	        // Validate any map key trait constraints
	        this.validateMember(shape.key, param,
	                            context + '[key=\'' + param + '\']')
	        this.validateMember(shape.value, params[param],
	                            context + '[\'' + param + '\']');
	        mapCount++;
	      }
	      this.validateRange(shape, mapCount, context, 'map member count');
	    }
	  },

	  validateScalar: function validateScalar(shape, value, context) {
	    switch (shape.type) {
	      case null:
	      case undefined:
	      case 'string':
	        return this.validateString(shape, value, context);
	      case 'base64':
	      case 'binary':
	        return this.validatePayload(value, context);
	      case 'integer':
	      case 'float':
	        return this.validateNumber(shape, value, context);
	      case 'boolean':
	        return this.validateType(value, context, ['boolean']);
	      case 'timestamp':
	        return this.validateType(value, context, [Date,
	          /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/, 'number'],
	          'Date object, ISO-8601 string, or a UNIX timestamp');
	      default:
	        return this.fail('UnkownType', 'Unhandled type ' +
	                         shape.type + ' for ' + context);
	    }
	  },

	  validateString: function validateString(shape, value, context) {
	    var validTypes = ['string'];
	    if (shape.isJsonValue) {
	      validTypes = validTypes.concat(['number', 'object', 'boolean']);
	    }
	    if (value !== null && this.validateType(value, context, validTypes)) {
	      this.validateEnum(shape, value, context);
	      this.validateRange(shape, value.length, context, 'string length');
	      this.validatePattern(shape, value, context);
	    }
	  },

	  validatePattern: function validatePattern(shape, value, context) {
	    if (this.validation['pattern'] && shape['pattern'] !== undefined) {
	      if (!(new RegExp(shape['pattern'])).test(value)) {
	        this.fail('PatternMatchError', 'Provided value "' + value + '" '
	          + 'does not match regex pattern /' + shape['pattern'] + '/ for '
	          + context);
	      }
	    }
	  },

	  validateRange: function validateRange(shape, value, context, descriptor) {
	    if (this.validation['min']) {
	      if (shape['min'] !== undefined && value < shape['min']) {
	        this.fail('MinRangeError', 'Expected ' + descriptor + ' >= '
	          + shape['min'] + ', but found ' + value + ' for ' + context);
	      }
	    }
	    if (this.validation['max']) {
	      if (shape['max'] !== undefined && value > shape['max']) {
	        this.fail('MaxRangeError', 'Expected ' + descriptor + ' <= '
	          + shape['max'] + ', but found ' + value + ' for ' + context);
	      }
	    }
	  },

	  validateEnum: function validateRange(shape, value, context) {
	    if (this.validation['enum'] && shape['enum'] !== undefined) {
	      // Fail if the string value is not present in the enum list
	      if (shape['enum'].indexOf(value) === -1) {
	        this.fail('EnumError', 'Found string value of ' + value + ', but '
	          + 'expected ' + shape['enum'].join('|') + ' for ' + context);
	      }
	    }
	  },

	  validateType: function validateType(value, context, acceptedTypes, type) {
	    // We will not log an error for null or undefined, but we will return
	    // false so that callers know that the expected type was not strictly met.
	    if (value === null || value === undefined) return false;

	    var foundInvalidType = false;
	    for (var i = 0; i < acceptedTypes.length; i++) {
	      if (typeof acceptedTypes[i] === 'string') {
	        if (typeof value === acceptedTypes[i]) return true;
	      } else if (acceptedTypes[i] instanceof RegExp) {
	        if ((value || '').toString().match(acceptedTypes[i])) return true;
	      } else {
	        if (value instanceof acceptedTypes[i]) return true;
	        if (AWS.util.isType(value, acceptedTypes[i])) return true;
	        if (!type && !foundInvalidType) acceptedTypes = acceptedTypes.slice();
	        acceptedTypes[i] = AWS.util.typeName(acceptedTypes[i]);
	      }
	      foundInvalidType = true;
	    }

	    var acceptedType = type;
	    if (!acceptedType) {
	      acceptedType = acceptedTypes.join(', ').replace(/,([^,]+)$/, ', or$1');
	    }

	    var vowel = acceptedType.match(/^[aeiou]/i) ? 'n' : '';
	    this.fail('InvalidParameterType', 'Expected ' + context + ' to be a' +
	              vowel + ' ' + acceptedType);
	    return false;
	  },

	  validateNumber: function validateNumber(shape, value, context) {
	    if (value === null || value === undefined) return;
	    if (typeof value === 'string') {
	      var castedValue = parseFloat(value);
	      if (castedValue.toString() === value) value = castedValue;
	    }
	    if (this.validateType(value, context, ['number'])) {
	      this.validateRange(shape, value, context, 'numeric value');
	    }
	  },

	  validatePayload: function validatePayload(value, context) {
	    if (value === null || value === undefined) return;
	    if (typeof value === 'string') return;
	    if (value && typeof value.byteLength === 'number') return; // typed arrays
	    if (AWS.util.isNode()) { // special check for buffer/stream in Node.js
	      var Stream = AWS.util.stream.Stream;
	      if (AWS.util.Buffer.isBuffer(value) || value instanceof Stream) return;
	    }

	    var types = ['Buffer', 'Stream', 'File', 'Blob', 'ArrayBuffer', 'DataView'];
	    if (value) {
	      for (var i = 0; i < types.length; i++) {
	        if (AWS.util.isType(value, types[i])) return;
	        if (AWS.util.typeName(value.constructor) === types[i]) return;
	      }
	    }

	    this.fail('InvalidParameterType', 'Expected ' + context + ' to be a ' +
	      'string, Buffer, Stream, Blob, or typed array object');
	  }
	});


/***/ }),
/* 222 */
/***/ (function(module, exports) {

	// use this when replacing modules with an empty replacement (needed for react-native)
	module.exports = {};

/***/ }),
/* 223 */
/***/ (function(module, exports) {

	module.exports = {
		"acm": {
			"name": "ACM",
			"cors": true
		},
		"apigateway": {
			"name": "APIGateway",
			"cors": true
		},
		"applicationautoscaling": {
			"prefix": "application-autoscaling",
			"name": "ApplicationAutoScaling",
			"cors": true
		},
		"appstream": {
			"name": "AppStream"
		},
		"autoscaling": {
			"name": "AutoScaling",
			"cors": true
		},
		"batch": {
			"name": "Batch"
		},
		"budgets": {
			"name": "Budgets"
		},
		"clouddirectory": {
			"name": "CloudDirectory"
		},
		"cloudformation": {
			"name": "CloudFormation",
			"cors": true
		},
		"cloudfront": {
			"name": "CloudFront",
			"versions": [
				"2013-05-12*",
				"2013-11-11*",
				"2014-05-31*",
				"2014-10-21*",
				"2014-11-06*",
				"2015-04-17*",
				"2015-07-27*",
				"2015-09-17*",
				"2016-01-13*",
				"2016-01-28*",
				"2016-08-01*",
				"2016-08-20*",
				"2016-09-07*",
				"2016-09-29*",
				"2016-11-25*"
			],
			"cors": true
		},
		"cloudhsm": {
			"name": "CloudHSM",
			"cors": true
		},
		"cloudsearch": {
			"name": "CloudSearch"
		},
		"cloudsearchdomain": {
			"name": "CloudSearchDomain"
		},
		"cloudtrail": {
			"name": "CloudTrail",
			"cors": true
		},
		"cloudwatch": {
			"prefix": "monitoring",
			"name": "CloudWatch",
			"cors": true
		},
		"cloudwatchevents": {
			"prefix": "events",
			"name": "CloudWatchEvents",
			"versions": [
				"2014-02-03*"
			],
			"cors": true
		},
		"cloudwatchlogs": {
			"prefix": "logs",
			"name": "CloudWatchLogs",
			"cors": true
		},
		"codebuild": {
			"name": "CodeBuild"
		},
		"codecommit": {
			"name": "CodeCommit",
			"cors": true
		},
		"codedeploy": {
			"name": "CodeDeploy",
			"cors": true
		},
		"codepipeline": {
			"name": "CodePipeline",
			"cors": true
		},
		"cognitoidentity": {
			"prefix": "cognito-identity",
			"name": "CognitoIdentity",
			"cors": true
		},
		"cognitoidentityserviceprovider": {
			"prefix": "cognito-idp",
			"name": "CognitoIdentityServiceProvider",
			"cors": true
		},
		"cognitosync": {
			"prefix": "cognito-sync",
			"name": "CognitoSync",
			"cors": true
		},
		"configservice": {
			"prefix": "config",
			"name": "ConfigService",
			"cors": true
		},
		"cur": {
			"name": "CUR",
			"cors": true
		},
		"datapipeline": {
			"name": "DataPipeline"
		},
		"devicefarm": {
			"name": "DeviceFarm",
			"cors": true
		},
		"directconnect": {
			"name": "DirectConnect",
			"cors": true
		},
		"directoryservice": {
			"prefix": "ds",
			"name": "DirectoryService"
		},
		"discovery": {
			"name": "Discovery"
		},
		"dms": {
			"name": "DMS"
		},
		"dynamodb": {
			"name": "DynamoDB",
			"cors": true
		},
		"dynamodbstreams": {
			"prefix": "streams.dynamodb",
			"name": "DynamoDBStreams",
			"cors": true
		},
		"ec2": {
			"name": "EC2",
			"versions": [
				"2013-06-15*",
				"2013-10-15*",
				"2014-02-01*",
				"2014-05-01*",
				"2014-06-15*",
				"2014-09-01*",
				"2014-10-01*",
				"2015-03-01*",
				"2015-04-15*",
				"2015-10-01*",
				"2016-04-01*",
				"2016-09-15*"
			],
			"cors": true
		},
		"ecr": {
			"name": "ECR",
			"cors": true
		},
		"ecs": {
			"name": "ECS",
			"cors": true
		},
		"efs": {
			"prefix": "elasticfilesystem",
			"name": "EFS",
			"cors": true
		},
		"elasticache": {
			"name": "ElastiCache",
			"versions": [
				"2012-11-15*",
				"2014-03-24*",
				"2014-07-15*",
				"2014-09-30*"
			],
			"cors": true
		},
		"elasticbeanstalk": {
			"name": "ElasticBeanstalk",
			"cors": true
		},
		"elb": {
			"prefix": "elasticloadbalancing",
			"name": "ELB",
			"cors": true
		},
		"elbv2": {
			"prefix": "elasticloadbalancingv2",
			"name": "ELBv2",
			"cors": true
		},
		"emr": {
			"prefix": "elasticmapreduce",
			"name": "EMR",
			"cors": true
		},
		"es": {
			"name": "ES"
		},
		"elastictranscoder": {
			"name": "ElasticTranscoder",
			"cors": true
		},
		"firehose": {
			"name": "Firehose",
			"cors": true
		},
		"gamelift": {
			"name": "GameLift",
			"cors": true
		},
		"glacier": {
			"name": "Glacier"
		},
		"health": {
			"name": "Health"
		},
		"iam": {
			"name": "IAM"
		},
		"importexport": {
			"name": "ImportExport"
		},
		"inspector": {
			"name": "Inspector",
			"versions": [
				"2015-08-18*"
			],
			"cors": true
		},
		"iot": {
			"name": "Iot",
			"cors": true
		},
		"iotdata": {
			"prefix": "iot-data",
			"name": "IotData",
			"cors": true
		},
		"kinesis": {
			"name": "Kinesis",
			"cors": true
		},
		"kinesisanalytics": {
			"name": "KinesisAnalytics"
		},
		"kms": {
			"name": "KMS",
			"cors": true
		},
		"lambda": {
			"name": "Lambda",
			"cors": true
		},
		"lexruntime": {
			"prefix": "runtime.lex",
			"name": "LexRuntime",
			"cors": true
		},
		"lightsail": {
			"name": "Lightsail"
		},
		"machinelearning": {
			"name": "MachineLearning",
			"cors": true
		},
		"marketplacecommerceanalytics": {
			"name": "MarketplaceCommerceAnalytics",
			"cors": true
		},
		"marketplacemetering": {
			"prefix": "meteringmarketplace",
			"name": "MarketplaceMetering"
		},
		"mturk": {
			"prefix": "mturk-requester",
			"name": "MTurk",
			"cors": true
		},
		"mobileanalytics": {
			"name": "MobileAnalytics",
			"cors": true
		},
		"opsworks": {
			"name": "OpsWorks",
			"cors": true
		},
		"opsworkscm": {
			"name": "OpsWorksCM"
		},
		"organizations": {
			"name": "Organizations"
		},
		"pinpoint": {
			"name": "Pinpoint"
		},
		"polly": {
			"name": "Polly",
			"cors": true
		},
		"rds": {
			"name": "RDS",
			"versions": [
				"2014-09-01*"
			],
			"cors": true
		},
		"redshift": {
			"name": "Redshift",
			"cors": true
		},
		"rekognition": {
			"name": "Rekognition",
			"cors": true
		},
		"resourcegroupstaggingapi": {
			"name": "ResourceGroupsTaggingAPI"
		},
		"route53": {
			"name": "Route53",
			"cors": true
		},
		"route53domains": {
			"name": "Route53Domains",
			"cors": true
		},
		"s3": {
			"name": "S3",
			"dualstackAvailable": true,
			"cors": true
		},
		"servicecatalog": {
			"name": "ServiceCatalog",
			"cors": true
		},
		"ses": {
			"prefix": "email",
			"name": "SES",
			"cors": true
		},
		"shield": {
			"name": "Shield"
		},
		"simpledb": {
			"prefix": "sdb",
			"name": "SimpleDB"
		},
		"sms": {
			"name": "SMS"
		},
		"snowball": {
			"name": "Snowball"
		},
		"sns": {
			"name": "SNS",
			"cors": true
		},
		"sqs": {
			"name": "SQS",
			"cors": true
		},
		"ssm": {
			"name": "SSM",
			"cors": true
		},
		"storagegateway": {
			"name": "StorageGateway",
			"cors": true
		},
		"stepfunctions": {
			"prefix": "states",
			"name": "StepFunctions"
		},
		"sts": {
			"name": "STS",
			"cors": true
		},
		"support": {
			"name": "Support"
		},
		"swf": {
			"name": "SWF"
		},
		"xray": {
			"name": "XRay"
		},
		"waf": {
			"name": "WAF",
			"cors": true
		},
		"wafregional": {
			"prefix": "waf-regional",
			"name": "WAFRegional"
		},
		"workdocs": {
			"name": "WorkDocs",
			"cors": true
		},
		"workspaces": {
			"name": "WorkSpaces"
		},
		"codestar": {
			"name": "CodeStar"
		},
		"lexmodelbuildingservice": {
			"prefix": "lex-models",
			"name": "LexModelBuildingService"
		},
		"marketplaceentitlementservice": {
			"prefix": "entitlement.marketplace",
			"name": "MarketplaceEntitlementService"
		},
		"athena": {
			"name": "Athena"
		},
		"greengrass": {
			"name": "Greengrass"
		},
		"dax": {
			"name": "DAX"
		}
	};

/***/ }),
/* 224 */
/***/ (function(module, exports, __webpack_require__) {

	var v1 = __webpack_require__(225);
	var v4 = __webpack_require__(279);

	var uuid = v4;
	uuid.v1 = v1;
	uuid.v4 = v4;

	module.exports = uuid;


/***/ }),
/* 225 */
/***/ (function(module, exports, __webpack_require__) {

	// Unique ID creation requires a high quality random # generator.  We feature
	// detect to determine the best RNG source, normalizing to a function that
	// returns 128-bits of randomness, since that's what's usually required
	var rng = __webpack_require__(226);
	var bytesToUuid = __webpack_require__(278);

	// **`v1()` - Generate time-based UUID**
	//
	// Inspired by https://github.com/LiosK/UUID.js
	// and http://docs.python.org/library/uuid.html

	// random #'s we need to init node and clockseq
	var _seedBytes = rng();

	// Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
	var _nodeId = [
	  _seedBytes[0] | 0x01,
	  _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5]
	];

	// Per 4.2.2, randomize (14 bit) clockseq
	var _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 0x3fff;

	// Previous uuid creation time
	var _lastMSecs = 0, _lastNSecs = 0;

	// See https://github.com/broofa/node-uuid for API details
	function v1(options, buf, offset) {
	  var i = buf && offset || 0;
	  var b = buf || [];

	  options = options || {};

	  var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;

	  // UUID timestamps are 100 nano-second units since the Gregorian epoch,
	  // (1582-10-15 00:00).  JSNumbers aren't precise enough for this, so
	  // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
	  // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
	  var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();

	  // Per 4.2.1.2, use count of uuid's generated during the current clock
	  // cycle to simulate higher resolution clock
	  var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;

	  // Time since last uuid creation (in msecs)
	  var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;

	  // Per 4.2.1.2, Bump clockseq on clock regression
	  if (dt < 0 && options.clockseq === undefined) {
	    clockseq = clockseq + 1 & 0x3fff;
	  }

	  // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
	  // time interval
	  if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
	    nsecs = 0;
	  }

	  // Per 4.2.1.2 Throw error if too many uuids are requested
	  if (nsecs >= 10000) {
	    throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec');
	  }

	  _lastMSecs = msecs;
	  _lastNSecs = nsecs;
	  _clockseq = clockseq;

	  // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
	  msecs += 12219292800000;

	  // `time_low`
	  var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
	  b[i++] = tl >>> 24 & 0xff;
	  b[i++] = tl >>> 16 & 0xff;
	  b[i++] = tl >>> 8 & 0xff;
	  b[i++] = tl & 0xff;

	  // `time_mid`
	  var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;
	  b[i++] = tmh >>> 8 & 0xff;
	  b[i++] = tmh & 0xff;

	  // `time_high_and_version`
	  b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
	  b[i++] = tmh >>> 16 & 0xff;

	  // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
	  b[i++] = clockseq >>> 8 | 0x80;

	  // `clock_seq_low`
	  b[i++] = clockseq & 0xff;

	  // `node`
	  var node = options.node || _nodeId;
	  for (var n = 0; n < 6; ++n) {
	    b[i + n] = node[n];
	  }

	  return buf ? buf : bytesToUuid(b);
	}

	module.exports = v1;


/***/ }),
/* 226 */
/***/ (function(module, exports, __webpack_require__) {

	// Unique ID creation requires a high quality random # generator.  In node.js
	// this is prett straight-forward - we use the crypto API.

	var rb = __webpack_require__(227).randomBytes;

	function rng() {
	  return rb(16);
	};

	module.exports = rng;


/***/ }),
/* 227 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var rng = __webpack_require__(228)

	function error () {
	  var m = [].slice.call(arguments).join(' ')
	  throw new Error([
	    m,
	    'we accept pull requests',
	    'http://github.com/dominictarr/crypto-browserify'
	    ].join('\n'))
	}

	exports.createHash = __webpack_require__(229)

	exports.createHmac = __webpack_require__(238)

	exports.randomBytes = function(size, callback) {
	  if (callback && callback.call) {
	    try {
	      callback.call(this, undefined, new Buffer(rng(size)))
	    } catch (err) { callback(err) }
	  } else {
	    return new Buffer(rng(size))
	  }
	}

	function each(a, f) {
	  for(var i in a)
	    f(a[i], i)
	}

	exports.getHashes = function () {
	  return ['sha1', 'sha256', 'sha512', 'md5', 'rmd160']
	}

	var p = __webpack_require__(239)(exports)
	exports.pbkdf2 = p.pbkdf2
	exports.pbkdf2Sync = p.pbkdf2Sync
	__webpack_require__(241)(exports, module.exports);

	// the least I can do is make error messages for the rest of the node.js/crypto api.
	each(['createCredentials'
	, 'createSign'
	, 'createVerify'
	, 'createDiffieHellman'
	], function (name) {
	  exports[name] = function () {
	    error('sorry,', name, 'is not implemented yet')
	  }
	})

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 228 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(global, Buffer) {(function() {
	  var g = ('undefined' === typeof window ? global : window) || {}
	  _crypto = (
	    g.crypto || g.msCrypto || __webpack_require__(227)
	  )
	  module.exports = function(size) {
	    // Modern Browsers
	    if(_crypto.getRandomValues) {
	      var bytes = new Buffer(size); //in browserify, this is an extended Uint8Array
	      /* This will not work in older browsers.
	       * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
	       */
	    
	      _crypto.getRandomValues(bytes);
	      return bytes;
	    }
	    else if (_crypto.randomBytes) {
	      return _crypto.randomBytes(size)
	    }
	    else
	      throw new Error(
	        'secure random number generation not supported by this browser\n'+
	        'use chrome, FireFox or Internet Explorer 11'
	      )
	  }
	}())

	/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(203).Buffer))

/***/ }),
/* 229 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var createHash = __webpack_require__(230)

	var md5 = toConstructor(__webpack_require__(235))
	var rmd160 = toConstructor(__webpack_require__(237))

	function toConstructor (fn) {
	  return function () {
	    var buffers = []
	    var m= {
	      update: function (data, enc) {
	        if(!Buffer.isBuffer(data)) data = new Buffer(data, enc)
	        buffers.push(data)
	        return this
	      },
	      digest: function (enc) {
	        var buf = Buffer.concat(buffers)
	        var r = fn(buf)
	        buffers = null
	        return enc ? r.toString(enc) : r
	      }
	    }
	    return m
	  }
	}

	module.exports = function (alg) {
	  if('md5' === alg) return new md5()
	  if('rmd160' === alg) return new rmd160()
	  return createHash(alg)
	}

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 230 */
/***/ (function(module, exports, __webpack_require__) {

	var exports = module.exports = function (alg) {
	  var Alg = exports[alg]
	  if(!Alg) throw new Error(alg + ' is not supported (we accept pull requests)')
	  return new Alg()
	}

	var Buffer = __webpack_require__(203).Buffer
	var Hash   = __webpack_require__(231)(Buffer)

	exports.sha1 = __webpack_require__(232)(Buffer, Hash)
	exports.sha256 = __webpack_require__(233)(Buffer, Hash)
	exports.sha512 = __webpack_require__(234)(Buffer, Hash)


/***/ }),
/* 231 */
/***/ (function(module, exports) {

	module.exports = function (Buffer) {

	  //prototype class for hash functions
	  function Hash (blockSize, finalSize) {
	    this._block = new Buffer(blockSize) //new Uint32Array(blockSize/4)
	    this._finalSize = finalSize
	    this._blockSize = blockSize
	    this._len = 0
	    this._s = 0
	  }

	  Hash.prototype.init = function () {
	    this._s = 0
	    this._len = 0
	  }

	  Hash.prototype.update = function (data, enc) {
	    if ("string" === typeof data) {
	      enc = enc || "utf8"
	      data = new Buffer(data, enc)
	    }

	    var l = this._len += data.length
	    var s = this._s = (this._s || 0)
	    var f = 0
	    var buffer = this._block

	    while (s < l) {
	      var t = Math.min(data.length, f + this._blockSize - (s % this._blockSize))
	      var ch = (t - f)

	      for (var i = 0; i < ch; i++) {
	        buffer[(s % this._blockSize) + i] = data[i + f]
	      }

	      s += ch
	      f += ch

	      if ((s % this._blockSize) === 0) {
	        this._update(buffer)
	      }
	    }
	    this._s = s

	    return this
	  }

	  Hash.prototype.digest = function (enc) {
	    // Suppose the length of the message M, in bits, is l
	    var l = this._len * 8

	    // Append the bit 1 to the end of the message
	    this._block[this._len % this._blockSize] = 0x80

	    // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize
	    this._block.fill(0, this._len % this._blockSize + 1)

	    if (l % (this._blockSize * 8) >= this._finalSize * 8) {
	      this._update(this._block)
	      this._block.fill(0)
	    }

	    // to this append the block which is equal to the number l written in binary
	    // TODO: handle case where l is > Math.pow(2, 29)
	    this._block.writeInt32BE(l, this._blockSize - 4)

	    var hash = this._update(this._block) || this._hash()

	    return enc ? hash.toString(enc) : hash
	  }

	  Hash.prototype._update = function () {
	    throw new Error('_update must be implemented by subclass')
	  }

	  return Hash
	}


/***/ }),
/* 232 */
/***/ (function(module, exports, __webpack_require__) {

	/*
	 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
	 * in FIPS PUB 180-1
	 * Version 2.1a Copyright Paul Johnston 2000 - 2002.
	 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
	 * Distributed under the BSD License
	 * See http://pajhome.org.uk/crypt/md5 for details.
	 */

	var inherits = __webpack_require__(201).inherits

	module.exports = function (Buffer, Hash) {

	  var A = 0|0
	  var B = 4|0
	  var C = 8|0
	  var D = 12|0
	  var E = 16|0

	  var W = new (typeof Int32Array === 'undefined' ? Array : Int32Array)(80)

	  var POOL = []

	  function Sha1 () {
	    if(POOL.length)
	      return POOL.pop().init()

	    if(!(this instanceof Sha1)) return new Sha1()
	    this._w = W
	    Hash.call(this, 16*4, 14*4)

	    this._h = null
	    this.init()
	  }

	  inherits(Sha1, Hash)

	  Sha1.prototype.init = function () {
	    this._a = 0x67452301
	    this._b = 0xefcdab89
	    this._c = 0x98badcfe
	    this._d = 0x10325476
	    this._e = 0xc3d2e1f0

	    Hash.prototype.init.call(this)
	    return this
	  }

	  Sha1.prototype._POOL = POOL
	  Sha1.prototype._update = function (X) {

	    var a, b, c, d, e, _a, _b, _c, _d, _e

	    a = _a = this._a
	    b = _b = this._b
	    c = _c = this._c
	    d = _d = this._d
	    e = _e = this._e

	    var w = this._w

	    for(var j = 0; j < 80; j++) {
	      var W = w[j] = j < 16 ? X.readInt32BE(j*4)
	        : rol(w[j - 3] ^ w[j -  8] ^ w[j - 14] ^ w[j - 16], 1)

	      var t = add(
	        add(rol(a, 5), sha1_ft(j, b, c, d)),
	        add(add(e, W), sha1_kt(j))
	      )

	      e = d
	      d = c
	      c = rol(b, 30)
	      b = a
	      a = t
	    }

	    this._a = add(a, _a)
	    this._b = add(b, _b)
	    this._c = add(c, _c)
	    this._d = add(d, _d)
	    this._e = add(e, _e)
	  }

	  Sha1.prototype._hash = function () {
	    if(POOL.length < 100) POOL.push(this)
	    var H = new Buffer(20)
	    //console.log(this._a|0, this._b|0, this._c|0, this._d|0, this._e|0)
	    H.writeInt32BE(this._a|0, A)
	    H.writeInt32BE(this._b|0, B)
	    H.writeInt32BE(this._c|0, C)
	    H.writeInt32BE(this._d|0, D)
	    H.writeInt32BE(this._e|0, E)
	    return H
	  }

	  /*
	   * Perform the appropriate triplet combination function for the current
	   * iteration
	   */
	  function sha1_ft(t, b, c, d) {
	    if(t < 20) return (b & c) | ((~b) & d);
	    if(t < 40) return b ^ c ^ d;
	    if(t < 60) return (b & c) | (b & d) | (c & d);
	    return b ^ c ^ d;
	  }

	  /*
	   * Determine the appropriate additive constant for the current iteration
	   */
	  function sha1_kt(t) {
	    return (t < 20) ?  1518500249 : (t < 40) ?  1859775393 :
	           (t < 60) ? -1894007588 : -899497514;
	  }

	  /*
	   * Add integers, wrapping at 2^32. This uses 16-bit operations internally
	   * to work around bugs in some JS interpreters.
	   * //dominictarr: this is 10 years old, so maybe this can be dropped?)
	   *
	   */
	  function add(x, y) {
	    return (x + y ) | 0
	  //lets see how this goes on testling.
	  //  var lsw = (x & 0xFFFF) + (y & 0xFFFF);
	  //  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
	  //  return (msw << 16) | (lsw & 0xFFFF);
	  }

	  /*
	   * Bitwise rotate a 32-bit number to the left.
	   */
	  function rol(num, cnt) {
	    return (num << cnt) | (num >>> (32 - cnt));
	  }

	  return Sha1
	}


/***/ }),
/* 233 */
/***/ (function(module, exports, __webpack_require__) {

	
	/**
	 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
	 * in FIPS 180-2
	 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
	 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
	 *
	 */

	var inherits = __webpack_require__(201).inherits

	module.exports = function (Buffer, Hash) {

	  var K = [
	      0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
	      0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
	      0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
	      0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
	      0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
	      0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
	      0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
	      0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
	      0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
	      0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
	      0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
	      0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
	      0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
	      0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
	      0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
	      0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2
	    ]

	  var W = new Array(64)

	  function Sha256() {
	    this.init()

	    this._w = W //new Array(64)

	    Hash.call(this, 16*4, 14*4)
	  }

	  inherits(Sha256, Hash)

	  Sha256.prototype.init = function () {

	    this._a = 0x6a09e667|0
	    this._b = 0xbb67ae85|0
	    this._c = 0x3c6ef372|0
	    this._d = 0xa54ff53a|0
	    this._e = 0x510e527f|0
	    this._f = 0x9b05688c|0
	    this._g = 0x1f83d9ab|0
	    this._h = 0x5be0cd19|0

	    this._len = this._s = 0

	    return this
	  }

	  function S (X, n) {
	    return (X >>> n) | (X << (32 - n));
	  }

	  function R (X, n) {
	    return (X >>> n);
	  }

	  function Ch (x, y, z) {
	    return ((x & y) ^ ((~x) & z));
	  }

	  function Maj (x, y, z) {
	    return ((x & y) ^ (x & z) ^ (y & z));
	  }

	  function Sigma0256 (x) {
	    return (S(x, 2) ^ S(x, 13) ^ S(x, 22));
	  }

	  function Sigma1256 (x) {
	    return (S(x, 6) ^ S(x, 11) ^ S(x, 25));
	  }

	  function Gamma0256 (x) {
	    return (S(x, 7) ^ S(x, 18) ^ R(x, 3));
	  }

	  function Gamma1256 (x) {
	    return (S(x, 17) ^ S(x, 19) ^ R(x, 10));
	  }

	  Sha256.prototype._update = function(M) {

	    var W = this._w
	    var a, b, c, d, e, f, g, h
	    var T1, T2

	    a = this._a | 0
	    b = this._b | 0
	    c = this._c | 0
	    d = this._d | 0
	    e = this._e | 0
	    f = this._f | 0
	    g = this._g | 0
	    h = this._h | 0

	    for (var j = 0; j < 64; j++) {
	      var w = W[j] = j < 16
	        ? M.readInt32BE(j * 4)
	        : Gamma1256(W[j - 2]) + W[j - 7] + Gamma0256(W[j - 15]) + W[j - 16]

	      T1 = h + Sigma1256(e) + Ch(e, f, g) + K[j] + w

	      T2 = Sigma0256(a) + Maj(a, b, c);
	      h = g; g = f; f = e; e = d + T1; d = c; c = b; b = a; a = T1 + T2;
	    }

	    this._a = (a + this._a) | 0
	    this._b = (b + this._b) | 0
	    this._c = (c + this._c) | 0
	    this._d = (d + this._d) | 0
	    this._e = (e + this._e) | 0
	    this._f = (f + this._f) | 0
	    this._g = (g + this._g) | 0
	    this._h = (h + this._h) | 0

	  };

	  Sha256.prototype._hash = function () {
	    var H = new Buffer(32)

	    H.writeInt32BE(this._a,  0)
	    H.writeInt32BE(this._b,  4)
	    H.writeInt32BE(this._c,  8)
	    H.writeInt32BE(this._d, 12)
	    H.writeInt32BE(this._e, 16)
	    H.writeInt32BE(this._f, 20)
	    H.writeInt32BE(this._g, 24)
	    H.writeInt32BE(this._h, 28)

	    return H
	  }

	  return Sha256

	}


/***/ }),
/* 234 */
/***/ (function(module, exports, __webpack_require__) {

	var inherits = __webpack_require__(201).inherits

	module.exports = function (Buffer, Hash) {
	  var K = [
	    0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
	    0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
	    0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
	    0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
	    0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
	    0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
	    0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
	    0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
	    0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
	    0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
	    0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
	    0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
	    0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
	    0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
	    0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
	    0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
	    0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
	    0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
	    0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
	    0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
	    0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
	    0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
	    0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
	    0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
	    0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
	    0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
	    0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
	    0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
	    0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
	    0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
	    0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
	    0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
	    0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
	    0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
	    0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
	    0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
	    0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
	    0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
	    0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
	    0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
	  ]

	  var W = new Array(160)

	  function Sha512() {
	    this.init()
	    this._w = W

	    Hash.call(this, 128, 112)
	  }

	  inherits(Sha512, Hash)

	  Sha512.prototype.init = function () {

	    this._a = 0x6a09e667|0
	    this._b = 0xbb67ae85|0
	    this._c = 0x3c6ef372|0
	    this._d = 0xa54ff53a|0
	    this._e = 0x510e527f|0
	    this._f = 0x9b05688c|0
	    this._g = 0x1f83d9ab|0
	    this._h = 0x5be0cd19|0

	    this._al = 0xf3bcc908|0
	    this._bl = 0x84caa73b|0
	    this._cl = 0xfe94f82b|0
	    this._dl = 0x5f1d36f1|0
	    this._el = 0xade682d1|0
	    this._fl = 0x2b3e6c1f|0
	    this._gl = 0xfb41bd6b|0
	    this._hl = 0x137e2179|0

	    this._len = this._s = 0

	    return this
	  }

	  function S (X, Xl, n) {
	    return (X >>> n) | (Xl << (32 - n))
	  }

	  function Ch (x, y, z) {
	    return ((x & y) ^ ((~x) & z));
	  }

	  function Maj (x, y, z) {
	    return ((x & y) ^ (x & z) ^ (y & z));
	  }

	  Sha512.prototype._update = function(M) {

	    var W = this._w
	    var a, b, c, d, e, f, g, h
	    var al, bl, cl, dl, el, fl, gl, hl

	    a = this._a | 0
	    b = this._b | 0
	    c = this._c | 0
	    d = this._d | 0
	    e = this._e | 0
	    f = this._f | 0
	    g = this._g | 0
	    h = this._h | 0

	    al = this._al | 0
	    bl = this._bl | 0
	    cl = this._cl | 0
	    dl = this._dl | 0
	    el = this._el | 0
	    fl = this._fl | 0
	    gl = this._gl | 0
	    hl = this._hl | 0

	    for (var i = 0; i < 80; i++) {
	      var j = i * 2

	      var Wi, Wil

	      if (i < 16) {
	        Wi = W[j] = M.readInt32BE(j * 4)
	        Wil = W[j + 1] = M.readInt32BE(j * 4 + 4)

	      } else {
	        var x  = W[j - 15*2]
	        var xl = W[j - 15*2 + 1]
	        var gamma0  = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)
	        var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)

	        x  = W[j - 2*2]
	        xl = W[j - 2*2 + 1]
	        var gamma1  = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)
	        var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)

	        // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
	        var Wi7  = W[j - 7*2]
	        var Wi7l = W[j - 7*2 + 1]

	        var Wi16  = W[j - 16*2]
	        var Wi16l = W[j - 16*2 + 1]

	        Wil = gamma0l + Wi7l
	        Wi  = gamma0  + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)
	        Wil = Wil + gamma1l
	        Wi  = Wi  + gamma1  + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)
	        Wil = Wil + Wi16l
	        Wi  = Wi  + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)

	        W[j] = Wi
	        W[j + 1] = Wil
	      }

	      var maj = Maj(a, b, c)
	      var majl = Maj(al, bl, cl)

	      var sigma0h = S(a, al, 28) ^ S(al, a, 2) ^ S(al, a, 7)
	      var sigma0l = S(al, a, 28) ^ S(a, al, 2) ^ S(a, al, 7)
	      var sigma1h = S(e, el, 14) ^ S(e, el, 18) ^ S(el, e, 9)
	      var sigma1l = S(el, e, 14) ^ S(el, e, 18) ^ S(e, el, 9)

	      // t1 = h + sigma1 + ch + K[i] + W[i]
	      var Ki = K[j]
	      var Kil = K[j + 1]

	      var ch = Ch(e, f, g)
	      var chl = Ch(el, fl, gl)

	      var t1l = hl + sigma1l
	      var t1 = h + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0)
	      t1l = t1l + chl
	      t1 = t1 + ch + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0)
	      t1l = t1l + Kil
	      t1 = t1 + Ki + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0)
	      t1l = t1l + Wil
	      t1 = t1 + Wi + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0)

	      // t2 = sigma0 + maj
	      var t2l = sigma0l + majl
	      var t2 = sigma0h + maj + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0)

	      h  = g
	      hl = gl
	      g  = f
	      gl = fl
	      f  = e
	      fl = el
	      el = (dl + t1l) | 0
	      e  = (d + t1 + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
	      d  = c
	      dl = cl
	      c  = b
	      cl = bl
	      b  = a
	      bl = al
	      al = (t1l + t2l) | 0
	      a  = (t1 + t2 + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0
	    }

	    this._al = (this._al + al) | 0
	    this._bl = (this._bl + bl) | 0
	    this._cl = (this._cl + cl) | 0
	    this._dl = (this._dl + dl) | 0
	    this._el = (this._el + el) | 0
	    this._fl = (this._fl + fl) | 0
	    this._gl = (this._gl + gl) | 0
	    this._hl = (this._hl + hl) | 0

	    this._a = (this._a + a + ((this._al >>> 0) < (al >>> 0) ? 1 : 0)) | 0
	    this._b = (this._b + b + ((this._bl >>> 0) < (bl >>> 0) ? 1 : 0)) | 0
	    this._c = (this._c + c + ((this._cl >>> 0) < (cl >>> 0) ? 1 : 0)) | 0
	    this._d = (this._d + d + ((this._dl >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
	    this._e = (this._e + e + ((this._el >>> 0) < (el >>> 0) ? 1 : 0)) | 0
	    this._f = (this._f + f + ((this._fl >>> 0) < (fl >>> 0) ? 1 : 0)) | 0
	    this._g = (this._g + g + ((this._gl >>> 0) < (gl >>> 0) ? 1 : 0)) | 0
	    this._h = (this._h + h + ((this._hl >>> 0) < (hl >>> 0) ? 1 : 0)) | 0
	  }

	  Sha512.prototype._hash = function () {
	    var H = new Buffer(64)

	    function writeInt64BE(h, l, offset) {
	      H.writeInt32BE(h, offset)
	      H.writeInt32BE(l, offset + 4)
	    }

	    writeInt64BE(this._a, this._al, 0)
	    writeInt64BE(this._b, this._bl, 8)
	    writeInt64BE(this._c, this._cl, 16)
	    writeInt64BE(this._d, this._dl, 24)
	    writeInt64BE(this._e, this._el, 32)
	    writeInt64BE(this._f, this._fl, 40)
	    writeInt64BE(this._g, this._gl, 48)
	    writeInt64BE(this._h, this._hl, 56)

	    return H
	  }

	  return Sha512

	}


/***/ }),
/* 235 */
/***/ (function(module, exports, __webpack_require__) {

	/*
	 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
	 * Digest Algorithm, as defined in RFC 1321.
	 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
	 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
	 * Distributed under the BSD License
	 * See http://pajhome.org.uk/crypt/md5 for more info.
	 */

	var helpers = __webpack_require__(236);

	/*
	 * Calculate the MD5 of an array of little-endian words, and a bit length
	 */
	function core_md5(x, len)
	{
	  /* append padding */
	  x[len >> 5] |= 0x80 << ((len) % 32);
	  x[(((len + 64) >>> 9) << 4) + 14] = len;

	  var a =  1732584193;
	  var b = -271733879;
	  var c = -1732584194;
	  var d =  271733878;

	  for(var i = 0; i < x.length; i += 16)
	  {
	    var olda = a;
	    var oldb = b;
	    var oldc = c;
	    var oldd = d;

	    a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
	    d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
	    c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);
	    b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
	    a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
	    d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);
	    c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
	    b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
	    a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
	    d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
	    c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
	    b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
	    a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);
	    d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
	    c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
	    b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);

	    a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
	    d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
	    c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);
	    b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
	    a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
	    d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);
	    c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
	    b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
	    a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
	    d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
	    c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
	    b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);
	    a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
	    d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
	    c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);
	    b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);

	    a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
	    d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
	    c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);
	    b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
	    a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
	    d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);
	    c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
	    b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
	    a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);
	    d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
	    c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
	    b = md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);
	    a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
	    d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
	    c = md5_hh(c, d, a, b, x[i+15], 16,  530742520);
	    b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);

	    a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
	    d = md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);
	    c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
	    b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
	    a = md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);
	    d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
	    c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
	    b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
	    a = md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);
	    d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
	    c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
	    b = md5_ii(b, c, d, a, x[i+13], 21,  1309151649);
	    a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
	    d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
	    c = md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);
	    b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);

	    a = safe_add(a, olda);
	    b = safe_add(b, oldb);
	    c = safe_add(c, oldc);
	    d = safe_add(d, oldd);
	  }
	  return Array(a, b, c, d);

	}

	/*
	 * These functions implement the four basic operations the algorithm uses.
	 */
	function md5_cmn(q, a, b, x, s, t)
	{
	  return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
	}
	function md5_ff(a, b, c, d, x, s, t)
	{
	  return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
	}
	function md5_gg(a, b, c, d, x, s, t)
	{
	  return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
	}
	function md5_hh(a, b, c, d, x, s, t)
	{
	  return md5_cmn(b ^ c ^ d, a, b, x, s, t);
	}
	function md5_ii(a, b, c, d, x, s, t)
	{
	  return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
	}

	/*
	 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
	 * to work around bugs in some JS interpreters.
	 */
	function safe_add(x, y)
	{
	  var lsw = (x & 0xFFFF) + (y & 0xFFFF);
	  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
	  return (msw << 16) | (lsw & 0xFFFF);
	}

	/*
	 * Bitwise rotate a 32-bit number to the left.
	 */
	function bit_rol(num, cnt)
	{
	  return (num << cnt) | (num >>> (32 - cnt));
	}

	module.exports = function md5(buf) {
	  return helpers.hash(buf, core_md5, 16);
	};


/***/ }),
/* 236 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var intSize = 4;
	var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
	var chrsz = 8;

	function toArray(buf, bigEndian) {
	  if ((buf.length % intSize) !== 0) {
	    var len = buf.length + (intSize - (buf.length % intSize));
	    buf = Buffer.concat([buf, zeroBuffer], len);
	  }

	  var arr = [];
	  var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
	  for (var i = 0; i < buf.length; i += intSize) {
	    arr.push(fn.call(buf, i));
	  }
	  return arr;
	}

	function toBuffer(arr, size, bigEndian) {
	  var buf = new Buffer(size);
	  var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
	  for (var i = 0; i < arr.length; i++) {
	    fn.call(buf, arr[i], i * 4, true);
	  }
	  return buf;
	}

	function hash(buf, fn, hashSize, bigEndian) {
	  if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
	  var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
	  return toBuffer(arr, hashSize, bigEndian);
	}

	module.exports = { hash: hash };

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 237 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {
	module.exports = ripemd160



	/*
	CryptoJS v3.1.2
	code.google.com/p/crypto-js
	(c) 2009-2013 by Jeff Mott. All rights reserved.
	code.google.com/p/crypto-js/wiki/License
	*/
	/** @preserve
	(c) 2012 by Cédric Mesnil. All rights reserved.

	Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

	    - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
	    - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
	*/

	// Constants table
	var zl = [
	    0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
	    7,  4, 13,  1, 10,  6, 15,  3, 12,  0,  9,  5,  2, 14, 11,  8,
	    3, 10, 14,  4,  9, 15,  8,  1,  2,  7,  0,  6, 13, 11,  5, 12,
	    1,  9, 11, 10,  0,  8, 12,  4, 13,  3,  7, 15, 14,  5,  6,  2,
	    4,  0,  5,  9,  7, 12,  2, 10, 14,  1,  3,  8, 11,  6, 15, 13];
	var zr = [
	    5, 14,  7,  0,  9,  2, 11,  4, 13,  6, 15,  8,  1, 10,  3, 12,
	    6, 11,  3,  7,  0, 13,  5, 10, 14, 15,  8, 12,  4,  9,  1,  2,
	    15,  5,  1,  3,  7, 14,  6,  9, 11,  8, 12,  2, 10,  0,  4, 13,
	    8,  6,  4,  1,  3, 11, 15,  0,  5, 12,  2, 13,  9,  7, 10, 14,
	    12, 15, 10,  4,  1,  5,  8,  7,  6,  2, 13, 14,  0,  3,  9, 11];
	var sl = [
	     11, 14, 15, 12,  5,  8,  7,  9, 11, 13, 14, 15,  6,  7,  9,  8,
	    7, 6,   8, 13, 11,  9,  7, 15,  7, 12, 15,  9, 11,  7, 13, 12,
	    11, 13,  6,  7, 14,  9, 13, 15, 14,  8, 13,  6,  5, 12,  7,  5,
	      11, 12, 14, 15, 14, 15,  9,  8,  9, 14,  5,  6,  8,  6,  5, 12,
	    9, 15,  5, 11,  6,  8, 13, 12,  5, 12, 13, 14, 11,  8,  5,  6 ];
	var sr = [
	    8,  9,  9, 11, 13, 15, 15,  5,  7,  7,  8, 11, 14, 14, 12,  6,
	    9, 13, 15,  7, 12,  8,  9, 11,  7,  7, 12,  7,  6, 15, 13, 11,
	    9,  7, 15, 11,  8,  6,  6, 14, 12, 13,  5, 14, 13, 13,  7,  5,
	    15,  5,  8, 11, 14, 14,  6, 14,  6,  9, 12,  9, 12,  5, 15,  8,
	    8,  5, 12,  9, 12,  5, 14,  6,  8, 13,  6,  5, 15, 13, 11, 11 ];

	var hl =  [ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E];
	var hr =  [ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000];

	var bytesToWords = function (bytes) {
	  var words = [];
	  for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {
	    words[b >>> 5] |= bytes[i] << (24 - b % 32);
	  }
	  return words;
	};

	var wordsToBytes = function (words) {
	  var bytes = [];
	  for (var b = 0; b < words.length * 32; b += 8) {
	    bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);
	  }
	  return bytes;
	};

	var processBlock = function (H, M, offset) {

	  // Swap endian
	  for (var i = 0; i < 16; i++) {
	    var offset_i = offset + i;
	    var M_offset_i = M[offset_i];

	    // Swap
	    M[offset_i] = (
	        (((M_offset_i << 8)  | (M_offset_i >>> 24)) & 0x00ff00ff) |
	        (((M_offset_i << 24) | (M_offset_i >>> 8))  & 0xff00ff00)
	    );
	  }

	  // Working variables
	  var al, bl, cl, dl, el;
	  var ar, br, cr, dr, er;

	  ar = al = H[0];
	  br = bl = H[1];
	  cr = cl = H[2];
	  dr = dl = H[3];
	  er = el = H[4];
	  // Computation
	  var t;
	  for (var i = 0; i < 80; i += 1) {
	    t = (al +  M[offset+zl[i]])|0;
	    if (i<16){
	        t +=  f1(bl,cl,dl) + hl[0];
	    } else if (i<32) {
	        t +=  f2(bl,cl,dl) + hl[1];
	    } else if (i<48) {
	        t +=  f3(bl,cl,dl) + hl[2];
	    } else if (i<64) {
	        t +=  f4(bl,cl,dl) + hl[3];
	    } else {// if (i<80) {
	        t +=  f5(bl,cl,dl) + hl[4];
	    }
	    t = t|0;
	    t =  rotl(t,sl[i]);
	    t = (t+el)|0;
	    al = el;
	    el = dl;
	    dl = rotl(cl, 10);
	    cl = bl;
	    bl = t;

	    t = (ar + M[offset+zr[i]])|0;
	    if (i<16){
	        t +=  f5(br,cr,dr) + hr[0];
	    } else if (i<32) {
	        t +=  f4(br,cr,dr) + hr[1];
	    } else if (i<48) {
	        t +=  f3(br,cr,dr) + hr[2];
	    } else if (i<64) {
	        t +=  f2(br,cr,dr) + hr[3];
	    } else {// if (i<80) {
	        t +=  f1(br,cr,dr) + hr[4];
	    }
	    t = t|0;
	    t =  rotl(t,sr[i]) ;
	    t = (t+er)|0;
	    ar = er;
	    er = dr;
	    dr = rotl(cr, 10);
	    cr = br;
	    br = t;
	  }
	  // Intermediate hash value
	  t    = (H[1] + cl + dr)|0;
	  H[1] = (H[2] + dl + er)|0;
	  H[2] = (H[3] + el + ar)|0;
	  H[3] = (H[4] + al + br)|0;
	  H[4] = (H[0] + bl + cr)|0;
	  H[0] =  t;
	};

	function f1(x, y, z) {
	  return ((x) ^ (y) ^ (z));
	}

	function f2(x, y, z) {
	  return (((x)&(y)) | ((~x)&(z)));
	}

	function f3(x, y, z) {
	  return (((x) | (~(y))) ^ (z));
	}

	function f4(x, y, z) {
	  return (((x) & (z)) | ((y)&(~(z))));
	}

	function f5(x, y, z) {
	  return ((x) ^ ((y) |(~(z))));
	}

	function rotl(x,n) {
	  return (x<<n) | (x>>>(32-n));
	}

	function ripemd160(message) {
	  var H = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0];

	  if (typeof message == 'string')
	    message = new Buffer(message, 'utf8');

	  var m = bytesToWords(message);

	  var nBitsLeft = message.length * 8;
	  var nBitsTotal = message.length * 8;

	  // Add padding
	  m[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
	  m[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
	      (((nBitsTotal << 8)  | (nBitsTotal >>> 24)) & 0x00ff00ff) |
	      (((nBitsTotal << 24) | (nBitsTotal >>> 8))  & 0xff00ff00)
	  );

	  for (var i=0 ; i<m.length; i += 16) {
	    processBlock(H, m, i);
	  }

	  // Swap endian
	  for (var i = 0; i < 5; i++) {
	      // Shortcut
	    var H_i = H[i];

	    // Swap
	    H[i] = (((H_i << 8)  | (H_i >>> 24)) & 0x00ff00ff) |
	          (((H_i << 24) | (H_i >>> 8))  & 0xff00ff00);
	  }

	  var digestbytes = wordsToBytes(H);
	  return new Buffer(digestbytes);
	}



	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 238 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var createHash = __webpack_require__(229)

	var zeroBuffer = new Buffer(128)
	zeroBuffer.fill(0)

	module.exports = Hmac

	function Hmac (alg, key) {
	  if(!(this instanceof Hmac)) return new Hmac(alg, key)
	  this._opad = opad
	  this._alg = alg

	  var blocksize = (alg === 'sha512') ? 128 : 64

	  key = this._key = !Buffer.isBuffer(key) ? new Buffer(key) : key

	  if(key.length > blocksize) {
	    key = createHash(alg).update(key).digest()
	  } else if(key.length < blocksize) {
	    key = Buffer.concat([key, zeroBuffer], blocksize)
	  }

	  var ipad = this._ipad = new Buffer(blocksize)
	  var opad = this._opad = new Buffer(blocksize)

	  for(var i = 0; i < blocksize; i++) {
	    ipad[i] = key[i] ^ 0x36
	    opad[i] = key[i] ^ 0x5C
	  }

	  this._hash = createHash(alg).update(ipad)
	}

	Hmac.prototype.update = function (data, enc) {
	  this._hash.update(data, enc)
	  return this
	}

	Hmac.prototype.digest = function (enc) {
	  var h = this._hash.digest()
	  return createHash(this._alg).update(this._opad).update(h).digest(enc)
	}


	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 239 */
/***/ (function(module, exports, __webpack_require__) {

	var pbkdf2Export = __webpack_require__(240)

	module.exports = function (crypto, exports) {
	  exports = exports || {}

	  var exported = pbkdf2Export(crypto)

	  exports.pbkdf2 = exported.pbkdf2
	  exports.pbkdf2Sync = exported.pbkdf2Sync

	  return exports
	}


/***/ }),
/* 240 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {module.exports = function(crypto) {
	  function pbkdf2(password, salt, iterations, keylen, digest, callback) {
	    if ('function' === typeof digest) {
	      callback = digest
	      digest = undefined
	    }

	    if ('function' !== typeof callback)
	      throw new Error('No callback provided to pbkdf2')

	    setTimeout(function() {
	      var result

	      try {
	        result = pbkdf2Sync(password, salt, iterations, keylen, digest)
	      } catch (e) {
	        return callback(e)
	      }

	      callback(undefined, result)
	    })
	  }

	  function pbkdf2Sync(password, salt, iterations, keylen, digest) {
	    if ('number' !== typeof iterations)
	      throw new TypeError('Iterations not a number')

	    if (iterations < 0)
	      throw new TypeError('Bad iterations')

	    if ('number' !== typeof keylen)
	      throw new TypeError('Key length not a number')

	    if (keylen < 0)
	      throw new TypeError('Bad key length')

	    digest = digest || 'sha1'

	    if (!Buffer.isBuffer(password)) password = new Buffer(password)
	    if (!Buffer.isBuffer(salt)) salt = new Buffer(salt)

	    var hLen, l = 1, r, T
	    var DK = new Buffer(keylen)
	    var block1 = new Buffer(salt.length + 4)
	    salt.copy(block1, 0, 0, salt.length)

	    for (var i = 1; i <= l; i++) {
	      block1.writeUInt32BE(i, salt.length)

	      var U = crypto.createHmac(digest, password).update(block1).digest()

	      if (!hLen) {
	        hLen = U.length
	        T = new Buffer(hLen)
	        l = Math.ceil(keylen / hLen)
	        r = keylen - (l - 1) * hLen

	        if (keylen > (Math.pow(2, 32) - 1) * hLen)
	          throw new TypeError('keylen exceeds maximum length')
	      }

	      U.copy(T, 0, 0, hLen)

	      for (var j = 1; j < iterations; j++) {
	        U = crypto.createHmac(digest, password).update(U).digest()

	        for (var k = 0; k < hLen; k++) {
	          T[k] ^= U[k]
	        }
	      }

	      var destPos = (i - 1) * hLen
	      var len = (i == l ? r : hLen)
	      T.copy(DK, destPos, 0, len)
	    }

	    return DK
	  }

	  return {
	    pbkdf2: pbkdf2,
	    pbkdf2Sync: pbkdf2Sync
	  }
	}

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 241 */
/***/ (function(module, exports, __webpack_require__) {

	module.exports = function (crypto, exports) {
	  exports = exports || {};
	  var ciphers = __webpack_require__(242)(crypto);
	  exports.createCipher = ciphers.createCipher;
	  exports.createCipheriv = ciphers.createCipheriv;
	  var deciphers = __webpack_require__(277)(crypto);
	  exports.createDecipher = deciphers.createDecipher;
	  exports.createDecipheriv = deciphers.createDecipheriv;
	  var modes = __webpack_require__(268);
	  function listCiphers () {
	    return Object.keys(modes);
	  }
	  exports.listCiphers = listCiphers;
	};



/***/ }),
/* 242 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(243);
	var Transform = __webpack_require__(244);
	var inherits = __webpack_require__(247);
	var modes = __webpack_require__(268);
	var ebtk = __webpack_require__(269);
	var StreamCipher = __webpack_require__(270);
	inherits(Cipher, Transform);
	function Cipher(mode, key, iv) {
	  if (!(this instanceof Cipher)) {
	    return new Cipher(mode, key, iv);
	  }
	  Transform.call(this);
	  this._cache = new Splitter();
	  this._cipher = new aes.AES(key);
	  this._prev = new Buffer(iv.length);
	  iv.copy(this._prev);
	  this._mode = mode;
	}
	Cipher.prototype._transform = function (data, _, next) {
	  this._cache.add(data);
	  var chunk;
	  var thing;
	  while ((chunk = this._cache.get())) {
	    thing = this._mode.encrypt(this, chunk);
	    this.push(thing);
	  }
	  next();
	};
	Cipher.prototype._flush = function (next) {
	  var chunk = this._cache.flush();
	  this.push(this._mode.encrypt(this, chunk));
	  this._cipher.scrub();
	  next();
	};


	function Splitter() {
	   if (!(this instanceof Splitter)) {
	    return new Splitter();
	  }
	  this.cache = new Buffer('');
	}
	Splitter.prototype.add = function (data) {
	  this.cache = Buffer.concat([this.cache, data]);
	};

	Splitter.prototype.get = function () {
	  if (this.cache.length > 15) {
	    var out = this.cache.slice(0, 16);
	    this.cache = this.cache.slice(16);
	    return out;
	  }
	  return null;
	};
	Splitter.prototype.flush = function () {
	  var len = 16 - this.cache.length;
	  var padBuff = new Buffer(len);

	  var i = -1;
	  while (++i < len) {
	    padBuff.writeUInt8(len, i);
	  }
	  var out = Buffer.concat([this.cache, padBuff]);
	  return out;
	};
	var modelist = {
	  ECB: __webpack_require__(271),
	  CBC: __webpack_require__(272),
	  CFB: __webpack_require__(274),
	  OFB: __webpack_require__(275),
	  CTR: __webpack_require__(276)
	};
	module.exports = function (crypto) {
	  function createCipheriv(suite, password, iv) {
	    var config = modes[suite];
	    if (!config) {
	      throw new TypeError('invalid suite type');
	    }
	    if (typeof iv === 'string') {
	      iv = new Buffer(iv);
	    }
	    if (typeof password === 'string') {
	      password = new Buffer(password);
	    }
	    if (password.length !== config.key/8) {
	      throw new TypeError('invalid key length ' + password.length);
	    }
	    if (iv.length !== config.iv) {
	      throw new TypeError('invalid iv length ' + iv.length);
	    }
	    if (config.type === 'stream') {
	      return new StreamCipher(modelist[config.mode], password, iv);
	    }
	    return new Cipher(modelist[config.mode], password, iv);
	  }
	  function createCipher (suite, password) {
	    var config = modes[suite];
	    if (!config) {
	      throw new TypeError('invalid suite type');
	    }
	    var keys = ebtk(crypto, password, config.key, config.iv);
	    return createCipheriv(suite, keys.key, keys.iv);
	  }
	  return {
	    createCipher: createCipher,
	    createCipheriv: createCipheriv
	  };
	};

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 243 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var uint_max = Math.pow(2, 32);
	function fixup_uint32(x) {
	    var ret, x_pos;
	    ret = x > uint_max || x < 0 ? (x_pos = Math.abs(x) % uint_max, x < 0 ? uint_max - x_pos : x_pos) : x;
	    return ret;
	}
	function scrub_vec(v) {
	  var i, _i, _ref;
	  for (i = _i = 0, _ref = v.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
	    v[i] = 0;
	  }
	  return false;
	}

	function Global() {
	  var i;
	  this.SBOX = [];
	  this.INV_SBOX = [];
	  this.SUB_MIX = (function() {
	    var _i, _results;
	    _results = [];
	    for (i = _i = 0; _i < 4; i = ++_i) {
	      _results.push([]);
	    }
	    return _results;
	  })();
	  this.INV_SUB_MIX = (function() {
	    var _i, _results;
	    _results = [];
	    for (i = _i = 0; _i < 4; i = ++_i) {
	      _results.push([]);
	    }
	    return _results;
	  })();
	  this.init();
	  this.RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];
	}

	Global.prototype.init = function() {
	  var d, i, sx, t, x, x2, x4, x8, xi, _i;
	  d = (function() {
	    var _i, _results;
	    _results = [];
	    for (i = _i = 0; _i < 256; i = ++_i) {
	      if (i < 128) {
	        _results.push(i << 1);
	      } else {
	        _results.push((i << 1) ^ 0x11b);
	      }
	    }
	    return _results;
	  })();
	  x = 0;
	  xi = 0;
	  for (i = _i = 0; _i < 256; i = ++_i) {
	    sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);
	    sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;
	    this.SBOX[x] = sx;
	    this.INV_SBOX[sx] = x;
	    x2 = d[x];
	    x4 = d[x2];
	    x8 = d[x4];
	    t = (d[sx] * 0x101) ^ (sx * 0x1010100);
	    this.SUB_MIX[0][x] = (t << 24) | (t >>> 8);
	    this.SUB_MIX[1][x] = (t << 16) | (t >>> 16);
	    this.SUB_MIX[2][x] = (t << 8) | (t >>> 24);
	    this.SUB_MIX[3][x] = t;
	    t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);
	    this.INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8);
	    this.INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16);
	    this.INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24);
	    this.INV_SUB_MIX[3][sx] = t;
	    if (x === 0) {
	      x = xi = 1;
	    } else {
	      x = x2 ^ d[d[d[x8 ^ x2]]];
	      xi ^= d[d[xi]];
	    }
	  }
	  return true;
	};

	var G = new Global();


	AES.blockSize = 4 * 4;

	AES.prototype.blockSize = AES.blockSize;

	AES.keySize = 256 / 8;

	AES.prototype.keySize = AES.keySize;

	AES.ivSize = AES.blockSize;

	AES.prototype.ivSize = AES.ivSize;

	 function bufferToArray(buf) {
	  var len = buf.length/4;
	  var out = new Array(len);
	  var i = -1;
	  while (++i < len) {
	    out[i] = buf.readUInt32BE(i * 4);
	  }
	  return out;
	 }
	function AES(key) {
	  this._key = bufferToArray(key);
	  this._doReset();
	}

	AES.prototype._doReset = function() {
	  var invKsRow, keySize, keyWords, ksRow, ksRows, t, _i, _j;
	  keyWords = this._key;
	  keySize = keyWords.length;
	  this._nRounds = keySize + 6;
	  ksRows = (this._nRounds + 1) * 4;
	  this._keySchedule = [];
	  for (ksRow = _i = 0; 0 <= ksRows ? _i < ksRows : _i > ksRows; ksRow = 0 <= ksRows ? ++_i : --_i) {
	    this._keySchedule[ksRow] = ksRow < keySize ? keyWords[ksRow] : (t = this._keySchedule[ksRow - 1], (ksRow % keySize) === 0 ? (t = (t << 8) | (t >>> 24), t = (G.SBOX[t >>> 24] << 24) | (G.SBOX[(t >>> 16) & 0xff] << 16) | (G.SBOX[(t >>> 8) & 0xff] << 8) | G.SBOX[t & 0xff], t ^= G.RCON[(ksRow / keySize) | 0] << 24) : keySize > 6 && ksRow % keySize === 4 ? t = (G.SBOX[t >>> 24] << 24) | (G.SBOX[(t >>> 16) & 0xff] << 16) | (G.SBOX[(t >>> 8) & 0xff] << 8) | G.SBOX[t & 0xff] : void 0, this._keySchedule[ksRow - keySize] ^ t);
	  }
	  this._invKeySchedule = [];
	  for (invKsRow = _j = 0; 0 <= ksRows ? _j < ksRows : _j > ksRows; invKsRow = 0 <= ksRows ? ++_j : --_j) {
	    ksRow = ksRows - invKsRow;
	    t = this._keySchedule[ksRow - (invKsRow % 4 ? 0 : 4)];
	    this._invKeySchedule[invKsRow] = invKsRow < 4 || ksRow <= 4 ? t : G.INV_SUB_MIX[0][G.SBOX[t >>> 24]] ^ G.INV_SUB_MIX[1][G.SBOX[(t >>> 16) & 0xff]] ^ G.INV_SUB_MIX[2][G.SBOX[(t >>> 8) & 0xff]] ^ G.INV_SUB_MIX[3][G.SBOX[t & 0xff]];
	  }
	  return true;
	};

	AES.prototype.encryptBlock = function(M) {
	  M = bufferToArray(new Buffer(M));
	  var out = this._doCryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX);
	  var buf = new Buffer(16);
	  buf.writeUInt32BE(out[0], 0);
	  buf.writeUInt32BE(out[1], 4);
	  buf.writeUInt32BE(out[2], 8);
	  buf.writeUInt32BE(out[3], 12);
	  return buf;
	};

	AES.prototype.decryptBlock = function(M) {
	  M = bufferToArray(new Buffer(M));
	  var temp = [M[3], M[1]];
	  M[1] = temp[0];
	  M[3] = temp[1];
	  var out = this._doCryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX);
	  var buf = new Buffer(16);
	  buf.writeUInt32BE(out[0], 0);
	  buf.writeUInt32BE(out[3], 4);
	  buf.writeUInt32BE(out[2], 8);
	  buf.writeUInt32BE(out[1], 12);
	  return buf;
	};

	AES.prototype.scrub = function() {
	  scrub_vec(this._keySchedule);
	  scrub_vec(this._invKeySchedule);
	  scrub_vec(this._key);
	};

	AES.prototype._doCryptBlock = function(M, keySchedule, SUB_MIX, SBOX) {
	  var ksRow, round, s0, s1, s2, s3, t0, t1, t2, t3, _i, _ref;

	  s0 = M[0] ^ keySchedule[0];
	  s1 = M[1] ^ keySchedule[1];
	  s2 = M[2] ^ keySchedule[2];
	  s3 = M[3] ^ keySchedule[3];
	  ksRow = 4;
	  for (round = _i = 1, _ref = this._nRounds; 1 <= _ref ? _i < _ref : _i > _ref; round = 1 <= _ref ? ++_i : --_i) {
	    t0 = SUB_MIX[0][s0 >>> 24] ^ SUB_MIX[1][(s1 >>> 16) & 0xff] ^ SUB_MIX[2][(s2 >>> 8) & 0xff] ^ SUB_MIX[3][s3 & 0xff] ^ keySchedule[ksRow++];
	    t1 = SUB_MIX[0][s1 >>> 24] ^ SUB_MIX[1][(s2 >>> 16) & 0xff] ^ SUB_MIX[2][(s3 >>> 8) & 0xff] ^ SUB_MIX[3][s0 & 0xff] ^ keySchedule[ksRow++];
	    t2 = SUB_MIX[0][s2 >>> 24] ^ SUB_MIX[1][(s3 >>> 16) & 0xff] ^ SUB_MIX[2][(s0 >>> 8) & 0xff] ^ SUB_MIX[3][s1 & 0xff] ^ keySchedule[ksRow++];
	    t3 = SUB_MIX[0][s3 >>> 24] ^ SUB_MIX[1][(s0 >>> 16) & 0xff] ^ SUB_MIX[2][(s1 >>> 8) & 0xff] ^ SUB_MIX[3][s2 & 0xff] ^ keySchedule[ksRow++];
	    s0 = t0;
	    s1 = t1;
	    s2 = t2;
	    s3 = t3;
	  }
	  t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];
	  t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];
	  t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];
	  t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];
	  return [
	    fixup_uint32(t0),
	    fixup_uint32(t1),
	    fixup_uint32(t2),
	    fixup_uint32(t3)
	  ];

	};




	  exports.AES = AES;
	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 244 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var Transform = __webpack_require__(245).Transform;
	var inherits = __webpack_require__(247);

	module.exports = CipherBase;
	inherits(CipherBase, Transform);
	function CipherBase() {
	  Transform.call(this);
	}
	CipherBase.prototype.update = function (data, inputEnd, outputEnc) {
	  this.write(data, inputEnd);
	  var outData = new Buffer('');
	  var chunk;
	  while ((chunk = this.read())) {
	    outData = Buffer.concat([outData, chunk]);
	  }
	  if (outputEnc) {
	    outData = outData.toString(outputEnc);
	  }
	  return outData;
	};
	CipherBase.prototype.final = function (outputEnc) {
	  this.end();
	  var outData = new Buffer('');
	  var chunk;
	  while ((chunk = this.read())) {
	    outData = Buffer.concat([outData, chunk]);
	  }
	  if (outputEnc) {
	    outData = outData.toString(outputEnc);
	  }
	  return outData;
	};
	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 245 */
/***/ (function(module, exports, __webpack_require__) {

	// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	module.exports = Stream;

	var EE = __webpack_require__(246).EventEmitter;
	var inherits = __webpack_require__(247);

	inherits(Stream, EE);
	Stream.Readable = __webpack_require__(248);
	Stream.Writable = __webpack_require__(264);
	Stream.Duplex = __webpack_require__(265);
	Stream.Transform = __webpack_require__(266);
	Stream.PassThrough = __webpack_require__(267);

	// Backwards-compat with node 0.4.x
	Stream.Stream = Stream;



	// old-style streams.  Note that the pipe method (the only relevant
	// part of this class) is overridden in the Readable class.

	function Stream() {
	  EE.call(this);
	}

	Stream.prototype.pipe = function(dest, options) {
	  var source = this;

	  function ondata(chunk) {
	    if (dest.writable) {
	      if (false === dest.write(chunk) && source.pause) {
	        source.pause();
	      }
	    }
	  }

	  source.on('data', ondata);

	  function ondrain() {
	    if (source.readable && source.resume) {
	      source.resume();
	    }
	  }

	  dest.on('drain', ondrain);

	  // If the 'end' option is not supplied, dest.end() will be called when
	  // source gets the 'end' or 'close' events.  Only dest.end() once.
	  if (!dest._isStdio && (!options || options.end !== false)) {
	    source.on('end', onend);
	    source.on('close', onclose);
	  }

	  var didOnEnd = false;
	  function onend() {
	    if (didOnEnd) return;
	    didOnEnd = true;

	    dest.end();
	  }


	  function onclose() {
	    if (didOnEnd) return;
	    didOnEnd = true;

	    if (typeof dest.destroy === 'function') dest.destroy();
	  }

	  // don't leave dangling pipes when there are errors.
	  function onerror(er) {
	    cleanup();
	    if (EE.listenerCount(this, 'error') === 0) {
	      throw er; // Unhandled stream error in pipe.
	    }
	  }

	  source.on('error', onerror);
	  dest.on('error', onerror);

	  // remove all the event listeners that were added.
	  function cleanup() {
	    source.removeListener('data', ondata);
	    dest.removeListener('drain', ondrain);

	    source.removeListener('end', onend);
	    source.removeListener('close', onclose);

	    source.removeListener('error', onerror);
	    dest.removeListener('error', onerror);

	    source.removeListener('end', cleanup);
	    source.removeListener('close', cleanup);

	    dest.removeListener('close', cleanup);
	  }

	  source.on('end', cleanup);
	  source.on('close', cleanup);

	  dest.on('close', cleanup);

	  dest.emit('pipe', source);

	  // Allow for unix-like usage: A.pipe(B).pipe(C)
	  return dest;
	};


/***/ }),
/* 246 */
/***/ (function(module, exports) {

	// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	function EventEmitter() {
	  this._events = this._events || {};
	  this._maxListeners = this._maxListeners || undefined;
	}
	module.exports = EventEmitter;

	// Backwards-compat with node 0.10.x
	EventEmitter.EventEmitter = EventEmitter;

	EventEmitter.prototype._events = undefined;
	EventEmitter.prototype._maxListeners = undefined;

	// By default EventEmitters will print a warning if more than 10 listeners are
	// added to it. This is a useful default which helps finding memory leaks.
	EventEmitter.defaultMaxListeners = 10;

	// Obviously not all Emitters should be limited to 10. This function allows
	// that to be increased. Set to zero for unlimited.
	EventEmitter.prototype.setMaxListeners = function(n) {
	  if (!isNumber(n) || n < 0 || isNaN(n))
	    throw TypeError('n must be a positive number');
	  this._maxListeners = n;
	  return this;
	};

	EventEmitter.prototype.emit = function(type) {
	  var er, handler, len, args, i, listeners;

	  if (!this._events)
	    this._events = {};

	  // If there is no 'error' event listener then throw.
	  if (type === 'error') {
	    if (!this._events.error ||
	        (isObject(this._events.error) && !this._events.error.length)) {
	      er = arguments[1];
	      if (er instanceof Error) {
	        throw er; // Unhandled 'error' event
	      } else {
	        // At least give some kind of context to the user
	        var err = new Error('Uncaught, unspecified "error" event. (' + er + ')');
	        err.context = er;
	        throw err;
	      }
	    }
	  }

	  handler = this._events[type];

	  if (isUndefined(handler))
	    return false;

	  if (isFunction(handler)) {
	    switch (arguments.length) {
	      // fast cases
	      case 1:
	        handler.call(this);
	        break;
	      case 2:
	        handler.call(this, arguments[1]);
	        break;
	      case 3:
	        handler.call(this, arguments[1], arguments[2]);
	        break;
	      // slower
	      default:
	        args = Array.prototype.slice.call(arguments, 1);
	        handler.apply(this, args);
	    }
	  } else if (isObject(handler)) {
	    args = Array.prototype.slice.call(arguments, 1);
	    listeners = handler.slice();
	    len = listeners.length;
	    for (i = 0; i < len; i++)
	      listeners[i].apply(this, args);
	  }

	  return true;
	};

	EventEmitter.prototype.addListener = function(type, listener) {
	  var m;

	  if (!isFunction(listener))
	    throw TypeError('listener must be a function');

	  if (!this._events)
	    this._events = {};

	  // To avoid recursion in the case that type === "newListener"! Before
	  // adding it to the listeners, first emit "newListener".
	  if (this._events.newListener)
	    this.emit('newListener', type,
	              isFunction(listener.listener) ?
	              listener.listener : listener);

	  if (!this._events[type])
	    // Optimize the case of one listener. Don't need the extra array object.
	    this._events[type] = listener;
	  else if (isObject(this._events[type]))
	    // If we've already got an array, just append.
	    this._events[type].push(listener);
	  else
	    // Adding the second element, need to change to array.
	    this._events[type] = [this._events[type], listener];

	  // Check for listener leak
	  if (isObject(this._events[type]) && !this._events[type].warned) {
	    if (!isUndefined(this._maxListeners)) {
	      m = this._maxListeners;
	    } else {
	      m = EventEmitter.defaultMaxListeners;
	    }

	    if (m && m > 0 && this._events[type].length > m) {
	      this._events[type].warned = true;
	      console.error('(node) warning: possible EventEmitter memory ' +
	                    'leak detected. %d listeners added. ' +
	                    'Use emitter.setMaxListeners() to increase limit.',
	                    this._events[type].length);
	      if (typeof console.trace === 'function') {
	        // not supported in IE 10
	        console.trace();
	      }
	    }
	  }

	  return this;
	};

	EventEmitter.prototype.on = EventEmitter.prototype.addListener;

	EventEmitter.prototype.once = function(type, listener) {
	  if (!isFunction(listener))
	    throw TypeError('listener must be a function');

	  var fired = false;

	  function g() {
	    this.removeListener(type, g);

	    if (!fired) {
	      fired = true;
	      listener.apply(this, arguments);
	    }
	  }

	  g.listener = listener;
	  this.on(type, g);

	  return this;
	};

	// emits a 'removeListener' event iff the listener was removed
	EventEmitter.prototype.removeListener = function(type, listener) {
	  var list, position, length, i;

	  if (!isFunction(listener))
	    throw TypeError('listener must be a function');

	  if (!this._events || !this._events[type])
	    return this;

	  list = this._events[type];
	  length = list.length;
	  position = -1;

	  if (list === listener ||
	      (isFunction(list.listener) && list.listener === listener)) {
	    delete this._events[type];
	    if (this._events.removeListener)
	      this.emit('removeListener', type, listener);

	  } else if (isObject(list)) {
	    for (i = length; i-- > 0;) {
	      if (list[i] === listener ||
	          (list[i].listener && list[i].listener === listener)) {
	        position = i;
	        break;
	      }
	    }

	    if (position < 0)
	      return this;

	    if (list.length === 1) {
	      list.length = 0;
	      delete this._events[type];
	    } else {
	      list.splice(position, 1);
	    }

	    if (this._events.removeListener)
	      this.emit('removeListener', type, listener);
	  }

	  return this;
	};

	EventEmitter.prototype.removeAllListeners = function(type) {
	  var key, listeners;

	  if (!this._events)
	    return this;

	  // not listening for removeListener, no need to emit
	  if (!this._events.removeListener) {
	    if (arguments.length === 0)
	      this._events = {};
	    else if (this._events[type])
	      delete this._events[type];
	    return this;
	  }

	  // emit removeListener for all listeners on all events
	  if (arguments.length === 0) {
	    for (key in this._events) {
	      if (key === 'removeListener') continue;
	      this.removeAllListeners(key);
	    }
	    this.removeAllListeners('removeListener');
	    this._events = {};
	    return this;
	  }

	  listeners = this._events[type];

	  if (isFunction(listeners)) {
	    this.removeListener(type, listeners);
	  } else if (listeners) {
	    // LIFO order
	    while (listeners.length)
	      this.removeListener(type, listeners[listeners.length - 1]);
	  }
	  delete this._events[type];

	  return this;
	};

	EventEmitter.prototype.listeners = function(type) {
	  var ret;
	  if (!this._events || !this._events[type])
	    ret = [];
	  else if (isFunction(this._events[type]))
	    ret = [this._events[type]];
	  else
	    ret = this._events[type].slice();
	  return ret;
	};

	EventEmitter.prototype.listenerCount = function(type) {
	  if (this._events) {
	    var evlistener = this._events[type];

	    if (isFunction(evlistener))
	      return 1;
	    else if (evlistener)
	      return evlistener.length;
	  }
	  return 0;
	};

	EventEmitter.listenerCount = function(emitter, type) {
	  return emitter.listenerCount(type);
	};

	function isFunction(arg) {
	  return typeof arg === 'function';
	}

	function isNumber(arg) {
	  return typeof arg === 'number';
	}

	function isObject(arg) {
	  return typeof arg === 'object' && arg !== null;
	}

	function isUndefined(arg) {
	  return arg === void 0;
	}


/***/ }),
/* 247 */
/***/ (function(module, exports) {

	if (typeof Object.create === 'function') {
	  // implementation from standard node.js 'util' module
	  module.exports = function inherits(ctor, superCtor) {
	    ctor.super_ = superCtor
	    ctor.prototype = Object.create(superCtor.prototype, {
	      constructor: {
	        value: ctor,
	        enumerable: false,
	        writable: true,
	        configurable: true
	      }
	    });
	  };
	} else {
	  // old school shim for old browsers
	  module.exports = function inherits(ctor, superCtor) {
	    ctor.super_ = superCtor
	    var TempCtor = function () {}
	    TempCtor.prototype = superCtor.prototype
	    ctor.prototype = new TempCtor()
	    ctor.prototype.constructor = ctor
	  }
	}


/***/ }),
/* 248 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(process) {var Stream = __webpack_require__(245);
	if (process.env.READABLE_STREAM === 'disable' && Stream) {
	  module.exports = Stream;
	  exports = module.exports = Stream.Readable;
	  exports.Readable = Stream.Readable;
	  exports.Writable = Stream.Writable;
	  exports.Duplex = Stream.Duplex;
	  exports.Transform = Stream.Transform;
	  exports.PassThrough = Stream.PassThrough;
	  exports.Stream = Stream;
	} else {
	  exports = module.exports = __webpack_require__(249);
	  exports.Stream = Stream || exports;
	  exports.Readable = exports;
	  exports.Writable = __webpack_require__(257);
	  exports.Duplex = __webpack_require__(256);
	  exports.Transform = __webpack_require__(262);
	  exports.PassThrough = __webpack_require__(263);
	}

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))

/***/ }),
/* 249 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	'use strict';

	/*<replacement>*/

	var processNextTick = __webpack_require__(250);
	/*</replacement>*/

	module.exports = Readable;

	/*<replacement>*/
	var isArray = __webpack_require__(206);
	/*</replacement>*/

	/*<replacement>*/
	var Duplex;
	/*</replacement>*/

	Readable.ReadableState = ReadableState;

	/*<replacement>*/
	var EE = __webpack_require__(246).EventEmitter;

	var EElistenerCount = function (emitter, type) {
	  return emitter.listeners(type).length;
	};
	/*</replacement>*/

	/*<replacement>*/
	var Stream = __webpack_require__(251);
	/*</replacement>*/

	// TODO(bmeurer): Change this back to const once hole checks are
	// properly optimized away early in Ignition+TurboFan.
	/*<replacement>*/
	var Buffer = __webpack_require__(252).Buffer;
	var OurUint8Array = global.Uint8Array || function () {};
	function _uint8ArrayToBuffer(chunk) {
	  return Buffer.from(chunk);
	}
	function _isUint8Array(obj) {
	  return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
	}
	/*</replacement>*/

	/*<replacement>*/
	var util = __webpack_require__(253);
	util.inherits = __webpack_require__(247);
	/*</replacement>*/

	/*<replacement>*/
	var debugUtil = __webpack_require__(201);
	var debug = void 0;
	if (debugUtil && debugUtil.debuglog) {
	  debug = debugUtil.debuglog('stream');
	} else {
	  debug = function () {};
	}
	/*</replacement>*/

	var BufferList = __webpack_require__(254);
	var destroyImpl = __webpack_require__(255);
	var StringDecoder;

	util.inherits(Readable, Stream);

	var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];

	function prependListener(emitter, event, fn) {
	  // Sadly this is not cacheable as some libraries bundle their own
	  // event emitter implementation with them.
	  if (typeof emitter.prependListener === 'function') {
	    return emitter.prependListener(event, fn);
	  } else {
	    // This is a hack to make sure that our error handler is attached before any
	    // userland ones.  NEVER DO THIS. This is here only because this code needs
	    // to continue to work with older versions of Node.js that do not include
	    // the prependListener() method. The goal is to eventually remove this hack.
	    if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];
	  }
	}

	function ReadableState(options, stream) {
	  Duplex = Duplex || __webpack_require__(256);

	  options = options || {};

	  // object stream flag. Used to make read(n) ignore n and to
	  // make all the buffer merging and length checks go away
	  this.objectMode = !!options.objectMode;

	  if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode;

	  // the point at which it stops calling _read() to fill the buffer
	  // Note: 0 is a valid value, means "don't call _read preemptively ever"
	  var hwm = options.highWaterMark;
	  var defaultHwm = this.objectMode ? 16 : 16 * 1024;
	  this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;

	  // cast to ints.
	  this.highWaterMark = Math.floor(this.highWaterMark);

	  // A linked list is used to store data chunks instead of an array because the
	  // linked list can remove elements from the beginning faster than
	  // array.shift()
	  this.buffer = new BufferList();
	  this.length = 0;
	  this.pipes = null;
	  this.pipesCount = 0;
	  this.flowing = null;
	  this.ended = false;
	  this.endEmitted = false;
	  this.reading = false;

	  // a flag to be able to tell if the event 'readable'/'data' is emitted
	  // immediately, or on a later tick.  We set this to true at first, because
	  // any actions that shouldn't happen until "later" should generally also
	  // not happen before the first read call.
	  this.sync = true;

	  // whenever we return null, then we set a flag to say
	  // that we're awaiting a 'readable' event emission.
	  this.needReadable = false;
	  this.emittedReadable = false;
	  this.readableListening = false;
	  this.resumeScheduled = false;

	  // has it been destroyed
	  this.destroyed = false;

	  // Crypto is kind of old and crusty.  Historically, its default string
	  // encoding is 'binary' so we have to make this configurable.
	  // Everything else in the universe uses 'utf8', though.
	  this.defaultEncoding = options.defaultEncoding || 'utf8';

	  // the number of writers that are awaiting a drain event in .pipe()s
	  this.awaitDrain = 0;

	  // if true, a maybeReadMore has been scheduled
	  this.readingMore = false;

	  this.decoder = null;
	  this.encoding = null;
	  if (options.encoding) {
	    if (!StringDecoder) StringDecoder = __webpack_require__(261).StringDecoder;
	    this.decoder = new StringDecoder(options.encoding);
	    this.encoding = options.encoding;
	  }
	}

	function Readable(options) {
	  Duplex = Duplex || __webpack_require__(256);

	  if (!(this instanceof Readable)) return new Readable(options);

	  this._readableState = new ReadableState(options, this);

	  // legacy
	  this.readable = true;

	  if (options) {
	    if (typeof options.read === 'function') this._read = options.read;

	    if (typeof options.destroy === 'function') this._destroy = options.destroy;
	  }

	  Stream.call(this);
	}

	Object.defineProperty(Readable.prototype, 'destroyed', {
	  get: function () {
	    if (this._readableState === undefined) {
	      return false;
	    }
	    return this._readableState.destroyed;
	  },
	  set: function (value) {
	    // we ignore the value if the stream
	    // has not been initialized yet
	    if (!this._readableState) {
	      return;
	    }

	    // backward compatibility, the user is explicitly
	    // managing destroyed
	    this._readableState.destroyed = value;
	  }
	});

	Readable.prototype.destroy = destroyImpl.destroy;
	Readable.prototype._undestroy = destroyImpl.undestroy;
	Readable.prototype._destroy = function (err, cb) {
	  this.push(null);
	  cb(err);
	};

	// Manually shove something into the read() buffer.
	// This returns true if the highWaterMark has not been hit yet,
	// similar to how Writable.write() returns true if you should
	// write() some more.
	Readable.prototype.push = function (chunk, encoding) {
	  var state = this._readableState;
	  var skipChunkCheck;

	  if (!state.objectMode) {
	    if (typeof chunk === 'string') {
	      encoding = encoding || state.defaultEncoding;
	      if (encoding !== state.encoding) {
	        chunk = Buffer.from(chunk, encoding);
	        encoding = '';
	      }
	      skipChunkCheck = true;
	    }
	  } else {
	    skipChunkCheck = true;
	  }

	  return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
	};

	// Unshift should *always* be something directly out of read()
	Readable.prototype.unshift = function (chunk) {
	  return readableAddChunk(this, chunk, null, true, false);
	};

	function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
	  var state = stream._readableState;
	  if (chunk === null) {
	    state.reading = false;
	    onEofChunk(stream, state);
	  } else {
	    var er;
	    if (!skipChunkCheck) er = chunkInvalid(state, chunk);
	    if (er) {
	      stream.emit('error', er);
	    } else if (state.objectMode || chunk && chunk.length > 0) {
	      if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {
	        chunk = _uint8ArrayToBuffer(chunk);
	      }

	      if (addToFront) {
	        if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);
	      } else if (state.ended) {
	        stream.emit('error', new Error('stream.push() after EOF'));
	      } else {
	        state.reading = false;
	        if (state.decoder && !encoding) {
	          chunk = state.decoder.write(chunk);
	          if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);
	        } else {
	          addChunk(stream, state, chunk, false);
	        }
	      }
	    } else if (!addToFront) {
	      state.reading = false;
	    }
	  }

	  return needMoreData(state);
	}

	function addChunk(stream, state, chunk, addToFront) {
	  if (state.flowing && state.length === 0 && !state.sync) {
	    stream.emit('data', chunk);
	    stream.read(0);
	  } else {
	    // update the buffer info.
	    state.length += state.objectMode ? 1 : chunk.length;
	    if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);

	    if (state.needReadable) emitReadable(stream);
	  }
	  maybeReadMore(stream, state);
	}

	function chunkInvalid(state, chunk) {
	  var er;
	  if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {
	    er = new TypeError('Invalid non-string/buffer chunk');
	  }
	  return er;
	}

	// if it's past the high water mark, we can push in some more.
	// Also, if we have no data yet, we can stand some
	// more bytes.  This is to work around cases where hwm=0,
	// such as the repl.  Also, if the push() triggered a
	// readable event, and the user called read(largeNumber) such that
	// needReadable was set, then we ought to push more, so that another
	// 'readable' event will be triggered.
	function needMoreData(state) {
	  return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
	}

	Readable.prototype.isPaused = function () {
	  return this._readableState.flowing === false;
	};

	// backwards compatibility.
	Readable.prototype.setEncoding = function (enc) {
	  if (!StringDecoder) StringDecoder = __webpack_require__(261).StringDecoder;
	  this._readableState.decoder = new StringDecoder(enc);
	  this._readableState.encoding = enc;
	  return this;
	};

	// Don't raise the hwm > 8MB
	var MAX_HWM = 0x800000;
	function computeNewHighWaterMark(n) {
	  if (n >= MAX_HWM) {
	    n = MAX_HWM;
	  } else {
	    // Get the next highest power of 2 to prevent increasing hwm excessively in
	    // tiny amounts
	    n--;
	    n |= n >>> 1;
	    n |= n >>> 2;
	    n |= n >>> 4;
	    n |= n >>> 8;
	    n |= n >>> 16;
	    n++;
	  }
	  return n;
	}

	// This function is designed to be inlinable, so please take care when making
	// changes to the function body.
	function howMuchToRead(n, state) {
	  if (n <= 0 || state.length === 0 && state.ended) return 0;
	  if (state.objectMode) return 1;
	  if (n !== n) {
	    // Only flow one buffer at a time
	    if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;
	  }
	  // If we're asking for more than the current hwm, then raise the hwm.
	  if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
	  if (n <= state.length) return n;
	  // Don't have enough
	  if (!state.ended) {
	    state.needReadable = true;
	    return 0;
	  }
	  return state.length;
	}

	// you can override either this method, or the async _read(n) below.
	Readable.prototype.read = function (n) {
	  debug('read', n);
	  n = parseInt(n, 10);
	  var state = this._readableState;
	  var nOrig = n;

	  if (n !== 0) state.emittedReadable = false;

	  // if we're doing read(0) to trigger a readable event, but we
	  // already have a bunch of data in the buffer, then just trigger
	  // the 'readable' event and move on.
	  if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
	    debug('read: emitReadable', state.length, state.ended);
	    if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);
	    return null;
	  }

	  n = howMuchToRead(n, state);

	  // if we've ended, and we're now clear, then finish it up.
	  if (n === 0 && state.ended) {
	    if (state.length === 0) endReadable(this);
	    return null;
	  }

	  // All the actual chunk generation logic needs to be
	  // *below* the call to _read.  The reason is that in certain
	  // synthetic stream cases, such as passthrough streams, _read
	  // may be a completely synchronous operation which may change
	  // the state of the read buffer, providing enough data when
	  // before there was *not* enough.
	  //
	  // So, the steps are:
	  // 1. Figure out what the state of things will be after we do
	  // a read from the buffer.
	  //
	  // 2. If that resulting state will trigger a _read, then call _read.
	  // Note that this may be asynchronous, or synchronous.  Yes, it is
	  // deeply ugly to write APIs this way, but that still doesn't mean
	  // that the Readable class should behave improperly, as streams are
	  // designed to be sync/async agnostic.
	  // Take note if the _read call is sync or async (ie, if the read call
	  // has returned yet), so that we know whether or not it's safe to emit
	  // 'readable' etc.
	  //
	  // 3. Actually pull the requested chunks out of the buffer and return.

	  // if we need a readable event, then we need to do some reading.
	  var doRead = state.needReadable;
	  debug('need readable', doRead);

	  // if we currently have less than the highWaterMark, then also read some
	  if (state.length === 0 || state.length - n < state.highWaterMark) {
	    doRead = true;
	    debug('length less than watermark', doRead);
	  }

	  // however, if we've ended, then there's no point, and if we're already
	  // reading, then it's unnecessary.
	  if (state.ended || state.reading) {
	    doRead = false;
	    debug('reading or ended', doRead);
	  } else if (doRead) {
	    debug('do read');
	    state.reading = true;
	    state.sync = true;
	    // if the length is currently zero, then we *need* a readable event.
	    if (state.length === 0) state.needReadable = true;
	    // call internal read method
	    this._read(state.highWaterMark);
	    state.sync = false;
	    // If _read pushed data synchronously, then `reading` will be false,
	    // and we need to re-evaluate how much data we can return to the user.
	    if (!state.reading) n = howMuchToRead(nOrig, state);
	  }

	  var ret;
	  if (n > 0) ret = fromList(n, state);else ret = null;

	  if (ret === null) {
	    state.needReadable = true;
	    n = 0;
	  } else {
	    state.length -= n;
	  }

	  if (state.length === 0) {
	    // If we have nothing in the buffer, then we want to know
	    // as soon as we *do* get something into the buffer.
	    if (!state.ended) state.needReadable = true;

	    // If we tried to read() past the EOF, then emit end on the next tick.
	    if (nOrig !== n && state.ended) endReadable(this);
	  }

	  if (ret !== null) this.emit('data', ret);

	  return ret;
	};

	function onEofChunk(stream, state) {
	  if (state.ended) return;
	  if (state.decoder) {
	    var chunk = state.decoder.end();
	    if (chunk && chunk.length) {
	      state.buffer.push(chunk);
	      state.length += state.objectMode ? 1 : chunk.length;
	    }
	  }
	  state.ended = true;

	  // emit 'readable' now to make sure it gets picked up.
	  emitReadable(stream);
	}

	// Don't emit readable right away in sync mode, because this can trigger
	// another read() call => stack overflow.  This way, it might trigger
	// a nextTick recursion warning, but that's not so bad.
	function emitReadable(stream) {
	  var state = stream._readableState;
	  state.needReadable = false;
	  if (!state.emittedReadable) {
	    debug('emitReadable', state.flowing);
	    state.emittedReadable = true;
	    if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream);
	  }
	}

	function emitReadable_(stream) {
	  debug('emit readable');
	  stream.emit('readable');
	  flow(stream);
	}

	// at this point, the user has presumably seen the 'readable' event,
	// and called read() to consume some data.  that may have triggered
	// in turn another _read(n) call, in which case reading = true if
	// it's in progress.
	// However, if we're not ended, or reading, and the length < hwm,
	// then go ahead and try to read some more preemptively.
	function maybeReadMore(stream, state) {
	  if (!state.readingMore) {
	    state.readingMore = true;
	    processNextTick(maybeReadMore_, stream, state);
	  }
	}

	function maybeReadMore_(stream, state) {
	  var len = state.length;
	  while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
	    debug('maybeReadMore read 0');
	    stream.read(0);
	    if (len === state.length)
	      // didn't get any data, stop spinning.
	      break;else len = state.length;
	  }
	  state.readingMore = false;
	}

	// abstract method.  to be overridden in specific implementation classes.
	// call cb(er, data) where data is <= n in length.
	// for virtual (non-string, non-buffer) streams, "length" is somewhat
	// arbitrary, and perhaps not very meaningful.
	Readable.prototype._read = function (n) {
	  this.emit('error', new Error('_read() is not implemented'));
	};

	Readable.prototype.pipe = function (dest, pipeOpts) {
	  var src = this;
	  var state = this._readableState;

	  switch (state.pipesCount) {
	    case 0:
	      state.pipes = dest;
	      break;
	    case 1:
	      state.pipes = [state.pipes, dest];
	      break;
	    default:
	      state.pipes.push(dest);
	      break;
	  }
	  state.pipesCount += 1;
	  debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);

	  var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;

	  var endFn = doEnd ? onend : unpipe;
	  if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn);

	  dest.on('unpipe', onunpipe);
	  function onunpipe(readable, unpipeInfo) {
	    debug('onunpipe');
	    if (readable === src) {
	      if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
	        unpipeInfo.hasUnpiped = true;
	        cleanup();
	      }
	    }
	  }

	  function onend() {
	    debug('onend');
	    dest.end();
	  }

	  // when the dest drains, it reduces the awaitDrain counter
	  // on the source.  This would be more elegant with a .once()
	  // handler in flow(), but adding and removing repeatedly is
	  // too slow.
	  var ondrain = pipeOnDrain(src);
	  dest.on('drain', ondrain);

	  var cleanedUp = false;
	  function cleanup() {
	    debug('cleanup');
	    // cleanup event handlers once the pipe is broken
	    dest.removeListener('close', onclose);
	    dest.removeListener('finish', onfinish);
	    dest.removeListener('drain', ondrain);
	    dest.removeListener('error', onerror);
	    dest.removeListener('unpipe', onunpipe);
	    src.removeListener('end', onend);
	    src.removeListener('end', unpipe);
	    src.removeListener('data', ondata);

	    cleanedUp = true;

	    // if the reader is waiting for a drain event from this
	    // specific writer, then it would cause it to never start
	    // flowing again.
	    // So, if this is awaiting a drain, then we just call it now.
	    // If we don't know, then assume that we are waiting for one.
	    if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
	  }

	  // If the user pushes more data while we're writing to dest then we'll end up
	  // in ondata again. However, we only want to increase awaitDrain once because
	  // dest will only emit one 'drain' event for the multiple writes.
	  // => Introduce a guard on increasing awaitDrain.
	  var increasedAwaitDrain = false;
	  src.on('data', ondata);
	  function ondata(chunk) {
	    debug('ondata');
	    increasedAwaitDrain = false;
	    var ret = dest.write(chunk);
	    if (false === ret && !increasedAwaitDrain) {
	      // If the user unpiped during `dest.write()`, it is possible
	      // to get stuck in a permanently paused state if that write
	      // also returned false.
	      // => Check whether `dest` is still a piping destination.
	      if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
	        debug('false write response, pause', src._readableState.awaitDrain);
	        src._readableState.awaitDrain++;
	        increasedAwaitDrain = true;
	      }
	      src.pause();
	    }
	  }

	  // if the dest has an error, then stop piping into it.
	  // however, don't suppress the throwing behavior for this.
	  function onerror(er) {
	    debug('onerror', er);
	    unpipe();
	    dest.removeListener('error', onerror);
	    if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);
	  }

	  // Make sure our error handler is attached before userland ones.
	  prependListener(dest, 'error', onerror);

	  // Both close and finish should trigger unpipe, but only once.
	  function onclose() {
	    dest.removeListener('finish', onfinish);
	    unpipe();
	  }
	  dest.once('close', onclose);
	  function onfinish() {
	    debug('onfinish');
	    dest.removeListener('close', onclose);
	    unpipe();
	  }
	  dest.once('finish', onfinish);

	  function unpipe() {
	    debug('unpipe');
	    src.unpipe(dest);
	  }

	  // tell the dest that it's being piped to
	  dest.emit('pipe', src);

	  // start the flow if it hasn't been started already.
	  if (!state.flowing) {
	    debug('pipe resume');
	    src.resume();
	  }

	  return dest;
	};

	function pipeOnDrain(src) {
	  return function () {
	    var state = src._readableState;
	    debug('pipeOnDrain', state.awaitDrain);
	    if (state.awaitDrain) state.awaitDrain--;
	    if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {
	      state.flowing = true;
	      flow(src);
	    }
	  };
	}

	Readable.prototype.unpipe = function (dest) {
	  var state = this._readableState;
	  var unpipeInfo = { hasUnpiped: false };

	  // if we're not piping anywhere, then do nothing.
	  if (state.pipesCount === 0) return this;

	  // just one destination.  most common case.
	  if (state.pipesCount === 1) {
	    // passed in one, but it's not the right one.
	    if (dest && dest !== state.pipes) return this;

	    if (!dest) dest = state.pipes;

	    // got a match.
	    state.pipes = null;
	    state.pipesCount = 0;
	    state.flowing = false;
	    if (dest) dest.emit('unpipe', this, unpipeInfo);
	    return this;
	  }

	  // slow case. multiple pipe destinations.

	  if (!dest) {
	    // remove all.
	    var dests = state.pipes;
	    var len = state.pipesCount;
	    state.pipes = null;
	    state.pipesCount = 0;
	    state.flowing = false;

	    for (var i = 0; i < len; i++) {
	      dests[i].emit('unpipe', this, unpipeInfo);
	    }return this;
	  }

	  // try to find the right one.
	  var index = indexOf(state.pipes, dest);
	  if (index === -1) return this;

	  state.pipes.splice(index, 1);
	  state.pipesCount -= 1;
	  if (state.pipesCount === 1) state.pipes = state.pipes[0];

	  dest.emit('unpipe', this, unpipeInfo);

	  return this;
	};

	// set up data events if they are asked for
	// Ensure readable listeners eventually get something
	Readable.prototype.on = function (ev, fn) {
	  var res = Stream.prototype.on.call(this, ev, fn);

	  if (ev === 'data') {
	    // Start flowing on next tick if stream isn't explicitly paused
	    if (this._readableState.flowing !== false) this.resume();
	  } else if (ev === 'readable') {
	    var state = this._readableState;
	    if (!state.endEmitted && !state.readableListening) {
	      state.readableListening = state.needReadable = true;
	      state.emittedReadable = false;
	      if (!state.reading) {
	        processNextTick(nReadingNextTick, this);
	      } else if (state.length) {
	        emitReadable(this);
	      }
	    }
	  }

	  return res;
	};
	Readable.prototype.addListener = Readable.prototype.on;

	function nReadingNextTick(self) {
	  debug('readable nexttick read 0');
	  self.read(0);
	}

	// pause() and resume() are remnants of the legacy readable stream API
	// If the user uses them, then switch into old mode.
	Readable.prototype.resume = function () {
	  var state = this._readableState;
	  if (!state.flowing) {
	    debug('resume');
	    state.flowing = true;
	    resume(this, state);
	  }
	  return this;
	};

	function resume(stream, state) {
	  if (!state.resumeScheduled) {
	    state.resumeScheduled = true;
	    processNextTick(resume_, stream, state);
	  }
	}

	function resume_(stream, state) {
	  if (!state.reading) {
	    debug('resume read 0');
	    stream.read(0);
	  }

	  state.resumeScheduled = false;
	  state.awaitDrain = 0;
	  stream.emit('resume');
	  flow(stream);
	  if (state.flowing && !state.reading) stream.read(0);
	}

	Readable.prototype.pause = function () {
	  debug('call pause flowing=%j', this._readableState.flowing);
	  if (false !== this._readableState.flowing) {
	    debug('pause');
	    this._readableState.flowing = false;
	    this.emit('pause');
	  }
	  return this;
	};

	function flow(stream) {
	  var state = stream._readableState;
	  debug('flow', state.flowing);
	  while (state.flowing && stream.read() !== null) {}
	}

	// wrap an old-style stream as the async data source.
	// This is *not* part of the readable stream interface.
	// It is an ugly unfortunate mess of history.
	Readable.prototype.wrap = function (stream) {
	  var state = this._readableState;
	  var paused = false;

	  var self = this;
	  stream.on('end', function () {
	    debug('wrapped end');
	    if (state.decoder && !state.ended) {
	      var chunk = state.decoder.end();
	      if (chunk && chunk.length) self.push(chunk);
	    }

	    self.push(null);
	  });

	  stream.on('data', function (chunk) {
	    debug('wrapped data');
	    if (state.decoder) chunk = state.decoder.write(chunk);

	    // don't skip over falsy values in objectMode
	    if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;

	    var ret = self.push(chunk);
	    if (!ret) {
	      paused = true;
	      stream.pause();
	    }
	  });

	  // proxy all the other methods.
	  // important when wrapping filters and duplexes.
	  for (var i in stream) {
	    if (this[i] === undefined && typeof stream[i] === 'function') {
	      this[i] = function (method) {
	        return function () {
	          return stream[method].apply(stream, arguments);
	        };
	      }(i);
	    }
	  }

	  // proxy certain important events.
	  for (var n = 0; n < kProxyEvents.length; n++) {
	    stream.on(kProxyEvents[n], self.emit.bind(self, kProxyEvents[n]));
	  }

	  // when we try to consume some more bytes, simply unpause the
	  // underlying stream.
	  self._read = function (n) {
	    debug('wrapped _read', n);
	    if (paused) {
	      paused = false;
	      stream.resume();
	    }
	  };

	  return self;
	};

	// exposed for testing purposes only.
	Readable._fromList = fromList;

	// Pluck off n bytes from an array of buffers.
	// Length is the combined lengths of all the buffers in the list.
	// This function is designed to be inlinable, so please take care when making
	// changes to the function body.
	function fromList(n, state) {
	  // nothing buffered
	  if (state.length === 0) return null;

	  var ret;
	  if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {
	    // read it all, truncate the list
	    if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);
	    state.buffer.clear();
	  } else {
	    // read part of list
	    ret = fromListPartial(n, state.buffer, state.decoder);
	  }

	  return ret;
	}

	// Extracts only enough buffered data to satisfy the amount requested.
	// This function is designed to be inlinable, so please take care when making
	// changes to the function body.
	function fromListPartial(n, list, hasStrings) {
	  var ret;
	  if (n < list.head.data.length) {
	    // slice is the same for buffers and strings
	    ret = list.head.data.slice(0, n);
	    list.head.data = list.head.data.slice(n);
	  } else if (n === list.head.data.length) {
	    // first chunk is a perfect match
	    ret = list.shift();
	  } else {
	    // result spans more than one buffer
	    ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
	  }
	  return ret;
	}

	// Copies a specified amount of characters from the list of buffered data
	// chunks.
	// This function is designed to be inlinable, so please take care when making
	// changes to the function body.
	function copyFromBufferString(n, list) {
	  var p = list.head;
	  var c = 1;
	  var ret = p.data;
	  n -= ret.length;
	  while (p = p.next) {
	    var str = p.data;
	    var nb = n > str.length ? str.length : n;
	    if (nb === str.length) ret += str;else ret += str.slice(0, n);
	    n -= nb;
	    if (n === 0) {
	      if (nb === str.length) {
	        ++c;
	        if (p.next) list.head = p.next;else list.head = list.tail = null;
	      } else {
	        list.head = p;
	        p.data = str.slice(nb);
	      }
	      break;
	    }
	    ++c;
	  }
	  list.length -= c;
	  return ret;
	}

	// Copies a specified amount of bytes from the list of buffered data chunks.
	// This function is designed to be inlinable, so please take care when making
	// changes to the function body.
	function copyFromBuffer(n, list) {
	  var ret = Buffer.allocUnsafe(n);
	  var p = list.head;
	  var c = 1;
	  p.data.copy(ret);
	  n -= p.data.length;
	  while (p = p.next) {
	    var buf = p.data;
	    var nb = n > buf.length ? buf.length : n;
	    buf.copy(ret, ret.length - n, 0, nb);
	    n -= nb;
	    if (n === 0) {
	      if (nb === buf.length) {
	        ++c;
	        if (p.next) list.head = p.next;else list.head = list.tail = null;
	      } else {
	        list.head = p;
	        p.data = buf.slice(nb);
	      }
	      break;
	    }
	    ++c;
	  }
	  list.length -= c;
	  return ret;
	}

	function endReadable(stream) {
	  var state = stream._readableState;

	  // If we get here before consuming all the bytes, then that is a
	  // bug in node.  Should never happen.
	  if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');

	  if (!state.endEmitted) {
	    state.ended = true;
	    processNextTick(endReadableNT, state, stream);
	  }
	}

	function endReadableNT(state, stream) {
	  // Check that we didn't get one last unshift.
	  if (!state.endEmitted && state.length === 0) {
	    state.endEmitted = true;
	    stream.readable = false;
	    stream.emit('end');
	  }
	}

	function forEach(xs, f) {
	  for (var i = 0, l = xs.length; i < l; i++) {
	    f(xs[i], i);
	  }
	}

	function indexOf(xs, x) {
	  for (var i = 0, l = xs.length; i < l; i++) {
	    if (xs[i] === x) return i;
	  }
	  return -1;
	}
	/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(3)))

/***/ }),
/* 250 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(process) {'use strict';

	if (!process.version ||
	    process.version.indexOf('v0.') === 0 ||
	    process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {
	  module.exports = nextTick;
	} else {
	  module.exports = process.nextTick;
	}

	function nextTick(fn, arg1, arg2, arg3) {
	  if (typeof fn !== 'function') {
	    throw new TypeError('"callback" argument must be a function');
	  }
	  var len = arguments.length;
	  var args, i;
	  switch (len) {
	  case 0:
	  case 1:
	    return process.nextTick(fn);
	  case 2:
	    return process.nextTick(function afterTickOne() {
	      fn.call(null, arg1);
	    });
	  case 3:
	    return process.nextTick(function afterTickTwo() {
	      fn.call(null, arg1, arg2);
	    });
	  case 4:
	    return process.nextTick(function afterTickThree() {
	      fn.call(null, arg1, arg2, arg3);
	    });
	  default:
	    args = new Array(len - 1);
	    i = 0;
	    while (i < args.length) {
	      args[i++] = arguments[i];
	    }
	    return process.nextTick(function afterTick() {
	      fn.apply(null, args);
	    });
	  }
	}

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))

/***/ }),
/* 251 */
/***/ (function(module, exports, __webpack_require__) {

	module.exports = __webpack_require__(245);


/***/ }),
/* 252 */
/***/ (function(module, exports, __webpack_require__) {

	/* eslint-disable node/no-deprecated-api */
	var buffer = __webpack_require__(203)
	var Buffer = buffer.Buffer

	// alternative to using Object.keys for old browsers
	function copyProps (src, dst) {
	  for (var key in src) {
	    dst[key] = src[key]
	  }
	}
	if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {
	  module.exports = buffer
	} else {
	  // Copy properties from require('buffer')
	  copyProps(buffer, exports)
	  exports.Buffer = SafeBuffer
	}

	function SafeBuffer (arg, encodingOrOffset, length) {
	  return Buffer(arg, encodingOrOffset, length)
	}

	// Copy static methods from Buffer
	copyProps(Buffer, SafeBuffer)

	SafeBuffer.from = function (arg, encodingOrOffset, length) {
	  if (typeof arg === 'number') {
	    throw new TypeError('Argument must not be a number')
	  }
	  return Buffer(arg, encodingOrOffset, length)
	}

	SafeBuffer.alloc = function (size, fill, encoding) {
	  if (typeof size !== 'number') {
	    throw new TypeError('Argument must be a number')
	  }
	  var buf = Buffer(size)
	  if (fill !== undefined) {
	    if (typeof encoding === 'string') {
	      buf.fill(fill, encoding)
	    } else {
	      buf.fill(fill)
	    }
	  } else {
	    buf.fill(0)
	  }
	  return buf
	}

	SafeBuffer.allocUnsafe = function (size) {
	  if (typeof size !== 'number') {
	    throw new TypeError('Argument must be a number')
	  }
	  return Buffer(size)
	}

	SafeBuffer.allocUnsafeSlow = function (size) {
	  if (typeof size !== 'number') {
	    throw new TypeError('Argument must be a number')
	  }
	  return buffer.SlowBuffer(size)
	}


/***/ }),
/* 253 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	// NOTE: These type checking functions intentionally don't use `instanceof`
	// because it is fragile and can be easily faked with `Object.create()`.

	function isArray(arg) {
	  if (Array.isArray) {
	    return Array.isArray(arg);
	  }
	  return objectToString(arg) === '[object Array]';
	}
	exports.isArray = isArray;

	function isBoolean(arg) {
	  return typeof arg === 'boolean';
	}
	exports.isBoolean = isBoolean;

	function isNull(arg) {
	  return arg === null;
	}
	exports.isNull = isNull;

	function isNullOrUndefined(arg) {
	  return arg == null;
	}
	exports.isNullOrUndefined = isNullOrUndefined;

	function isNumber(arg) {
	  return typeof arg === 'number';
	}
	exports.isNumber = isNumber;

	function isString(arg) {
	  return typeof arg === 'string';
	}
	exports.isString = isString;

	function isSymbol(arg) {
	  return typeof arg === 'symbol';
	}
	exports.isSymbol = isSymbol;

	function isUndefined(arg) {
	  return arg === void 0;
	}
	exports.isUndefined = isUndefined;

	function isRegExp(re) {
	  return objectToString(re) === '[object RegExp]';
	}
	exports.isRegExp = isRegExp;

	function isObject(arg) {
	  return typeof arg === 'object' && arg !== null;
	}
	exports.isObject = isObject;

	function isDate(d) {
	  return objectToString(d) === '[object Date]';
	}
	exports.isDate = isDate;

	function isError(e) {
	  return (objectToString(e) === '[object Error]' || e instanceof Error);
	}
	exports.isError = isError;

	function isFunction(arg) {
	  return typeof arg === 'function';
	}
	exports.isFunction = isFunction;

	function isPrimitive(arg) {
	  return arg === null ||
	         typeof arg === 'boolean' ||
	         typeof arg === 'number' ||
	         typeof arg === 'string' ||
	         typeof arg === 'symbol' ||  // ES6 symbol
	         typeof arg === 'undefined';
	}
	exports.isPrimitive = isPrimitive;

	exports.isBuffer = Buffer.isBuffer;

	function objectToString(o) {
	  return Object.prototype.toString.call(o);
	}

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 254 */
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	/*<replacement>*/

	function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

	var Buffer = __webpack_require__(252).Buffer;
	/*</replacement>*/

	function copyBuffer(src, target, offset) {
	  src.copy(target, offset);
	}

	module.exports = function () {
	  function BufferList() {
	    _classCallCheck(this, BufferList);

	    this.head = null;
	    this.tail = null;
	    this.length = 0;
	  }

	  BufferList.prototype.push = function push(v) {
	    var entry = { data: v, next: null };
	    if (this.length > 0) this.tail.next = entry;else this.head = entry;
	    this.tail = entry;
	    ++this.length;
	  };

	  BufferList.prototype.unshift = function unshift(v) {
	    var entry = { data: v, next: this.head };
	    if (this.length === 0) this.tail = entry;
	    this.head = entry;
	    ++this.length;
	  };

	  BufferList.prototype.shift = function shift() {
	    if (this.length === 0) return;
	    var ret = this.head.data;
	    if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;
	    --this.length;
	    return ret;
	  };

	  BufferList.prototype.clear = function clear() {
	    this.head = this.tail = null;
	    this.length = 0;
	  };

	  BufferList.prototype.join = function join(s) {
	    if (this.length === 0) return '';
	    var p = this.head;
	    var ret = '' + p.data;
	    while (p = p.next) {
	      ret += s + p.data;
	    }return ret;
	  };

	  BufferList.prototype.concat = function concat(n) {
	    if (this.length === 0) return Buffer.alloc(0);
	    if (this.length === 1) return this.head.data;
	    var ret = Buffer.allocUnsafe(n >>> 0);
	    var p = this.head;
	    var i = 0;
	    while (p) {
	      copyBuffer(p.data, ret, i);
	      i += p.data.length;
	      p = p.next;
	    }
	    return ret;
	  };

	  return BufferList;
	}();

/***/ }),
/* 255 */
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	/*<replacement>*/

	var processNextTick = __webpack_require__(250);
	/*</replacement>*/

	// undocumented cb() API, needed for core, not for public API
	function destroy(err, cb) {
	  var _this = this;

	  var readableDestroyed = this._readableState && this._readableState.destroyed;
	  var writableDestroyed = this._writableState && this._writableState.destroyed;

	  if (readableDestroyed || writableDestroyed) {
	    if (cb) {
	      cb(err);
	    } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {
	      processNextTick(emitErrorNT, this, err);
	    }
	    return;
	  }

	  // we set destroyed to true before firing error callbacks in order
	  // to make it re-entrance safe in case destroy() is called within callbacks

	  if (this._readableState) {
	    this._readableState.destroyed = true;
	  }

	  // if this is a duplex stream mark the writable part as destroyed as well
	  if (this._writableState) {
	    this._writableState.destroyed = true;
	  }

	  this._destroy(err || null, function (err) {
	    if (!cb && err) {
	      processNextTick(emitErrorNT, _this, err);
	      if (_this._writableState) {
	        _this._writableState.errorEmitted = true;
	      }
	    } else if (cb) {
	      cb(err);
	    }
	  });
	}

	function undestroy() {
	  if (this._readableState) {
	    this._readableState.destroyed = false;
	    this._readableState.reading = false;
	    this._readableState.ended = false;
	    this._readableState.endEmitted = false;
	  }

	  if (this._writableState) {
	    this._writableState.destroyed = false;
	    this._writableState.ended = false;
	    this._writableState.ending = false;
	    this._writableState.finished = false;
	    this._writableState.errorEmitted = false;
	  }
	}

	function emitErrorNT(self, err) {
	  self.emit('error', err);
	}

	module.exports = {
	  destroy: destroy,
	  undestroy: undestroy
	};

/***/ }),
/* 256 */
/***/ (function(module, exports, __webpack_require__) {

	// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	// a duplex stream is just a stream that is both readable and writable.
	// Since JS doesn't have multiple prototypal inheritance, this class
	// prototypally inherits from Readable, and then parasitically from
	// Writable.

	'use strict';

	/*<replacement>*/

	var processNextTick = __webpack_require__(250);
	/*</replacement>*/

	/*<replacement>*/
	var objectKeys = Object.keys || function (obj) {
	  var keys = [];
	  for (var key in obj) {
	    keys.push(key);
	  }return keys;
	};
	/*</replacement>*/

	module.exports = Duplex;

	/*<replacement>*/
	var util = __webpack_require__(253);
	util.inherits = __webpack_require__(247);
	/*</replacement>*/

	var Readable = __webpack_require__(249);
	var Writable = __webpack_require__(257);

	util.inherits(Duplex, Readable);

	var keys = objectKeys(Writable.prototype);
	for (var v = 0; v < keys.length; v++) {
	  var method = keys[v];
	  if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
	}

	function Duplex(options) {
	  if (!(this instanceof Duplex)) return new Duplex(options);

	  Readable.call(this, options);
	  Writable.call(this, options);

	  if (options && options.readable === false) this.readable = false;

	  if (options && options.writable === false) this.writable = false;

	  this.allowHalfOpen = true;
	  if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;

	  this.once('end', onend);
	}

	// the no-half-open enforcer
	function onend() {
	  // if we allow half-open state, or if the writable side ended,
	  // then we're ok.
	  if (this.allowHalfOpen || this._writableState.ended) return;

	  // no more data can be written.
	  // But allow more writes to happen in this tick.
	  processNextTick(onEndNT, this);
	}

	function onEndNT(self) {
	  self.end();
	}

	Object.defineProperty(Duplex.prototype, 'destroyed', {
	  get: function () {
	    if (this._readableState === undefined || this._writableState === undefined) {
	      return false;
	    }
	    return this._readableState.destroyed && this._writableState.destroyed;
	  },
	  set: function (value) {
	    // we ignore the value if the stream
	    // has not been initialized yet
	    if (this._readableState === undefined || this._writableState === undefined) {
	      return;
	    }

	    // backward compatibility, the user is explicitly
	    // managing destroyed
	    this._readableState.destroyed = value;
	    this._writableState.destroyed = value;
	  }
	});

	Duplex.prototype._destroy = function (err, cb) {
	  this.push(null);
	  this.end();

	  processNextTick(cb, err);
	};

	function forEach(xs, f) {
	  for (var i = 0, l = xs.length; i < l; i++) {
	    f(xs[i], i);
	  }
	}

/***/ }),
/* 257 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(process, setImmediate, global) {// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	// A bit simpler than readable streams.
	// Implement an async ._write(chunk, encoding, cb), and it'll handle all
	// the drain event emission and buffering.

	'use strict';

	/*<replacement>*/

	var processNextTick = __webpack_require__(250);
	/*</replacement>*/

	module.exports = Writable;

	/* <replacement> */
	function WriteReq(chunk, encoding, cb) {
	  this.chunk = chunk;
	  this.encoding = encoding;
	  this.callback = cb;
	  this.next = null;
	}

	// It seems a linked list but it is not
	// there will be only 2 of these for each stream
	function CorkedRequest(state) {
	  var _this = this;

	  this.next = null;
	  this.entry = null;
	  this.finish = function () {
	    onCorkedFinish(_this, state);
	  };
	}
	/* </replacement> */

	/*<replacement>*/
	var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick;
	/*</replacement>*/

	/*<replacement>*/
	var Duplex;
	/*</replacement>*/

	Writable.WritableState = WritableState;

	/*<replacement>*/
	var util = __webpack_require__(253);
	util.inherits = __webpack_require__(247);
	/*</replacement>*/

	/*<replacement>*/
	var internalUtil = {
	  deprecate: __webpack_require__(260)
	};
	/*</replacement>*/

	/*<replacement>*/
	var Stream = __webpack_require__(251);
	/*</replacement>*/

	/*<replacement>*/
	var Buffer = __webpack_require__(252).Buffer;
	var OurUint8Array = global.Uint8Array || function () {};
	function _uint8ArrayToBuffer(chunk) {
	  return Buffer.from(chunk);
	}
	function _isUint8Array(obj) {
	  return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
	}
	/*</replacement>*/

	var destroyImpl = __webpack_require__(255);

	util.inherits(Writable, Stream);

	function nop() {}

	function WritableState(options, stream) {
	  Duplex = Duplex || __webpack_require__(256);

	  options = options || {};

	  // object stream flag to indicate whether or not this stream
	  // contains buffers or objects.
	  this.objectMode = !!options.objectMode;

	  if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode;

	  // the point at which write() starts returning false
	  // Note: 0 is a valid value, means that we always return false if
	  // the entire buffer is not flushed immediately on write()
	  var hwm = options.highWaterMark;
	  var defaultHwm = this.objectMode ? 16 : 16 * 1024;
	  this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;

	  // cast to ints.
	  this.highWaterMark = Math.floor(this.highWaterMark);

	  // if _final has been called
	  this.finalCalled = false;

	  // drain event flag.
	  this.needDrain = false;
	  // at the start of calling end()
	  this.ending = false;
	  // when end() has been called, and returned
	  this.ended = false;
	  // when 'finish' is emitted
	  this.finished = false;

	  // has it been destroyed
	  this.destroyed = false;

	  // should we decode strings into buffers before passing to _write?
	  // this is here so that some node-core streams can optimize string
	  // handling at a lower level.
	  var noDecode = options.decodeStrings === false;
	  this.decodeStrings = !noDecode;

	  // Crypto is kind of old and crusty.  Historically, its default string
	  // encoding is 'binary' so we have to make this configurable.
	  // Everything else in the universe uses 'utf8', though.
	  this.defaultEncoding = options.defaultEncoding || 'utf8';

	  // not an actual buffer we keep track of, but a measurement
	  // of how much we're waiting to get pushed to some underlying
	  // socket or file.
	  this.length = 0;

	  // a flag to see when we're in the middle of a write.
	  this.writing = false;

	  // when true all writes will be buffered until .uncork() call
	  this.corked = 0;

	  // a flag to be able to tell if the onwrite cb is called immediately,
	  // or on a later tick.  We set this to true at first, because any
	  // actions that shouldn't happen until "later" should generally also
	  // not happen before the first write call.
	  this.sync = true;

	  // a flag to know if we're processing previously buffered items, which
	  // may call the _write() callback in the same tick, so that we don't
	  // end up in an overlapped onwrite situation.
	  this.bufferProcessing = false;

	  // the callback that's passed to _write(chunk,cb)
	  this.onwrite = function (er) {
	    onwrite(stream, er);
	  };

	  // the callback that the user supplies to write(chunk,encoding,cb)
	  this.writecb = null;

	  // the amount that is being written when _write is called.
	  this.writelen = 0;

	  this.bufferedRequest = null;
	  this.lastBufferedRequest = null;

	  // number of pending user-supplied write callbacks
	  // this must be 0 before 'finish' can be emitted
	  this.pendingcb = 0;

	  // emit prefinish if the only thing we're waiting for is _write cbs
	  // This is relevant for synchronous Transform streams
	  this.prefinished = false;

	  // True if the error was already emitted and should not be thrown again
	  this.errorEmitted = false;

	  // count buffered requests
	  this.bufferedRequestCount = 0;

	  // allocate the first CorkedRequest, there is always
	  // one allocated and free to use, and we maintain at most two
	  this.corkedRequestsFree = new CorkedRequest(this);
	}

	WritableState.prototype.getBuffer = function getBuffer() {
	  var current = this.bufferedRequest;
	  var out = [];
	  while (current) {
	    out.push(current);
	    current = current.next;
	  }
	  return out;
	};

	(function () {
	  try {
	    Object.defineProperty(WritableState.prototype, 'buffer', {
	      get: internalUtil.deprecate(function () {
	        return this.getBuffer();
	      }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')
	    });
	  } catch (_) {}
	})();

	// Test _writableState for inheritance to account for Duplex streams,
	// whose prototype chain only points to Readable.
	var realHasInstance;
	if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {
	  realHasInstance = Function.prototype[Symbol.hasInstance];
	  Object.defineProperty(Writable, Symbol.hasInstance, {
	    value: function (object) {
	      if (realHasInstance.call(this, object)) return true;

	      return object && object._writableState instanceof WritableState;
	    }
	  });
	} else {
	  realHasInstance = function (object) {
	    return object instanceof this;
	  };
	}

	function Writable(options) {
	  Duplex = Duplex || __webpack_require__(256);

	  // Writable ctor is applied to Duplexes, too.
	  // `realHasInstance` is necessary because using plain `instanceof`
	  // would return false, as no `_writableState` property is attached.

	  // Trying to use the custom `instanceof` for Writable here will also break the
	  // Node.js LazyTransform implementation, which has a non-trivial getter for
	  // `_writableState` that would lead to infinite recursion.
	  if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
	    return new Writable(options);
	  }

	  this._writableState = new WritableState(options, this);

	  // legacy.
	  this.writable = true;

	  if (options) {
	    if (typeof options.write === 'function') this._write = options.write;

	    if (typeof options.writev === 'function') this._writev = options.writev;

	    if (typeof options.destroy === 'function') this._destroy = options.destroy;

	    if (typeof options.final === 'function') this._final = options.final;
	  }

	  Stream.call(this);
	}

	// Otherwise people can pipe Writable streams, which is just wrong.
	Writable.prototype.pipe = function () {
	  this.emit('error', new Error('Cannot pipe, not readable'));
	};

	function writeAfterEnd(stream, cb) {
	  var er = new Error('write after end');
	  // TODO: defer error events consistently everywhere, not just the cb
	  stream.emit('error', er);
	  processNextTick(cb, er);
	}

	// Checks that a user-supplied chunk is valid, especially for the particular
	// mode the stream is in. Currently this means that `null` is never accepted
	// and undefined/non-string values are only allowed in object mode.
	function validChunk(stream, state, chunk, cb) {
	  var valid = true;
	  var er = false;

	  if (chunk === null) {
	    er = new TypeError('May not write null values to stream');
	  } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {
	    er = new TypeError('Invalid non-string/buffer chunk');
	  }
	  if (er) {
	    stream.emit('error', er);
	    processNextTick(cb, er);
	    valid = false;
	  }
	  return valid;
	}

	Writable.prototype.write = function (chunk, encoding, cb) {
	  var state = this._writableState;
	  var ret = false;
	  var isBuf = _isUint8Array(chunk) && !state.objectMode;

	  if (isBuf && !Buffer.isBuffer(chunk)) {
	    chunk = _uint8ArrayToBuffer(chunk);
	  }

	  if (typeof encoding === 'function') {
	    cb = encoding;
	    encoding = null;
	  }

	  if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;

	  if (typeof cb !== 'function') cb = nop;

	  if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {
	    state.pendingcb++;
	    ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
	  }

	  return ret;
	};

	Writable.prototype.cork = function () {
	  var state = this._writableState;

	  state.corked++;
	};

	Writable.prototype.uncork = function () {
	  var state = this._writableState;

	  if (state.corked) {
	    state.corked--;

	    if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
	  }
	};

	Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
	  // node::ParseEncoding() requires lower case.
	  if (typeof encoding === 'string') encoding = encoding.toLowerCase();
	  if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);
	  this._writableState.defaultEncoding = encoding;
	  return this;
	};

	function decodeChunk(state, chunk, encoding) {
	  if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {
	    chunk = Buffer.from(chunk, encoding);
	  }
	  return chunk;
	}

	// if we're already writing something, then just put this
	// in the queue, and wait our turn.  Otherwise, call _write
	// If we return false, then we need a drain event, so set that flag.
	function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
	  if (!isBuf) {
	    var newChunk = decodeChunk(state, chunk, encoding);
	    if (chunk !== newChunk) {
	      isBuf = true;
	      encoding = 'buffer';
	      chunk = newChunk;
	    }
	  }
	  var len = state.objectMode ? 1 : chunk.length;

	  state.length += len;

	  var ret = state.length < state.highWaterMark;
	  // we must ensure that previous needDrain will not be reset to false.
	  if (!ret) state.needDrain = true;

	  if (state.writing || state.corked) {
	    var last = state.lastBufferedRequest;
	    state.lastBufferedRequest = {
	      chunk: chunk,
	      encoding: encoding,
	      isBuf: isBuf,
	      callback: cb,
	      next: null
	    };
	    if (last) {
	      last.next = state.lastBufferedRequest;
	    } else {
	      state.bufferedRequest = state.lastBufferedRequest;
	    }
	    state.bufferedRequestCount += 1;
	  } else {
	    doWrite(stream, state, false, len, chunk, encoding, cb);
	  }

	  return ret;
	}

	function doWrite(stream, state, writev, len, chunk, encoding, cb) {
	  state.writelen = len;
	  state.writecb = cb;
	  state.writing = true;
	  state.sync = true;
	  if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);
	  state.sync = false;
	}

	function onwriteError(stream, state, sync, er, cb) {
	  --state.pendingcb;

	  if (sync) {
	    // defer the callback if we are being called synchronously
	    // to avoid piling up things on the stack
	    processNextTick(cb, er);
	    // this can emit finish, and it will always happen
	    // after error
	    processNextTick(finishMaybe, stream, state);
	    stream._writableState.errorEmitted = true;
	    stream.emit('error', er);
	  } else {
	    // the caller expect this to happen before if
	    // it is async
	    cb(er);
	    stream._writableState.errorEmitted = true;
	    stream.emit('error', er);
	    // this can emit finish, but finish must
	    // always follow error
	    finishMaybe(stream, state);
	  }
	}

	function onwriteStateUpdate(state) {
	  state.writing = false;
	  state.writecb = null;
	  state.length -= state.writelen;
	  state.writelen = 0;
	}

	function onwrite(stream, er) {
	  var state = stream._writableState;
	  var sync = state.sync;
	  var cb = state.writecb;

	  onwriteStateUpdate(state);

	  if (er) onwriteError(stream, state, sync, er, cb);else {
	    // Check if we're actually ready to finish, but don't emit yet
	    var finished = needFinish(state);

	    if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
	      clearBuffer(stream, state);
	    }

	    if (sync) {
	      /*<replacement>*/
	      asyncWrite(afterWrite, stream, state, finished, cb);
	      /*</replacement>*/
	    } else {
	      afterWrite(stream, state, finished, cb);
	    }
	  }
	}

	function afterWrite(stream, state, finished, cb) {
	  if (!finished) onwriteDrain(stream, state);
	  state.pendingcb--;
	  cb();
	  finishMaybe(stream, state);
	}

	// Must force callback to be called on nextTick, so that we don't
	// emit 'drain' before the write() consumer gets the 'false' return
	// value, and has a chance to attach a 'drain' listener.
	function onwriteDrain(stream, state) {
	  if (state.length === 0 && state.needDrain) {
	    state.needDrain = false;
	    stream.emit('drain');
	  }
	}

	// if there's something in the buffer waiting, then process it
	function clearBuffer(stream, state) {
	  state.bufferProcessing = true;
	  var entry = state.bufferedRequest;

	  if (stream._writev && entry && entry.next) {
	    // Fast case, write everything using _writev()
	    var l = state.bufferedRequestCount;
	    var buffer = new Array(l);
	    var holder = state.corkedRequestsFree;
	    holder.entry = entry;

	    var count = 0;
	    var allBuffers = true;
	    while (entry) {
	      buffer[count] = entry;
	      if (!entry.isBuf) allBuffers = false;
	      entry = entry.next;
	      count += 1;
	    }
	    buffer.allBuffers = allBuffers;

	    doWrite(stream, state, true, state.length, buffer, '', holder.finish);

	    // doWrite is almost always async, defer these to save a bit of time
	    // as the hot path ends with doWrite
	    state.pendingcb++;
	    state.lastBufferedRequest = null;
	    if (holder.next) {
	      state.corkedRequestsFree = holder.next;
	      holder.next = null;
	    } else {
	      state.corkedRequestsFree = new CorkedRequest(state);
	    }
	  } else {
	    // Slow case, write chunks one-by-one
	    while (entry) {
	      var chunk = entry.chunk;
	      var encoding = entry.encoding;
	      var cb = entry.callback;
	      var len = state.objectMode ? 1 : chunk.length;

	      doWrite(stream, state, false, len, chunk, encoding, cb);
	      entry = entry.next;
	      // if we didn't call the onwrite immediately, then
	      // it means that we need to wait until it does.
	      // also, that means that the chunk and cb are currently
	      // being processed, so move the buffer counter past them.
	      if (state.writing) {
	        break;
	      }
	    }

	    if (entry === null) state.lastBufferedRequest = null;
	  }

	  state.bufferedRequestCount = 0;
	  state.bufferedRequest = entry;
	  state.bufferProcessing = false;
	}

	Writable.prototype._write = function (chunk, encoding, cb) {
	  cb(new Error('_write() is not implemented'));
	};

	Writable.prototype._writev = null;

	Writable.prototype.end = function (chunk, encoding, cb) {
	  var state = this._writableState;

	  if (typeof chunk === 'function') {
	    cb = chunk;
	    chunk = null;
	    encoding = null;
	  } else if (typeof encoding === 'function') {
	    cb = encoding;
	    encoding = null;
	  }

	  if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);

	  // .end() fully uncorks
	  if (state.corked) {
	    state.corked = 1;
	    this.uncork();
	  }

	  // ignore unnecessary end() calls.
	  if (!state.ending && !state.finished) endWritable(this, state, cb);
	};

	function needFinish(state) {
	  return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
	}
	function callFinal(stream, state) {
	  stream._final(function (err) {
	    state.pendingcb--;
	    if (err) {
	      stream.emit('error', err);
	    }
	    state.prefinished = true;
	    stream.emit('prefinish');
	    finishMaybe(stream, state);
	  });
	}
	function prefinish(stream, state) {
	  if (!state.prefinished && !state.finalCalled) {
	    if (typeof stream._final === 'function') {
	      state.pendingcb++;
	      state.finalCalled = true;
	      processNextTick(callFinal, stream, state);
	    } else {
	      state.prefinished = true;
	      stream.emit('prefinish');
	    }
	  }
	}

	function finishMaybe(stream, state) {
	  var need = needFinish(state);
	  if (need) {
	    prefinish(stream, state);
	    if (state.pendingcb === 0) {
	      state.finished = true;
	      stream.emit('finish');
	    }
	  }
	  return need;
	}

	function endWritable(stream, state, cb) {
	  state.ending = true;
	  finishMaybe(stream, state);
	  if (cb) {
	    if (state.finished) processNextTick(cb);else stream.once('finish', cb);
	  }
	  state.ended = true;
	  stream.writable = false;
	}

	function onCorkedFinish(corkReq, state, err) {
	  var entry = corkReq.entry;
	  corkReq.entry = null;
	  while (entry) {
	    var cb = entry.callback;
	    state.pendingcb--;
	    cb(err);
	    entry = entry.next;
	  }
	  if (state.corkedRequestsFree) {
	    state.corkedRequestsFree.next = corkReq;
	  } else {
	    state.corkedRequestsFree = corkReq;
	  }
	}

	Object.defineProperty(Writable.prototype, 'destroyed', {
	  get: function () {
	    if (this._writableState === undefined) {
	      return false;
	    }
	    return this._writableState.destroyed;
	  },
	  set: function (value) {
	    // we ignore the value if the stream
	    // has not been initialized yet
	    if (!this._writableState) {
	      return;
	    }

	    // backward compatibility, the user is explicitly
	    // managing destroyed
	    this._writableState.destroyed = value;
	  }
	});

	Writable.prototype.destroy = destroyImpl.destroy;
	Writable.prototype._undestroy = destroyImpl.undestroy;
	Writable.prototype._destroy = function (err, cb) {
	  this.end();
	  cb(err);
	};
	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(258).setImmediate, (function() { return this; }())))

/***/ }),
/* 258 */
/***/ (function(module, exports, __webpack_require__) {

	var apply = Function.prototype.apply;

	// DOM APIs, for completeness

	exports.setTimeout = function() {
	  return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);
	};
	exports.setInterval = function() {
	  return new Timeout(apply.call(setInterval, window, arguments), clearInterval);
	};
	exports.clearTimeout =
	exports.clearInterval = function(timeout) {
	  if (timeout) {
	    timeout.close();
	  }
	};

	function Timeout(id, clearFn) {
	  this._id = id;
	  this._clearFn = clearFn;
	}
	Timeout.prototype.unref = Timeout.prototype.ref = function() {};
	Timeout.prototype.close = function() {
	  this._clearFn.call(window, this._id);
	};

	// Does not start the time, just sets up the members needed.
	exports.enroll = function(item, msecs) {
	  clearTimeout(item._idleTimeoutId);
	  item._idleTimeout = msecs;
	};

	exports.unenroll = function(item) {
	  clearTimeout(item._idleTimeoutId);
	  item._idleTimeout = -1;
	};

	exports._unrefActive = exports.active = function(item) {
	  clearTimeout(item._idleTimeoutId);

	  var msecs = item._idleTimeout;
	  if (msecs >= 0) {
	    item._idleTimeoutId = setTimeout(function onTimeout() {
	      if (item._onTimeout)
	        item._onTimeout();
	    }, msecs);
	  }
	};

	// setimmediate attaches itself to the global object
	__webpack_require__(259);
	exports.setImmediate = setImmediate;
	exports.clearImmediate = clearImmediate;


/***/ }),
/* 259 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {
	    "use strict";

	    if (global.setImmediate) {
	        return;
	    }

	    var nextHandle = 1; // Spec says greater than zero
	    var tasksByHandle = {};
	    var currentlyRunningATask = false;
	    var doc = global.document;
	    var registerImmediate;

	    function setImmediate(callback) {
	      // Callback can either be a function or a string
	      if (typeof callback !== "function") {
	        callback = new Function("" + callback);
	      }
	      // Copy function arguments
	      var args = new Array(arguments.length - 1);
	      for (var i = 0; i < args.length; i++) {
	          args[i] = arguments[i + 1];
	      }
	      // Store and register the task
	      var task = { callback: callback, args: args };
	      tasksByHandle[nextHandle] = task;
	      registerImmediate(nextHandle);
	      return nextHandle++;
	    }

	    function clearImmediate(handle) {
	        delete tasksByHandle[handle];
	    }

	    function run(task) {
	        var callback = task.callback;
	        var args = task.args;
	        switch (args.length) {
	        case 0:
	            callback();
	            break;
	        case 1:
	            callback(args[0]);
	            break;
	        case 2:
	            callback(args[0], args[1]);
	            break;
	        case 3:
	            callback(args[0], args[1], args[2]);
	            break;
	        default:
	            callback.apply(undefined, args);
	            break;
	        }
	    }

	    function runIfPresent(handle) {
	        // From the spec: "Wait until any invocations of this algorithm started before this one have completed."
	        // So if we're currently running a task, we'll need to delay this invocation.
	        if (currentlyRunningATask) {
	            // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a
	            // "too much recursion" error.
	            setTimeout(runIfPresent, 0, handle);
	        } else {
	            var task = tasksByHandle[handle];
	            if (task) {
	                currentlyRunningATask = true;
	                try {
	                    run(task);
	                } finally {
	                    clearImmediate(handle);
	                    currentlyRunningATask = false;
	                }
	            }
	        }
	    }

	    function installNextTickImplementation() {
	        registerImmediate = function(handle) {
	            process.nextTick(function () { runIfPresent(handle); });
	        };
	    }

	    function canUsePostMessage() {
	        // The test against `importScripts` prevents this implementation from being installed inside a web worker,
	        // where `global.postMessage` means something completely different and can't be used for this purpose.
	        if (global.postMessage && !global.importScripts) {
	            var postMessageIsAsynchronous = true;
	            var oldOnMessage = global.onmessage;
	            global.onmessage = function() {
	                postMessageIsAsynchronous = false;
	            };
	            global.postMessage("", "*");
	            global.onmessage = oldOnMessage;
	            return postMessageIsAsynchronous;
	        }
	    }

	    function installPostMessageImplementation() {
	        // Installs an event handler on `global` for the `message` event: see
	        // * https://developer.mozilla.org/en/DOM/window.postMessage
	        // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages

	        var messagePrefix = "setImmediate$" + Math.random() + "$";
	        var onGlobalMessage = function(event) {
	            if (event.source === global &&
	                typeof event.data === "string" &&
	                event.data.indexOf(messagePrefix) === 0) {
	                runIfPresent(+event.data.slice(messagePrefix.length));
	            }
	        };

	        if (global.addEventListener) {
	            global.addEventListener("message", onGlobalMessage, false);
	        } else {
	            global.attachEvent("onmessage", onGlobalMessage);
	        }

	        registerImmediate = function(handle) {
	            global.postMessage(messagePrefix + handle, "*");
	        };
	    }

	    function installMessageChannelImplementation() {
	        var channel = new MessageChannel();
	        channel.port1.onmessage = function(event) {
	            var handle = event.data;
	            runIfPresent(handle);
	        };

	        registerImmediate = function(handle) {
	            channel.port2.postMessage(handle);
	        };
	    }

	    function installReadyStateChangeImplementation() {
	        var html = doc.documentElement;
	        registerImmediate = function(handle) {
	            // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted
	            // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
	            var script = doc.createElement("script");
	            script.onreadystatechange = function () {
	                runIfPresent(handle);
	                script.onreadystatechange = null;
	                html.removeChild(script);
	                script = null;
	            };
	            html.appendChild(script);
	        };
	    }

	    function installSetTimeoutImplementation() {
	        registerImmediate = function(handle) {
	            setTimeout(runIfPresent, 0, handle);
	        };
	    }

	    // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.
	    var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);
	    attachTo = attachTo && attachTo.setTimeout ? attachTo : global;

	    // Don't get fooled by e.g. browserify environments.
	    if ({}.toString.call(global.process) === "[object process]") {
	        // For Node.js before 0.9
	        installNextTickImplementation();

	    } else if (canUsePostMessage()) {
	        // For non-IE10 modern browsers
	        installPostMessageImplementation();

	    } else if (global.MessageChannel) {
	        // For web workers, where supported
	        installMessageChannelImplementation();

	    } else if (doc && "onreadystatechange" in doc.createElement("script")) {
	        // For IE 6–8
	        installReadyStateChangeImplementation();

	    } else {
	        // For older browsers
	        installSetTimeoutImplementation();
	    }

	    attachTo.setImmediate = setImmediate;
	    attachTo.clearImmediate = clearImmediate;
	}(typeof self === "undefined" ? typeof global === "undefined" ? this : global : self));

	/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(3)))

/***/ }),
/* 260 */
/***/ (function(module, exports) {

	/* WEBPACK VAR INJECTION */(function(global) {
	/**
	 * Module exports.
	 */

	module.exports = deprecate;

	/**
	 * Mark that a method should not be used.
	 * Returns a modified function which warns once by default.
	 *
	 * If `localStorage.noDeprecation = true` is set, then it is a no-op.
	 *
	 * If `localStorage.throwDeprecation = true` is set, then deprecated functions
	 * will throw an Error when invoked.
	 *
	 * If `localStorage.traceDeprecation = true` is set, then deprecated functions
	 * will invoke `console.trace()` instead of `console.error()`.
	 *
	 * @param {Function} fn - the function to deprecate
	 * @param {String} msg - the string to print to the console when `fn` is invoked
	 * @returns {Function} a new "deprecated" version of `fn`
	 * @api public
	 */

	function deprecate (fn, msg) {
	  if (config('noDeprecation')) {
	    return fn;
	  }

	  var warned = false;
	  function deprecated() {
	    if (!warned) {
	      if (config('throwDeprecation')) {
	        throw new Error(msg);
	      } else if (config('traceDeprecation')) {
	        console.trace(msg);
	      } else {
	        console.warn(msg);
	      }
	      warned = true;
	    }
	    return fn.apply(this, arguments);
	  }

	  return deprecated;
	}

	/**
	 * Checks `localStorage` for boolean values for the given `name`.
	 *
	 * @param {String} name
	 * @returns {Boolean}
	 * @api private
	 */

	function config (name) {
	  // accessing global.localStorage can trigger a DOMException in sandboxed iframes
	  try {
	    if (!global.localStorage) return false;
	  } catch (_) {
	    return false;
	  }
	  var val = global.localStorage[name];
	  if (null == val) return false;
	  return String(val).toLowerCase() === 'true';
	}

	/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))

/***/ }),
/* 261 */
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	var Buffer = __webpack_require__(252).Buffer;

	var isEncoding = Buffer.isEncoding || function (encoding) {
	  encoding = '' + encoding;
	  switch (encoding && encoding.toLowerCase()) {
	    case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':
	      return true;
	    default:
	      return false;
	  }
	};

	function _normalizeEncoding(enc) {
	  if (!enc) return 'utf8';
	  var retried;
	  while (true) {
	    switch (enc) {
	      case 'utf8':
	      case 'utf-8':
	        return 'utf8';
	      case 'ucs2':
	      case 'ucs-2':
	      case 'utf16le':
	      case 'utf-16le':
	        return 'utf16le';
	      case 'latin1':
	      case 'binary':
	        return 'latin1';
	      case 'base64':
	      case 'ascii':
	      case 'hex':
	        return enc;
	      default:
	        if (retried) return; // undefined
	        enc = ('' + enc).toLowerCase();
	        retried = true;
	    }
	  }
	};

	// Do not cache `Buffer.isEncoding` when checking encoding names as some
	// modules monkey-patch it to support additional encodings
	function normalizeEncoding(enc) {
	  var nenc = _normalizeEncoding(enc);
	  if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);
	  return nenc || enc;
	}

	// StringDecoder provides an interface for efficiently splitting a series of
	// buffers into a series of JS strings without breaking apart multi-byte
	// characters.
	exports.StringDecoder = StringDecoder;
	function StringDecoder(encoding) {
	  this.encoding = normalizeEncoding(encoding);
	  var nb;
	  switch (this.encoding) {
	    case 'utf16le':
	      this.text = utf16Text;
	      this.end = utf16End;
	      nb = 4;
	      break;
	    case 'utf8':
	      this.fillLast = utf8FillLast;
	      nb = 4;
	      break;
	    case 'base64':
	      this.text = base64Text;
	      this.end = base64End;
	      nb = 3;
	      break;
	    default:
	      this.write = simpleWrite;
	      this.end = simpleEnd;
	      return;
	  }
	  this.lastNeed = 0;
	  this.lastTotal = 0;
	  this.lastChar = Buffer.allocUnsafe(nb);
	}

	StringDecoder.prototype.write = function (buf) {
	  if (buf.length === 0) return '';
	  var r;
	  var i;
	  if (this.lastNeed) {
	    r = this.fillLast(buf);
	    if (r === undefined) return '';
	    i = this.lastNeed;
	    this.lastNeed = 0;
	  } else {
	    i = 0;
	  }
	  if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
	  return r || '';
	};

	StringDecoder.prototype.end = utf8End;

	// Returns only complete characters in a Buffer
	StringDecoder.prototype.text = utf8Text;

	// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer
	StringDecoder.prototype.fillLast = function (buf) {
	  if (this.lastNeed <= buf.length) {
	    buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
	    return this.lastChar.toString(this.encoding, 0, this.lastTotal);
	  }
	  buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
	  this.lastNeed -= buf.length;
	};

	// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a
	// continuation byte.
	function utf8CheckByte(byte) {
	  if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;
	  return -1;
	}

	// Checks at most 3 bytes at the end of a Buffer in order to detect an
	// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)
	// needed to complete the UTF-8 character (if applicable) are returned.
	function utf8CheckIncomplete(self, buf, i) {
	  var j = buf.length - 1;
	  if (j < i) return 0;
	  var nb = utf8CheckByte(buf[j]);
	  if (nb >= 0) {
	    if (nb > 0) self.lastNeed = nb - 1;
	    return nb;
	  }
	  if (--j < i) return 0;
	  nb = utf8CheckByte(buf[j]);
	  if (nb >= 0) {
	    if (nb > 0) self.lastNeed = nb - 2;
	    return nb;
	  }
	  if (--j < i) return 0;
	  nb = utf8CheckByte(buf[j]);
	  if (nb >= 0) {
	    if (nb > 0) {
	      if (nb === 2) nb = 0;else self.lastNeed = nb - 3;
	    }
	    return nb;
	  }
	  return 0;
	}

	// Validates as many continuation bytes for a multi-byte UTF-8 character as
	// needed or are available. If we see a non-continuation byte where we expect
	// one, we "replace" the validated continuation bytes we've seen so far with
	// UTF-8 replacement characters ('\ufffd'), to match v8's UTF-8 decoding
	// behavior. The continuation byte check is included three times in the case
	// where all of the continuation bytes for a character exist in the same buffer.
	// It is also done this way as a slight performance increase instead of using a
	// loop.
	function utf8CheckExtraBytes(self, buf, p) {
	  if ((buf[0] & 0xC0) !== 0x80) {
	    self.lastNeed = 0;
	    return '\ufffd'.repeat(p);
	  }
	  if (self.lastNeed > 1 && buf.length > 1) {
	    if ((buf[1] & 0xC0) !== 0x80) {
	      self.lastNeed = 1;
	      return '\ufffd'.repeat(p + 1);
	    }
	    if (self.lastNeed > 2 && buf.length > 2) {
	      if ((buf[2] & 0xC0) !== 0x80) {
	        self.lastNeed = 2;
	        return '\ufffd'.repeat(p + 2);
	      }
	    }
	  }
	}

	// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.
	function utf8FillLast(buf) {
	  var p = this.lastTotal - this.lastNeed;
	  var r = utf8CheckExtraBytes(this, buf, p);
	  if (r !== undefined) return r;
	  if (this.lastNeed <= buf.length) {
	    buf.copy(this.lastChar, p, 0, this.lastNeed);
	    return this.lastChar.toString(this.encoding, 0, this.lastTotal);
	  }
	  buf.copy(this.lastChar, p, 0, buf.length);
	  this.lastNeed -= buf.length;
	}

	// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a
	// partial character, the character's bytes are buffered until the required
	// number of bytes are available.
	function utf8Text(buf, i) {
	  var total = utf8CheckIncomplete(this, buf, i);
	  if (!this.lastNeed) return buf.toString('utf8', i);
	  this.lastTotal = total;
	  var end = buf.length - (total - this.lastNeed);
	  buf.copy(this.lastChar, 0, end);
	  return buf.toString('utf8', i, end);
	}

	// For UTF-8, a replacement character for each buffered byte of a (partial)
	// character needs to be added to the output.
	function utf8End(buf) {
	  var r = buf && buf.length ? this.write(buf) : '';
	  if (this.lastNeed) return r + '\ufffd'.repeat(this.lastTotal - this.lastNeed);
	  return r;
	}

	// UTF-16LE typically needs two bytes per character, but even if we have an even
	// number of bytes available, we need to check if we end on a leading/high
	// surrogate. In that case, we need to wait for the next two bytes in order to
	// decode the last character properly.
	function utf16Text(buf, i) {
	  if ((buf.length - i) % 2 === 0) {
	    var r = buf.toString('utf16le', i);
	    if (r) {
	      var c = r.charCodeAt(r.length - 1);
	      if (c >= 0xD800 && c <= 0xDBFF) {
	        this.lastNeed = 2;
	        this.lastTotal = 4;
	        this.lastChar[0] = buf[buf.length - 2];
	        this.lastChar[1] = buf[buf.length - 1];
	        return r.slice(0, -1);
	      }
	    }
	    return r;
	  }
	  this.lastNeed = 1;
	  this.lastTotal = 2;
	  this.lastChar[0] = buf[buf.length - 1];
	  return buf.toString('utf16le', i, buf.length - 1);
	}

	// For UTF-16LE we do not explicitly append special replacement characters if we
	// end on a partial character, we simply let v8 handle that.
	function utf16End(buf) {
	  var r = buf && buf.length ? this.write(buf) : '';
	  if (this.lastNeed) {
	    var end = this.lastTotal - this.lastNeed;
	    return r + this.lastChar.toString('utf16le', 0, end);
	  }
	  return r;
	}

	function base64Text(buf, i) {
	  var n = (buf.length - i) % 3;
	  if (n === 0) return buf.toString('base64', i);
	  this.lastNeed = 3 - n;
	  this.lastTotal = 3;
	  if (n === 1) {
	    this.lastChar[0] = buf[buf.length - 1];
	  } else {
	    this.lastChar[0] = buf[buf.length - 2];
	    this.lastChar[1] = buf[buf.length - 1];
	  }
	  return buf.toString('base64', i, buf.length - n);
	}

	function base64End(buf) {
	  var r = buf && buf.length ? this.write(buf) : '';
	  if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);
	  return r;
	}

	// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)
	function simpleWrite(buf) {
	  return buf.toString(this.encoding);
	}

	function simpleEnd(buf) {
	  return buf && buf.length ? this.write(buf) : '';
	}

/***/ }),
/* 262 */
/***/ (function(module, exports, __webpack_require__) {

	// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	// a transform stream is a readable/writable stream where you do
	// something with the data.  Sometimes it's called a "filter",
	// but that's not a great name for it, since that implies a thing where
	// some bits pass through, and others are simply ignored.  (That would
	// be a valid example of a transform, of course.)
	//
	// While the output is causally related to the input, it's not a
	// necessarily symmetric or synchronous transformation.  For example,
	// a zlib stream might take multiple plain-text writes(), and then
	// emit a single compressed chunk some time in the future.
	//
	// Here's how this works:
	//
	// The Transform stream has all the aspects of the readable and writable
	// stream classes.  When you write(chunk), that calls _write(chunk,cb)
	// internally, and returns false if there's a lot of pending writes
	// buffered up.  When you call read(), that calls _read(n) until
	// there's enough pending readable data buffered up.
	//
	// In a transform stream, the written data is placed in a buffer.  When
	// _read(n) is called, it transforms the queued up data, calling the
	// buffered _write cb's as it consumes chunks.  If consuming a single
	// written chunk would result in multiple output chunks, then the first
	// outputted bit calls the readcb, and subsequent chunks just go into
	// the read buffer, and will cause it to emit 'readable' if necessary.
	//
	// This way, back-pressure is actually determined by the reading side,
	// since _read has to be called to start processing a new chunk.  However,
	// a pathological inflate type of transform can cause excessive buffering
	// here.  For example, imagine a stream where every byte of input is
	// interpreted as an integer from 0-255, and then results in that many
	// bytes of output.  Writing the 4 bytes {ff,ff,ff,ff} would result in
	// 1kb of data being output.  In this case, you could write a very small
	// amount of input, and end up with a very large amount of output.  In
	// such a pathological inflating mechanism, there'd be no way to tell
	// the system to stop doing the transform.  A single 4MB write could
	// cause the system to run out of memory.
	//
	// However, even in such a pathological case, only a single written chunk
	// would be consumed, and then the rest would wait (un-transformed) until
	// the results of the previous transformed chunk were consumed.

	'use strict';

	module.exports = Transform;

	var Duplex = __webpack_require__(256);

	/*<replacement>*/
	var util = __webpack_require__(253);
	util.inherits = __webpack_require__(247);
	/*</replacement>*/

	util.inherits(Transform, Duplex);

	function TransformState(stream) {
	  this.afterTransform = function (er, data) {
	    return afterTransform(stream, er, data);
	  };

	  this.needTransform = false;
	  this.transforming = false;
	  this.writecb = null;
	  this.writechunk = null;
	  this.writeencoding = null;
	}

	function afterTransform(stream, er, data) {
	  var ts = stream._transformState;
	  ts.transforming = false;

	  var cb = ts.writecb;

	  if (!cb) {
	    return stream.emit('error', new Error('write callback called multiple times'));
	  }

	  ts.writechunk = null;
	  ts.writecb = null;

	  if (data !== null && data !== undefined) stream.push(data);

	  cb(er);

	  var rs = stream._readableState;
	  rs.reading = false;
	  if (rs.needReadable || rs.length < rs.highWaterMark) {
	    stream._read(rs.highWaterMark);
	  }
	}

	function Transform(options) {
	  if (!(this instanceof Transform)) return new Transform(options);

	  Duplex.call(this, options);

	  this._transformState = new TransformState(this);

	  var stream = this;

	  // start out asking for a readable event once data is transformed.
	  this._readableState.needReadable = true;

	  // we have implemented the _read method, and done the other things
	  // that Readable wants before the first _read call, so unset the
	  // sync guard flag.
	  this._readableState.sync = false;

	  if (options) {
	    if (typeof options.transform === 'function') this._transform = options.transform;

	    if (typeof options.flush === 'function') this._flush = options.flush;
	  }

	  // When the writable side finishes, then flush out anything remaining.
	  this.once('prefinish', function () {
	    if (typeof this._flush === 'function') this._flush(function (er, data) {
	      done(stream, er, data);
	    });else done(stream);
	  });
	}

	Transform.prototype.push = function (chunk, encoding) {
	  this._transformState.needTransform = false;
	  return Duplex.prototype.push.call(this, chunk, encoding);
	};

	// This is the part where you do stuff!
	// override this function in implementation classes.
	// 'chunk' is an input chunk.
	//
	// Call `push(newChunk)` to pass along transformed output
	// to the readable side.  You may call 'push' zero or more times.
	//
	// Call `cb(err)` when you are done with this chunk.  If you pass
	// an error, then that'll put the hurt on the whole operation.  If you
	// never call cb(), then you'll never get another chunk.
	Transform.prototype._transform = function (chunk, encoding, cb) {
	  throw new Error('_transform() is not implemented');
	};

	Transform.prototype._write = function (chunk, encoding, cb) {
	  var ts = this._transformState;
	  ts.writecb = cb;
	  ts.writechunk = chunk;
	  ts.writeencoding = encoding;
	  if (!ts.transforming) {
	    var rs = this._readableState;
	    if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
	  }
	};

	// Doesn't matter what the args are here.
	// _transform does all the work.
	// That we got here means that the readable side wants more data.
	Transform.prototype._read = function (n) {
	  var ts = this._transformState;

	  if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
	    ts.transforming = true;
	    this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
	  } else {
	    // mark that we need a transform, so that any data that comes in
	    // will get processed, now that we've asked for it.
	    ts.needTransform = true;
	  }
	};

	Transform.prototype._destroy = function (err, cb) {
	  var _this = this;

	  Duplex.prototype._destroy.call(this, err, function (err2) {
	    cb(err2);
	    _this.emit('close');
	  });
	};

	function done(stream, er, data) {
	  if (er) return stream.emit('error', er);

	  if (data !== null && data !== undefined) stream.push(data);

	  // if there's nothing in the write buffer, then that means
	  // that nothing more will ever be provided
	  var ws = stream._writableState;
	  var ts = stream._transformState;

	  if (ws.length) throw new Error('Calling transform done when ws.length != 0');

	  if (ts.transforming) throw new Error('Calling transform done when still transforming');

	  return stream.push(null);
	}

/***/ }),
/* 263 */
/***/ (function(module, exports, __webpack_require__) {

	// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	// a passthrough stream.
	// basically just the most minimal sort of Transform stream.
	// Every written chunk gets output as-is.

	'use strict';

	module.exports = PassThrough;

	var Transform = __webpack_require__(262);

	/*<replacement>*/
	var util = __webpack_require__(253);
	util.inherits = __webpack_require__(247);
	/*</replacement>*/

	util.inherits(PassThrough, Transform);

	function PassThrough(options) {
	  if (!(this instanceof PassThrough)) return new PassThrough(options);

	  Transform.call(this, options);
	}

	PassThrough.prototype._transform = function (chunk, encoding, cb) {
	  cb(null, chunk);
	};

/***/ }),
/* 264 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(process) {var Stream = __webpack_require__(245)
	var Writable = __webpack_require__(257)

	if (process.env.READABLE_STREAM === 'disable') {
	  module.exports = Stream && Stream.Writable || Writable
	} else {
	  module.exports = Writable
	}

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))

/***/ }),
/* 265 */
/***/ (function(module, exports, __webpack_require__) {

	module.exports = __webpack_require__(248).Duplex


/***/ }),
/* 266 */
/***/ (function(module, exports, __webpack_require__) {

	module.exports = __webpack_require__(248).Transform


/***/ }),
/* 267 */
/***/ (function(module, exports, __webpack_require__) {

	module.exports = __webpack_require__(248).PassThrough


/***/ }),
/* 268 */
/***/ (function(module, exports) {

	exports['aes-128-ecb'] = {
	  cipher: 'AES',
	  key: 128,
	  iv: 0,
	  mode: 'ECB',
	  type: 'block'
	};
	exports['aes-192-ecb'] = {
	  cipher: 'AES',
	  key: 192,
	  iv: 0,
	  mode: 'ECB',
	  type: 'block'
	};
	exports['aes-256-ecb'] = {
	  cipher: 'AES',
	  key: 256,
	  iv: 0,
	  mode: 'ECB',
	  type: 'block'
	};
	exports['aes-128-cbc'] = {
	  cipher: 'AES',
	  key: 128,
	  iv: 16,
	  mode: 'CBC',
	  type: 'block'
	};
	exports['aes-192-cbc'] = {
	  cipher: 'AES',
	  key: 192,
	  iv: 16,
	  mode: 'CBC',
	  type: 'block'
	};
	exports['aes-256-cbc'] = {
	  cipher: 'AES',
	  key: 256,
	  iv: 16,
	  mode: 'CBC',
	  type: 'block'
	};
	exports['aes128'] = exports['aes-128-cbc'];
	exports['aes192'] = exports['aes-192-cbc'];
	exports['aes256'] = exports['aes-256-cbc'];
	exports['aes-128-cfb'] = {
	  cipher: 'AES',
	  key: 128,
	  iv: 16,
	  mode: 'CFB',
	  type: 'stream'
	};
	exports['aes-192-cfb'] = {
	  cipher: 'AES',
	  key: 192,
	  iv: 16,
	  mode: 'CFB',
	  type: 'stream'
	};
	exports['aes-256-cfb'] = {
	  cipher: 'AES',
	  key: 256,
	  iv: 16,
	  mode: 'CFB',
	  type: 'stream'
	};
	exports['aes-128-ofb'] = {
	  cipher: 'AES',
	  key: 128,
	  iv: 16,
	  mode: 'OFB',
	  type: 'stream'
	};
	exports['aes-192-ofb'] = {
	  cipher: 'AES',
	  key: 192,
	  iv: 16,
	  mode: 'OFB',
	  type: 'stream'
	};
	exports['aes-256-ofb'] = {
	  cipher: 'AES',
	  key: 256,
	  iv: 16,
	  mode: 'OFB',
	  type: 'stream'
	};
	exports['aes-128-ctr'] = {
	  cipher: 'AES',
	  key: 128,
	  iv: 16,
	  mode: 'CTR',
	  type: 'stream'
	};
	exports['aes-192-ctr'] = {
	  cipher: 'AES',
	  key: 192,
	  iv: 16,
	  mode: 'CTR',
	  type: 'stream'
	};
	exports['aes-256-ctr'] = {
	  cipher: 'AES',
	  key: 256,
	  iv: 16,
	  mode: 'CTR',
	  type: 'stream'
	};

/***/ }),
/* 269 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {
	module.exports = function (crypto, password, keyLen, ivLen) {
	  keyLen = keyLen/8;
	  ivLen = ivLen || 0;
	  var ki = 0;
	  var ii = 0;
	  var key = new Buffer(keyLen);
	  var iv = new Buffer(ivLen);
	  var addmd = 0;
	  var md, md_buf;
	  var i;
	  while (true) {
	    md = crypto.createHash('md5');
	    if(addmd++ > 0) {
	       md.update(md_buf);
	    }
	    md.update(password);
	    md_buf = md.digest();
	    i = 0;
	    if(keyLen > 0) {
	      while(true) {
	        if(keyLen === 0) {
	          break;
	        }
	        if(i === md_buf.length) {
	          break;
	        }
	        key[ki++] = md_buf[i];
	        keyLen--;
	        i++;
	       }
	    }
	    if(ivLen > 0 && i !== md_buf.length) {
	      while(true) {
	        if(ivLen === 0) {
	          break;
	        }
	        if(i === md_buf.length) {
	          break;
	        }
	       iv[ii++] = md_buf[i];
	       ivLen--;
	       i++;
	     }
	   }
	   if(keyLen === 0 && ivLen === 0) {
	      break;
	    }
	  }
	  for(i=0;i<md_buf.length;i++) {
	    md_buf[i] = 0;
	  }
	  return {
	    key: key,
	    iv: iv
	  };
	};
	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 270 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(243);
	var Transform = __webpack_require__(244);
	var inherits = __webpack_require__(247);

	inherits(StreamCipher, Transform);
	module.exports = StreamCipher;
	function StreamCipher(mode, key, iv, decrypt) {
	  if (!(this instanceof StreamCipher)) {
	    return new StreamCipher(mode, key, iv);
	  }
	  Transform.call(this);
	  this._cipher = new aes.AES(key);
	  this._prev = new Buffer(iv.length);
	  this._cache = new Buffer('');
	  this._secCache = new Buffer('');
	  this._decrypt = decrypt;
	  iv.copy(this._prev);
	  this._mode = mode;
	}
	StreamCipher.prototype._transform = function (chunk, _, next) {
	  next(null, this._mode.encrypt(this, chunk, this._decrypt));
	};
	StreamCipher.prototype._flush = function (next) {
	  this._cipher.scrub();
	  next();
	};
	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 271 */
/***/ (function(module, exports) {

	exports.encrypt = function (self, block) {
	  return self._cipher.encryptBlock(block);
	};
	exports.decrypt = function (self, block) {
	  return self._cipher.decryptBlock(block);
	};

/***/ }),
/* 272 */
/***/ (function(module, exports, __webpack_require__) {

	var xor = __webpack_require__(273);
	exports.encrypt = function (self, block) {
	  var data = xor(block, self._prev);
	  self._prev = self._cipher.encryptBlock(data);
	  return self._prev;
	};
	exports.decrypt = function (self, block) {
	  var pad = self._prev;
	  self._prev = block;
	  var out = self._cipher.decryptBlock(block);
	  return xor(out, pad);
	};

/***/ }),
/* 273 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {module.exports = xor;
	function xor(a, b) {
	  var len = Math.min(a.length, b.length);
	  var out = new Buffer(len);
	  var i = -1;
	  while (++i < len) {
	    out.writeUInt8(a[i] ^ b[i], i);
	  }
	  return out;
	}
	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 274 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var xor = __webpack_require__(273);
	exports.encrypt = function (self, data, decrypt) {
	  var out = new Buffer('');
	  var len;
	  while (data.length) {
	    if (self._cache.length === 0) {
	      self._cache = self._cipher.encryptBlock(self._prev);
	      self._prev = new Buffer('');
	    }
	    if (self._cache.length <= data.length) {
	      len = self._cache.length;
	      out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)]);
	      data = data.slice(len);
	    } else {
	      out = Buffer.concat([out, encryptStart(self, data, decrypt)]);
	      break;
	    }
	  }
	  return out;
	};
	function encryptStart(self, data, decrypt) {
	  var len = data.length;
	  var out = xor(data, self._cache);
	  self._cache = self._cache.slice(len);
	  self._prev = Buffer.concat([self._prev, decrypt?data:out]);
	  return out;
	}
	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 275 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var xor = __webpack_require__(273);
	function getBlock(self) {
	  self._prev = self._cipher.encryptBlock(self._prev);
	  return self._prev;
	}
	exports.encrypt = function (self, chunk) {
	  while (self._cache.length < chunk.length) {
	    self._cache = Buffer.concat([self._cache, getBlock(self)]);
	  }
	  var pad = self._cache.slice(0, chunk.length);
	  self._cache = self._cache.slice(chunk.length);
	  return xor(chunk, pad);
	};
	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 276 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var xor = __webpack_require__(273);
	function getBlock(self) {
	  var out = self._cipher.encryptBlock(self._prev);
	  incr32(self._prev);
	  return out;
	}
	exports.encrypt = function (self, chunk) {
	  while (self._cache.length < chunk.length) {
	    self._cache = Buffer.concat([self._cache, getBlock(self)]);
	  }
	  var pad = self._cache.slice(0, chunk.length);
	  self._cache = self._cache.slice(chunk.length);
	  return xor(chunk, pad);
	};
	function incr32(iv) {
	  var len = iv.length;
	  var item;
	  while (len--) {
	    item = iv.readUInt8(len);
	    if (item === 255) {
	      iv.writeUInt8(0, len);
	    } else {
	      item++;
	      iv.writeUInt8(item, len);
	      break;
	    }
	  }
	}
	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 277 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(243);
	var Transform = __webpack_require__(244);
	var inherits = __webpack_require__(247);
	var modes = __webpack_require__(268);
	var StreamCipher = __webpack_require__(270);
	var ebtk = __webpack_require__(269);

	inherits(Decipher, Transform);
	function Decipher(mode, key, iv) {
	  if (!(this instanceof Decipher)) {
	    return new Decipher(mode, key, iv);
	  }
	  Transform.call(this);
	  this._cache = new Splitter();
	  this._last = void 0;
	  this._cipher = new aes.AES(key);
	  this._prev = new Buffer(iv.length);
	  iv.copy(this._prev);
	  this._mode = mode;
	}
	Decipher.prototype._transform = function (data, _, next) {
	  this._cache.add(data);
	  var chunk;
	  var thing;
	  while ((chunk = this._cache.get())) {
	    thing = this._mode.decrypt(this, chunk);
	    this.push(thing);
	  }
	  next();
	};
	Decipher.prototype._flush = function (next) {
	  var chunk = this._cache.flush();
	  if (!chunk) {
	    return next;
	  }

	  this.push(unpad(this._mode.decrypt(this, chunk)));

	  next();
	};

	function Splitter() {
	   if (!(this instanceof Splitter)) {
	    return new Splitter();
	  }
	  this.cache = new Buffer('');
	}
	Splitter.prototype.add = function (data) {
	  this.cache = Buffer.concat([this.cache, data]);
	};

	Splitter.prototype.get = function () {
	  if (this.cache.length > 16) {
	    var out = this.cache.slice(0, 16);
	    this.cache = this.cache.slice(16);
	    return out;
	  }
	  return null;
	};
	Splitter.prototype.flush = function () {
	  if (this.cache.length) {
	    return this.cache;
	  }
	};
	function unpad(last) {
	  var padded = last[15];
	  if (padded === 16) {
	    return;
	  }
	  return last.slice(0, 16 - padded);
	}

	var modelist = {
	  ECB: __webpack_require__(271),
	  CBC: __webpack_require__(272),
	  CFB: __webpack_require__(274),
	  OFB: __webpack_require__(275),
	  CTR: __webpack_require__(276)
	};

	module.exports = function (crypto) {
	  function createDecipheriv(suite, password, iv) {
	    var config = modes[suite];
	    if (!config) {
	      throw new TypeError('invalid suite type');
	    }
	    if (typeof iv === 'string') {
	      iv = new Buffer(iv);
	    }
	    if (typeof password === 'string') {
	      password = new Buffer(password);
	    }
	    if (password.length !== config.key/8) {
	      throw new TypeError('invalid key length ' + password.length);
	    }
	    if (iv.length !== config.iv) {
	      throw new TypeError('invalid iv length ' + iv.length);
	    }
	    if (config.type === 'stream') {
	      return new StreamCipher(modelist[config.mode], password, iv, true);
	    }
	    return new Decipher(modelist[config.mode], password, iv);
	  }

	  function createDecipher (suite, password) {
	    var config = modes[suite];
	    if (!config) {
	      throw new TypeError('invalid suite type');
	    }
	    var keys = ebtk(crypto, password, config.key, config.iv);
	    return createDecipheriv(suite, keys.key, keys.iv);
	  }
	  return {
	    createDecipher: createDecipher,
	    createDecipheriv: createDecipheriv
	  };
	};

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 278 */
/***/ (function(module, exports) {

	/**
	 * Convert array of 16 byte values to UUID string format of the form:
	 * XXXXXXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
	 */
	var byteToHex = [];
	for (var i = 0; i < 256; ++i) {
	  byteToHex[i] = (i + 0x100).toString(16).substr(1);
	}

	function bytesToUuid(buf, offset) {
	  var i = offset || 0;
	  var bth = byteToHex;
	  return  bth[buf[i++]] + bth[buf[i++]] +
	          bth[buf[i++]] + bth[buf[i++]] + '-' +
	          bth[buf[i++]] + bth[buf[i++]] + '-' +
	          bth[buf[i++]] + bth[buf[i++]] + '-' +
	          bth[buf[i++]] + bth[buf[i++]] + '-' +
	          bth[buf[i++]] + bth[buf[i++]] +
	          bth[buf[i++]] + bth[buf[i++]] +
	          bth[buf[i++]] + bth[buf[i++]];
	}

	module.exports = bytesToUuid;


/***/ }),
/* 279 */
/***/ (function(module, exports, __webpack_require__) {

	var rng = __webpack_require__(226);
	var bytesToUuid = __webpack_require__(278);

	function v4(options, buf, offset) {
	  var i = buf && offset || 0;

	  if (typeof(options) == 'string') {
	    buf = options == 'binary' ? new Array(16) : null;
	    options = null;
	  }
	  options = options || {};

	  var rnds = options.random || (options.rng || rng)();

	  // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
	  rnds[6] = (rnds[6] & 0x0f) | 0x40;
	  rnds[8] = (rnds[8] & 0x3f) | 0x80;

	  // Copy bytes to buffer, if provided
	  if (buf) {
	    for (var ii = 0; ii < 16; ++ii) {
	      buf[i + ii] = rnds[ii];
	    }
	  }

	  return buf || bytesToUuid(rnds);
	}

	module.exports = v4;


/***/ }),
/* 280 */
/***/ (function(module, exports, __webpack_require__) {

	var Buffer = __webpack_require__(203).Buffer
	var sha = __webpack_require__(281)
	var sha256 = __webpack_require__(283)
	var rng = __webpack_require__(284)
	var md5 = __webpack_require__(285)

	var algorithms = {
	  sha1: sha,
	  sha256: sha256,
	  md5: md5
	}

	var blocksize = 64
	var zeroBuffer = new Buffer(blocksize); zeroBuffer.fill(0)
	function hmac(fn, key, data) {
	  if(!Buffer.isBuffer(key)) key = new Buffer(key)
	  if(!Buffer.isBuffer(data)) data = new Buffer(data)

	  if(key.length > blocksize) {
	    key = fn(key)
	  } else if(key.length < blocksize) {
	    key = Buffer.concat([key, zeroBuffer], blocksize)
	  }

	  var ipad = new Buffer(blocksize), opad = new Buffer(blocksize)
	  for(var i = 0; i < blocksize; i++) {
	    ipad[i] = key[i] ^ 0x36
	    opad[i] = key[i] ^ 0x5C
	  }

	  var hash = fn(Buffer.concat([ipad, data]))
	  return fn(Buffer.concat([opad, hash]))
	}

	function hash(alg, key) {
	  alg = alg || 'sha1'
	  var fn = algorithms[alg]
	  var bufs = []
	  var length = 0
	  if(!fn) error('algorithm:', alg, 'is not yet supported')
	  return {
	    update: function (data) {
	      if(!Buffer.isBuffer(data)) data = new Buffer(data)
	        
	      bufs.push(data)
	      length += data.length
	      return this
	    },
	    digest: function (enc) {
	      var buf = Buffer.concat(bufs)
	      var r = key ? hmac(fn, key, buf) : fn(buf)
	      bufs = null
	      return enc ? r.toString(enc) : r
	    }
	  }
	}

	function error () {
	  var m = [].slice.call(arguments).join(' ')
	  throw new Error([
	    m,
	    'we accept pull requests',
	    'http://github.com/dominictarr/crypto-browserify'
	    ].join('\n'))
	}

	exports.createHash = function (alg) { return hash(alg) }
	exports.createHmac = function (alg, key) { return hash(alg, key) }
	exports.randomBytes = function(size, callback) {
	  if (callback && callback.call) {
	    try {
	      callback.call(this, undefined, new Buffer(rng(size)))
	    } catch (err) { callback(err) }
	  } else {
	    return new Buffer(rng(size))
	  }
	}

	function each(a, f) {
	  for(var i in a)
	    f(a[i], i)
	}

	// the least I can do is make error messages for the rest of the node.js/crypto api.
	each(['createCredentials'
	, 'createCipher'
	, 'createCipheriv'
	, 'createDecipher'
	, 'createDecipheriv'
	, 'createSign'
	, 'createVerify'
	, 'createDiffieHellman'
	, 'pbkdf2'], function (name) {
	  exports[name] = function () {
	    error('sorry,', name, 'is not implemented yet')
	  }
	})


/***/ }),
/* 281 */
/***/ (function(module, exports, __webpack_require__) {

	/*
	 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
	 * in FIPS PUB 180-1
	 * Version 2.1a Copyright Paul Johnston 2000 - 2002.
	 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
	 * Distributed under the BSD License
	 * See http://pajhome.org.uk/crypt/md5 for details.
	 */

	var helpers = __webpack_require__(282);

	/*
	 * Calculate the SHA-1 of an array of big-endian words, and a bit length
	 */
	function core_sha1(x, len)
	{
	  /* append padding */
	  x[len >> 5] |= 0x80 << (24 - len % 32);
	  x[((len + 64 >> 9) << 4) + 15] = len;

	  var w = Array(80);
	  var a =  1732584193;
	  var b = -271733879;
	  var c = -1732584194;
	  var d =  271733878;
	  var e = -1009589776;

	  for(var i = 0; i < x.length; i += 16)
	  {
	    var olda = a;
	    var oldb = b;
	    var oldc = c;
	    var oldd = d;
	    var olde = e;

	    for(var j = 0; j < 80; j++)
	    {
	      if(j < 16) w[j] = x[i + j];
	      else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
	      var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)),
	                       safe_add(safe_add(e, w[j]), sha1_kt(j)));
	      e = d;
	      d = c;
	      c = rol(b, 30);
	      b = a;
	      a = t;
	    }

	    a = safe_add(a, olda);
	    b = safe_add(b, oldb);
	    c = safe_add(c, oldc);
	    d = safe_add(d, oldd);
	    e = safe_add(e, olde);
	  }
	  return Array(a, b, c, d, e);

	}

	/*
	 * Perform the appropriate triplet combination function for the current
	 * iteration
	 */
	function sha1_ft(t, b, c, d)
	{
	  if(t < 20) return (b & c) | ((~b) & d);
	  if(t < 40) return b ^ c ^ d;
	  if(t < 60) return (b & c) | (b & d) | (c & d);
	  return b ^ c ^ d;
	}

	/*
	 * Determine the appropriate additive constant for the current iteration
	 */
	function sha1_kt(t)
	{
	  return (t < 20) ?  1518500249 : (t < 40) ?  1859775393 :
	         (t < 60) ? -1894007588 : -899497514;
	}

	/*
	 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
	 * to work around bugs in some JS interpreters.
	 */
	function safe_add(x, y)
	{
	  var lsw = (x & 0xFFFF) + (y & 0xFFFF);
	  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
	  return (msw << 16) | (lsw & 0xFFFF);
	}

	/*
	 * Bitwise rotate a 32-bit number to the left.
	 */
	function rol(num, cnt)
	{
	  return (num << cnt) | (num >>> (32 - cnt));
	}

	module.exports = function sha1(buf) {
	  return helpers.hash(buf, core_sha1, 20, true);
	};


/***/ }),
/* 282 */
/***/ (function(module, exports, __webpack_require__) {

	var Buffer = __webpack_require__(203).Buffer;
	var intSize = 4;
	var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
	var chrsz = 8;

	function toArray(buf, bigEndian) {
	  if ((buf.length % intSize) !== 0) {
	    var len = buf.length + (intSize - (buf.length % intSize));
	    buf = Buffer.concat([buf, zeroBuffer], len);
	  }

	  var arr = [];
	  var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
	  for (var i = 0; i < buf.length; i += intSize) {
	    arr.push(fn.call(buf, i));
	  }
	  return arr;
	}

	function toBuffer(arr, size, bigEndian) {
	  var buf = new Buffer(size);
	  var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
	  for (var i = 0; i < arr.length; i++) {
	    fn.call(buf, arr[i], i * 4, true);
	  }
	  return buf;
	}

	function hash(buf, fn, hashSize, bigEndian) {
	  if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
	  var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
	  return toBuffer(arr, hashSize, bigEndian);
	}

	module.exports = { hash: hash };


/***/ }),
/* 283 */
/***/ (function(module, exports, __webpack_require__) {

	
	/**
	 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
	 * in FIPS 180-2
	 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
	 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
	 *
	 */

	var helpers = __webpack_require__(282);

	var safe_add = function(x, y) {
	  var lsw = (x & 0xFFFF) + (y & 0xFFFF);
	  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
	  return (msw << 16) | (lsw & 0xFFFF);
	};

	var S = function(X, n) {
	  return (X >>> n) | (X << (32 - n));
	};

	var R = function(X, n) {
	  return (X >>> n);
	};

	var Ch = function(x, y, z) {
	  return ((x & y) ^ ((~x) & z));
	};

	var Maj = function(x, y, z) {
	  return ((x & y) ^ (x & z) ^ (y & z));
	};

	var Sigma0256 = function(x) {
	  return (S(x, 2) ^ S(x, 13) ^ S(x, 22));
	};

	var Sigma1256 = function(x) {
	  return (S(x, 6) ^ S(x, 11) ^ S(x, 25));
	};

	var Gamma0256 = function(x) {
	  return (S(x, 7) ^ S(x, 18) ^ R(x, 3));
	};

	var Gamma1256 = function(x) {
	  return (S(x, 17) ^ S(x, 19) ^ R(x, 10));
	};

	var core_sha256 = function(m, l) {
	  var K = new Array(0x428A2F98,0x71374491,0xB5C0FBCF,0xE9B5DBA5,0x3956C25B,0x59F111F1,0x923F82A4,0xAB1C5ED5,0xD807AA98,0x12835B01,0x243185BE,0x550C7DC3,0x72BE5D74,0x80DEB1FE,0x9BDC06A7,0xC19BF174,0xE49B69C1,0xEFBE4786,0xFC19DC6,0x240CA1CC,0x2DE92C6F,0x4A7484AA,0x5CB0A9DC,0x76F988DA,0x983E5152,0xA831C66D,0xB00327C8,0xBF597FC7,0xC6E00BF3,0xD5A79147,0x6CA6351,0x14292967,0x27B70A85,0x2E1B2138,0x4D2C6DFC,0x53380D13,0x650A7354,0x766A0ABB,0x81C2C92E,0x92722C85,0xA2BFE8A1,0xA81A664B,0xC24B8B70,0xC76C51A3,0xD192E819,0xD6990624,0xF40E3585,0x106AA070,0x19A4C116,0x1E376C08,0x2748774C,0x34B0BCB5,0x391C0CB3,0x4ED8AA4A,0x5B9CCA4F,0x682E6FF3,0x748F82EE,0x78A5636F,0x84C87814,0x8CC70208,0x90BEFFFA,0xA4506CEB,0xBEF9A3F7,0xC67178F2);
	  var HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19);
	    var W = new Array(64);
	    var a, b, c, d, e, f, g, h, i, j;
	    var T1, T2;
	  /* append padding */
	  m[l >> 5] |= 0x80 << (24 - l % 32);
	  m[((l + 64 >> 9) << 4) + 15] = l;
	  for (var i = 0; i < m.length; i += 16) {
	    a = HASH[0]; b = HASH[1]; c = HASH[2]; d = HASH[3]; e = HASH[4]; f = HASH[5]; g = HASH[6]; h = HASH[7];
	    for (var j = 0; j < 64; j++) {
	      if (j < 16) {
	        W[j] = m[j + i];
	      } else {
	        W[j] = safe_add(safe_add(safe_add(Gamma1256(W[j - 2]), W[j - 7]), Gamma0256(W[j - 15])), W[j - 16]);
	      }
	      T1 = safe_add(safe_add(safe_add(safe_add(h, Sigma1256(e)), Ch(e, f, g)), K[j]), W[j]);
	      T2 = safe_add(Sigma0256(a), Maj(a, b, c));
	      h = g; g = f; f = e; e = safe_add(d, T1); d = c; c = b; b = a; a = safe_add(T1, T2);
	    }
	    HASH[0] = safe_add(a, HASH[0]); HASH[1] = safe_add(b, HASH[1]); HASH[2] = safe_add(c, HASH[2]); HASH[3] = safe_add(d, HASH[3]);
	    HASH[4] = safe_add(e, HASH[4]); HASH[5] = safe_add(f, HASH[5]); HASH[6] = safe_add(g, HASH[6]); HASH[7] = safe_add(h, HASH[7]);
	  }
	  return HASH;
	};

	module.exports = function sha256(buf) {
	  return helpers.hash(buf, core_sha256, 32, true);
	};


/***/ }),
/* 284 */
/***/ (function(module, exports) {

	// Original code adapted from Robert Kieffer.
	// details at https://github.com/broofa/node-uuid
	(function() {
	  var _global = this;

	  var mathRNG, whatwgRNG;

	  // NOTE: Math.random() does not guarantee "cryptographic quality"
	  mathRNG = function(size) {
	    var bytes = new Array(size);
	    var r;

	    for (var i = 0, r; i < size; i++) {
	      if ((i & 0x03) == 0) r = Math.random() * 0x100000000;
	      bytes[i] = r >>> ((i & 0x03) << 3) & 0xff;
	    }

	    return bytes;
	  }

	  if (_global.crypto && crypto.getRandomValues) {
	    whatwgRNG = function(size) {
	      var bytes = new Uint8Array(size);
	      crypto.getRandomValues(bytes);
	      return bytes;
	    }
	  }

	  module.exports = whatwgRNG || mathRNG;

	}())


/***/ }),
/* 285 */
/***/ (function(module, exports, __webpack_require__) {

	/*
	 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
	 * Digest Algorithm, as defined in RFC 1321.
	 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
	 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
	 * Distributed under the BSD License
	 * See http://pajhome.org.uk/crypt/md5 for more info.
	 */

	var helpers = __webpack_require__(282);

	/*
	 * Perform a simple self-test to see if the VM is working
	 */
	function md5_vm_test()
	{
	  return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
	}

	/*
	 * Calculate the MD5 of an array of little-endian words, and a bit length
	 */
	function core_md5(x, len)
	{
	  /* append padding */
	  x[len >> 5] |= 0x80 << ((len) % 32);
	  x[(((len + 64) >>> 9) << 4) + 14] = len;

	  var a =  1732584193;
	  var b = -271733879;
	  var c = -1732584194;
	  var d =  271733878;

	  for(var i = 0; i < x.length; i += 16)
	  {
	    var olda = a;
	    var oldb = b;
	    var oldc = c;
	    var oldd = d;

	    a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
	    d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
	    c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);
	    b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
	    a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
	    d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);
	    c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
	    b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
	    a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
	    d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
	    c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
	    b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
	    a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);
	    d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
	    c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
	    b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);

	    a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
	    d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
	    c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);
	    b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
	    a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
	    d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);
	    c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
	    b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
	    a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
	    d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
	    c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
	    b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);
	    a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
	    d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
	    c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);
	    b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);

	    a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
	    d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
	    c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);
	    b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
	    a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
	    d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);
	    c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
	    b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
	    a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);
	    d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
	    c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
	    b = md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);
	    a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
	    d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
	    c = md5_hh(c, d, a, b, x[i+15], 16,  530742520);
	    b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);

	    a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
	    d = md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);
	    c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
	    b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
	    a = md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);
	    d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
	    c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
	    b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
	    a = md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);
	    d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
	    c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
	    b = md5_ii(b, c, d, a, x[i+13], 21,  1309151649);
	    a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
	    d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
	    c = md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);
	    b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);

	    a = safe_add(a, olda);
	    b = safe_add(b, oldb);
	    c = safe_add(c, oldc);
	    d = safe_add(d, oldd);
	  }
	  return Array(a, b, c, d);

	}

	/*
	 * These functions implement the four basic operations the algorithm uses.
	 */
	function md5_cmn(q, a, b, x, s, t)
	{
	  return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
	}
	function md5_ff(a, b, c, d, x, s, t)
	{
	  return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
	}
	function md5_gg(a, b, c, d, x, s, t)
	{
	  return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
	}
	function md5_hh(a, b, c, d, x, s, t)
	{
	  return md5_cmn(b ^ c ^ d, a, b, x, s, t);
	}
	function md5_ii(a, b, c, d, x, s, t)
	{
	  return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
	}

	/*
	 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
	 * to work around bugs in some JS interpreters.
	 */
	function safe_add(x, y)
	{
	  var lsw = (x & 0xFFFF) + (y & 0xFFFF);
	  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
	  return (msw << 16) | (lsw & 0xFFFF);
	}

	/*
	 * Bitwise rotate a 32-bit number to the left.
	 */
	function bit_rol(num, cnt)
	{
	  return (num << cnt) | (num >>> (32 - cnt));
	}

	module.exports = function md5(buf) {
	  return helpers.hash(buf, core_md5, 16);
	};


/***/ }),
/* 286 */
/***/ (function(module, exports, __webpack_require__) {

	// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	var punycode = __webpack_require__(287);

	exports.parse = urlParse;
	exports.resolve = urlResolve;
	exports.resolveObject = urlResolveObject;
	exports.format = urlFormat;

	exports.Url = Url;

	function Url() {
	  this.protocol = null;
	  this.slashes = null;
	  this.auth = null;
	  this.host = null;
	  this.port = null;
	  this.hostname = null;
	  this.hash = null;
	  this.search = null;
	  this.query = null;
	  this.pathname = null;
	  this.path = null;
	  this.href = null;
	}

	// Reference: RFC 3986, RFC 1808, RFC 2396

	// define these here so at least they only have to be
	// compiled once on the first module load.
	var protocolPattern = /^([a-z0-9.+-]+:)/i,
	    portPattern = /:[0-9]*$/,

	    // RFC 2396: characters reserved for delimiting URLs.
	    // We actually just auto-escape these.
	    delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'],

	    // RFC 2396: characters not allowed for various reasons.
	    unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims),

	    // Allowed by RFCs, but cause of XSS attacks.  Always escape these.
	    autoEscape = ['\''].concat(unwise),
	    // Characters that are never ever allowed in a hostname.
	    // Note that any invalid chars are also handled, but these
	    // are the ones that are *expected* to be seen, so we fast-path
	    // them.
	    nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),
	    hostEndingChars = ['/', '?', '#'],
	    hostnameMaxLen = 255,
	    hostnamePartPattern = /^[a-z0-9A-Z_-]{0,63}$/,
	    hostnamePartStart = /^([a-z0-9A-Z_-]{0,63})(.*)$/,
	    // protocols that can allow "unsafe" and "unwise" chars.
	    unsafeProtocol = {
	      'javascript': true,
	      'javascript:': true
	    },
	    // protocols that never have a hostname.
	    hostlessProtocol = {
	      'javascript': true,
	      'javascript:': true
	    },
	    // protocols that always contain a // bit.
	    slashedProtocol = {
	      'http': true,
	      'https': true,
	      'ftp': true,
	      'gopher': true,
	      'file': true,
	      'http:': true,
	      'https:': true,
	      'ftp:': true,
	      'gopher:': true,
	      'file:': true
	    },
	    querystring = __webpack_require__(288);

	function urlParse(url, parseQueryString, slashesDenoteHost) {
	  if (url && isObject(url) && url instanceof Url) return url;

	  var u = new Url;
	  u.parse(url, parseQueryString, slashesDenoteHost);
	  return u;
	}

	Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {
	  if (!isString(url)) {
	    throw new TypeError("Parameter 'url' must be a string, not " + typeof url);
	  }

	  var rest = url;

	  // trim before proceeding.
	  // This is to support parse stuff like "  http://foo.com  \n"
	  rest = rest.trim();

	  var proto = protocolPattern.exec(rest);
	  if (proto) {
	    proto = proto[0];
	    var lowerProto = proto.toLowerCase();
	    this.protocol = lowerProto;
	    rest = rest.substr(proto.length);
	  }

	  // figure out if it's got a host
	  // user@server is *always* interpreted as a hostname, and url
	  // resolution will treat //foo/bar as host=foo,path=bar because that's
	  // how the browser resolves relative URLs.
	  if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) {
	    var slashes = rest.substr(0, 2) === '//';
	    if (slashes && !(proto && hostlessProtocol[proto])) {
	      rest = rest.substr(2);
	      this.slashes = true;
	    }
	  }

	  if (!hostlessProtocol[proto] &&
	      (slashes || (proto && !slashedProtocol[proto]))) {

	    // there's a hostname.
	    // the first instance of /, ?, ;, or # ends the host.
	    //
	    // If there is an @ in the hostname, then non-host chars *are* allowed
	    // to the left of the last @ sign, unless some host-ending character
	    // comes *before* the @-sign.
	    // URLs are obnoxious.
	    //
	    // ex:
	    // http://a@b@c/ => user:a@b host:c
	    // http://a@b?@c => user:a host:c path:/?@c

	    // v0.12 TODO(isaacs): This is not quite how Chrome does things.
	    // Review our test case against browsers more comprehensively.

	    // find the first instance of any hostEndingChars
	    var hostEnd = -1;
	    for (var i = 0; i < hostEndingChars.length; i++) {
	      var hec = rest.indexOf(hostEndingChars[i]);
	      if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))
	        hostEnd = hec;
	    }

	    // at this point, either we have an explicit point where the
	    // auth portion cannot go past, or the last @ char is the decider.
	    var auth, atSign;
	    if (hostEnd === -1) {
	      // atSign can be anywhere.
	      atSign = rest.lastIndexOf('@');
	    } else {
	      // atSign must be in auth portion.
	      // http://a@b/c@d => host:b auth:a path:/c@d
	      atSign = rest.lastIndexOf('@', hostEnd);
	    }

	    // Now we have a portion which is definitely the auth.
	    // Pull that off.
	    if (atSign !== -1) {
	      auth = rest.slice(0, atSign);
	      rest = rest.slice(atSign + 1);
	      this.auth = decodeURIComponent(auth);
	    }

	    // the host is the remaining to the left of the first non-host char
	    hostEnd = -1;
	    for (var i = 0; i < nonHostChars.length; i++) {
	      var hec = rest.indexOf(nonHostChars[i]);
	      if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))
	        hostEnd = hec;
	    }
	    // if we still have not hit it, then the entire thing is a host.
	    if (hostEnd === -1)
	      hostEnd = rest.length;

	    this.host = rest.slice(0, hostEnd);
	    rest = rest.slice(hostEnd);

	    // pull out port.
	    this.parseHost();

	    // we've indicated that there is a hostname,
	    // so even if it's empty, it has to be present.
	    this.hostname = this.hostname || '';

	    // if hostname begins with [ and ends with ]
	    // assume that it's an IPv6 address.
	    var ipv6Hostname = this.hostname[0] === '[' &&
	        this.hostname[this.hostname.length - 1] === ']';

	    // validate a little.
	    if (!ipv6Hostname) {
	      var hostparts = this.hostname.split(/\./);
	      for (var i = 0, l = hostparts.length; i < l; i++) {
	        var part = hostparts[i];
	        if (!part) continue;
	        if (!part.match(hostnamePartPattern)) {
	          var newpart = '';
	          for (var j = 0, k = part.length; j < k; j++) {
	            if (part.charCodeAt(j) > 127) {
	              // we replace non-ASCII char with a temporary placeholder
	              // we need this to make sure size of hostname is not
	              // broken by replacing non-ASCII by nothing
	              newpart += 'x';
	            } else {
	              newpart += part[j];
	            }
	          }
	          // we test again with ASCII char only
	          if (!newpart.match(hostnamePartPattern)) {
	            var validParts = hostparts.slice(0, i);
	            var notHost = hostparts.slice(i + 1);
	            var bit = part.match(hostnamePartStart);
	            if (bit) {
	              validParts.push(bit[1]);
	              notHost.unshift(bit[2]);
	            }
	            if (notHost.length) {
	              rest = '/' + notHost.join('.') + rest;
	            }
	            this.hostname = validParts.join('.');
	            break;
	          }
	        }
	      }
	    }

	    if (this.hostname.length > hostnameMaxLen) {
	      this.hostname = '';
	    } else {
	      // hostnames are always lower case.
	      this.hostname = this.hostname.toLowerCase();
	    }

	    if (!ipv6Hostname) {
	      // IDNA Support: Returns a puny coded representation of "domain".
	      // It only converts the part of the domain name that
	      // has non ASCII characters. I.e. it dosent matter if
	      // you call it with a domain that already is in ASCII.
	      var domainArray = this.hostname.split('.');
	      var newOut = [];
	      for (var i = 0; i < domainArray.length; ++i) {
	        var s = domainArray[i];
	        newOut.push(s.match(/[^A-Za-z0-9_-]/) ?
	            'xn--' + punycode.encode(s) : s);
	      }
	      this.hostname = newOut.join('.');
	    }

	    var p = this.port ? ':' + this.port : '';
	    var h = this.hostname || '';
	    this.host = h + p;
	    this.href += this.host;

	    // strip [ and ] from the hostname
	    // the host field still retains them, though
	    if (ipv6Hostname) {
	      this.hostname = this.hostname.substr(1, this.hostname.length - 2);
	      if (rest[0] !== '/') {
	        rest = '/' + rest;
	      }
	    }
	  }

	  // now rest is set to the post-host stuff.
	  // chop off any delim chars.
	  if (!unsafeProtocol[lowerProto]) {

	    // First, make 100% sure that any "autoEscape" chars get
	    // escaped, even if encodeURIComponent doesn't think they
	    // need to be.
	    for (var i = 0, l = autoEscape.length; i < l; i++) {
	      var ae = autoEscape[i];
	      var esc = encodeURIComponent(ae);
	      if (esc === ae) {
	        esc = escape(ae);
	      }
	      rest = rest.split(ae).join(esc);
	    }
	  }


	  // chop off from the tail first.
	  var hash = rest.indexOf('#');
	  if (hash !== -1) {
	    // got a fragment string.
	    this.hash = rest.substr(hash);
	    rest = rest.slice(0, hash);
	  }
	  var qm = rest.indexOf('?');
	  if (qm !== -1) {
	    this.search = rest.substr(qm);
	    this.query = rest.substr(qm + 1);
	    if (parseQueryString) {
	      this.query = querystring.parse(this.query);
	    }
	    rest = rest.slice(0, qm);
	  } else if (parseQueryString) {
	    // no query string, but parseQueryString still requested
	    this.search = '';
	    this.query = {};
	  }
	  if (rest) this.pathname = rest;
	  if (slashedProtocol[lowerProto] &&
	      this.hostname && !this.pathname) {
	    this.pathname = '/';
	  }

	  //to support http.request
	  if (this.pathname || this.search) {
	    var p = this.pathname || '';
	    var s = this.search || '';
	    this.path = p + s;
	  }

	  // finally, reconstruct the href based on what has been validated.
	  this.href = this.format();
	  return this;
	};

	// format a parsed object into a url string
	function urlFormat(obj) {
	  // ensure it's an object, and not a string url.
	  // If it's an obj, this is a no-op.
	  // this way, you can call url_format() on strings
	  // to clean up potentially wonky urls.
	  if (isString(obj)) obj = urlParse(obj);
	  if (!(obj instanceof Url)) return Url.prototype.format.call(obj);
	  return obj.format();
	}

	Url.prototype.format = function() {
	  var auth = this.auth || '';
	  if (auth) {
	    auth = encodeURIComponent(auth);
	    auth = auth.replace(/%3A/i, ':');
	    auth += '@';
	  }

	  var protocol = this.protocol || '',
	      pathname = this.pathname || '',
	      hash = this.hash || '',
	      host = false,
	      query = '';

	  if (this.host) {
	    host = auth + this.host;
	  } else if (this.hostname) {
	    host = auth + (this.hostname.indexOf(':') === -1 ?
	        this.hostname :
	        '[' + this.hostname + ']');
	    if (this.port) {
	      host += ':' + this.port;
	    }
	  }

	  if (this.query &&
	      isObject(this.query) &&
	      Object.keys(this.query).length) {
	    query = querystring.stringify(this.query);
	  }

	  var search = this.search || (query && ('?' + query)) || '';

	  if (protocol && protocol.substr(-1) !== ':') protocol += ':';

	  // only the slashedProtocols get the //.  Not mailto:, xmpp:, etc.
	  // unless they had them to begin with.
	  if (this.slashes ||
	      (!protocol || slashedProtocol[protocol]) && host !== false) {
	    host = '//' + (host || '');
	    if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;
	  } else if (!host) {
	    host = '';
	  }

	  if (hash && hash.charAt(0) !== '#') hash = '#' + hash;
	  if (search && search.charAt(0) !== '?') search = '?' + search;

	  pathname = pathname.replace(/[?#]/g, function(match) {
	    return encodeURIComponent(match);
	  });
	  search = search.replace('#', '%23');

	  return protocol + host + pathname + search + hash;
	};

	function urlResolve(source, relative) {
	  return urlParse(source, false, true).resolve(relative);
	}

	Url.prototype.resolve = function(relative) {
	  return this.resolveObject(urlParse(relative, false, true)).format();
	};

	function urlResolveObject(source, relative) {
	  if (!source) return relative;
	  return urlParse(source, false, true).resolveObject(relative);
	}

	Url.prototype.resolveObject = function(relative) {
	  if (isString(relative)) {
	    var rel = new Url();
	    rel.parse(relative, false, true);
	    relative = rel;
	  }

	  var result = new Url();
	  Object.keys(this).forEach(function(k) {
	    result[k] = this[k];
	  }, this);

	  // hash is always overridden, no matter what.
	  // even href="" will remove it.
	  result.hash = relative.hash;

	  // if the relative url is empty, then there's nothing left to do here.
	  if (relative.href === '') {
	    result.href = result.format();
	    return result;
	  }

	  // hrefs like //foo/bar always cut to the protocol.
	  if (relative.slashes && !relative.protocol) {
	    // take everything except the protocol from relative
	    Object.keys(relative).forEach(function(k) {
	      if (k !== 'protocol')
	        result[k] = relative[k];
	    });

	    //urlParse appends trailing / to urls like http://www.example.com
	    if (slashedProtocol[result.protocol] &&
	        result.hostname && !result.pathname) {
	      result.path = result.pathname = '/';
	    }

	    result.href = result.format();
	    return result;
	  }

	  if (relative.protocol && relative.protocol !== result.protocol) {
	    // if it's a known url protocol, then changing
	    // the protocol does weird things
	    // first, if it's not file:, then we MUST have a host,
	    // and if there was a path
	    // to begin with, then we MUST have a path.
	    // if it is file:, then the host is dropped,
	    // because that's known to be hostless.
	    // anything else is assumed to be absolute.
	    if (!slashedProtocol[relative.protocol]) {
	      Object.keys(relative).forEach(function(k) {
	        result[k] = relative[k];
	      });
	      result.href = result.format();
	      return result;
	    }

	    result.protocol = relative.protocol;
	    if (!relative.host && !hostlessProtocol[relative.protocol]) {
	      var relPath = (relative.pathname || '').split('/');
	      while (relPath.length && !(relative.host = relPath.shift()));
	      if (!relative.host) relative.host = '';
	      if (!relative.hostname) relative.hostname = '';
	      if (relPath[0] !== '') relPath.unshift('');
	      if (relPath.length < 2) relPath.unshift('');
	      result.pathname = relPath.join('/');
	    } else {
	      result.pathname = relative.pathname;
	    }
	    result.search = relative.search;
	    result.query = relative.query;
	    result.host = relative.host || '';
	    result.auth = relative.auth;
	    result.hostname = relative.hostname || relative.host;
	    result.port = relative.port;
	    // to support http.request
	    if (result.pathname || result.search) {
	      var p = result.pathname || '';
	      var s = result.search || '';
	      result.path = p + s;
	    }
	    result.slashes = result.slashes || relative.slashes;
	    result.href = result.format();
	    return result;
	  }

	  var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),
	      isRelAbs = (
	          relative.host ||
	          relative.pathname && relative.pathname.charAt(0) === '/'
	      ),
	      mustEndAbs = (isRelAbs || isSourceAbs ||
	                    (result.host && relative.pathname)),
	      removeAllDots = mustEndAbs,
	      srcPath = result.pathname && result.pathname.split('/') || [],
	      relPath = relative.pathname && relative.pathname.split('/') || [],
	      psychotic = result.protocol && !slashedProtocol[result.protocol];

	  // if the url is a non-slashed url, then relative
	  // links like ../.. should be able
	  // to crawl up to the hostname, as well.  This is strange.
	  // result.protocol has already been set by now.
	  // Later on, put the first path part into the host field.
	  if (psychotic) {
	    result.hostname = '';
	    result.port = null;
	    if (result.host) {
	      if (srcPath[0] === '') srcPath[0] = result.host;
	      else srcPath.unshift(result.host);
	    }
	    result.host = '';
	    if (relative.protocol) {
	      relative.hostname = null;
	      relative.port = null;
	      if (relative.host) {
	        if (relPath[0] === '') relPath[0] = relative.host;
	        else relPath.unshift(relative.host);
	      }
	      relative.host = null;
	    }
	    mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');
	  }

	  if (isRelAbs) {
	    // it's absolute.
	    result.host = (relative.host || relative.host === '') ?
	                  relative.host : result.host;
	    result.hostname = (relative.hostname || relative.hostname === '') ?
	                      relative.hostname : result.hostname;
	    result.search = relative.search;
	    result.query = relative.query;
	    srcPath = relPath;
	    // fall through to the dot-handling below.
	  } else if (relPath.length) {
	    // it's relative
	    // throw away the existing file, and take the new path instead.
	    if (!srcPath) srcPath = [];
	    srcPath.pop();
	    srcPath = srcPath.concat(relPath);
	    result.search = relative.search;
	    result.query = relative.query;
	  } else if (!isNullOrUndefined(relative.search)) {
	    // just pull out the search.
	    // like href='?foo'.
	    // Put this after the other two cases because it simplifies the booleans
	    if (psychotic) {
	      result.hostname = result.host = srcPath.shift();
	      //occationaly the auth can get stuck only in host
	      //this especialy happens in cases like
	      //url.resolveObject('mailto:local1@domain1', 'local2@domain2')
	      var authInHost = result.host && result.host.indexOf('@') > 0 ?
	                       result.host.split('@') : false;
	      if (authInHost) {
	        result.auth = authInHost.shift();
	        result.host = result.hostname = authInHost.shift();
	      }
	    }
	    result.search = relative.search;
	    result.query = relative.query;
	    //to support http.request
	    if (!isNull(result.pathname) || !isNull(result.search)) {
	      result.path = (result.pathname ? result.pathname : '') +
	                    (result.search ? result.search : '');
	    }
	    result.href = result.format();
	    return result;
	  }

	  if (!srcPath.length) {
	    // no path at all.  easy.
	    // we've already handled the other stuff above.
	    result.pathname = null;
	    //to support http.request
	    if (result.search) {
	      result.path = '/' + result.search;
	    } else {
	      result.path = null;
	    }
	    result.href = result.format();
	    return result;
	  }

	  // if a url ENDs in . or .., then it must get a trailing slash.
	  // however, if it ends in anything else non-slashy,
	  // then it must NOT get a trailing slash.
	  var last = srcPath.slice(-1)[0];
	  var hasTrailingSlash = (
	      (result.host || relative.host) && (last === '.' || last === '..') ||
	      last === '');

	  // strip single dots, resolve double dots to parent dir
	  // if the path tries to go above the root, `up` ends up > 0
	  var up = 0;
	  for (var i = srcPath.length; i >= 0; i--) {
	    last = srcPath[i];
	    if (last == '.') {
	      srcPath.splice(i, 1);
	    } else if (last === '..') {
	      srcPath.splice(i, 1);
	      up++;
	    } else if (up) {
	      srcPath.splice(i, 1);
	      up--;
	    }
	  }

	  // if the path is allowed to go above the root, restore leading ..s
	  if (!mustEndAbs && !removeAllDots) {
	    for (; up--; up) {
	      srcPath.unshift('..');
	    }
	  }

	  if (mustEndAbs && srcPath[0] !== '' &&
	      (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {
	    srcPath.unshift('');
	  }

	  if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {
	    srcPath.push('');
	  }

	  var isAbsolute = srcPath[0] === '' ||
	      (srcPath[0] && srcPath[0].charAt(0) === '/');

	  // put the host back
	  if (psychotic) {
	    result.hostname = result.host = isAbsolute ? '' :
	                                    srcPath.length ? srcPath.shift() : '';
	    //occationaly the auth can get stuck only in host
	    //this especialy happens in cases like
	    //url.resolveObject('mailto:local1@domain1', 'local2@domain2')
	    var authInHost = result.host && result.host.indexOf('@') > 0 ?
	                     result.host.split('@') : false;
	    if (authInHost) {
	      result.auth = authInHost.shift();
	      result.host = result.hostname = authInHost.shift();
	    }
	  }

	  mustEndAbs = mustEndAbs || (result.host && srcPath.length);

	  if (mustEndAbs && !isAbsolute) {
	    srcPath.unshift('');
	  }

	  if (!srcPath.length) {
	    result.pathname = null;
	    result.path = null;
	  } else {
	    result.pathname = srcPath.join('/');
	  }

	  //to support request.http
	  if (!isNull(result.pathname) || !isNull(result.search)) {
	    result.path = (result.pathname ? result.pathname : '') +
	                  (result.search ? result.search : '');
	  }
	  result.auth = relative.auth || result.auth;
	  result.slashes = result.slashes || relative.slashes;
	  result.href = result.format();
	  return result;
	};

	Url.prototype.parseHost = function() {
	  var host = this.host;
	  var port = portPattern.exec(host);
	  if (port) {
	    port = port[0];
	    if (port !== ':') {
	      this.port = port.substr(1);
	    }
	    host = host.substr(0, host.length - port.length);
	  }
	  if (host) this.hostname = host;
	};

	function isString(arg) {
	  return typeof arg === "string";
	}

	function isObject(arg) {
	  return typeof arg === 'object' && arg !== null;
	}

	function isNull(arg) {
	  return arg === null;
	}
	function isNullOrUndefined(arg) {
	  return  arg == null;
	}


/***/ }),
/* 287 */
/***/ (function(module, exports, __webpack_require__) {

	var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module, global) {/*! https://mths.be/punycode v1.3.2 by @mathias */
	;(function(root) {

		/** Detect free variables */
		var freeExports = typeof exports == 'object' && exports &&
			!exports.nodeType && exports;
		var freeModule = typeof module == 'object' && module &&
			!module.nodeType && module;
		var freeGlobal = typeof global == 'object' && global;
		if (
			freeGlobal.global === freeGlobal ||
			freeGlobal.window === freeGlobal ||
			freeGlobal.self === freeGlobal
		) {
			root = freeGlobal;
		}

		/**
		 * The `punycode` object.
		 * @name punycode
		 * @type Object
		 */
		var punycode,

		/** Highest positive signed 32-bit float value */
		maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1

		/** Bootstring parameters */
		base = 36,
		tMin = 1,
		tMax = 26,
		skew = 38,
		damp = 700,
		initialBias = 72,
		initialN = 128, // 0x80
		delimiter = '-', // '\x2D'

		/** Regular expressions */
		regexPunycode = /^xn--/,
		regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
		regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators

		/** Error messages */
		errors = {
			'overflow': 'Overflow: input needs wider integers to process',
			'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
			'invalid-input': 'Invalid input'
		},

		/** Convenience shortcuts */
		baseMinusTMin = base - tMin,
		floor = Math.floor,
		stringFromCharCode = String.fromCharCode,

		/** Temporary variable */
		key;

		/*--------------------------------------------------------------------------*/

		/**
		 * A generic error utility function.
		 * @private
		 * @param {String} type The error type.
		 * @returns {Error} Throws a `RangeError` with the applicable error message.
		 */
		function error(type) {
			throw RangeError(errors[type]);
		}

		/**
		 * A generic `Array#map` utility function.
		 * @private
		 * @param {Array} array The array to iterate over.
		 * @param {Function} callback The function that gets called for every array
		 * item.
		 * @returns {Array} A new array of values returned by the callback function.
		 */
		function map(array, fn) {
			var length = array.length;
			var result = [];
			while (length--) {
				result[length] = fn(array[length]);
			}
			return result;
		}

		/**
		 * A simple `Array#map`-like wrapper to work with domain name strings or email
		 * addresses.
		 * @private
		 * @param {String} domain The domain name or email address.
		 * @param {Function} callback The function that gets called for every
		 * character.
		 * @returns {Array} A new string of characters returned by the callback
		 * function.
		 */
		function mapDomain(string, fn) {
			var parts = string.split('@');
			var result = '';
			if (parts.length > 1) {
				// In email addresses, only the domain name should be punycoded. Leave
				// the local part (i.e. everything up to `@`) intact.
				result = parts[0] + '@';
				string = parts[1];
			}
			// Avoid `split(regex)` for IE8 compatibility. See #17.
			string = string.replace(regexSeparators, '\x2E');
			var labels = string.split('.');
			var encoded = map(labels, fn).join('.');
			return result + encoded;
		}

		/**
		 * Creates an array containing the numeric code points of each Unicode
		 * character in the string. While JavaScript uses UCS-2 internally,
		 * this function will convert a pair of surrogate halves (each of which
		 * UCS-2 exposes as separate characters) into a single code point,
		 * matching UTF-16.
		 * @see `punycode.ucs2.encode`
		 * @see <https://mathiasbynens.be/notes/javascript-encoding>
		 * @memberOf punycode.ucs2
		 * @name decode
		 * @param {String} string The Unicode input string (UCS-2).
		 * @returns {Array} The new array of code points.
		 */
		function ucs2decode(string) {
			var output = [],
			    counter = 0,
			    length = string.length,
			    value,
			    extra;
			while (counter < length) {
				value = string.charCodeAt(counter++);
				if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
					// high surrogate, and there is a next character
					extra = string.charCodeAt(counter++);
					if ((extra & 0xFC00) == 0xDC00) { // low surrogate
						output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
					} else {
						// unmatched surrogate; only append this code unit, in case the next
						// code unit is the high surrogate of a surrogate pair
						output.push(value);
						counter--;
					}
				} else {
					output.push(value);
				}
			}
			return output;
		}

		/**
		 * Creates a string based on an array of numeric code points.
		 * @see `punycode.ucs2.decode`
		 * @memberOf punycode.ucs2
		 * @name encode
		 * @param {Array} codePoints The array of numeric code points.
		 * @returns {String} The new Unicode string (UCS-2).
		 */
		function ucs2encode(array) {
			return map(array, function(value) {
				var output = '';
				if (value > 0xFFFF) {
					value -= 0x10000;
					output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
					value = 0xDC00 | value & 0x3FF;
				}
				output += stringFromCharCode(value);
				return output;
			}).join('');
		}

		/**
		 * Converts a basic code point into a digit/integer.
		 * @see `digitToBasic()`
		 * @private
		 * @param {Number} codePoint The basic numeric code point value.
		 * @returns {Number} The numeric value of a basic code point (for use in
		 * representing integers) in the range `0` to `base - 1`, or `base` if
		 * the code point does not represent a value.
		 */
		function basicToDigit(codePoint) {
			if (codePoint - 48 < 10) {
				return codePoint - 22;
			}
			if (codePoint - 65 < 26) {
				return codePoint - 65;
			}
			if (codePoint - 97 < 26) {
				return codePoint - 97;
			}
			return base;
		}

		/**
		 * Converts a digit/integer into a basic code point.
		 * @see `basicToDigit()`
		 * @private
		 * @param {Number} digit The numeric value of a basic code point.
		 * @returns {Number} The basic code point whose value (when used for
		 * representing integers) is `digit`, which needs to be in the range
		 * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
		 * used; else, the lowercase form is used. The behavior is undefined
		 * if `flag` is non-zero and `digit` has no uppercase form.
		 */
		function digitToBasic(digit, flag) {
			//  0..25 map to ASCII a..z or A..Z
			// 26..35 map to ASCII 0..9
			return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
		}

		/**
		 * Bias adaptation function as per section 3.4 of RFC 3492.
		 * http://tools.ietf.org/html/rfc3492#section-3.4
		 * @private
		 */
		function adapt(delta, numPoints, firstTime) {
			var k = 0;
			delta = firstTime ? floor(delta / damp) : delta >> 1;
			delta += floor(delta / numPoints);
			for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
				delta = floor(delta / baseMinusTMin);
			}
			return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
		}

		/**
		 * Converts a Punycode string of ASCII-only symbols to a string of Unicode
		 * symbols.
		 * @memberOf punycode
		 * @param {String} input The Punycode string of ASCII-only symbols.
		 * @returns {String} The resulting string of Unicode symbols.
		 */
		function decode(input) {
			// Don't use UCS-2
			var output = [],
			    inputLength = input.length,
			    out,
			    i = 0,
			    n = initialN,
			    bias = initialBias,
			    basic,
			    j,
			    index,
			    oldi,
			    w,
			    k,
			    digit,
			    t,
			    /** Cached calculation results */
			    baseMinusT;

			// Handle the basic code points: let `basic` be the number of input code
			// points before the last delimiter, or `0` if there is none, then copy
			// the first basic code points to the output.

			basic = input.lastIndexOf(delimiter);
			if (basic < 0) {
				basic = 0;
			}

			for (j = 0; j < basic; ++j) {
				// if it's not a basic code point
				if (input.charCodeAt(j) >= 0x80) {
					error('not-basic');
				}
				output.push(input.charCodeAt(j));
			}

			// Main decoding loop: start just after the last delimiter if any basic code
			// points were copied; start at the beginning otherwise.

			for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {

				// `index` is the index of the next character to be consumed.
				// Decode a generalized variable-length integer into `delta`,
				// which gets added to `i`. The overflow checking is easier
				// if we increase `i` as we go, then subtract off its starting
				// value at the end to obtain `delta`.
				for (oldi = i, w = 1, k = base; /* no condition */; k += base) {

					if (index >= inputLength) {
						error('invalid-input');
					}

					digit = basicToDigit(input.charCodeAt(index++));

					if (digit >= base || digit > floor((maxInt - i) / w)) {
						error('overflow');
					}

					i += digit * w;
					t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);

					if (digit < t) {
						break;
					}

					baseMinusT = base - t;
					if (w > floor(maxInt / baseMinusT)) {
						error('overflow');
					}

					w *= baseMinusT;

				}

				out = output.length + 1;
				bias = adapt(i - oldi, out, oldi == 0);

				// `i` was supposed to wrap around from `out` to `0`,
				// incrementing `n` each time, so we'll fix that now:
				if (floor(i / out) > maxInt - n) {
					error('overflow');
				}

				n += floor(i / out);
				i %= out;

				// Insert `n` at position `i` of the output
				output.splice(i++, 0, n);

			}

			return ucs2encode(output);
		}

		/**
		 * Converts a string of Unicode symbols (e.g. a domain name label) to a
		 * Punycode string of ASCII-only symbols.
		 * @memberOf punycode
		 * @param {String} input The string of Unicode symbols.
		 * @returns {String} The resulting Punycode string of ASCII-only symbols.
		 */
		function encode(input) {
			var n,
			    delta,
			    handledCPCount,
			    basicLength,
			    bias,
			    j,
			    m,
			    q,
			    k,
			    t,
			    currentValue,
			    output = [],
			    /** `inputLength` will hold the number of code points in `input`. */
			    inputLength,
			    /** Cached calculation results */
			    handledCPCountPlusOne,
			    baseMinusT,
			    qMinusT;

			// Convert the input in UCS-2 to Unicode
			input = ucs2decode(input);

			// Cache the length
			inputLength = input.length;

			// Initialize the state
			n = initialN;
			delta = 0;
			bias = initialBias;

			// Handle the basic code points
			for (j = 0; j < inputLength; ++j) {
				currentValue = input[j];
				if (currentValue < 0x80) {
					output.push(stringFromCharCode(currentValue));
				}
			}

			handledCPCount = basicLength = output.length;

			// `handledCPCount` is the number of code points that have been handled;
			// `basicLength` is the number of basic code points.

			// Finish the basic string - if it is not empty - with a delimiter
			if (basicLength) {
				output.push(delimiter);
			}

			// Main encoding loop:
			while (handledCPCount < inputLength) {

				// All non-basic code points < n have been handled already. Find the next
				// larger one:
				for (m = maxInt, j = 0; j < inputLength; ++j) {
					currentValue = input[j];
					if (currentValue >= n && currentValue < m) {
						m = currentValue;
					}
				}

				// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
				// but guard against overflow
				handledCPCountPlusOne = handledCPCount + 1;
				if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
					error('overflow');
				}

				delta += (m - n) * handledCPCountPlusOne;
				n = m;

				for (j = 0; j < inputLength; ++j) {
					currentValue = input[j];

					if (currentValue < n && ++delta > maxInt) {
						error('overflow');
					}

					if (currentValue == n) {
						// Represent delta as a generalized variable-length integer
						for (q = delta, k = base; /* no condition */; k += base) {
							t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
							if (q < t) {
								break;
							}
							qMinusT = q - t;
							baseMinusT = base - t;
							output.push(
								stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
							);
							q = floor(qMinusT / baseMinusT);
						}

						output.push(stringFromCharCode(digitToBasic(q, 0)));
						bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
						delta = 0;
						++handledCPCount;
					}
				}

				++delta;
				++n;

			}
			return output.join('');
		}

		/**
		 * Converts a Punycode string representing a domain name or an email address
		 * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
		 * it doesn't matter if you call it on a string that has already been
		 * converted to Unicode.
		 * @memberOf punycode
		 * @param {String} input The Punycoded domain name or email address to
		 * convert to Unicode.
		 * @returns {String} The Unicode representation of the given Punycode
		 * string.
		 */
		function toUnicode(input) {
			return mapDomain(input, function(string) {
				return regexPunycode.test(string)
					? decode(string.slice(4).toLowerCase())
					: string;
			});
		}

		/**
		 * Converts a Unicode string representing a domain name or an email address to
		 * Punycode. Only the non-ASCII parts of the domain name will be converted,
		 * i.e. it doesn't matter if you call it with a domain that's already in
		 * ASCII.
		 * @memberOf punycode
		 * @param {String} input The domain name or email address to convert, as a
		 * Unicode string.
		 * @returns {String} The Punycode representation of the given domain name or
		 * email address.
		 */
		function toASCII(input) {
			return mapDomain(input, function(string) {
				return regexNonASCII.test(string)
					? 'xn--' + encode(string)
					: string;
			});
		}

		/*--------------------------------------------------------------------------*/

		/** Define the public API */
		punycode = {
			/**
			 * A string representing the current Punycode.js version number.
			 * @memberOf punycode
			 * @type String
			 */
			'version': '1.3.2',
			/**
			 * An object of methods to convert from JavaScript's internal character
			 * representation (UCS-2) to Unicode code points, and back.
			 * @see <https://mathiasbynens.be/notes/javascript-encoding>
			 * @memberOf punycode
			 * @type Object
			 */
			'ucs2': {
				'decode': ucs2decode,
				'encode': ucs2encode
			},
			'decode': decode,
			'encode': encode,
			'toASCII': toASCII,
			'toUnicode': toUnicode
		};

		/** Expose `punycode` */
		// Some AMD build optimizers, like r.js, check for specific condition patterns
		// like the following:
		if (
			true
		) {
			!(__WEBPACK_AMD_DEFINE_RESULT__ = function() {
				return punycode;
			}.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
		} else if (freeExports && freeModule) {
			if (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+
				freeModule.exports = punycode;
			} else { // in Narwhal or RingoJS v0.7.0-
				for (key in punycode) {
					punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);
				}
			}
		} else { // in Rhino or a web browser
			root.punycode = punycode;
		}

	}(this));

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(60)(module), (function() { return this; }())))

/***/ }),
/* 288 */
/***/ (function(module, exports, __webpack_require__) {

	'use strict';

	exports.decode = exports.parse = __webpack_require__(289);
	exports.encode = exports.stringify = __webpack_require__(290);


/***/ }),
/* 289 */
/***/ (function(module, exports) {

	// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	'use strict';

	// If obj.hasOwnProperty has been overridden, then calling
	// obj.hasOwnProperty(prop) will break.
	// See: https://github.com/joyent/node/issues/1707
	function hasOwnProperty(obj, prop) {
	  return Object.prototype.hasOwnProperty.call(obj, prop);
	}

	module.exports = function(qs, sep, eq, options) {
	  sep = sep || '&';
	  eq = eq || '=';
	  var obj = {};

	  if (typeof qs !== 'string' || qs.length === 0) {
	    return obj;
	  }

	  var regexp = /\+/g;
	  qs = qs.split(sep);

	  var maxKeys = 1000;
	  if (options && typeof options.maxKeys === 'number') {
	    maxKeys = options.maxKeys;
	  }

	  var len = qs.length;
	  // maxKeys <= 0 means that we should not limit keys count
	  if (maxKeys > 0 && len > maxKeys) {
	    len = maxKeys;
	  }

	  for (var i = 0; i < len; ++i) {
	    var x = qs[i].replace(regexp, '%20'),
	        idx = x.indexOf(eq),
	        kstr, vstr, k, v;

	    if (idx >= 0) {
	      kstr = x.substr(0, idx);
	      vstr = x.substr(idx + 1);
	    } else {
	      kstr = x;
	      vstr = '';
	    }

	    k = decodeURIComponent(kstr);
	    v = decodeURIComponent(vstr);

	    if (!hasOwnProperty(obj, k)) {
	      obj[k] = v;
	    } else if (Array.isArray(obj[k])) {
	      obj[k].push(v);
	    } else {
	      obj[k] = [obj[k], v];
	    }
	  }

	  return obj;
	};


/***/ }),
/* 290 */
/***/ (function(module, exports) {

	// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	'use strict';

	var stringifyPrimitive = function(v) {
	  switch (typeof v) {
	    case 'string':
	      return v;

	    case 'boolean':
	      return v ? 'true' : 'false';

	    case 'number':
	      return isFinite(v) ? v : '';

	    default:
	      return '';
	  }
	};

	module.exports = function(obj, sep, eq, name) {
	  sep = sep || '&';
	  eq = eq || '=';
	  if (obj === null) {
	    obj = undefined;
	  }

	  if (typeof obj === 'object') {
	    return Object.keys(obj).map(function(k) {
	      var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
	      if (Array.isArray(obj[k])) {
	        return obj[k].map(function(v) {
	          return ks + encodeURIComponent(stringifyPrimitive(v));
	        }).join(sep);
	      } else {
	        return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
	      }
	    }).join(sep);

	  }

	  if (!name) return '';
	  return encodeURIComponent(stringifyPrimitive(name)) + eq +
	         encodeURIComponent(stringifyPrimitive(obj));
	};


/***/ }),
/* 291 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(4);
	var Shape = __webpack_require__(11);

	var xml2js = __webpack_require__(292);

	/**
	 * @api private
	 */
	var options = {  // options passed to xml2js parser
	  explicitCharkey: false, // undocumented
	  trim: false,            // trim the leading/trailing whitespace from text nodes
	  normalize: false,       // trim interior whitespace inside text nodes
	  explicitRoot: false,    // return the root node in the resulting object?
	  emptyTag: null,         // the default value for empty nodes
	  explicitArray: true,    // always put child nodes in an array
	  ignoreAttrs: false,     // ignore attributes, only create text nodes
	  mergeAttrs: false,      // merge attributes and child elements
	  validator: null         // a callable validator
	};

	function NodeXmlParser() { }

	NodeXmlParser.prototype.parse = function(xml, shape) {
	  shape = shape || {};

	  var result = null;
	  var error = null;

	  var parser = new xml2js.Parser(options);
	  parser.parseString(xml, function (e, r) {
	    error = e;
	    result = r;
	  });

	  if (result) {
	    var data = parseXml(result, shape);
	    if (result.ResponseMetadata) {
	      data.ResponseMetadata = parseXml(result.ResponseMetadata[0], {});
	    }
	    return data;
	  } else if (error) {
	    throw util.error(error, {code: 'XMLParserError', retryable: true});
	  } else { // empty xml document
	    return parseXml({}, shape);
	  }
	};

	function parseXml(xml, shape) {
	  switch (shape.type) {
	    case 'structure': return parseStructure(xml, shape);
	    case 'map': return parseMap(xml, shape);
	    case 'list': return parseList(xml, shape);
	    case undefined: case null: return parseUnknown(xml);
	    default: return parseScalar(xml, shape);
	  }
	}

	function parseStructure(xml, shape) {
	  var data = {};
	  if (xml === null) return data;

	  util.each(shape.members, function(memberName, memberShape) {
	    var xmlName = memberShape.name;
	    if (Object.prototype.hasOwnProperty.call(xml, xmlName) && Array.isArray(xml[xmlName])) {
	      var xmlChild = xml[xmlName];
	      if (!memberShape.flattened) xmlChild = xmlChild[0];

	      data[memberName] = parseXml(xmlChild, memberShape);
	    } else if (memberShape.isXmlAttribute &&
	               xml.$ && Object.prototype.hasOwnProperty.call(xml.$, xmlName)) {
	      data[memberName] = parseScalar(xml.$[xmlName], memberShape);
	    } else if (memberShape.type === 'list') {
	      data[memberName] = memberShape.defaultValue;
	    }
	  });

	  return data;
	}

	function parseMap(xml, shape) {
	  var data = {};
	  if (xml === null) return data;

	  var xmlKey = shape.key.name || 'key';
	  var xmlValue = shape.value.name || 'value';
	  var iterable = shape.flattened ? xml : xml.entry;

	  if (Array.isArray(iterable)) {
	    util.arrayEach(iterable, function(child) {
	      data[child[xmlKey][0]] = parseXml(child[xmlValue][0], shape.value);
	    });
	  }

	  return data;
	}

	function parseList(xml, shape) {
	  var data = [];
	  var name = shape.member.name || 'member';
	  if (shape.flattened) {
	    util.arrayEach(xml, function(xmlChild) {
	      data.push(parseXml(xmlChild, shape.member));
	    });
	  } else if (xml && Array.isArray(xml[name])) {
	    util.arrayEach(xml[name], function(child) {
	      data.push(parseXml(child, shape.member));
	    });
	  }

	  return data;
	}

	function parseScalar(text, shape) {
	  if (text && text.$ && text.$.encoding === 'base64') {
	    shape = new Shape.create({type: text.$.encoding});
	  }
	  if (text && text._) text = text._;

	  if (typeof shape.toType === 'function') {
	    return shape.toType(text);
	  } else {
	    return text;
	  }
	}

	function parseUnknown(xml) {
	  if (xml === undefined || xml === null) return '';
	  if (typeof xml === 'string') return xml;

	  // parse a list
	  if (Array.isArray(xml)) {
	    var arr = [];
	    for (i = 0; i < xml.length; i++) {
	      arr.push(parseXml(xml[i], {}));
	    }
	    return arr;
	  }

	  // empty object
	  var keys = Object.keys(xml), i;
	  if (keys.length === 0 || keys === ['$']) {
	    return {};
	  }

	  // object, parse as structure
	  var data = {};
	  for (i = 0; i < keys.length; i++) {
	    var key = keys[i], value = xml[key];
	    if (key === '$') continue;
	    if (value.length > 1) { // this member is a list
	      data[key] = parseList(value, {member: {}});
	    } else { // this member is a single item
	      data[key] = parseXml(value[0], {});
	    }
	  }
	  return data;
	}

	module.exports = NodeXmlParser;


/***/ }),
/* 292 */
/***/ (function(module, exports, __webpack_require__) {

	// Generated by CoffeeScript 1.10.0
	(function() {
	  "use strict";
	  var bom, builder, escapeCDATA, events, isEmpty, processName, processors, requiresCDATA, sax, setImmediate, wrapCDATA,
	    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
	    hasProp = {}.hasOwnProperty,
	    bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };

	  sax = __webpack_require__(293);

	  events = __webpack_require__(246);

	  builder = __webpack_require__(17);

	  bom = __webpack_require__(295);

	  processors = __webpack_require__(296);

	  setImmediate = __webpack_require__(258).setImmediate;

	  isEmpty = function(thing) {
	    return typeof thing === "object" && (thing != null) && Object.keys(thing).length === 0;
	  };

	  processName = function(processors, processedName) {
	    var i, len, process;
	    for (i = 0, len = processors.length; i < len; i++) {
	      process = processors[i];
	      processedName = process(processedName);
	    }
	    return processedName;
	  };

	  requiresCDATA = function(entry) {
	    return entry.indexOf('&') >= 0 || entry.indexOf('>') >= 0 || entry.indexOf('<') >= 0;
	  };

	  wrapCDATA = function(entry) {
	    return "<![CDATA[" + (escapeCDATA(entry)) + "]]>";
	  };

	  escapeCDATA = function(entry) {
	    return entry.replace(']]>', ']]]]><![CDATA[>');
	  };

	  exports.processors = processors;

	  exports.defaults = {
	    "0.1": {
	      explicitCharkey: false,
	      trim: true,
	      normalize: true,
	      normalizeTags: false,
	      attrkey: "@",
	      charkey: "#",
	      explicitArray: false,
	      ignoreAttrs: false,
	      mergeAttrs: false,
	      explicitRoot: false,
	      validator: null,
	      xmlns: false,
	      explicitChildren: false,
	      childkey: '@@',
	      charsAsChildren: false,
	      includeWhiteChars: false,
	      async: false,
	      strict: true,
	      attrNameProcessors: null,
	      attrValueProcessors: null,
	      tagNameProcessors: null,
	      valueProcessors: null,
	      emptyTag: ''
	    },
	    "0.2": {
	      explicitCharkey: false,
	      trim: false,
	      normalize: false,
	      normalizeTags: false,
	      attrkey: "$",
	      charkey: "_",
	      explicitArray: true,
	      ignoreAttrs: false,
	      mergeAttrs: false,
	      explicitRoot: true,
	      validator: null,
	      xmlns: false,
	      explicitChildren: false,
	      preserveChildrenOrder: false,
	      childkey: '$$',
	      charsAsChildren: false,
	      includeWhiteChars: false,
	      async: false,
	      strict: true,
	      attrNameProcessors: null,
	      attrValueProcessors: null,
	      tagNameProcessors: null,
	      valueProcessors: null,
	      rootName: 'root',
	      xmldec: {
	        'version': '1.0',
	        'encoding': 'UTF-8',
	        'standalone': true
	      },
	      doctype: null,
	      renderOpts: {
	        'pretty': true,
	        'indent': '  ',
	        'newline': '\n'
	      },
	      headless: false,
	      chunkSize: 10000,
	      emptyTag: '',
	      cdata: false
	    }
	  };

	  exports.ValidationError = (function(superClass) {
	    extend(ValidationError, superClass);

	    function ValidationError(message) {
	      this.message = message;
	    }

	    return ValidationError;

	  })(Error);

	  exports.Builder = (function() {
	    function Builder(opts) {
	      var key, ref, value;
	      this.options = {};
	      ref = exports.defaults["0.2"];
	      for (key in ref) {
	        if (!hasProp.call(ref, key)) continue;
	        value = ref[key];
	        this.options[key] = value;
	      }
	      for (key in opts) {
	        if (!hasProp.call(opts, key)) continue;
	        value = opts[key];
	        this.options[key] = value;
	      }
	    }

	    Builder.prototype.buildObject = function(rootObj) {
	      var attrkey, charkey, render, rootElement, rootName;
	      attrkey = this.options.attrkey;
	      charkey = this.options.charkey;
	      if ((Object.keys(rootObj).length === 1) && (this.options.rootName === exports.defaults['0.2'].rootName)) {
	        rootName = Object.keys(rootObj)[0];
	        rootObj = rootObj[rootName];
	      } else {
	        rootName = this.options.rootName;
	      }
	      render = (function(_this) {
	        return function(element, obj) {
	          var attr, child, entry, index, key, value;
	          if (typeof obj !== 'object') {
	            if (_this.options.cdata && requiresCDATA(obj)) {
	              element.raw(wrapCDATA(obj));
	            } else {
	              element.txt(obj);
	            }
	          } else {
	            for (key in obj) {
	              if (!hasProp.call(obj, key)) continue;
	              child = obj[key];
	              if (key === attrkey) {
	                if (typeof child === "object") {
	                  for (attr in child) {
	                    value = child[attr];
	                    element = element.att(attr, value);
	                  }
	                }
	              } else if (key === charkey) {
	                if (_this.options.cdata && requiresCDATA(child)) {
	                  element = element.raw(wrapCDATA(child));
	                } else {
	                  element = element.txt(child);
	                }
	              } else if (Array.isArray(child)) {
	                for (index in child) {
	                  if (!hasProp.call(child, index)) continue;
	                  entry = child[index];
	                  if (typeof entry === 'string') {
	                    if (_this.options.cdata && requiresCDATA(entry)) {
	                      element = element.ele(key).raw(wrapCDATA(entry)).up();
	                    } else {
	                      element = element.ele(key, entry).up();
	                    }
	                  } else {
	                    element = render(element.ele(key), entry).up();
	                  }
	                }
	              } else if (typeof child === "object") {
	                element = render(element.ele(key), child).up();
	              } else {
	                if (typeof child === 'string' && _this.options.cdata && requiresCDATA(child)) {
	                  element = element.ele(key).raw(wrapCDATA(child)).up();
	                } else {
	                  if (child == null) {
	                    child = '';
	                  }
	                  element = element.ele(key, child.toString()).up();
	                }
	              }
	            }
	          }
	          return element;
	        };
	      })(this);
	      rootElement = builder.create(rootName, this.options.xmldec, this.options.doctype, {
	        headless: this.options.headless,
	        allowSurrogateChars: this.options.allowSurrogateChars
	      });
	      return render(rootElement, rootObj).end(this.options.renderOpts);
	    };

	    return Builder;

	  })();

	  exports.Parser = (function(superClass) {
	    extend(Parser, superClass);

	    function Parser(opts) {
	      this.parseString = bind(this.parseString, this);
	      this.reset = bind(this.reset, this);
	      this.assignOrPush = bind(this.assignOrPush, this);
	      this.processAsync = bind(this.processAsync, this);
	      var key, ref, value;
	      if (!(this instanceof exports.Parser)) {
	        return new exports.Parser(opts);
	      }
	      this.options = {};
	      ref = exports.defaults["0.2"];
	      for (key in ref) {
	        if (!hasProp.call(ref, key)) continue;
	        value = ref[key];
	        this.options[key] = value;
	      }
	      for (key in opts) {
	        if (!hasProp.call(opts, key)) continue;
	        value = opts[key];
	        this.options[key] = value;
	      }
	      if (this.options.xmlns) {
	        this.options.xmlnskey = this.options.attrkey + "ns";
	      }
	      if (this.options.normalizeTags) {
	        if (!this.options.tagNameProcessors) {
	          this.options.tagNameProcessors = [];
	        }
	        this.options.tagNameProcessors.unshift(processors.normalize);
	      }
	      this.reset();
	    }

	    Parser.prototype.processAsync = function() {
	      var chunk, err, error1;
	      try {
	        if (this.remaining.length <= this.options.chunkSize) {
	          chunk = this.remaining;
	          this.remaining = '';
	          this.saxParser = this.saxParser.write(chunk);
	          return this.saxParser.close();
	        } else {
	          chunk = this.remaining.substr(0, this.options.chunkSize);
	          this.remaining = this.remaining.substr(this.options.chunkSize, this.remaining.length);
	          this.saxParser = this.saxParser.write(chunk);
	          return setImmediate(this.processAsync);
	        }
	      } catch (error1) {
	        err = error1;
	        if (!this.saxParser.errThrown) {
	          this.saxParser.errThrown = true;
	          return this.emit(err);
	        }
	      }
	    };

	    Parser.prototype.assignOrPush = function(obj, key, newValue) {
	      if (!(key in obj)) {
	        if (!this.options.explicitArray) {
	          return obj[key] = newValue;
	        } else {
	          return obj[key] = [newValue];
	        }
	      } else {
	        if (!(obj[key] instanceof Array)) {
	          obj[key] = [obj[key]];
	        }
	        return obj[key].push(newValue);
	      }
	    };

	    Parser.prototype.reset = function() {
	      var attrkey, charkey, ontext, stack;
	      this.removeAllListeners();
	      this.saxParser = sax.parser(this.options.strict, {
	        trim: false,
	        normalize: false,
	        xmlns: this.options.xmlns
	      });
	      this.saxParser.errThrown = false;
	      this.saxParser.onerror = (function(_this) {
	        return function(error) {
	          _this.saxParser.resume();
	          if (!_this.saxParser.errThrown) {
	            _this.saxParser.errThrown = true;
	            return _this.emit("error", error);
	          }
	        };
	      })(this);
	      this.saxParser.onend = (function(_this) {
	        return function() {
	          if (!_this.saxParser.ended) {
	            _this.saxParser.ended = true;
	            return _this.emit("end", _this.resultObject);
	          }
	        };
	      })(this);
	      this.saxParser.ended = false;
	      this.EXPLICIT_CHARKEY = this.options.explicitCharkey;
	      this.resultObject = null;
	      stack = [];
	      attrkey = this.options.attrkey;
	      charkey = this.options.charkey;
	      this.saxParser.onopentag = (function(_this) {
	        return function(node) {
	          var key, newValue, obj, processedKey, ref;
	          obj = {};
	          obj[charkey] = "";
	          if (!_this.options.ignoreAttrs) {
	            ref = node.attributes;
	            for (key in ref) {
	              if (!hasProp.call(ref, key)) continue;
	              if (!(attrkey in obj) && !_this.options.mergeAttrs) {
	                obj[attrkey] = {};
	              }
	              newValue = _this.options.attrValueProcessors ? processName(_this.options.attrValueProcessors, node.attributes[key]) : node.attributes[key];
	              processedKey = _this.options.attrNameProcessors ? processName(_this.options.attrNameProcessors, key) : key;
	              if (_this.options.mergeAttrs) {
	                _this.assignOrPush(obj, processedKey, newValue);
	              } else {
	                obj[attrkey][processedKey] = newValue;
	              }
	            }
	          }
	          obj["#name"] = _this.options.tagNameProcessors ? processName(_this.options.tagNameProcessors, node.name) : node.name;
	          if (_this.options.xmlns) {
	            obj[_this.options.xmlnskey] = {
	              uri: node.uri,
	              local: node.local
	            };
	          }
	          return stack.push(obj);
	        };
	      })(this);
	      this.saxParser.onclosetag = (function(_this) {
	        return function() {
	          var cdata, emptyStr, err, error1, key, node, nodeName, obj, objClone, old, s, xpath;
	          obj = stack.pop();
	          nodeName = obj["#name"];
	          if (!_this.options.explicitChildren || !_this.options.preserveChildrenOrder) {
	            delete obj["#name"];
	          }
	          if (obj.cdata === true) {
	            cdata = obj.cdata;
	            delete obj.cdata;
	          }
	          s = stack[stack.length - 1];
	          if (obj[charkey].match(/^\s*$/) && !cdata) {
	            emptyStr = obj[charkey];
	            delete obj[charkey];
	          } else {
	            if (_this.options.trim) {
	              obj[charkey] = obj[charkey].trim();
	            }
	            if (_this.options.normalize) {
	              obj[charkey] = obj[charkey].replace(/\s{2,}/g, " ").trim();
	            }
	            obj[charkey] = _this.options.valueProcessors ? processName(_this.options.valueProcessors, obj[charkey]) : obj[charkey];
	            if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {
	              obj = obj[charkey];
	            }
	          }
	          if (isEmpty(obj)) {
	            obj = _this.options.emptyTag !== '' ? _this.options.emptyTag : emptyStr;
	          }
	          if (_this.options.validator != null) {
	            xpath = "/" + ((function() {
	              var i, len, results;
	              results = [];
	              for (i = 0, len = stack.length; i < len; i++) {
	                node = stack[i];
	                results.push(node["#name"]);
	              }
	              return results;
	            })()).concat(nodeName).join("/");
	            try {
	              obj = _this.options.validator(xpath, s && s[nodeName], obj);
	            } catch (error1) {
	              err = error1;
	              _this.emit("error", err);
	            }
	          }
	          if (_this.options.explicitChildren && !_this.options.mergeAttrs && typeof obj === 'object') {
	            if (!_this.options.preserveChildrenOrder) {
	              node = {};
	              if (_this.options.attrkey in obj) {
	                node[_this.options.attrkey] = obj[_this.options.attrkey];
	                delete obj[_this.options.attrkey];
	              }
	              if (!_this.options.charsAsChildren && _this.options.charkey in obj) {
	                node[_this.options.charkey] = obj[_this.options.charkey];
	                delete obj[_this.options.charkey];
	              }
	              if (Object.getOwnPropertyNames(obj).length > 0) {
	                node[_this.options.childkey] = obj;
	              }
	              obj = node;
	            } else if (s) {
	              s[_this.options.childkey] = s[_this.options.childkey] || [];
	              objClone = {};
	              for (key in obj) {
	                if (!hasProp.call(obj, key)) continue;
	                objClone[key] = obj[key];
	              }
	              s[_this.options.childkey].push(objClone);
	              delete obj["#name"];
	              if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {
	                obj = obj[charkey];
	              }
	            }
	          }
	          if (stack.length > 0) {
	            return _this.assignOrPush(s, nodeName, obj);
	          } else {
	            if (_this.options.explicitRoot) {
	              old = obj;
	              obj = {};
	              obj[nodeName] = old;
	            }
	            _this.resultObject = obj;
	            _this.saxParser.ended = true;
	            return _this.emit("end", _this.resultObject);
	          }
	        };
	      })(this);
	      ontext = (function(_this) {
	        return function(text) {
	          var charChild, s;
	          s = stack[stack.length - 1];
	          if (s) {
	            s[charkey] += text;
	            if (_this.options.explicitChildren && _this.options.preserveChildrenOrder && _this.options.charsAsChildren && (_this.options.includeWhiteChars || text.replace(/\\n/g, '').trim() !== '')) {
	              s[_this.options.childkey] = s[_this.options.childkey] || [];
	              charChild = {
	                '#name': '__text__'
	              };
	              charChild[charkey] = text;
	              if (_this.options.normalize) {
	                charChild[charkey] = charChild[charkey].replace(/\s{2,}/g, " ").trim();
	              }
	              s[_this.options.childkey].push(charChild);
	            }
	            return s;
	          }
	        };
	      })(this);
	      this.saxParser.ontext = ontext;
	      return this.saxParser.oncdata = (function(_this) {
	        return function(text) {
	          var s;
	          s = ontext(text);
	          if (s) {
	            return s.cdata = true;
	          }
	        };
	      })(this);
	    };

	    Parser.prototype.parseString = function(str, cb) {
	      var err, error1;
	      if ((cb != null) && typeof cb === "function") {
	        this.on("end", function(result) {
	          this.reset();
	          return cb(null, result);
	        });
	        this.on("error", function(err) {
	          this.reset();
	          return cb(err);
	        });
	      }
	      try {
	        str = str.toString();
	        if (str.trim() === '') {
	          this.emit("end", null);
	          return true;
	        }
	        str = bom.stripBOM(str);
	        if (this.options.async) {
	          this.remaining = str;
	          setImmediate(this.processAsync);
	          return this.saxParser;
	        }
	        return this.saxParser.write(str).close();
	      } catch (error1) {
	        err = error1;
	        if (!(this.saxParser.errThrown || this.saxParser.ended)) {
	          this.emit('error', err);
	          return this.saxParser.errThrown = true;
	        } else if (this.saxParser.ended) {
	          throw err;
	        }
	      }
	    };

	    return Parser;

	  })(events.EventEmitter);

	  exports.parseString = function(str, a, b) {
	    var cb, options, parser;
	    if (b != null) {
	      if (typeof b === 'function') {
	        cb = b;
	      }
	      if (typeof a === 'object') {
	        options = a;
	      }
	    } else {
	      if (typeof a === 'function') {
	        cb = a;
	      }
	      options = {};
	    }
	    parser = new exports.Parser(options);
	    return parser.parseString(str, cb);
	  };

	}).call(this);


/***/ }),
/* 293 */
/***/ (function(module, exports, __webpack_require__) {

	/* WEBPACK VAR INJECTION */(function(Buffer) {;(function (sax) { // wrapper for non-node envs
	  sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }
	  sax.SAXParser = SAXParser
	  sax.SAXStream = SAXStream
	  sax.createStream = createStream

	  // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.
	  // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),
	  // since that's the earliest that a buffer overrun could occur.  This way, checks are
	  // as rare as required, but as often as necessary to ensure never crossing this bound.
	  // Furthermore, buffers are only tested at most once per write(), so passing a very
	  // large string into write() might have undesirable effects, but this is manageable by
	  // the caller, so it is assumed to be safe.  Thus, a call to write() may, in the extreme
	  // edge case, result in creating at most one complete copy of the string passed in.
	  // Set to Infinity to have unlimited buffers.
	  sax.MAX_BUFFER_LENGTH = 64 * 1024

	  var buffers = [
	    'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',
	    'procInstName', 'procInstBody', 'entity', 'attribName',
	    'attribValue', 'cdata', 'script'
	  ]

	  sax.EVENTS = [
	    'text',
	    'processinginstruction',
	    'sgmldeclaration',
	    'doctype',
	    'comment',
	    'opentagstart',
	    'attribute',
	    'opentag',
	    'closetag',
	    'opencdata',
	    'cdata',
	    'closecdata',
	    'error',
	    'end',
	    'ready',
	    'script',
	    'opennamespace',
	    'closenamespace'
	  ]

	  function SAXParser (strict, opt) {
	    if (!(this instanceof SAXParser)) {
	      return new SAXParser(strict, opt)
	    }

	    var parser = this
	    clearBuffers(parser)
	    parser.q = parser.c = ''
	    parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH
	    parser.opt = opt || {}
	    parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags
	    parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'
	    parser.tags = []
	    parser.closed = parser.closedRoot = parser.sawRoot = false
	    parser.tag = parser.error = null
	    parser.strict = !!strict
	    parser.noscript = !!(strict || parser.opt.noscript)
	    parser.state = S.BEGIN
	    parser.strictEntities = parser.opt.strictEntities
	    parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)
	    parser.attribList = []

	    // namespaces form a prototype chain.
	    // it always points at the current tag,
	    // which protos to its parent tag.
	    if (parser.opt.xmlns) {
	      parser.ns = Object.create(rootNS)
	    }

	    // mostly just for error reporting
	    parser.trackPosition = parser.opt.position !== false
	    if (parser.trackPosition) {
	      parser.position = parser.line = parser.column = 0
	    }
	    emit(parser, 'onready')
	  }

	  if (!Object.create) {
	    Object.create = function (o) {
	      function F () {}
	      F.prototype = o
	      var newf = new F()
	      return newf
	    }
	  }

	  if (!Object.keys) {
	    Object.keys = function (o) {
	      var a = []
	      for (var i in o) if (o.hasOwnProperty(i)) a.push(i)
	      return a
	    }
	  }

	  function checkBufferLength (parser) {
	    var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)
	    var maxActual = 0
	    for (var i = 0, l = buffers.length; i < l; i++) {
	      var len = parser[buffers[i]].length
	      if (len > maxAllowed) {
	        // Text/cdata nodes can get big, and since they're buffered,
	        // we can get here under normal conditions.
	        // Avoid issues by emitting the text node now,
	        // so at least it won't get any bigger.
	        switch (buffers[i]) {
	          case 'textNode':
	            closeText(parser)
	            break

	          case 'cdata':
	            emitNode(parser, 'oncdata', parser.cdata)
	            parser.cdata = ''
	            break

	          case 'script':
	            emitNode(parser, 'onscript', parser.script)
	            parser.script = ''
	            break

	          default:
	            error(parser, 'Max buffer length exceeded: ' + buffers[i])
	        }
	      }
	      maxActual = Math.max(maxActual, len)
	    }
	    // schedule the next check for the earliest possible buffer overrun.
	    var m = sax.MAX_BUFFER_LENGTH - maxActual
	    parser.bufferCheckPosition = m + parser.position
	  }

	  function clearBuffers (parser) {
	    for (var i = 0, l = buffers.length; i < l; i++) {
	      parser[buffers[i]] = ''
	    }
	  }

	  function flushBuffers (parser) {
	    closeText(parser)
	    if (parser.cdata !== '') {
	      emitNode(parser, 'oncdata', parser.cdata)
	      parser.cdata = ''
	    }
	    if (parser.script !== '') {
	      emitNode(parser, 'onscript', parser.script)
	      parser.script = ''
	    }
	  }

	  SAXParser.prototype = {
	    end: function () { end(this) },
	    write: write,
	    resume: function () { this.error = null; return this },
	    close: function () { return this.write(null) },
	    flush: function () { flushBuffers(this) }
	  }

	  var Stream
	  try {
	    Stream = __webpack_require__(245).Stream
	  } catch (ex) {
	    Stream = function () {}
	  }

	  var streamWraps = sax.EVENTS.filter(function (ev) {
	    return ev !== 'error' && ev !== 'end'
	  })

	  function createStream (strict, opt) {
	    return new SAXStream(strict, opt)
	  }

	  function SAXStream (strict, opt) {
	    if (!(this instanceof SAXStream)) {
	      return new SAXStream(strict, opt)
	    }

	    Stream.apply(this)

	    this._parser = new SAXParser(strict, opt)
	    this.writable = true
	    this.readable = true

	    var me = this

	    this._parser.onend = function () {
	      me.emit('end')
	    }

	    this._parser.onerror = function (er) {
	      me.emit('error', er)

	      // if didn't throw, then means error was handled.
	      // go ahead and clear error, so we can write again.
	      me._parser.error = null
	    }

	    this._decoder = null

	    streamWraps.forEach(function (ev) {
	      Object.defineProperty(me, 'on' + ev, {
	        get: function () {
	          return me._parser['on' + ev]
	        },
	        set: function (h) {
	          if (!h) {
	            me.removeAllListeners(ev)
	            me._parser['on' + ev] = h
	            return h
	          }
	          me.on(ev, h)
	        },
	        enumerable: true,
	        configurable: false
	      })
	    })
	  }

	  SAXStream.prototype = Object.create(Stream.prototype, {
	    constructor: {
	      value: SAXStream
	    }
	  })

	  SAXStream.prototype.write = function (data) {
	    if (typeof Buffer === 'function' &&
	      typeof Buffer.isBuffer === 'function' &&
	      Buffer.isBuffer(data)) {
	      if (!this._decoder) {
	        var SD = __webpack_require__(294).StringDecoder
	        this._decoder = new SD('utf8')
	      }
	      data = this._decoder.write(data)
	    }

	    this._parser.write(data.toString())
	    this.emit('data', data)
	    return true
	  }

	  SAXStream.prototype.end = function (chunk) {
	    if (chunk && chunk.length) {
	      this.write(chunk)
	    }
	    this._parser.end()
	    return true
	  }

	  SAXStream.prototype.on = function (ev, handler) {
	    var me = this
	    if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {
	      me._parser['on' + ev] = function () {
	        var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)
	        args.splice(0, 0, ev)
	        me.emit.apply(me, args)
	      }
	    }

	    return Stream.prototype.on.call(me, ev, handler)
	  }

	  // character classes and tokens
	  var whitespace = '\r\n\t '

	  // this really needs to be replaced with character classes.
	  // XML allows all manner of ridiculous numbers and digits.
	  var number = '0124356789'
	  var letter = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

	  // (Letter | "_" | ":")
	  var quote = '\'"'
	  var attribEnd = whitespace + '>'
	  var CDATA = '[CDATA['
	  var DOCTYPE = 'DOCTYPE'
	  var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'
	  var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'
	  var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }

	  // turn all the string character sets into character class objects.
	  whitespace = charClass(whitespace)
	  number = charClass(number)
	  letter = charClass(letter)

	  // http://www.w3.org/TR/REC-xml/#NT-NameStartChar
	  // This implementation works on strings, a single character at a time
	  // as such, it cannot ever support astral-plane characters (10000-EFFFF)
	  // without a significant breaking change to either this  parser, or the
	  // JavaScript language.  Implementation of an emoji-capable xml parser
	  // is left as an exercise for the reader.
	  var nameStart = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/

	  var nameBody = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040\.\d-]/

	  var entityStart = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/
	  var entityBody = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040\.\d-]/

	  quote = charClass(quote)
	  attribEnd = charClass(attribEnd)

	  function charClass (str) {
	    return str.split('').reduce(function (s, c) {
	      s[c] = true
	      return s
	    }, {})
	  }

	  function isRegExp (c) {
	    return Object.prototype.toString.call(c) === '[object RegExp]'
	  }

	  function is (charclass, c) {
	    return isRegExp(charclass) ? !!c.match(charclass) : charclass[c]
	  }

	  function not (charclass, c) {
	    return !is(charclass, c)
	  }

	  var S = 0
	  sax.STATE = {
	    BEGIN: S++, // leading byte order mark or whitespace
	    BEGIN_WHITESPACE: S++, // leading whitespace
	    TEXT: S++, // general stuff
	    TEXT_ENTITY: S++, // &amp and such.
	    OPEN_WAKA: S++, // <
	    SGML_DECL: S++, // <!BLARG
	    SGML_DECL_QUOTED: S++, // <!BLARG foo "bar
	    DOCTYPE: S++, // <!DOCTYPE
	    DOCTYPE_QUOTED: S++, // <!DOCTYPE "//blah
	    DOCTYPE_DTD: S++, // <!DOCTYPE "//blah" [ ...
	    DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE "//blah" [ "foo
	    COMMENT_STARTING: S++, // <!-
	    COMMENT: S++, // <!--
	    COMMENT_ENDING: S++, // <!-- blah -
	    COMMENT_ENDED: S++, // <!-- blah --
	    CDATA: S++, // <![CDATA[ something
	    CDATA_ENDING: S++, // ]
	    CDATA_ENDING_2: S++, // ]]
	    PROC_INST: S++, // <?hi
	    PROC_INST_BODY: S++, // <?hi there
	    PROC_INST_ENDING: S++, // <?hi "there" ?
	    OPEN_TAG: S++, // <strong
	    OPEN_TAG_SLASH: S++, // <strong /
	    ATTRIB: S++, // <a
	    ATTRIB_NAME: S++, // <a foo
	    ATTRIB_NAME_SAW_WHITE: S++, // <a foo _
	    ATTRIB_VALUE: S++, // <a foo=
	    ATTRIB_VALUE_QUOTED: S++, // <a foo="bar
	    ATTRIB_VALUE_CLOSED: S++, // <a foo="bar"
	    ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar
	    ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar="&quot;"
	    ATTRIB_VALUE_ENTITY_U: S++, // <foo bar=&quot
	    CLOSE_TAG: S++, // </a
	    CLOSE_TAG_SAW_WHITE: S++, // </a   >
	    SCRIPT: S++, // <script> ...
	    SCRIPT_ENDING: S++ // <script> ... <
	  }

	  sax.XML_ENTITIES = {
	    'amp': '&',
	    'gt': '>',
	    'lt': '<',
	    'quot': '"',
	    'apos': "'"
	  }

	  sax.ENTITIES = {
	    'amp': '&',
	    'gt': '>',
	    'lt': '<',
	    'quot': '"',
	    'apos': "'",
	    'AElig': 198,
	    'Aacute': 193,
	    'Acirc': 194,
	    'Agrave': 192,
	    'Aring': 197,
	    'Atilde': 195,
	    'Auml': 196,
	    'Ccedil': 199,
	    'ETH': 208,
	    'Eacute': 201,
	    'Ecirc': 202,
	    'Egrave': 200,
	    'Euml': 203,
	    'Iacute': 205,
	    'Icirc': 206,
	    'Igrave': 204,
	    'Iuml': 207,
	    'Ntilde': 209,
	    'Oacute': 211,
	    'Ocirc': 212,
	    'Ograve': 210,
	    'Oslash': 216,
	    'Otilde': 213,
	    'Ouml': 214,
	    'THORN': 222,
	    'Uacute': 218,
	    'Ucirc': 219,
	    'Ugrave': 217,
	    'Uuml': 220,
	    'Yacute': 221,
	    'aacute': 225,
	    'acirc': 226,
	    'aelig': 230,
	    'agrave': 224,
	    'aring': 229,
	    'atilde': 227,
	    'auml': 228,
	    'ccedil': 231,
	    'eacute': 233,
	    'ecirc': 234,
	    'egrave': 232,
	    'eth': 240,
	    'euml': 235,
	    'iacute': 237,
	    'icirc': 238,
	    'igrave': 236,
	    'iuml': 239,
	    'ntilde': 241,
	    'oacute': 243,
	    'ocirc': 244,
	    'ograve': 242,
	    'oslash': 248,
	    'otilde': 245,
	    'ouml': 246,
	    'szlig': 223,
	    'thorn': 254,
	    'uacute': 250,
	    'ucirc': 251,
	    'ugrave': 249,
	    'uuml': 252,
	    'yacute': 253,
	    'yuml': 255,
	    'copy': 169,
	    'reg': 174,
	    'nbsp': 160,
	    'iexcl': 161,
	    'cent': 162,
	    'pound': 163,
	    'curren': 164,
	    'yen': 165,
	    'brvbar': 166,
	    'sect': 167,
	    'uml': 168,
	    'ordf': 170,
	    'laquo': 171,
	    'not': 172,
	    'shy': 173,
	    'macr': 175,
	    'deg': 176,
	    'plusmn': 177,
	    'sup1': 185,
	    'sup2': 178,
	    'sup3': 179,
	    'acute': 180,
	    'micro': 181,
	    'para': 182,
	    'middot': 183,
	    'cedil': 184,
	    'ordm': 186,
	    'raquo': 187,
	    'frac14': 188,
	    'frac12': 189,
	    'frac34': 190,
	    'iquest': 191,
	    'times': 215,
	    'divide': 247,
	    'OElig': 338,
	    'oelig': 339,
	    'Scaron': 352,
	    'scaron': 353,
	    'Yuml': 376,
	    'fnof': 402,
	    'circ': 710,
	    'tilde': 732,
	    'Alpha': 913,
	    'Beta': 914,
	    'Gamma': 915,
	    'Delta': 916,
	    'Epsilon': 917,
	    'Zeta': 918,
	    'Eta': 919,
	    'Theta': 920,
	    'Iota': 921,
	    'Kappa': 922,
	    'Lambda': 923,
	    'Mu': 924,
	    'Nu': 925,
	    'Xi': 926,
	    'Omicron': 927,
	    'Pi': 928,
	    'Rho': 929,
	    'Sigma': 931,
	    'Tau': 932,
	    'Upsilon': 933,
	    'Phi': 934,
	    'Chi': 935,
	    'Psi': 936,
	    'Omega': 937,
	    'alpha': 945,
	    'beta': 946,
	    'gamma': 947,
	    'delta': 948,
	    'epsilon': 949,
	    'zeta': 950,
	    'eta': 951,
	    'theta': 952,
	    'iota': 953,
	    'kappa': 954,
	    'lambda': 955,
	    'mu': 956,
	    'nu': 957,
	    'xi': 958,
	    'omicron': 959,
	    'pi': 960,
	    'rho': 961,
	    'sigmaf': 962,
	    'sigma': 963,
	    'tau': 964,
	    'upsilon': 965,
	    'phi': 966,
	    'chi': 967,
	    'psi': 968,
	    'omega': 969,
	    'thetasym': 977,
	    'upsih': 978,
	    'piv': 982,
	    'ensp': 8194,
	    'emsp': 8195,
	    'thinsp': 8201,
	    'zwnj': 8204,
	    'zwj': 8205,
	    'lrm': 8206,
	    'rlm': 8207,
	    'ndash': 8211,
	    'mdash': 8212,
	    'lsquo': 8216,
	    'rsquo': 8217,
	    'sbquo': 8218,
	    'ldquo': 8220,
	    'rdquo': 8221,
	    'bdquo': 8222,
	    'dagger': 8224,
	    'Dagger': 8225,
	    'bull': 8226,
	    'hellip': 8230,
	    'permil': 8240,
	    'prime': 8242,
	    'Prime': 8243,
	    'lsaquo': 8249,
	    'rsaquo': 8250,
	    'oline': 8254,
	    'frasl': 8260,
	    'euro': 8364,
	    'image': 8465,
	    'weierp': 8472,
	    'real': 8476,
	    'trade': 8482,
	    'alefsym': 8501,
	    'larr': 8592,
	    'uarr': 8593,
	    'rarr': 8594,
	    'darr': 8595,
	    'harr': 8596,
	    'crarr': 8629,
	    'lArr': 8656,
	    'uArr': 8657,
	    'rArr': 8658,
	    'dArr': 8659,
	    'hArr': 8660,
	    'forall': 8704,
	    'part': 8706,
	    'exist': 8707,
	    'empty': 8709,
	    'nabla': 8711,
	    'isin': 8712,
	    'notin': 8713,
	    'ni': 8715,
	    'prod': 8719,
	    'sum': 8721,
	    'minus': 8722,
	    'lowast': 8727,
	    'radic': 8730,
	    'prop': 8733,
	    'infin': 8734,
	    'ang': 8736,
	    'and': 8743,
	    'or': 8744,
	    'cap': 8745,
	    'cup': 8746,
	    'int': 8747,
	    'there4': 8756,
	    'sim': 8764,
	    'cong': 8773,
	    'asymp': 8776,
	    'ne': 8800,
	    'equiv': 8801,
	    'le': 8804,
	    'ge': 8805,
	    'sub': 8834,
	    'sup': 8835,
	    'nsub': 8836,
	    'sube': 8838,
	    'supe': 8839,
	    'oplus': 8853,
	    'otimes': 8855,
	    'perp': 8869,
	    'sdot': 8901,
	    'lceil': 8968,
	    'rceil': 8969,
	    'lfloor': 8970,
	    'rfloor': 8971,
	    'lang': 9001,
	    'rang': 9002,
	    'loz': 9674,
	    'spades': 9824,
	    'clubs': 9827,
	    'hearts': 9829,
	    'diams': 9830
	  }

	  Object.keys(sax.ENTITIES).forEach(function (key) {
	    var e = sax.ENTITIES[key]
	    var s = typeof e === 'number' ? String.fromCharCode(e) : e
	    sax.ENTITIES[key] = s
	  })

	  for (var s in sax.STATE) {
	    sax.STATE[sax.STATE[s]] = s
	  }

	  // shorthand
	  S = sax.STATE

	  function emit (parser, event, data) {
	    parser[event] && parser[event](data)
	  }

	  function emitNode (parser, nodeType, data) {
	    if (parser.textNode) closeText(parser)
	    emit(parser, nodeType, data)
	  }

	  function closeText (parser) {
	    parser.textNode = textopts(parser.opt, parser.textNode)
	    if (parser.textNode) emit(parser, 'ontext', parser.textNode)
	    parser.textNode = ''
	  }

	  function textopts (opt, text) {
	    if (opt.trim) text = text.trim()
	    if (opt.normalize) text = text.replace(/\s+/g, ' ')
	    return text
	  }

	  function error (parser, er) {
	    closeText(parser)
	    if (parser.trackPosition) {
	      er += '\nLine: ' + parser.line +
	        '\nColumn: ' + parser.column +
	        '\nChar: ' + parser.c
	    }
	    er = new Error(er)
	    parser.error = er
	    emit(parser, 'onerror', er)
	    return parser
	  }

	  function end (parser) {
	    if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')
	    if ((parser.state !== S.BEGIN) &&
	      (parser.state !== S.BEGIN_WHITESPACE) &&
	      (parser.state !== S.TEXT)) {
	      error(parser, 'Unexpected end')
	    }
	    closeText(parser)
	    parser.c = ''
	    parser.closed = true
	    emit(parser, 'onend')
	    SAXParser.call(parser, parser.strict, parser.opt)
	    return parser
	  }

	  function strictFail (parser, message) {
	    if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {
	      throw new Error('bad call to strictFail')
	    }
	    if (parser.strict) {
	      error(parser, message)
	    }
	  }

	  function newTag (parser) {
	    if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()
	    var parent = parser.tags[parser.tags.length - 1] || parser
	    var tag = parser.tag = { name: parser.tagName, attributes: {} }

	    // will be overridden if tag contails an xmlns="foo" or xmlns:foo="bar"
	    if (parser.opt.xmlns) {
	      tag.ns = parent.ns
	    }
	    parser.attribList.length = 0
	    emitNode(parser, 'onopentagstart', tag)
	  }

	  function qname (name, attribute) {
	    var i = name.indexOf(':')
	    var qualName = i < 0 ? [ '', name ] : name.split(':')
	    var prefix = qualName[0]
	    var local = qualName[1]

	    // <x "xmlns"="http://foo">
	    if (attribute && name === 'xmlns') {
	      prefix = 'xmlns'
	      local = ''
	    }

	    return { prefix: prefix, local: local }
	  }

	  function attrib (parser) {
	    if (!parser.strict) {
	      parser.attribName = parser.attribName[parser.looseCase]()
	    }

	    if (parser.attribList.indexOf(parser.attribName) !== -1 ||
	      parser.tag.attributes.hasOwnProperty(parser.attribName)) {
	      parser.attribName = parser.attribValue = ''
	      return
	    }

	    if (parser.opt.xmlns) {
	      var qn = qname(parser.attribName, true)
	      var prefix = qn.prefix
	      var local = qn.local

	      if (prefix === 'xmlns') {
	        // namespace binding attribute. push the binding into scope
	        if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {
	          strictFail(parser,
	            'xml: prefix must be bound to ' + XML_NAMESPACE + '\n' +
	            'Actual: ' + parser.attribValue)
	        } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {
	          strictFail(parser,
	            'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\n' +
	            'Actual: ' + parser.attribValue)
	        } else {
	          var tag = parser.tag
	          var parent = parser.tags[parser.tags.length - 1] || parser
	          if (tag.ns === parent.ns) {
	            tag.ns = Object.create(parent.ns)
	          }
	          tag.ns[local] = parser.attribValue
	        }
	      }

	      // defer onattribute events until all attributes have been seen
	      // so any new bindings can take effect. preserve attribute order
	      // so deferred events can be emitted in document order
	      parser.attribList.push([parser.attribName, parser.attribValue])
	    } else {
	      // in non-xmlns mode, we can emit the event right away
	      parser.tag.attributes[parser.attribName] = parser.attribValue
	      emitNode(parser, 'onattribute', {
	        name: parser.attribName,
	        value: parser.attribValue
	      })
	    }

	    parser.attribName = parser.attribValue = ''
	  }

	  function openTag (parser, selfClosing) {
	    if (parser.opt.xmlns) {
	      // emit namespace binding events
	      var tag = parser.tag

	      // add namespace info to tag
	      var qn = qname(parser.tagName)
	      tag.prefix = qn.prefix
	      tag.local = qn.local
	      tag.uri = tag.ns[qn.prefix] || ''

	      if (tag.prefix && !tag.uri) {
	        strictFail(parser, 'Unbound namespace prefix: ' +
	          JSON.stringify(parser.tagName))
	        tag.uri = qn.prefix
	      }

	      var parent = parser.tags[parser.tags.length - 1] || parser
	      if (tag.ns && parent.ns !== tag.ns) {
	        Object.keys(tag.ns).forEach(function (p) {
	          emitNode(parser, 'onopennamespace', {
	            prefix: p,
	            uri: tag.ns[p]
	          })
	        })
	      }

	      // handle deferred onattribute events
	      // Note: do not apply default ns to attributes:
	      //   http://www.w3.org/TR/REC-xml-names/#defaulting
	      for (var i = 0, l = parser.attribList.length; i < l; i++) {
	        var nv = parser.attribList[i]
	        var name = nv[0]
	        var value = nv[1]
	        var qualName = qname(name, true)
	        var prefix = qualName.prefix
	        var local = qualName.local
	        var uri = prefix === '' ? '' : (tag.ns[prefix] || '')
	        var a = {
	          name: name,
	          value: value,
	          prefix: prefix,
	          local: local,
	          uri: uri
	        }

	        // if there's any attributes with an undefined namespace,
	        // then fail on them now.
	        if (prefix && prefix !== 'xmlns' && !uri) {
	          strictFail(parser, 'Unbound namespace prefix: ' +
	            JSON.stringify(prefix))
	          a.uri = prefix
	        }
	        parser.tag.attributes[name] = a
	        emitNode(parser, 'onattribute', a)
	      }
	      parser.attribList.length = 0
	    }

	    parser.tag.isSelfClosing = !!selfClosing

	    // process the tag
	    parser.sawRoot = true
	    parser.tags.push(parser.tag)
	    emitNode(parser, 'onopentag', parser.tag)
	    if (!selfClosing) {
	      // special case for <script> in non-strict mode.
	      if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {
	        parser.state = S.SCRIPT
	      } else {
	        parser.state = S.TEXT
	      }
	      parser.tag = null
	      parser.tagName = ''
	    }
	    parser.attribName = parser.attribValue = ''
	    parser.attribList.length = 0
	  }

	  function closeTag (parser) {
	    if (!parser.tagName) {
	      strictFail(parser, 'Weird empty close tag.')
	      parser.textNode += '</>'
	      parser.state = S.TEXT
	      return
	    }

	    if (parser.script) {
	      if (parser.tagName !== 'script') {
	        parser.script += '</' + parser.tagName + '>'
	        parser.tagName = ''
	        parser.state = S.SCRIPT
	        return
	      }
	      emitNode(parser, 'onscript', parser.script)
	      parser.script = ''
	    }

	    // first make sure that the closing tag actually exists.
	    // <a><b></c></b></a> will close everything, otherwise.
	    var t = parser.tags.length
	    var tagName = parser.tagName
	    if (!parser.strict) {
	      tagName = tagName[parser.looseCase]()
	    }
	    var closeTo = tagName
	    while (t--) {
	      var close = parser.tags[t]
	      if (close.name !== closeTo) {
	        // fail the first time in strict mode
	        strictFail(parser, 'Unexpected close tag')
	      } else {
	        break
	      }
	    }

	    // didn't find it.  we already failed for strict, so just abort.
	    if (t < 0) {
	      strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)
	      parser.textNode += '</' + parser.tagName + '>'
	      parser.state = S.TEXT
	      return
	    }
	    parser.tagName = tagName
	    var s = parser.tags.length
	    while (s-- > t) {
	      var tag = parser.tag = parser.tags.pop()
	      parser.tagName = parser.tag.name
	      emitNode(parser, 'onclosetag', parser.tagName)

	      var x = {}
	      for (var i in tag.ns) {
	        x[i] = tag.ns[i]
	      }

	      var parent = parser.tags[parser.tags.length - 1] || parser
	      if (parser.opt.xmlns && tag.ns !== parent.ns) {
	        // remove namespace bindings introduced by tag
	        Object.keys(tag.ns).forEach(function (p) {
	          var n = tag.ns[p]
	          emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })
	        })
	      }
	    }
	    if (t === 0) parser.closedRoot = true
	    parser.tagName = parser.attribValue = parser.attribName = ''
	    parser.attribList.length = 0
	    parser.state = S.TEXT
	  }

	  function parseEntity (parser) {
	    var entity = parser.entity
	    var entityLC = entity.toLowerCase()
	    var num
	    var numStr = ''

	    if (parser.ENTITIES[entity]) {
	      return parser.ENTITIES[entity]
	    }
	    if (parser.ENTITIES[entityLC]) {
	      return parser.ENTITIES[entityLC]
	    }
	    entity = entityLC
	    if (entity.charAt(0) === '#') {
	      if (entity.charAt(1) === 'x') {
	        entity = entity.slice(2)
	        num = parseInt(entity, 16)
	        numStr = num.toString(16)
	      } else {
	        entity = entity.slice(1)
	        num = parseInt(entity, 10)
	        numStr = num.toString(10)
	      }
	    }
	    entity = entity.replace(/^0+/, '')
	    if (numStr.toLowerCase() !== entity) {
	      strictFail(parser, 'Invalid character entity')
	      return '&' + parser.entity + ';'
	    }

	    return String.fromCodePoint(num)
	  }

	  function beginWhiteSpace (parser, c) {
	    if (c === '<') {
	      parser.state = S.OPEN_WAKA
	      parser.startTagPosition = parser.position
	    } else if (not(whitespace, c)) {
	      // have to process this as a text node.
	      // weird, but happens.
	      strictFail(parser, 'Non-whitespace before first tag.')
	      parser.textNode = c
	      parser.state = S.TEXT
	    }
	  }

	  function charAt (chunk, i) {
	    var result = ''
	    if (i < chunk.length) {
	      result = chunk.charAt(i)
	    }
	    return result
	  }

	  function write (chunk) {
	    var parser = this
	    if (this.error) {
	      throw this.error
	    }
	    if (parser.closed) {
	      return error(parser,
	        'Cannot write after close. Assign an onready handler.')
	    }
	    if (chunk === null) {
	      return end(parser)
	    }
	    if (typeof chunk === 'object') {
	      chunk = chunk.toString()
	    }
	    var i = 0
	    var c = ''
	    while (true) {
	      c = charAt(chunk, i++)
	      parser.c = c
	      if (!c) {
	        break
	      }
	      if (parser.trackPosition) {
	        parser.position++
	        if (c === '\n') {
	          parser.line++
	          parser.column = 0
	        } else {
	          parser.column++
	        }
	      }
	      switch (parser.state) {
	        case S.BEGIN:
	          parser.state = S.BEGIN_WHITESPACE
	          if (c === '\uFEFF') {
	            continue
	          }
	          beginWhiteSpace(parser, c)
	          continue

	        case S.BEGIN_WHITESPACE:
	          beginWhiteSpace(parser, c)
	          continue

	        case S.TEXT:
	          if (parser.sawRoot && !parser.closedRoot) {
	            var starti = i - 1
	            while (c && c !== '<' && c !== '&') {
	              c = charAt(chunk, i++)
	              if (c && parser.trackPosition) {
	                parser.position++
	                if (c === '\n') {
	                  parser.line++
	                  parser.column = 0
	                } else {
	                  parser.column++
	                }
	              }
	            }
	            parser.textNode += chunk.substring(starti, i - 1)
	          }
	          if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {
	            parser.state = S.OPEN_WAKA
	            parser.startTagPosition = parser.position
	          } else {
	            if (not(whitespace, c) && (!parser.sawRoot || parser.closedRoot)) {
	              strictFail(parser, 'Text data outside of root node.')
	            }
	            if (c === '&') {
	              parser.state = S.TEXT_ENTITY
	            } else {
	              parser.textNode += c
	            }
	          }
	          continue

	        case S.SCRIPT:
	          // only non-strict
	          if (c === '<') {
	            parser.state = S.SCRIPT_ENDING
	          } else {
	            parser.script += c
	          }
	          continue

	        case S.SCRIPT_ENDING:
	          if (c === '/') {
	            parser.state = S.CLOSE_TAG
	          } else {
	            parser.script += '<' + c
	            parser.state = S.SCRIPT
	          }
	          continue

	        case S.OPEN_WAKA:
	          // either a /, ?, !, or text is coming next.
	          if (c === '!') {
	            parser.state = S.SGML_DECL
	            parser.sgmlDecl = ''
	          } else if (is(whitespace, c)) {
	            // wait for it...
	          } else if (is(nameStart, c)) {
	            parser.state = S.OPEN_TAG
	            parser.tagName = c
	          } else if (c === '/') {
	            parser.state = S.CLOSE_TAG
	            parser.tagName = ''
	          } else if (c === '?') {
	            parser.state = S.PROC_INST
	            parser.procInstName = parser.procInstBody = ''
	          } else {
	            strictFail(parser, 'Unencoded <')
	            // if there was some whitespace, then add that in.
	            if (parser.startTagPosition + 1 < parser.position) {
	              var pad = parser.position - parser.startTagPosition
	              c = new Array(pad).join(' ') + c
	            }
	            parser.textNode += '<' + c
	            parser.state = S.TEXT
	          }
	          continue

	        case S.SGML_DECL:
	          if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {
	            emitNode(parser, 'onopencdata')
	            parser.state = S.CDATA
	            parser.sgmlDecl = ''
	            parser.cdata = ''
	          } else if (parser.sgmlDecl + c === '--') {
	            parser.state = S.COMMENT
	            parser.comment = ''
	            parser.sgmlDecl = ''
	          } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {
	            parser.state = S.DOCTYPE
	            if (parser.doctype || parser.sawRoot) {
	              strictFail(parser,
	                'Inappropriately located doctype declaration')
	            }
	            parser.doctype = ''
	            parser.sgmlDecl = ''
	          } else if (c === '>') {
	            emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)
	            parser.sgmlDecl = ''
	            parser.state = S.TEXT
	          } else if (is(quote, c)) {
	            parser.state = S.SGML_DECL_QUOTED
	            parser.sgmlDecl += c
	          } else {
	            parser.sgmlDecl += c
	          }
	          continue

	        case S.SGML_DECL_QUOTED:
	          if (c === parser.q) {
	            parser.state = S.SGML_DECL
	            parser.q = ''
	          }
	          parser.sgmlDecl += c
	          continue

	        case S.DOCTYPE:
	          if (c === '>') {
	            parser.state = S.TEXT
	            emitNode(parser, 'ondoctype', parser.doctype)
	            parser.doctype = true // just remember that we saw it.
	          } else {
	            parser.doctype += c
	            if (c === '[') {
	              parser.state = S.DOCTYPE_DTD
	            } else if (is(quote, c)) {
	              parser.state = S.DOCTYPE_QUOTED
	              parser.q = c
	            }
	          }
	          continue

	        case S.DOCTYPE_QUOTED:
	          parser.doctype += c
	          if (c === parser.q) {
	            parser.q = ''
	            parser.state = S.DOCTYPE
	          }
	          continue

	        case S.DOCTYPE_DTD:
	          parser.doctype += c
	          if (c === ']') {
	            parser.state = S.DOCTYPE
	          } else if (is(quote, c)) {
	            parser.state = S.DOCTYPE_DTD_QUOTED
	            parser.q = c
	          }
	          continue

	        case S.DOCTYPE_DTD_QUOTED:
	          parser.doctype += c
	          if (c === parser.q) {
	            parser.state = S.DOCTYPE_DTD
	            parser.q = ''
	          }
	          continue

	        case S.COMMENT:
	          if (c === '-') {
	            parser.state = S.COMMENT_ENDING
	          } else {
	            parser.comment += c
	          }
	          continue

	        case S.COMMENT_ENDING:
	          if (c === '-') {
	            parser.state = S.COMMENT_ENDED
	            parser.comment = textopts(parser.opt, parser.comment)
	            if (parser.comment) {
	              emitNode(parser, 'oncomment', parser.comment)
	            }
	            parser.comment = ''
	          } else {
	            parser.comment += '-' + c
	            parser.state = S.COMMENT
	          }
	          continue

	        case S.COMMENT_ENDED:
	          if (c !== '>') {
	            strictFail(parser, 'Malformed comment')
	            // allow <!-- blah -- bloo --> in non-strict mode,
	            // which is a comment of " blah -- bloo "
	            parser.comment += '--' + c
	            parser.state = S.COMMENT
	          } else {
	            parser.state = S.TEXT
	          }
	          continue

	        case S.CDATA:
	          if (c === ']') {
	            parser.state = S.CDATA_ENDING
	          } else {
	            parser.cdata += c
	          }
	          continue

	        case S.CDATA_ENDING:
	          if (c === ']') {
	            parser.state = S.CDATA_ENDING_2
	          } else {
	            parser.cdata += ']' + c
	            parser.state = S.CDATA
	          }
	          continue

	        case S.CDATA_ENDING_2:
	          if (c === '>') {
	            if (parser.cdata) {
	              emitNode(parser, 'oncdata', parser.cdata)
	            }
	            emitNode(parser, 'onclosecdata')
	            parser.cdata = ''
	            parser.state = S.TEXT
	          } else if (c === ']') {
	            parser.cdata += ']'
	          } else {
	            parser.cdata += ']]' + c
	            parser.state = S.CDATA
	          }
	          continue

	        case S.PROC_INST:
	          if (c === '?') {
	            parser.state = S.PROC_INST_ENDING
	          } else if (is(whitespace, c)) {
	            parser.state = S.PROC_INST_BODY
	          } else {
	            parser.procInstName += c
	          }
	          continue

	        case S.PROC_INST_BODY:
	          if (!parser.procInstBody && is(whitespace, c)) {
	            continue
	          } else if (c === '?') {
	            parser.state = S.PROC_INST_ENDING
	          } else {
	            parser.procInstBody += c
	          }
	          continue

	        case S.PROC_INST_ENDING:
	          if (c === '>') {
	            emitNode(parser, 'onprocessinginstruction', {
	              name: parser.procInstName,
	              body: parser.procInstBody
	            })
	            parser.procInstName = parser.procInstBody = ''
	            parser.state = S.TEXT
	          } else {
	            parser.procInstBody += '?' + c
	            parser.state = S.PROC_INST_BODY
	          }
	          continue

	        case S.OPEN_TAG:
	          if (is(nameBody, c)) {
	            parser.tagName += c
	          } else {
	            newTag(parser)
	            if (c === '>') {
	              openTag(parser)
	            } else if (c === '/') {
	              parser.state = S.OPEN_TAG_SLASH
	            } else {
	              if (not(whitespace, c)) {
	                strictFail(parser, 'Invalid character in tag name')
	              }
	              parser.state = S.ATTRIB
	            }
	          }
	          continue

	        case S.OPEN_TAG_SLASH:
	          if (c === '>') {
	            openTag(parser, true)
	            closeTag(parser)
	          } else {
	            strictFail(parser, 'Forward-slash in opening tag not followed by >')
	            parser.state = S.ATTRIB
	          }
	          continue

	        case S.ATTRIB:
	          // haven't read the attribute name yet.
	          if (is(whitespace, c)) {
	            continue
	          } else if (c === '>') {
	            openTag(parser)
	          } else if (c === '/') {
	            parser.state = S.OPEN_TAG_SLASH
	          } else if (is(nameStart, c)) {
	            parser.attribName = c
	            parser.attribValue = ''
	            parser.state = S.ATTRIB_NAME
	          } else {
	            strictFail(parser, 'Invalid attribute name')
	          }
	          continue

	        case S.ATTRIB_NAME:
	          if (c === '=') {
	            parser.state = S.ATTRIB_VALUE
	          } else if (c === '>') {
	            strictFail(parser, 'Attribute without value')
	            parser.attribValue = parser.attribName
	            attrib(parser)
	            openTag(parser)
	          } else if (is(whitespace, c)) {
	            parser.state = S.ATTRIB_NAME_SAW_WHITE
	          } else if (is(nameBody, c)) {
	            parser.attribName += c
	          } else {
	            strictFail(parser, 'Invalid attribute name')
	          }
	          continue

	        case S.ATTRIB_NAME_SAW_WHITE:
	          if (c === '=') {
	            parser.state = S.ATTRIB_VALUE
	          } else if (is(whitespace, c)) {
	            continue
	          } else {
	            strictFail(parser, 'Attribute without value')
	            parser.tag.attributes[parser.attribName] = ''
	            parser.attribValue = ''
	            emitNode(parser, 'onattribute', {
	              name: parser.attribName,
	              value: ''
	            })
	            parser.attribName = ''
	            if (c === '>') {
	              openTag(parser)
	            } else if (is(nameStart, c)) {
	              parser.attribName = c
	              parser.state = S.ATTRIB_NAME
	            } else {
	              strictFail(parser, 'Invalid attribute name')
	              parser.state = S.ATTRIB
	            }
	          }
	          continue

	        case S.ATTRIB_VALUE:
	          if (is(whitespace, c)) {
	            continue
	          } else if (is(quote, c)) {
	            parser.q = c
	            parser.state = S.ATTRIB_VALUE_QUOTED
	          } else {
	            strictFail(parser, 'Unquoted attribute value')
	            parser.state = S.ATTRIB_VALUE_UNQUOTED
	            parser.attribValue = c
	          }
	          continue

	        case S.ATTRIB_VALUE_QUOTED:
	          if (c !== parser.q) {
	            if (c === '&') {
	              parser.state = S.ATTRIB_VALUE_ENTITY_Q
	            } else {
	              parser.attribValue += c
	            }
	            continue
	          }
	          attrib(parser)
	          parser.q = ''
	          parser.state = S.ATTRIB_VALUE_CLOSED
	          continue

	        case S.ATTRIB_VALUE_CLOSED:
	          if (is(whitespace, c)) {
	            parser.state = S.ATTRIB
	          } else if (c === '>') {
	            openTag(parser)
	          } else if (c === '/') {
	            parser.state = S.OPEN_TAG_SLASH
	          } else if (is(nameStart, c)) {
	            strictFail(parser, 'No whitespace between attributes')
	            parser.attribName = c
	            parser.attribValue = ''
	            parser.state = S.ATTRIB_NAME
	          } else {
	            strictFail(parser, 'Invalid attribute name')
	          }
	          continue

	        case S.ATTRIB_VALUE_UNQUOTED:
	          if (not(attribEnd, c)) {
	            if (c === '&') {
	              parser.state = S.ATTRIB_VALUE_ENTITY_U
	            } else {
	              parser.attribValue += c
	            }
	            continue
	          }
	          attrib(parser)
	          if (c === '>') {
	            openTag(parser)
	          } else {
	            parser.state = S.ATTRIB
	          }
	          continue

	        case S.CLOSE_TAG:
	          if (!parser.tagName) {
	            if (is(whitespace, c)) {
	              continue
	            } else if (not(nameStart, c)) {
	              if (parser.script) {
	                parser.script += '</' + c
	                parser.state = S.SCRIPT
	              } else {
	                strictFail(parser, 'Invalid tagname in closing tag.')
	              }
	            } else {
	              parser.tagName = c
	            }
	          } else if (c === '>') {
	            closeTag(parser)
	          } else if (is(nameBody, c)) {
	            parser.tagName += c
	          } else if (parser.script) {
	            parser.script += '</' + parser.tagName
	            parser.tagName = ''
	            parser.state = S.SCRIPT
	          } else {
	            if (not(whitespace, c)) {
	              strictFail(parser, 'Invalid tagname in closing tag')
	            }
	            parser.state = S.CLOSE_TAG_SAW_WHITE
	          }
	          continue

	        case S.CLOSE_TAG_SAW_WHITE:
	          if (is(whitespace, c)) {
	            continue
	          }
	          if (c === '>') {
	            closeTag(parser)
	          } else {
	            strictFail(parser, 'Invalid characters in closing tag')
	          }
	          continue

	        case S.TEXT_ENTITY:
	        case S.ATTRIB_VALUE_ENTITY_Q:
	        case S.ATTRIB_VALUE_ENTITY_U:
	          var returnState
	          var buffer
	          switch (parser.state) {
	            case S.TEXT_ENTITY:
	              returnState = S.TEXT
	              buffer = 'textNode'
	              break

	            case S.ATTRIB_VALUE_ENTITY_Q:
	              returnState = S.ATTRIB_VALUE_QUOTED
	              buffer = 'attribValue'
	              break

	            case S.ATTRIB_VALUE_ENTITY_U:
	              returnState = S.ATTRIB_VALUE_UNQUOTED
	              buffer = 'attribValue'
	              break
	          }

	          if (c === ';') {
	            parser[buffer] += parseEntity(parser)
	            parser.entity = ''
	            parser.state = returnState
	          } else if (is(parser.entity.length ? entityBody : entityStart, c)) {
	            parser.entity += c
	          } else {
	            strictFail(parser, 'Invalid character in entity name')
	            parser[buffer] += '&' + parser.entity + c
	            parser.entity = ''
	            parser.state = returnState
	          }

	          continue

	        default:
	          throw new Error(parser, 'Unknown state: ' + parser.state)
	      }
	    } // while

	    if (parser.position >= parser.bufferCheckPosition) {
	      checkBufferLength(parser)
	    }
	    return parser
	  }

	  /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */
	  if (!String.fromCodePoint) {
	    (function () {
	      var stringFromCharCode = String.fromCharCode
	      var floor = Math.floor
	      var fromCodePoint = function () {
	        var MAX_SIZE = 0x4000
	        var codeUnits = []
	        var highSurrogate
	        var lowSurrogate
	        var index = -1
	        var length = arguments.length
	        if (!length) {
	          return ''
	        }
	        var result = ''
	        while (++index < length) {
	          var codePoint = Number(arguments[index])
	          if (
	            !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`
	            codePoint < 0 || // not a valid Unicode code point
	            codePoint > 0x10FFFF || // not a valid Unicode code point
	            floor(codePoint) !== codePoint // not an integer
	          ) {
	            throw RangeError('Invalid code point: ' + codePoint)
	          }
	          if (codePoint <= 0xFFFF) { // BMP code point
	            codeUnits.push(codePoint)
	          } else { // Astral code point; split in surrogate halves
	            // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
	            codePoint -= 0x10000
	            highSurrogate = (codePoint >> 10) + 0xD800
	            lowSurrogate = (codePoint % 0x400) + 0xDC00
	            codeUnits.push(highSurrogate, lowSurrogate)
	          }
	          if (index + 1 === length || codeUnits.length > MAX_SIZE) {
	            result += stringFromCharCode.apply(null, codeUnits)
	            codeUnits.length = 0
	          }
	        }
	        return result
	      }
	      if (Object.defineProperty) {
	        Object.defineProperty(String, 'fromCodePoint', {
	          value: fromCodePoint,
	          configurable: true,
	          writable: true
	        })
	      } else {
	        String.fromCodePoint = fromCodePoint
	      }
	    }())
	  }
	})( false ? this.sax = {} : exports)

	/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(203).Buffer))

/***/ }),
/* 294 */
/***/ (function(module, exports, __webpack_require__) {

	// Copyright Joyent, Inc. and other Node contributors.
	//
	// Permission is hereby granted, free of charge, to any person obtaining a
	// copy of this software and associated documentation files (the
	// "Software"), to deal in the Software without restriction, including
	// without limitation the rights to use, copy, modify, merge, publish,
	// distribute, sublicense, and/or sell copies of the Software, and to permit
	// persons to whom the Software is furnished to do so, subject to the
	// following conditions:
	//
	// The above copyright notice and this permission notice shall be included
	// in all copies or substantial portions of the Software.
	//
	// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
	// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
	// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
	// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
	// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
	// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
	// USE OR OTHER DEALINGS IN THE SOFTWARE.

	var Buffer = __webpack_require__(203).Buffer;

	var isBufferEncoding = Buffer.isEncoding
	  || function(encoding) {
	       switch (encoding && encoding.toLowerCase()) {
	         case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;
	         default: return false;
	       }
	     }


	function assertEncoding(encoding) {
	  if (encoding && !isBufferEncoding(encoding)) {
	    throw new Error('Unknown encoding: ' + encoding);
	  }
	}

	// StringDecoder provides an interface for efficiently splitting a series of
	// buffers into a series of JS strings without breaking apart multi-byte
	// characters. CESU-8 is handled as part of the UTF-8 encoding.
	//
	// @TODO Handling all encodings inside a single object makes it very difficult
	// to reason about this code, so it should be split up in the future.
	// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
	// points as used by CESU-8.
	var StringDecoder = exports.StringDecoder = function(encoding) {
	  this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
	  assertEncoding(encoding);
	  switch (this.encoding) {
	    case 'utf8':
	      // CESU-8 represents each of Surrogate Pair by 3-bytes
	      this.surrogateSize = 3;
	      break;
	    case 'ucs2':
	    case 'utf16le':
	      // UTF-16 represents each of Surrogate Pair by 2-bytes
	      this.surrogateSize = 2;
	      this.detectIncompleteChar = utf16DetectIncompleteChar;
	      break;
	    case 'base64':
	      // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
	      this.surrogateSize = 3;
	      this.detectIncompleteChar = base64DetectIncompleteChar;
	      break;
	    default:
	      this.write = passThroughWrite;
	      return;
	  }

	  // Enough space to store all bytes of a single character. UTF-8 needs 4
	  // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
	  this.charBuffer = new Buffer(6);
	  // Number of bytes received for the current incomplete multi-byte character.
	  this.charReceived = 0;
	  // Number of bytes expected for the current incomplete multi-byte character.
	  this.charLength = 0;
	};


	// write decodes the given buffer and returns it as JS string that is
	// guaranteed to not contain any partial multi-byte characters. Any partial
	// character found at the end of the buffer is buffered up, and will be
	// returned when calling write again with the remaining bytes.
	//
	// Note: Converting a Buffer containing an orphan surrogate to a String
	// currently works, but converting a String to a Buffer (via `new Buffer`, or
	// Buffer#write) will replace incomplete surrogates with the unicode
	// replacement character. See https://codereview.chromium.org/121173009/ .
	StringDecoder.prototype.write = function(buffer) {
	  var charStr = '';
	  // if our last write ended with an incomplete multibyte character
	  while (this.charLength) {
	    // determine how many remaining bytes this buffer has to offer for this char
	    var available = (buffer.length >= this.charLength - this.charReceived) ?
	        this.charLength - this.charReceived :
	        buffer.length;

	    // add the new bytes to the char buffer
	    buffer.copy(this.charBuffer, this.charReceived, 0, available);
	    this.charReceived += available;

	    if (this.charReceived < this.charLength) {
	      // still not enough chars in this buffer? wait for more ...
	      return '';
	    }

	    // remove bytes belonging to the current character from the buffer
	    buffer = buffer.slice(available, buffer.length);

	    // get the character that was split
	    charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);

	    // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
	    var charCode = charStr.charCodeAt(charStr.length - 1);
	    if (charCode >= 0xD800 && charCode <= 0xDBFF) {
	      this.charLength += this.surrogateSize;
	      charStr = '';
	      continue;
	    }
	    this.charReceived = this.charLength = 0;

	    // if there are no more bytes in this buffer, just emit our char
	    if (buffer.length === 0) {
	      return charStr;
	    }
	    break;
	  }

	  // determine and set charLength / charReceived
	  this.detectIncompleteChar(buffer);

	  var end = buffer.length;
	  if (this.charLength) {
	    // buffer the incomplete character bytes we got
	    buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
	    end -= this.charReceived;
	  }

	  charStr += buffer.toString(this.encoding, 0, end);

	  var end = charStr.length - 1;
	  var charCode = charStr.charCodeAt(end);
	  // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
	  if (charCode >= 0xD800 && charCode <= 0xDBFF) {
	    var size = this.surrogateSize;
	    this.charLength += size;
	    this.charReceived += size;
	    this.charBuffer.copy(this.charBuffer, size, 0, size);
	    buffer.copy(this.charBuffer, 0, 0, size);
	    return charStr.substring(0, end);
	  }

	  // or just emit the charStr
	  return charStr;
	};

	// detectIncompleteChar determines if there is an incomplete UTF-8 character at
	// the end of the given buffer. If so, it sets this.charLength to the byte
	// length that character, and sets this.charReceived to the number of bytes
	// that are available for this character.
	StringDecoder.prototype.detectIncompleteChar = function(buffer) {
	  // determine how many bytes we have to check at the end of this buffer
	  var i = (buffer.length >= 3) ? 3 : buffer.length;

	  // Figure out if one of the last i bytes of our buffer announces an
	  // incomplete char.
	  for (; i > 0; i--) {
	    var c = buffer[buffer.length - i];

	    // See http://en.wikipedia.org/wiki/UTF-8#Description

	    // 110XXXXX
	    if (i == 1 && c >> 5 == 0x06) {
	      this.charLength = 2;
	      break;
	    }

	    // 1110XXXX
	    if (i <= 2 && c >> 4 == 0x0E) {
	      this.charLength = 3;
	      break;
	    }

	    // 11110XXX
	    if (i <= 3 && c >> 3 == 0x1E) {
	      this.charLength = 4;
	      break;
	    }
	  }
	  this.charReceived = i;
	};

	StringDecoder.prototype.end = function(buffer) {
	  var res = '';
	  if (buffer && buffer.length)
	    res = this.write(buffer);

	  if (this.charReceived) {
	    var cr = this.charReceived;
	    var buf = this.charBuffer;
	    var enc = this.encoding;
	    res += buf.slice(0, cr).toString(enc);
	  }

	  return res;
	};

	function passThroughWrite(buffer) {
	  return buffer.toString(this.encoding);
	}

	function utf16DetectIncompleteChar(buffer) {
	  this.charReceived = buffer.length % 2;
	  this.charLength = this.charReceived ? 2 : 0;
	}

	function base64DetectIncompleteChar(buffer) {
	  this.charReceived = buffer.length % 3;
	  this.charLength = this.charReceived ? 3 : 0;
	}


/***/ }),
/* 295 */
/***/ (function(module, exports) {

	// Generated by CoffeeScript 1.10.0
	(function() {
	  "use strict";
	  exports.stripBOM = function(str) {
	    if (str[0] === '\uFEFF') {
	      return str.substring(1);
	    } else {
	      return str;
	    }
	  };

	}).call(this);


/***/ }),
/* 296 */
/***/ (function(module, exports) {

	// Generated by CoffeeScript 1.10.0
	(function() {
	  "use strict";
	  var prefixMatch;

	  prefixMatch = new RegExp(/(?!xmlns)^.*:/);

	  exports.normalize = function(str) {
	    return str.toLowerCase();
	  };

	  exports.firstCharLowerCase = function(str) {
	    return str.charAt(0).toLowerCase() + str.slice(1);
	  };

	  exports.stripPrefix = function(str) {
	    return str.replace(prefixMatch, '');
	  };

	  exports.parseNumbers = function(str) {
	    if (!isNaN(str)) {
	      str = str % 1 === 0 ? parseInt(str, 10) : parseFloat(str);
	    }
	    return str;
	  };

	  exports.parseBooleans = function(str) {
	    if (/^(?:true|false)$/i.test(str)) {
	      str = str.toLowerCase() === 'true';
	    }
	    return str;
	  };

	}).call(this);


/***/ }),
/* 297 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var EventEmitter = __webpack_require__(246).EventEmitter;
	__webpack_require__(198);

	/**
	 * @api private
	 */
	AWS.XHRClient = AWS.util.inherit({
	  handleRequest: function handleRequest(httpRequest, httpOptions, callback, errCallback) {
	    var self = this;
	    var endpoint = httpRequest.endpoint;
	    var emitter = new EventEmitter();
	    var href = endpoint.protocol + '//' + endpoint.hostname;
	    if (endpoint.port !== 80 && endpoint.port !== 443) {
	      href += ':' + endpoint.port;
	    }
	    href += httpRequest.path;

	    var xhr = new XMLHttpRequest(), headersEmitted = false;
	    httpRequest.stream = xhr;

	    xhr.addEventListener('readystatechange', function() {
	      try {
	        if (xhr.status === 0) return; // 0 code is invalid
	      } catch (e) { return; }

	      if (this.readyState >= this.HEADERS_RECEIVED && !headersEmitted) {
	        emitter.statusCode = xhr.status;
	        emitter.headers = self.parseHeaders(xhr.getAllResponseHeaders());
	        emitter.emit(
	          'headers',
	          emitter.statusCode,
	          emitter.headers,
	          xhr.statusText
	        );
	        headersEmitted = true;
	      }
	      if (this.readyState === this.DONE) {
	        self.finishRequest(xhr, emitter);
	      }
	    }, false);
	    xhr.upload.addEventListener('progress', function (evt) {
	      emitter.emit('sendProgress', evt);
	    });
	    xhr.addEventListener('progress', function (evt) {
	      emitter.emit('receiveProgress', evt);
	    }, false);
	    xhr.addEventListener('timeout', function () {
	      errCallback(AWS.util.error(new Error('Timeout'), {code: 'TimeoutError'}));
	    }, false);
	    xhr.addEventListener('error', function () {
	      errCallback(AWS.util.error(new Error('Network Failure'), {
	        code: 'NetworkingError'
	      }));
	    }, false);
	    xhr.addEventListener('abort', function () {
	      errCallback(AWS.util.error(new Error('Request aborted'), {
	        code: 'RequestAbortedError'
	      }));
	    }, false);

	    callback(emitter);
	    xhr.open(httpRequest.method, href, httpOptions.xhrAsync !== false);
	    AWS.util.each(httpRequest.headers, function (key, value) {
	      if (key !== 'Content-Length' && key !== 'User-Agent' && key !== 'Host') {
	        xhr.setRequestHeader(key, value);
	      }
	    });

	    if (httpOptions.timeout && httpOptions.xhrAsync !== false) {
	      xhr.timeout = httpOptions.timeout;
	    }

	    if (httpOptions.xhrWithCredentials) {
	      xhr.withCredentials = true;
	    }
	    try { xhr.responseType = 'arraybuffer'; } catch (e) {}

	    try {
	      if (httpRequest.body) {
	        xhr.send(httpRequest.body);
	      } else {
	        xhr.send();
	      }
	    } catch (err) {
	      if (httpRequest.body && typeof httpRequest.body.buffer === 'object') {
	        xhr.send(httpRequest.body.buffer); // send ArrayBuffer directly
	      } else {
	        throw err;
	      }
	    }

	    return emitter;
	  },

	  parseHeaders: function parseHeaders(rawHeaders) {
	    var headers = {};
	    AWS.util.arrayEach(rawHeaders.split(/\r?\n/), function (line) {
	      var key = line.split(':', 1)[0];
	      var value = line.substring(key.length + 2);
	      if (key.length > 0) headers[key.toLowerCase()] = value;
	    });
	    return headers;
	  },

	  finishRequest: function finishRequest(xhr, emitter) {
	    var buffer;
	    if (xhr.responseType === 'arraybuffer' && xhr.response) {
	      var ab = xhr.response;
	      buffer = new AWS.util.Buffer(ab.byteLength);
	      var view = new Uint8Array(ab);
	      for (var i = 0; i < buffer.length; ++i) {
	        buffer[i] = view[i];
	      }
	    }

	    try {
	      if (!buffer && typeof xhr.responseText === 'string') {
	        buffer = new AWS.util.Buffer(xhr.responseText);
	      }
	    } catch (e) {}

	    if (buffer) emitter.emit('data', buffer);
	    emitter.emit('end');
	  }
	});

	/**
	 * @api private
	 */
	AWS.HttpClient.prototype = AWS.XHRClient.prototype;

	/**
	 * @api private
	 */
	AWS.HttpClient.streamsApiVersion = 1;


/***/ }),
/* 298 */
/***/ (function(module, exports) {

	function addContentType(req) {
	  var httpRequest = req.httpRequest || {};
	  var headers = httpRequest.headers;
	  // We don't want to force a content type on presigned urls
	  if (headers && !req.isPresigned()) {
	    if (httpRequest.body && !headers['Content-Type']) {
	      // React Native's android XHR requires Content-Type to be defined if there is a body
	      headers['Content-Type'] = '';
	    }
	  }
	}

	module.exports = {
	    addContentType: addContentType
	};

/***/ }),
/* 299 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);

	module.exports = {
	  ACM: __webpack_require__(300),
	  APIGateway: __webpack_require__(303),
	  ApplicationAutoScaling: __webpack_require__(307),
	  AppStream: __webpack_require__(310),
	  AutoScaling: __webpack_require__(314),
	  Batch: __webpack_require__(317),
	  Budgets: __webpack_require__(320),
	  CloudDirectory: __webpack_require__(323),
	  CloudFormation: __webpack_require__(326),
	  CloudFront: __webpack_require__(330),
	  CloudHSM: __webpack_require__(339),
	  CloudSearch: __webpack_require__(341),
	  CloudSearchDomain: __webpack_require__(346),
	  CloudTrail: __webpack_require__(349),
	  CloudWatch: __webpack_require__(352),
	  CloudWatchEvents: __webpack_require__(356),
	  CloudWatchLogs: __webpack_require__(359),
	  CodeBuild: __webpack_require__(362),
	  CodeCommit: __webpack_require__(365),
	  CodeDeploy: __webpack_require__(368),
	  CodePipeline: __webpack_require__(372),
	  CognitoIdentity: __webpack_require__(193),
	  CognitoIdentityServiceProvider: __webpack_require__(375),
	  CognitoSync: __webpack_require__(378),
	  ConfigService: __webpack_require__(380),
	  CUR: __webpack_require__(383),
	  DataPipeline: __webpack_require__(386),
	  DeviceFarm: __webpack_require__(389),
	  DirectConnect: __webpack_require__(392),
	  DirectoryService: __webpack_require__(395),
	  Discovery: __webpack_require__(398),
	  DMS: __webpack_require__(401),
	  DynamoDB: __webpack_require__(404),
	  DynamoDBStreams: __webpack_require__(417),
	  EC2: __webpack_require__(420),
	  ECR: __webpack_require__(425),
	  ECS: __webpack_require__(428),
	  EFS: __webpack_require__(432),
	  ElastiCache: __webpack_require__(434),
	  ElasticBeanstalk: __webpack_require__(438),
	  ELB: __webpack_require__(441),
	  ELBv2: __webpack_require__(445),
	  EMR: __webpack_require__(449),
	  ES: __webpack_require__(453),
	  ElasticTranscoder: __webpack_require__(456),
	  Firehose: __webpack_require__(460),
	  GameLift: __webpack_require__(462),
	  Glacier: __webpack_require__(465),
	  Health: __webpack_require__(470),
	  IAM: __webpack_require__(473),
	  ImportExport: __webpack_require__(477),
	  Inspector: __webpack_require__(480),
	  Iot: __webpack_require__(483),
	  IotData: __webpack_require__(486),
	  Kinesis: __webpack_require__(489),
	  KinesisAnalytics: __webpack_require__(493),
	  KMS: __webpack_require__(496),
	  Lambda: __webpack_require__(499),
	  LexRuntime: __webpack_require__(505),
	  Lightsail: __webpack_require__(508),
	  MachineLearning: __webpack_require__(511),
	  MarketplaceCommerceAnalytics: __webpack_require__(516),
	  MarketplaceMetering: __webpack_require__(519),
	  MTurk: __webpack_require__(521),
	  MobileAnalytics: __webpack_require__(524),
	  OpsWorks: __webpack_require__(526),
	  OpsWorksCM: __webpack_require__(530),
	  Organizations: __webpack_require__(533),
	  Pinpoint: __webpack_require__(536),
	  Polly: __webpack_require__(538),
	  RDS: __webpack_require__(543),
	  Redshift: __webpack_require__(558),
	  Rekognition: __webpack_require__(562),
	  ResourceGroupsTaggingAPI: __webpack_require__(565),
	  Route53: __webpack_require__(568),
	  Route53Domains: __webpack_require__(573),
	  S3: __webpack_require__(576),
	  ServiceCatalog: __webpack_require__(582),
	  SES: __webpack_require__(585),
	  Shield: __webpack_require__(589),
	  SimpleDB: __webpack_require__(591),
	  SMS: __webpack_require__(594),
	  Snowball: __webpack_require__(597),
	  SNS: __webpack_require__(600),
	  SQS: __webpack_require__(603),
	  SSM: __webpack_require__(607),
	  StorageGateway: __webpack_require__(610),
	  StepFunctions: __webpack_require__(613),
	  STS: __webpack_require__(186),
	  Support: __webpack_require__(616),
	  SWF: __webpack_require__(619),
	  XRay: __webpack_require__(623),
	  WAF: __webpack_require__(626),
	  WAFRegional: __webpack_require__(629),
	  WorkDocs: __webpack_require__(632),
	  WorkSpaces: __webpack_require__(635),
	  CodeStar: __webpack_require__(638),
	  LexModelBuildingService: __webpack_require__(641),
	  MarketplaceEntitlementService: __webpack_require__(644),
	  Athena: __webpack_require__(647),
	  Greengrass: __webpack_require__(650),
	  DAX: __webpack_require__(652)
	};

/***/ }),
/* 300 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['acm'] = {};
	AWS.ACM = Service.defineService('acm', ['2015-12-08']);
	Object.defineProperty(apiLoader.services['acm'], '2015-12-08', {
	  get: function get() {
	    var model = __webpack_require__(301);
	    model.paginators = __webpack_require__(302).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ACM;


/***/ }),
/* 301 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-12-08",
			"endpointPrefix": "acm",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "ACM",
			"serviceFullName": "AWS Certificate Manager",
			"signatureVersion": "v4",
			"targetPrefix": "CertificateManager",
			"uid": "acm-2015-12-08"
		},
		"operations": {
			"AddTagsToCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateArn",
						"Tags"
					],
					"members": {
						"CertificateArn": {},
						"Tags": {
							"shape": "S3"
						}
					}
				}
			},
			"DeleteCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateArn"
					],
					"members": {
						"CertificateArn": {}
					}
				}
			},
			"DescribeCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateArn"
					],
					"members": {
						"CertificateArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Certificate": {
							"type": "structure",
							"members": {
								"CertificateArn": {},
								"DomainName": {},
								"SubjectAlternativeNames": {
									"shape": "Sc"
								},
								"DomainValidationOptions": {
									"shape": "Sd"
								},
								"Serial": {},
								"Subject": {},
								"Issuer": {},
								"CreatedAt": {
									"type": "timestamp"
								},
								"IssuedAt": {
									"type": "timestamp"
								},
								"ImportedAt": {
									"type": "timestamp"
								},
								"Status": {},
								"RevokedAt": {
									"type": "timestamp"
								},
								"RevocationReason": {},
								"NotBefore": {
									"type": "timestamp"
								},
								"NotAfter": {
									"type": "timestamp"
								},
								"KeyAlgorithm": {},
								"SignatureAlgorithm": {},
								"InUseBy": {
									"type": "list",
									"member": {}
								},
								"FailureReason": {},
								"Type": {},
								"RenewalSummary": {
									"type": "structure",
									"required": [
										"RenewalStatus",
										"DomainValidationOptions"
									],
									"members": {
										"RenewalStatus": {},
										"DomainValidationOptions": {
											"shape": "Sd"
										}
									}
								}
							}
						}
					}
				}
			},
			"GetCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateArn"
					],
					"members": {
						"CertificateArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Certificate": {},
						"CertificateChain": {}
					}
				}
			},
			"ImportCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"Certificate",
						"PrivateKey"
					],
					"members": {
						"CertificateArn": {},
						"Certificate": {
							"type": "blob"
						},
						"PrivateKey": {
							"type": "blob",
							"sensitive": true
						},
						"CertificateChain": {
							"type": "blob"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CertificateArn": {}
					}
				}
			},
			"ListCertificates": {
				"input": {
					"type": "structure",
					"members": {
						"CertificateStatuses": {
							"type": "list",
							"member": {}
						},
						"NextToken": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"CertificateSummaryList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"CertificateArn": {},
									"DomainName": {}
								}
							}
						}
					}
				}
			},
			"ListTagsForCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateArn"
					],
					"members": {
						"CertificateArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "S3"
						}
					}
				}
			},
			"RemoveTagsFromCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateArn",
						"Tags"
					],
					"members": {
						"CertificateArn": {},
						"Tags": {
							"shape": "S3"
						}
					}
				}
			},
			"RequestCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"SubjectAlternativeNames": {
							"shape": "Sc"
						},
						"IdempotencyToken": {},
						"DomainValidationOptions": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"DomainName",
									"ValidationDomain"
								],
								"members": {
									"DomainName": {},
									"ValidationDomain": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CertificateArn": {}
					}
				}
			},
			"ResendValidationEmail": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateArn",
						"Domain",
						"ValidationDomain"
					],
					"members": {
						"CertificateArn": {},
						"Domain": {},
						"ValidationDomain": {}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sc": {
				"type": "list",
				"member": {}
			},
			"Sd": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"ValidationEmails": {
							"type": "list",
							"member": {}
						},
						"ValidationDomain": {},
						"ValidationStatus": {}
					}
				}
			}
		}
	};

/***/ }),
/* 302 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListCertificates": {
				"input_token": "NextToken",
				"limit_key": "MaxItems",
				"output_token": "NextToken",
				"result_key": "CertificateSummaryList"
			}
		}
	};

/***/ }),
/* 303 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['apigateway'] = {};
	AWS.APIGateway = Service.defineService('apigateway', ['2015-07-09']);
	__webpack_require__(304);
	Object.defineProperty(apiLoader.services['apigateway'], '2015-07-09', {
	  get: function get() {
	    var model = __webpack_require__(305);
	    model.paginators = __webpack_require__(306).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.APIGateway;


/***/ }),
/* 304 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	AWS.util.update(AWS.APIGateway.prototype, {
	/**
	 * Sets the Accept header to application/json.
	 *
	 * @api private
	 */
	  setAcceptHeader: function setAcceptHeader(req) {
	    var httpRequest = req.httpRequest;
	    if (!httpRequest.headers.Accept) {
	      httpRequest.headers['Accept'] = 'application/json';
	    }
	  },

	  /**
	   * @api private
	   */
	  setupRequestListeners: function setupRequestListeners(request) {
	    request.addListener('build', this.setAcceptHeader);
	    if (request.operation === 'getExport') {
	      var params = request.params || {};
	      if (params.exportType === 'swagger') {
	        request.addListener('extractData', AWS.util.convertPayloadToString);
	      }
	    }
	  }
	});



/***/ }),
/* 305 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-07-09",
			"endpointPrefix": "apigateway",
			"protocol": "rest-json",
			"serviceFullName": "Amazon API Gateway",
			"signatureVersion": "v4",
			"uid": "apigateway-2015-07-09"
		},
		"operations": {
			"CreateApiKey": {
				"http": {
					"requestUri": "/apikeys",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"enabled": {
							"type": "boolean"
						},
						"generateDistinctId": {
							"type": "boolean"
						},
						"value": {},
						"stageKeys": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"restApiId": {},
									"stageName": {}
								}
							}
						},
						"customerId": {}
					}
				},
				"output": {
					"shape": "S6"
				}
			},
			"CreateAuthorizer": {
				"http": {
					"requestUri": "/restapis/{restapi_id}/authorizers",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"name",
						"type",
						"identitySource"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"name": {},
						"type": {},
						"providerARNs": {
							"shape": "Sb"
						},
						"authType": {},
						"authorizerUri": {},
						"authorizerCredentials": {},
						"identitySource": {},
						"identityValidationExpression": {},
						"authorizerResultTtlInSeconds": {
							"type": "integer"
						}
					}
				},
				"output": {
					"shape": "Se"
				}
			},
			"CreateBasePathMapping": {
				"http": {
					"requestUri": "/domainnames/{domain_name}/basepathmappings",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"domainName",
						"restApiId"
					],
					"members": {
						"domainName": {
							"location": "uri",
							"locationName": "domain_name"
						},
						"basePath": {},
						"restApiId": {},
						"stage": {}
					}
				},
				"output": {
					"shape": "Sg"
				}
			},
			"CreateDeployment": {
				"http": {
					"requestUri": "/restapis/{restapi_id}/deployments",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"stageName": {},
						"stageDescription": {},
						"description": {},
						"cacheClusterEnabled": {
							"type": "boolean"
						},
						"cacheClusterSize": {},
						"variables": {
							"shape": "Sk"
						}
					}
				},
				"output": {
					"shape": "Sl"
				}
			},
			"CreateDocumentationPart": {
				"http": {
					"requestUri": "/restapis/{restapi_id}/documentation/parts",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"location",
						"properties"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"location": {
							"shape": "Sq"
						},
						"properties": {}
					}
				},
				"output": {
					"shape": "St"
				}
			},
			"CreateDocumentationVersion": {
				"http": {
					"requestUri": "/restapis/{restapi_id}/documentation/versions",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"documentationVersion"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"documentationVersion": {},
						"stageName": {},
						"description": {}
					}
				},
				"output": {
					"shape": "Sv"
				}
			},
			"CreateDomainName": {
				"http": {
					"requestUri": "/domainnames",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"domainName"
					],
					"members": {
						"domainName": {},
						"certificateName": {},
						"certificateBody": {},
						"certificatePrivateKey": {},
						"certificateChain": {},
						"certificateArn": {}
					}
				},
				"output": {
					"shape": "Sx"
				}
			},
			"CreateModel": {
				"http": {
					"requestUri": "/restapis/{restapi_id}/models",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"name",
						"contentType"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"name": {},
						"description": {},
						"schema": {},
						"contentType": {}
					}
				},
				"output": {
					"shape": "Sz"
				}
			},
			"CreateRequestValidator": {
				"http": {
					"requestUri": "/restapis/{restapi_id}/requestvalidators",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"name": {},
						"validateRequestBody": {
							"type": "boolean"
						},
						"validateRequestParameters": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"shape": "S11"
				}
			},
			"CreateResource": {
				"http": {
					"requestUri": "/restapis/{restapi_id}/resources/{parent_id}",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"parentId",
						"pathPart"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"parentId": {
							"location": "uri",
							"locationName": "parent_id"
						},
						"pathPart": {}
					}
				},
				"output": {
					"shape": "S13"
				}
			},
			"CreateRestApi": {
				"http": {
					"requestUri": "/restapis",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {},
						"description": {},
						"version": {},
						"cloneFrom": {},
						"binaryMediaTypes": {
							"shape": "S8"
						}
					}
				},
				"output": {
					"shape": "S1g"
				}
			},
			"CreateStage": {
				"http": {
					"requestUri": "/restapis/{restapi_id}/stages",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"stageName",
						"deploymentId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"stageName": {},
						"deploymentId": {},
						"description": {},
						"cacheClusterEnabled": {
							"type": "boolean"
						},
						"cacheClusterSize": {},
						"variables": {
							"shape": "Sk"
						},
						"documentationVersion": {}
					}
				},
				"output": {
					"shape": "S1i"
				}
			},
			"CreateUsagePlan": {
				"http": {
					"requestUri": "/usageplans",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {},
						"description": {},
						"apiStages": {
							"shape": "S1q"
						},
						"throttle": {
							"shape": "S1s"
						},
						"quota": {
							"shape": "S1t"
						}
					}
				},
				"output": {
					"shape": "S1v"
				}
			},
			"CreateUsagePlanKey": {
				"http": {
					"requestUri": "/usageplans/{usageplanId}/keys",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"usagePlanId",
						"keyId",
						"keyType"
					],
					"members": {
						"usagePlanId": {
							"location": "uri",
							"locationName": "usageplanId"
						},
						"keyId": {},
						"keyType": {}
					}
				},
				"output": {
					"shape": "S1x"
				}
			},
			"DeleteApiKey": {
				"http": {
					"method": "DELETE",
					"requestUri": "/apikeys/{api_Key}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"apiKey"
					],
					"members": {
						"apiKey": {
							"location": "uri",
							"locationName": "api_Key"
						}
					}
				}
			},
			"DeleteAuthorizer": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"authorizerId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"authorizerId": {
							"location": "uri",
							"locationName": "authorizer_id"
						}
					}
				}
			},
			"DeleteBasePathMapping": {
				"http": {
					"method": "DELETE",
					"requestUri": "/domainnames/{domain_name}/basepathmappings/{base_path}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"domainName",
						"basePath"
					],
					"members": {
						"domainName": {
							"location": "uri",
							"locationName": "domain_name"
						},
						"basePath": {
							"location": "uri",
							"locationName": "base_path"
						}
					}
				}
			},
			"DeleteClientCertificate": {
				"http": {
					"method": "DELETE",
					"requestUri": "/clientcertificates/{clientcertificate_id}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"clientCertificateId"
					],
					"members": {
						"clientCertificateId": {
							"location": "uri",
							"locationName": "clientcertificate_id"
						}
					}
				}
			},
			"DeleteDeployment": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/deployments/{deployment_id}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"deploymentId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"deploymentId": {
							"location": "uri",
							"locationName": "deployment_id"
						}
					}
				}
			},
			"DeleteDocumentationPart": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/documentation/parts/{part_id}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"documentationPartId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"documentationPartId": {
							"location": "uri",
							"locationName": "part_id"
						}
					}
				}
			},
			"DeleteDocumentationVersion": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/documentation/versions/{doc_version}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"documentationVersion"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"documentationVersion": {
							"location": "uri",
							"locationName": "doc_version"
						}
					}
				}
			},
			"DeleteDomainName": {
				"http": {
					"method": "DELETE",
					"requestUri": "/domainnames/{domain_name}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"domainName"
					],
					"members": {
						"domainName": {
							"location": "uri",
							"locationName": "domain_name"
						}
					}
				}
			},
			"DeleteIntegration": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						}
					}
				}
			},
			"DeleteIntegrationResponse": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod",
						"statusCode"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"statusCode": {
							"location": "uri",
							"locationName": "status_code"
						}
					}
				}
			},
			"DeleteMethod": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						}
					}
				}
			},
			"DeleteMethodResponse": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod",
						"statusCode"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"statusCode": {
							"location": "uri",
							"locationName": "status_code"
						}
					}
				}
			},
			"DeleteModel": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/models/{model_name}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"modelName"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"modelName": {
							"location": "uri",
							"locationName": "model_name"
						}
					}
				}
			},
			"DeleteRequestValidator": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"requestValidatorId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"requestValidatorId": {
							"location": "uri",
							"locationName": "requestvalidator_id"
						}
					}
				}
			},
			"DeleteResource": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						}
					}
				}
			},
			"DeleteRestApi": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						}
					}
				}
			},
			"DeleteStage": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/stages/{stage_name}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"stageName"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"stageName": {
							"location": "uri",
							"locationName": "stage_name"
						}
					}
				}
			},
			"DeleteUsagePlan": {
				"http": {
					"method": "DELETE",
					"requestUri": "/usageplans/{usageplanId}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"usagePlanId"
					],
					"members": {
						"usagePlanId": {
							"location": "uri",
							"locationName": "usageplanId"
						}
					}
				}
			},
			"DeleteUsagePlanKey": {
				"http": {
					"method": "DELETE",
					"requestUri": "/usageplans/{usageplanId}/keys/{keyId}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"usagePlanId",
						"keyId"
					],
					"members": {
						"usagePlanId": {
							"location": "uri",
							"locationName": "usageplanId"
						},
						"keyId": {
							"location": "uri",
							"locationName": "keyId"
						}
					}
				}
			},
			"FlushStageAuthorizersCache": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/stages/{stage_name}/cache/authorizers",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"stageName"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"stageName": {
							"location": "uri",
							"locationName": "stage_name"
						}
					}
				}
			},
			"FlushStageCache": {
				"http": {
					"method": "DELETE",
					"requestUri": "/restapis/{restapi_id}/stages/{stage_name}/cache/data",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"stageName"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"stageName": {
							"location": "uri",
							"locationName": "stage_name"
						}
					}
				}
			},
			"GenerateClientCertificate": {
				"http": {
					"requestUri": "/clientcertificates",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"members": {
						"description": {}
					}
				},
				"output": {
					"shape": "S2k"
				}
			},
			"GetAccount": {
				"http": {
					"method": "GET",
					"requestUri": "/account"
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"shape": "S2m"
				}
			},
			"GetApiKey": {
				"http": {
					"method": "GET",
					"requestUri": "/apikeys/{api_Key}"
				},
				"input": {
					"type": "structure",
					"required": [
						"apiKey"
					],
					"members": {
						"apiKey": {
							"location": "uri",
							"locationName": "api_Key"
						},
						"includeValue": {
							"location": "querystring",
							"locationName": "includeValue",
							"type": "boolean"
						}
					}
				},
				"output": {
					"shape": "S6"
				}
			},
			"GetApiKeys": {
				"http": {
					"method": "GET",
					"requestUri": "/apikeys"
				},
				"input": {
					"type": "structure",
					"members": {
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"nameQuery": {
							"location": "querystring",
							"locationName": "name"
						},
						"customerId": {
							"location": "querystring",
							"locationName": "customerId"
						},
						"includeValues": {
							"location": "querystring",
							"locationName": "includeValues",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"warnings": {
							"shape": "S8"
						},
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "S6"
							}
						}
					}
				}
			},
			"GetAuthorizer": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"authorizerId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"authorizerId": {
							"location": "uri",
							"locationName": "authorizer_id"
						}
					}
				},
				"output": {
					"shape": "Se"
				}
			},
			"GetAuthorizers": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/authorizers"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "Se"
							}
						}
					}
				}
			},
			"GetBasePathMapping": {
				"http": {
					"method": "GET",
					"requestUri": "/domainnames/{domain_name}/basepathmappings/{base_path}"
				},
				"input": {
					"type": "structure",
					"required": [
						"domainName",
						"basePath"
					],
					"members": {
						"domainName": {
							"location": "uri",
							"locationName": "domain_name"
						},
						"basePath": {
							"location": "uri",
							"locationName": "base_path"
						}
					}
				},
				"output": {
					"shape": "Sg"
				}
			},
			"GetBasePathMappings": {
				"http": {
					"method": "GET",
					"requestUri": "/domainnames/{domain_name}/basepathmappings"
				},
				"input": {
					"type": "structure",
					"required": [
						"domainName"
					],
					"members": {
						"domainName": {
							"location": "uri",
							"locationName": "domain_name"
						},
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "Sg"
							}
						}
					}
				}
			},
			"GetClientCertificate": {
				"http": {
					"method": "GET",
					"requestUri": "/clientcertificates/{clientcertificate_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"clientCertificateId"
					],
					"members": {
						"clientCertificateId": {
							"location": "uri",
							"locationName": "clientcertificate_id"
						}
					}
				},
				"output": {
					"shape": "S2k"
				}
			},
			"GetClientCertificates": {
				"http": {
					"method": "GET",
					"requestUri": "/clientcertificates"
				},
				"input": {
					"type": "structure",
					"members": {
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "S2k"
							}
						}
					}
				}
			},
			"GetDeployment": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/deployments/{deployment_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"deploymentId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"deploymentId": {
							"location": "uri",
							"locationName": "deployment_id"
						},
						"embed": {
							"shape": "S8",
							"location": "querystring",
							"locationName": "embed"
						}
					}
				},
				"output": {
					"shape": "Sl"
				}
			},
			"GetDeployments": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/deployments"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "Sl"
							}
						}
					}
				}
			},
			"GetDocumentationPart": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/documentation/parts/{part_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"documentationPartId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"documentationPartId": {
							"location": "uri",
							"locationName": "part_id"
						}
					}
				},
				"output": {
					"shape": "St"
				}
			},
			"GetDocumentationParts": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/documentation/parts"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"type": {
							"location": "querystring",
							"locationName": "type"
						},
						"nameQuery": {
							"location": "querystring",
							"locationName": "name"
						},
						"path": {
							"location": "querystring",
							"locationName": "path"
						},
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "St"
							}
						}
					}
				}
			},
			"GetDocumentationVersion": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/documentation/versions/{doc_version}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"documentationVersion"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"documentationVersion": {
							"location": "uri",
							"locationName": "doc_version"
						}
					}
				},
				"output": {
					"shape": "Sv"
				}
			},
			"GetDocumentationVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/documentation/versions"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "Sv"
							}
						}
					}
				}
			},
			"GetDomainName": {
				"http": {
					"method": "GET",
					"requestUri": "/domainnames/{domain_name}"
				},
				"input": {
					"type": "structure",
					"required": [
						"domainName"
					],
					"members": {
						"domainName": {
							"location": "uri",
							"locationName": "domain_name"
						}
					}
				},
				"output": {
					"shape": "Sx"
				}
			},
			"GetDomainNames": {
				"http": {
					"method": "GET",
					"requestUri": "/domainnames"
				},
				"input": {
					"type": "structure",
					"members": {
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "Sx"
							}
						}
					}
				}
			},
			"GetExport": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/stages/{stage_name}/exports/{export_type}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"stageName",
						"exportType"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"stageName": {
							"location": "uri",
							"locationName": "stage_name"
						},
						"exportType": {
							"location": "uri",
							"locationName": "export_type"
						},
						"parameters": {
							"shape": "Sk",
							"location": "querystring"
						},
						"accepts": {
							"location": "header",
							"locationName": "Accept"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"contentType": {
							"location": "header",
							"locationName": "Content-Type"
						},
						"contentDisposition": {
							"location": "header",
							"locationName": "Content-Disposition"
						},
						"body": {
							"type": "blob"
						}
					},
					"payload": "body"
				}
			},
			"GetIntegration": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						}
					}
				},
				"output": {
					"shape": "S1a"
				}
			},
			"GetIntegrationResponse": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod",
						"statusCode"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"statusCode": {
							"location": "uri",
							"locationName": "status_code"
						}
					}
				},
				"output": {
					"shape": "S1e"
				}
			},
			"GetMethod": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						}
					}
				},
				"output": {
					"shape": "S15"
				}
			},
			"GetMethodResponse": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod",
						"statusCode"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"statusCode": {
							"location": "uri",
							"locationName": "status_code"
						}
					}
				},
				"output": {
					"shape": "S18"
				}
			},
			"GetModel": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/models/{model_name}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"modelName"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"modelName": {
							"location": "uri",
							"locationName": "model_name"
						},
						"flatten": {
							"location": "querystring",
							"locationName": "flatten",
							"type": "boolean"
						}
					}
				},
				"output": {
					"shape": "Sz"
				}
			},
			"GetModelTemplate": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/models/{model_name}/default_template"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"modelName"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"modelName": {
							"location": "uri",
							"locationName": "model_name"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"value": {}
					}
				}
			},
			"GetModels": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/models"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "Sz"
							}
						}
					}
				}
			},
			"GetRequestValidator": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"requestValidatorId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"requestValidatorId": {
							"location": "uri",
							"locationName": "requestvalidator_id"
						}
					}
				},
				"output": {
					"shape": "S11"
				}
			},
			"GetRequestValidators": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/requestvalidators"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "S11"
							}
						}
					}
				}
			},
			"GetResource": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"embed": {
							"shape": "S8",
							"location": "querystring",
							"locationName": "embed"
						}
					}
				},
				"output": {
					"shape": "S13"
				}
			},
			"GetResources": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/resources"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"embed": {
							"shape": "S8",
							"location": "querystring",
							"locationName": "embed"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "S13"
							}
						}
					}
				}
			},
			"GetRestApi": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						}
					}
				},
				"output": {
					"shape": "S1g"
				}
			},
			"GetRestApis": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis"
				},
				"input": {
					"type": "structure",
					"members": {
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "S1g"
							}
						}
					}
				}
			},
			"GetSdk": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"stageName",
						"sdkType"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"stageName": {
							"location": "uri",
							"locationName": "stage_name"
						},
						"sdkType": {
							"location": "uri",
							"locationName": "sdk_type"
						},
						"parameters": {
							"shape": "Sk",
							"location": "querystring"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"contentType": {
							"location": "header",
							"locationName": "Content-Type"
						},
						"contentDisposition": {
							"location": "header",
							"locationName": "Content-Disposition"
						},
						"body": {
							"type": "blob"
						}
					},
					"payload": "body"
				}
			},
			"GetSdkType": {
				"http": {
					"method": "GET",
					"requestUri": "/sdktypes/{sdktype_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"id"
					],
					"members": {
						"id": {
							"location": "uri",
							"locationName": "sdktype_id"
						}
					}
				},
				"output": {
					"shape": "S4b"
				}
			},
			"GetSdkTypes": {
				"http": {
					"method": "GET",
					"requestUri": "/sdktypes"
				},
				"input": {
					"type": "structure",
					"members": {
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "S4b"
							}
						}
					}
				}
			},
			"GetStage": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/stages/{stage_name}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"stageName"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"stageName": {
							"location": "uri",
							"locationName": "stage_name"
						}
					}
				},
				"output": {
					"shape": "S1i"
				}
			},
			"GetStages": {
				"http": {
					"method": "GET",
					"requestUri": "/restapis/{restapi_id}/stages"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"deploymentId": {
							"location": "querystring",
							"locationName": "deploymentId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"item": {
							"type": "list",
							"member": {
								"shape": "S1i"
							}
						}
					}
				}
			},
			"GetUsage": {
				"http": {
					"method": "GET",
					"requestUri": "/usageplans/{usageplanId}/usage"
				},
				"input": {
					"type": "structure",
					"required": [
						"usagePlanId",
						"startDate",
						"endDate"
					],
					"members": {
						"usagePlanId": {
							"location": "uri",
							"locationName": "usageplanId"
						},
						"keyId": {
							"location": "querystring",
							"locationName": "keyId"
						},
						"startDate": {
							"location": "querystring",
							"locationName": "startDate"
						},
						"endDate": {
							"location": "querystring",
							"locationName": "endDate"
						},
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"shape": "S4m"
				}
			},
			"GetUsagePlan": {
				"http": {
					"method": "GET",
					"requestUri": "/usageplans/{usageplanId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"usagePlanId"
					],
					"members": {
						"usagePlanId": {
							"location": "uri",
							"locationName": "usageplanId"
						}
					}
				},
				"output": {
					"shape": "S1v"
				}
			},
			"GetUsagePlanKey": {
				"http": {
					"method": "GET",
					"requestUri": "/usageplans/{usageplanId}/keys/{keyId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"usagePlanId",
						"keyId"
					],
					"members": {
						"usagePlanId": {
							"location": "uri",
							"locationName": "usageplanId"
						},
						"keyId": {
							"location": "uri",
							"locationName": "keyId"
						}
					}
				},
				"output": {
					"shape": "S1x"
				}
			},
			"GetUsagePlanKeys": {
				"http": {
					"method": "GET",
					"requestUri": "/usageplans/{usageplanId}/keys"
				},
				"input": {
					"type": "structure",
					"required": [
						"usagePlanId"
					],
					"members": {
						"usagePlanId": {
							"location": "uri",
							"locationName": "usageplanId"
						},
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"nameQuery": {
							"location": "querystring",
							"locationName": "name"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "S1x"
							}
						}
					}
				}
			},
			"GetUsagePlans": {
				"http": {
					"method": "GET",
					"requestUri": "/usageplans"
				},
				"input": {
					"type": "structure",
					"members": {
						"position": {
							"location": "querystring",
							"locationName": "position"
						},
						"keyId": {
							"location": "querystring",
							"locationName": "keyId"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"position": {},
						"items": {
							"locationName": "item",
							"type": "list",
							"member": {
								"shape": "S1v"
							}
						}
					}
				}
			},
			"ImportApiKeys": {
				"http": {
					"requestUri": "/apikeys?mode=import",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"body",
						"format"
					],
					"members": {
						"body": {
							"type": "blob"
						},
						"format": {
							"location": "querystring",
							"locationName": "format"
						},
						"failOnWarnings": {
							"location": "querystring",
							"locationName": "failonwarnings",
							"type": "boolean"
						}
					},
					"payload": "body"
				},
				"output": {
					"type": "structure",
					"members": {
						"ids": {
							"shape": "S8"
						},
						"warnings": {
							"shape": "S8"
						}
					}
				}
			},
			"ImportDocumentationParts": {
				"http": {
					"method": "PUT",
					"requestUri": "/restapis/{restapi_id}/documentation/parts"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"body"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"mode": {
							"location": "querystring",
							"locationName": "mode"
						},
						"failOnWarnings": {
							"location": "querystring",
							"locationName": "failonwarnings",
							"type": "boolean"
						},
						"body": {
							"type": "blob"
						}
					},
					"payload": "body"
				},
				"output": {
					"type": "structure",
					"members": {
						"ids": {
							"shape": "S8"
						},
						"warnings": {
							"shape": "S8"
						}
					}
				}
			},
			"ImportRestApi": {
				"http": {
					"requestUri": "/restapis?mode=import",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"body"
					],
					"members": {
						"failOnWarnings": {
							"location": "querystring",
							"locationName": "failonwarnings",
							"type": "boolean"
						},
						"parameters": {
							"shape": "Sk",
							"location": "querystring"
						},
						"body": {
							"type": "blob"
						}
					},
					"payload": "body"
				},
				"output": {
					"shape": "S1g"
				}
			},
			"PutIntegration": {
				"http": {
					"method": "PUT",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod",
						"type"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"type": {},
						"integrationHttpMethod": {
							"locationName": "httpMethod"
						},
						"uri": {},
						"credentials": {},
						"requestParameters": {
							"shape": "Sk"
						},
						"requestTemplates": {
							"shape": "Sk"
						},
						"passthroughBehavior": {},
						"cacheNamespace": {},
						"cacheKeyParameters": {
							"shape": "S8"
						},
						"contentHandling": {}
					}
				},
				"output": {
					"shape": "S1a"
				}
			},
			"PutIntegrationResponse": {
				"http": {
					"method": "PUT",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod",
						"statusCode"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"statusCode": {
							"location": "uri",
							"locationName": "status_code"
						},
						"selectionPattern": {},
						"responseParameters": {
							"shape": "Sk"
						},
						"responseTemplates": {
							"shape": "Sk"
						},
						"contentHandling": {}
					}
				},
				"output": {
					"shape": "S1e"
				}
			},
			"PutMethod": {
				"http": {
					"method": "PUT",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod",
						"authorizationType"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"authorizationType": {},
						"authorizerId": {},
						"apiKeyRequired": {
							"type": "boolean"
						},
						"operationName": {},
						"requestParameters": {
							"shape": "S16"
						},
						"requestModels": {
							"shape": "Sk"
						},
						"requestValidatorId": {}
					}
				},
				"output": {
					"shape": "S15"
				}
			},
			"PutMethodResponse": {
				"http": {
					"method": "PUT",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod",
						"statusCode"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"statusCode": {
							"location": "uri",
							"locationName": "status_code"
						},
						"responseParameters": {
							"shape": "S16"
						},
						"responseModels": {
							"shape": "Sk"
						}
					}
				},
				"output": {
					"shape": "S18"
				}
			},
			"PutRestApi": {
				"http": {
					"method": "PUT",
					"requestUri": "/restapis/{restapi_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"body"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"mode": {
							"location": "querystring",
							"locationName": "mode"
						},
						"failOnWarnings": {
							"location": "querystring",
							"locationName": "failonwarnings",
							"type": "boolean"
						},
						"parameters": {
							"shape": "Sk",
							"location": "querystring"
						},
						"body": {
							"type": "blob"
						}
					},
					"payload": "body"
				},
				"output": {
					"shape": "S1g"
				}
			},
			"TestInvokeAuthorizer": {
				"http": {
					"requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"authorizerId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"authorizerId": {
							"location": "uri",
							"locationName": "authorizer_id"
						},
						"headers": {
							"shape": "S5c"
						},
						"pathWithQueryString": {},
						"body": {},
						"stageVariables": {
							"shape": "Sk"
						},
						"additionalContext": {
							"shape": "Sk"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"clientStatus": {
							"type": "integer"
						},
						"log": {},
						"latency": {
							"type": "long"
						},
						"principalId": {},
						"policy": {},
						"authorization": {
							"type": "map",
							"key": {},
							"value": {
								"shape": "S8"
							}
						},
						"claims": {
							"shape": "Sk"
						}
					}
				}
			},
			"TestInvokeMethod": {
				"http": {
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"pathWithQueryString": {},
						"body": {},
						"headers": {
							"shape": "S5c"
						},
						"clientCertificateId": {},
						"stageVariables": {
							"shape": "Sk"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"status": {
							"type": "integer"
						},
						"body": {},
						"headers": {
							"shape": "S5c"
						},
						"log": {},
						"latency": {
							"type": "long"
						}
					}
				}
			},
			"UpdateAccount": {
				"http": {
					"method": "PATCH",
					"requestUri": "/account"
				},
				"input": {
					"type": "structure",
					"members": {
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S2m"
				}
			},
			"UpdateApiKey": {
				"http": {
					"method": "PATCH",
					"requestUri": "/apikeys/{api_Key}"
				},
				"input": {
					"type": "structure",
					"required": [
						"apiKey"
					],
					"members": {
						"apiKey": {
							"location": "uri",
							"locationName": "api_Key"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S6"
				}
			},
			"UpdateAuthorizer": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"authorizerId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"authorizerId": {
							"location": "uri",
							"locationName": "authorizer_id"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "Se"
				}
			},
			"UpdateBasePathMapping": {
				"http": {
					"method": "PATCH",
					"requestUri": "/domainnames/{domain_name}/basepathmappings/{base_path}"
				},
				"input": {
					"type": "structure",
					"required": [
						"domainName",
						"basePath"
					],
					"members": {
						"domainName": {
							"location": "uri",
							"locationName": "domain_name"
						},
						"basePath": {
							"location": "uri",
							"locationName": "base_path"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "Sg"
				}
			},
			"UpdateClientCertificate": {
				"http": {
					"method": "PATCH",
					"requestUri": "/clientcertificates/{clientcertificate_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"clientCertificateId"
					],
					"members": {
						"clientCertificateId": {
							"location": "uri",
							"locationName": "clientcertificate_id"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S2k"
				}
			},
			"UpdateDeployment": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/deployments/{deployment_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"deploymentId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"deploymentId": {
							"location": "uri",
							"locationName": "deployment_id"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "Sl"
				}
			},
			"UpdateDocumentationPart": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/documentation/parts/{part_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"documentationPartId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"documentationPartId": {
							"location": "uri",
							"locationName": "part_id"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "St"
				}
			},
			"UpdateDocumentationVersion": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/documentation/versions/{doc_version}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"documentationVersion"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"documentationVersion": {
							"location": "uri",
							"locationName": "doc_version"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "Sv"
				}
			},
			"UpdateDomainName": {
				"http": {
					"method": "PATCH",
					"requestUri": "/domainnames/{domain_name}"
				},
				"input": {
					"type": "structure",
					"required": [
						"domainName"
					],
					"members": {
						"domainName": {
							"location": "uri",
							"locationName": "domain_name"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "Sx"
				}
			},
			"UpdateIntegration": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S1a"
				}
			},
			"UpdateIntegrationResponse": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod",
						"statusCode"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"statusCode": {
							"location": "uri",
							"locationName": "status_code"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S1e"
				}
			},
			"UpdateMethod": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S15"
				}
			},
			"UpdateMethodResponse": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId",
						"httpMethod",
						"statusCode"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"httpMethod": {
							"location": "uri",
							"locationName": "http_method"
						},
						"statusCode": {
							"location": "uri",
							"locationName": "status_code"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S18"
				}
			},
			"UpdateModel": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/models/{model_name}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"modelName"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"modelName": {
							"location": "uri",
							"locationName": "model_name"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "Sz"
				}
			},
			"UpdateRequestValidator": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"requestValidatorId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"requestValidatorId": {
							"location": "uri",
							"locationName": "requestvalidator_id"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S11"
				}
			},
			"UpdateResource": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/resources/{resource_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"resourceId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"resourceId": {
							"location": "uri",
							"locationName": "resource_id"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S13"
				}
			},
			"UpdateRestApi": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S1g"
				}
			},
			"UpdateStage": {
				"http": {
					"method": "PATCH",
					"requestUri": "/restapis/{restapi_id}/stages/{stage_name}"
				},
				"input": {
					"type": "structure",
					"required": [
						"restApiId",
						"stageName"
					],
					"members": {
						"restApiId": {
							"location": "uri",
							"locationName": "restapi_id"
						},
						"stageName": {
							"location": "uri",
							"locationName": "stage_name"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S1i"
				}
			},
			"UpdateUsage": {
				"http": {
					"method": "PATCH",
					"requestUri": "/usageplans/{usageplanId}/keys/{keyId}/usage"
				},
				"input": {
					"type": "structure",
					"required": [
						"usagePlanId",
						"keyId"
					],
					"members": {
						"usagePlanId": {
							"location": "uri",
							"locationName": "usageplanId"
						},
						"keyId": {
							"location": "uri",
							"locationName": "keyId"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S4m"
				}
			},
			"UpdateUsagePlan": {
				"http": {
					"method": "PATCH",
					"requestUri": "/usageplans/{usageplanId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"usagePlanId"
					],
					"members": {
						"usagePlanId": {
							"location": "uri",
							"locationName": "usageplanId"
						},
						"patchOperations": {
							"shape": "S5i"
						}
					}
				},
				"output": {
					"shape": "S1v"
				}
			}
		},
		"shapes": {
			"S6": {
				"type": "structure",
				"members": {
					"id": {},
					"value": {},
					"name": {},
					"customerId": {},
					"description": {},
					"enabled": {
						"type": "boolean"
					},
					"createdDate": {
						"type": "timestamp"
					},
					"lastUpdatedDate": {
						"type": "timestamp"
					},
					"stageKeys": {
						"shape": "S8"
					}
				}
			},
			"S8": {
				"type": "list",
				"member": {}
			},
			"Sb": {
				"type": "list",
				"member": {}
			},
			"Se": {
				"type": "structure",
				"members": {
					"id": {},
					"name": {},
					"type": {},
					"providerARNs": {
						"shape": "Sb"
					},
					"authType": {},
					"authorizerUri": {},
					"authorizerCredentials": {},
					"identitySource": {},
					"identityValidationExpression": {},
					"authorizerResultTtlInSeconds": {
						"type": "integer"
					}
				}
			},
			"Sg": {
				"type": "structure",
				"members": {
					"basePath": {},
					"restApiId": {},
					"stage": {}
				}
			},
			"Sk": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"Sl": {
				"type": "structure",
				"members": {
					"id": {},
					"description": {},
					"createdDate": {
						"type": "timestamp"
					},
					"apiSummary": {
						"type": "map",
						"key": {},
						"value": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"members": {
									"authorizationType": {},
									"apiKeyRequired": {
										"type": "boolean"
									}
								}
							}
						}
					}
				}
			},
			"Sq": {
				"type": "structure",
				"required": [
					"type"
				],
				"members": {
					"type": {},
					"path": {},
					"method": {},
					"statusCode": {},
					"name": {}
				}
			},
			"St": {
				"type": "structure",
				"members": {
					"id": {},
					"location": {
						"shape": "Sq"
					},
					"properties": {}
				}
			},
			"Sv": {
				"type": "structure",
				"members": {
					"version": {},
					"createdDate": {
						"type": "timestamp"
					},
					"description": {}
				}
			},
			"Sx": {
				"type": "structure",
				"members": {
					"domainName": {},
					"certificateName": {},
					"certificateArn": {},
					"certificateUploadDate": {
						"type": "timestamp"
					},
					"distributionDomainName": {}
				}
			},
			"Sz": {
				"type": "structure",
				"members": {
					"id": {},
					"name": {},
					"description": {},
					"schema": {},
					"contentType": {}
				}
			},
			"S11": {
				"type": "structure",
				"members": {
					"id": {},
					"name": {},
					"validateRequestBody": {
						"type": "boolean"
					},
					"validateRequestParameters": {
						"type": "boolean"
					}
				}
			},
			"S13": {
				"type": "structure",
				"members": {
					"id": {},
					"parentId": {},
					"pathPart": {},
					"path": {},
					"resourceMethods": {
						"type": "map",
						"key": {},
						"value": {
							"shape": "S15"
						}
					}
				}
			},
			"S15": {
				"type": "structure",
				"members": {
					"httpMethod": {},
					"authorizationType": {},
					"authorizerId": {},
					"apiKeyRequired": {
						"type": "boolean"
					},
					"requestValidatorId": {},
					"operationName": {},
					"requestParameters": {
						"shape": "S16"
					},
					"requestModels": {
						"shape": "Sk"
					},
					"methodResponses": {
						"type": "map",
						"key": {},
						"value": {
							"shape": "S18"
						}
					},
					"methodIntegration": {
						"shape": "S1a"
					}
				}
			},
			"S16": {
				"type": "map",
				"key": {},
				"value": {
					"type": "boolean"
				}
			},
			"S18": {
				"type": "structure",
				"members": {
					"statusCode": {},
					"responseParameters": {
						"shape": "S16"
					},
					"responseModels": {
						"shape": "Sk"
					}
				}
			},
			"S1a": {
				"type": "structure",
				"members": {
					"type": {},
					"httpMethod": {},
					"uri": {},
					"credentials": {},
					"requestParameters": {
						"shape": "Sk"
					},
					"requestTemplates": {
						"shape": "Sk"
					},
					"passthroughBehavior": {},
					"contentHandling": {},
					"cacheNamespace": {},
					"cacheKeyParameters": {
						"shape": "S8"
					},
					"integrationResponses": {
						"type": "map",
						"key": {},
						"value": {
							"shape": "S1e"
						}
					}
				}
			},
			"S1e": {
				"type": "structure",
				"members": {
					"statusCode": {},
					"selectionPattern": {},
					"responseParameters": {
						"shape": "Sk"
					},
					"responseTemplates": {
						"shape": "Sk"
					},
					"contentHandling": {}
				}
			},
			"S1g": {
				"type": "structure",
				"members": {
					"id": {},
					"name": {},
					"description": {},
					"createdDate": {
						"type": "timestamp"
					},
					"version": {},
					"warnings": {
						"shape": "S8"
					},
					"binaryMediaTypes": {
						"shape": "S8"
					}
				}
			},
			"S1i": {
				"type": "structure",
				"members": {
					"deploymentId": {},
					"clientCertificateId": {},
					"stageName": {},
					"description": {},
					"cacheClusterEnabled": {
						"type": "boolean"
					},
					"cacheClusterSize": {},
					"cacheClusterStatus": {},
					"methodSettings": {
						"type": "map",
						"key": {},
						"value": {
							"type": "structure",
							"members": {
								"metricsEnabled": {
									"type": "boolean"
								},
								"loggingLevel": {},
								"dataTraceEnabled": {
									"type": "boolean"
								},
								"throttlingBurstLimit": {
									"type": "integer"
								},
								"throttlingRateLimit": {
									"type": "double"
								},
								"cachingEnabled": {
									"type": "boolean"
								},
								"cacheTtlInSeconds": {
									"type": "integer"
								},
								"cacheDataEncrypted": {
									"type": "boolean"
								},
								"requireAuthorizationForCacheControl": {
									"type": "boolean"
								},
								"unauthorizedCacheControlHeaderStrategy": {}
							}
						}
					},
					"variables": {
						"shape": "Sk"
					},
					"documentationVersion": {},
					"createdDate": {
						"type": "timestamp"
					},
					"lastUpdatedDate": {
						"type": "timestamp"
					}
				}
			},
			"S1q": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"apiId": {},
						"stage": {}
					}
				}
			},
			"S1s": {
				"type": "structure",
				"members": {
					"burstLimit": {
						"type": "integer"
					},
					"rateLimit": {
						"type": "double"
					}
				}
			},
			"S1t": {
				"type": "structure",
				"members": {
					"limit": {
						"type": "integer"
					},
					"offset": {
						"type": "integer"
					},
					"period": {}
				}
			},
			"S1v": {
				"type": "structure",
				"members": {
					"id": {},
					"name": {},
					"description": {},
					"apiStages": {
						"shape": "S1q"
					},
					"throttle": {
						"shape": "S1s"
					},
					"quota": {
						"shape": "S1t"
					},
					"productCode": {}
				}
			},
			"S1x": {
				"type": "structure",
				"members": {
					"id": {},
					"type": {},
					"value": {},
					"name": {}
				}
			},
			"S2k": {
				"type": "structure",
				"members": {
					"clientCertificateId": {},
					"description": {},
					"pemEncodedCertificate": {},
					"createdDate": {
						"type": "timestamp"
					},
					"expirationDate": {
						"type": "timestamp"
					}
				}
			},
			"S2m": {
				"type": "structure",
				"members": {
					"cloudwatchRoleArn": {},
					"throttleSettings": {
						"shape": "S1s"
					},
					"features": {
						"shape": "S8"
					},
					"apiKeyVersion": {}
				}
			},
			"S4b": {
				"type": "structure",
				"members": {
					"id": {},
					"friendlyName": {},
					"description": {},
					"configurationProperties": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"name": {},
								"friendlyName": {},
								"description": {},
								"required": {
									"type": "boolean"
								},
								"defaultValue": {}
							}
						}
					}
				}
			},
			"S4m": {
				"type": "structure",
				"members": {
					"usagePlanId": {},
					"startDate": {},
					"endDate": {},
					"position": {},
					"items": {
						"locationName": "values",
						"type": "map",
						"key": {},
						"value": {
							"type": "list",
							"member": {
								"type": "list",
								"member": {
									"type": "long"
								}
							}
						}
					}
				}
			},
			"S5c": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S5i": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"op": {},
						"path": {},
						"value": {},
						"from": {}
					}
				}
			}
		}
	};

/***/ }),
/* 306 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"GetApiKeys": {
				"input_token": "position",
				"limit_key": "limit",
				"output_token": "position",
				"result_key": "items"
			},
			"GetBasePathMappings": {
				"input_token": "position",
				"limit_key": "limit",
				"output_token": "position",
				"result_key": "items"
			},
			"GetClientCertificates": {
				"input_token": "position",
				"limit_key": "limit",
				"output_token": "position",
				"result_key": "items"
			},
			"GetDeployments": {
				"input_token": "position",
				"limit_key": "limit",
				"output_token": "position",
				"result_key": "items"
			},
			"GetDomainNames": {
				"input_token": "position",
				"limit_key": "limit",
				"output_token": "position",
				"result_key": "items"
			},
			"GetModels": {
				"input_token": "position",
				"limit_key": "limit",
				"output_token": "position",
				"result_key": "items"
			},
			"GetResources": {
				"input_token": "position",
				"limit_key": "limit",
				"output_token": "position",
				"result_key": "items"
			},
			"GetRestApis": {
				"input_token": "position",
				"limit_key": "limit",
				"output_token": "position",
				"result_key": "items"
			},
			"GetUsage": {
				"input_token": "position",
				"limit_key": "limit",
				"output_token": "position",
				"result_key": "items"
			},
			"GetUsagePlanKeys": {
				"input_token": "position",
				"limit_key": "limit",
				"output_token": "position",
				"result_key": "items"
			},
			"GetUsagePlans": {
				"input_token": "position",
				"limit_key": "limit",
				"output_token": "position",
				"result_key": "items"
			}
		}
	};

/***/ }),
/* 307 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['applicationautoscaling'] = {};
	AWS.ApplicationAutoScaling = Service.defineService('applicationautoscaling', ['2016-02-06']);
	Object.defineProperty(apiLoader.services['applicationautoscaling'], '2016-02-06', {
	  get: function get() {
	    var model = __webpack_require__(308);
	    model.paginators = __webpack_require__(309).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ApplicationAutoScaling;


/***/ }),
/* 308 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-02-06",
			"endpointPrefix": "autoscaling",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Application Auto Scaling",
			"signatureVersion": "v4",
			"signingName": "application-autoscaling",
			"targetPrefix": "AnyScaleFrontendService",
			"uid": "application-autoscaling-2016-02-06"
		},
		"operations": {
			"DeleteScalingPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyName",
						"ServiceNamespace",
						"ResourceId",
						"ScalableDimension"
					],
					"members": {
						"PolicyName": {},
						"ServiceNamespace": {},
						"ResourceId": {},
						"ScalableDimension": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeregisterScalableTarget": {
				"input": {
					"type": "structure",
					"required": [
						"ServiceNamespace",
						"ResourceId",
						"ScalableDimension"
					],
					"members": {
						"ServiceNamespace": {},
						"ResourceId": {},
						"ScalableDimension": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeScalableTargets": {
				"input": {
					"type": "structure",
					"required": [
						"ServiceNamespace"
					],
					"members": {
						"ServiceNamespace": {},
						"ResourceIds": {
							"shape": "S9"
						},
						"ScalableDimension": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ScalableTargets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"ServiceNamespace",
									"ResourceId",
									"ScalableDimension",
									"MinCapacity",
									"MaxCapacity",
									"RoleARN",
									"CreationTime"
								],
								"members": {
									"ServiceNamespace": {},
									"ResourceId": {},
									"ScalableDimension": {},
									"MinCapacity": {
										"type": "integer"
									},
									"MaxCapacity": {
										"type": "integer"
									},
									"RoleARN": {},
									"CreationTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeScalingActivities": {
				"input": {
					"type": "structure",
					"required": [
						"ServiceNamespace"
					],
					"members": {
						"ServiceNamespace": {},
						"ResourceId": {},
						"ScalableDimension": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ScalingActivities": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"ActivityId",
									"ServiceNamespace",
									"ResourceId",
									"ScalableDimension",
									"Description",
									"Cause",
									"StartTime",
									"StatusCode"
								],
								"members": {
									"ActivityId": {},
									"ServiceNamespace": {},
									"ResourceId": {},
									"ScalableDimension": {},
									"Description": {},
									"Cause": {},
									"StartTime": {
										"type": "timestamp"
									},
									"EndTime": {
										"type": "timestamp"
									},
									"StatusCode": {},
									"StatusMessage": {},
									"Details": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeScalingPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"ServiceNamespace"
					],
					"members": {
						"PolicyNames": {
							"shape": "S9"
						},
						"ServiceNamespace": {},
						"ResourceId": {},
						"ScalableDimension": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ScalingPolicies": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"PolicyARN",
									"PolicyName",
									"ServiceNamespace",
									"ResourceId",
									"ScalableDimension",
									"PolicyType",
									"CreationTime"
								],
								"members": {
									"PolicyARN": {},
									"PolicyName": {},
									"ServiceNamespace": {},
									"ResourceId": {},
									"ScalableDimension": {},
									"PolicyType": {},
									"StepScalingPolicyConfiguration": {
										"shape": "St"
									},
									"TargetTrackingScalingPolicyConfiguration": {
										"shape": "S12"
									},
									"Alarms": {
										"shape": "S1f"
									},
									"CreationTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"PutScalingPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyName",
						"ServiceNamespace",
						"ResourceId",
						"ScalableDimension"
					],
					"members": {
						"PolicyName": {},
						"ServiceNamespace": {},
						"ResourceId": {},
						"ScalableDimension": {},
						"PolicyType": {},
						"StepScalingPolicyConfiguration": {
							"shape": "St"
						},
						"TargetTrackingScalingPolicyConfiguration": {
							"shape": "S12"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"PolicyARN"
					],
					"members": {
						"PolicyARN": {},
						"Alarms": {
							"shape": "S1f"
						}
					}
				}
			},
			"RegisterScalableTarget": {
				"input": {
					"type": "structure",
					"required": [
						"ServiceNamespace",
						"ResourceId",
						"ScalableDimension"
					],
					"members": {
						"ServiceNamespace": {},
						"ResourceId": {},
						"ScalableDimension": {},
						"MinCapacity": {
							"type": "integer"
						},
						"MaxCapacity": {
							"type": "integer"
						},
						"RoleARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"S9": {
				"type": "list",
				"member": {}
			},
			"St": {
				"type": "structure",
				"members": {
					"AdjustmentType": {},
					"StepAdjustments": {
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"ScalingAdjustment"
							],
							"members": {
								"MetricIntervalLowerBound": {
									"type": "double"
								},
								"MetricIntervalUpperBound": {
									"type": "double"
								},
								"ScalingAdjustment": {
									"type": "integer"
								}
							}
						}
					},
					"MinAdjustmentMagnitude": {
						"type": "integer"
					},
					"Cooldown": {
						"type": "integer"
					},
					"MetricAggregationType": {}
				}
			},
			"S12": {
				"type": "structure",
				"required": [
					"TargetValue"
				],
				"members": {
					"TargetValue": {
						"type": "double"
					},
					"PredefinedMetricSpecification": {
						"type": "structure",
						"required": [
							"PredefinedMetricType"
						],
						"members": {
							"PredefinedMetricType": {},
							"ResourceLabel": {}
						}
					},
					"CustomizedMetricSpecification": {
						"type": "structure",
						"required": [
							"MetricName",
							"Namespace",
							"Statistic"
						],
						"members": {
							"MetricName": {},
							"Namespace": {},
							"Dimensions": {
								"type": "list",
								"member": {
									"type": "structure",
									"required": [
										"Name",
										"Value"
									],
									"members": {
										"Name": {},
										"Value": {}
									}
								}
							},
							"Statistic": {},
							"Unit": {}
						}
					},
					"ScaleOutCooldown": {
						"type": "integer"
					},
					"ScaleInCooldown": {
						"type": "integer"
					}
				}
			},
			"S1f": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"AlarmName",
						"AlarmARN"
					],
					"members": {
						"AlarmName": {},
						"AlarmARN": {}
					}
				}
			}
		}
	};

/***/ }),
/* 309 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeScalableTargets": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "ScalableTargets"
			},
			"DescribeScalingActivities": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "ScalingActivities"
			},
			"DescribeScalingPolicies": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "ScalingPolicies"
			}
		}
	};

/***/ }),
/* 310 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['appstream'] = {};
	AWS.AppStream = Service.defineService('appstream', ['2016-12-01']);
	Object.defineProperty(apiLoader.services['appstream'], '2016-12-01', {
	  get: function get() {
	    var model = __webpack_require__(311);
	    model.paginators = __webpack_require__(312).pagination;
	    model.waiters = __webpack_require__(313).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.AppStream;


/***/ }),
/* 311 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-12-01",
			"endpointPrefix": "appstream2",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon AppStream",
			"signatureVersion": "v4",
			"signingName": "appstream",
			"targetPrefix": "PhotonAdminProxyService",
			"uid": "appstream-2016-12-01"
		},
		"operations": {
			"AssociateFleet": {
				"input": {
					"type": "structure",
					"required": [
						"FleetName",
						"StackName"
					],
					"members": {
						"FleetName": {},
						"StackName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateFleet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ImageName",
						"InstanceType",
						"ComputeCapacity"
					],
					"members": {
						"Name": {},
						"ImageName": {},
						"InstanceType": {},
						"ComputeCapacity": {
							"shape": "S6"
						},
						"VpcConfig": {
							"shape": "S8"
						},
						"MaxUserDurationInSeconds": {
							"type": "integer"
						},
						"DisconnectTimeoutInSeconds": {
							"type": "integer"
						},
						"Description": {},
						"DisplayName": {},
						"EnableDefaultInternetAccess": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Fleet": {
							"shape": "Sf"
						}
					}
				}
			},
			"CreateStack": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"Description": {},
						"DisplayName": {},
						"StorageConnectors": {
							"shape": "So"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Stack": {
							"shape": "St"
						}
					}
				}
			},
			"CreateStreamingURL": {
				"input": {
					"type": "structure",
					"required": [
						"StackName",
						"FleetName",
						"UserId"
					],
					"members": {
						"StackName": {},
						"FleetName": {},
						"UserId": {},
						"ApplicationId": {},
						"Validity": {
							"type": "long"
						},
						"SessionContext": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingURL": {},
						"Expires": {
							"type": "timestamp"
						}
					}
				}
			},
			"DeleteFleet": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteStack": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeFleets": {
				"input": {
					"type": "structure",
					"members": {
						"Names": {
							"shape": "S16"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Fleets": {
							"type": "list",
							"member": {
								"shape": "Sf"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeImages": {
				"input": {
					"type": "structure",
					"members": {
						"Names": {
							"shape": "S16"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Images": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Name"
								],
								"members": {
									"Name": {},
									"Arn": {},
									"BaseImageArn": {},
									"DisplayName": {},
									"State": {},
									"Visibility": {},
									"ImageBuilderSupported": {
										"type": "boolean"
									},
									"Platform": {},
									"Description": {},
									"StateChangeReason": {
										"type": "structure",
										"members": {
											"Code": {},
											"Message": {}
										}
									},
									"Applications": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"Name": {},
												"DisplayName": {},
												"IconURL": {},
												"LaunchPath": {},
												"LaunchParameters": {},
												"Enabled": {
													"type": "boolean"
												},
												"Metadata": {
													"type": "map",
													"key": {},
													"value": {}
												}
											}
										}
									},
									"CreatedTime": {
										"type": "timestamp"
									},
									"PublicBaseImageReleasedDate": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeSessions": {
				"input": {
					"type": "structure",
					"required": [
						"StackName",
						"FleetName"
					],
					"members": {
						"StackName": {},
						"FleetName": {},
						"UserId": {},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						},
						"AuthenticationType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Sessions": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Id",
									"UserId",
									"StackName",
									"FleetName",
									"State"
								],
								"members": {
									"Id": {},
									"UserId": {},
									"StackName": {},
									"FleetName": {},
									"State": {},
									"AuthenticationType": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeStacks": {
				"input": {
					"type": "structure",
					"members": {
						"Names": {
							"shape": "S16"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Stacks": {
							"type": "list",
							"member": {
								"shape": "St"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DisassociateFleet": {
				"input": {
					"type": "structure",
					"required": [
						"FleetName",
						"StackName"
					],
					"members": {
						"FleetName": {},
						"StackName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ExpireSession": {
				"input": {
					"type": "structure",
					"required": [
						"SessionId"
					],
					"members": {
						"SessionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ListAssociatedFleets": {
				"input": {
					"type": "structure",
					"required": [
						"StackName"
					],
					"members": {
						"StackName": {},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Names": {
							"shape": "S16"
						},
						"NextToken": {}
					}
				}
			},
			"ListAssociatedStacks": {
				"input": {
					"type": "structure",
					"required": [
						"FleetName"
					],
					"members": {
						"FleetName": {},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Names": {
							"shape": "S16"
						},
						"NextToken": {}
					}
				}
			},
			"StartFleet": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"StopFleet": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateFleet": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"ImageName": {},
						"Name": {},
						"InstanceType": {},
						"ComputeCapacity": {
							"shape": "S6"
						},
						"VpcConfig": {
							"shape": "S8"
						},
						"MaxUserDurationInSeconds": {
							"type": "integer"
						},
						"DisconnectTimeoutInSeconds": {
							"type": "integer"
						},
						"DeleteVpcConfig": {
							"deprecated": true,
							"type": "boolean"
						},
						"Description": {},
						"DisplayName": {},
						"EnableDefaultInternetAccess": {
							"type": "boolean"
						},
						"AttributesToDelete": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Fleet": {
							"shape": "Sf"
						}
					}
				}
			},
			"UpdateStack": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"DisplayName": {},
						"Description": {},
						"Name": {},
						"StorageConnectors": {
							"shape": "So"
						},
						"DeleteStorageConnectors": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Stack": {
							"shape": "St"
						}
					}
				}
			}
		},
		"shapes": {
			"S6": {
				"type": "structure",
				"required": [
					"DesiredInstances"
				],
				"members": {
					"DesiredInstances": {
						"type": "integer"
					}
				}
			},
			"S8": {
				"type": "structure",
				"members": {
					"SubnetIds": {
						"type": "list",
						"member": {}
					},
					"SecurityGroupIds": {
						"type": "list",
						"member": {}
					}
				}
			},
			"Sf": {
				"type": "structure",
				"required": [
					"Arn",
					"Name",
					"ImageName",
					"InstanceType",
					"ComputeCapacityStatus",
					"State"
				],
				"members": {
					"Arn": {},
					"Name": {},
					"DisplayName": {},
					"Description": {},
					"ImageName": {},
					"InstanceType": {},
					"ComputeCapacityStatus": {
						"type": "structure",
						"required": [
							"Desired"
						],
						"members": {
							"Desired": {
								"type": "integer"
							},
							"Running": {
								"type": "integer"
							},
							"InUse": {
								"type": "integer"
							},
							"Available": {
								"type": "integer"
							}
						}
					},
					"MaxUserDurationInSeconds": {
						"type": "integer"
					},
					"DisconnectTimeoutInSeconds": {
						"type": "integer"
					},
					"State": {},
					"VpcConfig": {
						"shape": "S8"
					},
					"CreatedTime": {
						"type": "timestamp"
					},
					"FleetErrors": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"ErrorCode": {},
								"ErrorMessage": {}
							}
						}
					},
					"EnableDefaultInternetAccess": {
						"type": "boolean"
					}
				}
			},
			"So": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"ConnectorType"
					],
					"members": {
						"ConnectorType": {},
						"ResourceIdentifier": {}
					}
				}
			},
			"St": {
				"type": "structure",
				"required": [
					"Name"
				],
				"members": {
					"Arn": {},
					"Name": {},
					"Description": {},
					"DisplayName": {},
					"CreatedTime": {
						"type": "timestamp"
					},
					"StorageConnectors": {
						"shape": "So"
					},
					"StackErrors": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"ErrorCode": {},
								"ErrorMessage": {}
							}
						}
					}
				}
			},
			"S16": {
				"type": "list",
				"member": {}
			}
		}
	};

/***/ }),
/* 312 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 313 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"FleetStarted": {
				"delay": 30,
				"maxAttempts": 40,
				"operation": "DescribeFleets",
				"acceptors": [
					{
						"state": "success",
						"matcher": "pathAll",
						"argument": "fleets[].state",
						"expected": "ACTIVE"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "fleets[].state",
						"expected": "PENDING_DEACTIVATE"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "fleets[].state",
						"expected": "INACTIVE"
					}
				]
			},
			"FleetStopped": {
				"delay": 30,
				"maxAttempts": 40,
				"operation": "DescribeFleets",
				"acceptors": [
					{
						"state": "success",
						"matcher": "pathAll",
						"argument": "fleets[].state",
						"expected": "INACTIVE"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "fleets[].state",
						"expected": "PENDING_ACTIVATE"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "fleets[].state",
						"expected": "ACTIVE"
					}
				]
			}
		}
	};

/***/ }),
/* 314 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['autoscaling'] = {};
	AWS.AutoScaling = Service.defineService('autoscaling', ['2011-01-01']);
	Object.defineProperty(apiLoader.services['autoscaling'], '2011-01-01', {
	  get: function get() {
	    var model = __webpack_require__(315);
	    model.paginators = __webpack_require__(316).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.AutoScaling;


/***/ }),
/* 315 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2011-01-01",
			"endpointPrefix": "autoscaling",
			"protocol": "query",
			"serviceFullName": "Auto Scaling",
			"signatureVersion": "v4",
			"uid": "autoscaling-2011-01-01",
			"xmlNamespace": "http://autoscaling.amazonaws.com/doc/2011-01-01/"
		},
		"operations": {
			"AttachInstances": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName"
					],
					"members": {
						"InstanceIds": {
							"shape": "S2"
						},
						"AutoScalingGroupName": {}
					}
				}
			},
			"AttachLoadBalancerTargetGroups": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"TargetGroupARNs"
					],
					"members": {
						"AutoScalingGroupName": {},
						"TargetGroupARNs": {
							"shape": "S6"
						}
					}
				},
				"output": {
					"resultWrapper": "AttachLoadBalancerTargetGroupsResult",
					"type": "structure",
					"members": {}
				}
			},
			"AttachLoadBalancers": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"LoadBalancerNames"
					],
					"members": {
						"AutoScalingGroupName": {},
						"LoadBalancerNames": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "AttachLoadBalancersResult",
					"type": "structure",
					"members": {}
				}
			},
			"CompleteLifecycleAction": {
				"input": {
					"type": "structure",
					"required": [
						"LifecycleHookName",
						"AutoScalingGroupName",
						"LifecycleActionResult"
					],
					"members": {
						"LifecycleHookName": {},
						"AutoScalingGroupName": {},
						"LifecycleActionToken": {},
						"LifecycleActionResult": {},
						"InstanceId": {}
					}
				},
				"output": {
					"resultWrapper": "CompleteLifecycleActionResult",
					"type": "structure",
					"members": {}
				}
			},
			"CreateAutoScalingGroup": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"MinSize",
						"MaxSize"
					],
					"members": {
						"AutoScalingGroupName": {},
						"LaunchConfigurationName": {},
						"InstanceId": {},
						"MinSize": {
							"type": "integer"
						},
						"MaxSize": {
							"type": "integer"
						},
						"DesiredCapacity": {
							"type": "integer"
						},
						"DefaultCooldown": {
							"type": "integer"
						},
						"AvailabilityZones": {
							"shape": "Sn"
						},
						"LoadBalancerNames": {
							"shape": "Sa"
						},
						"TargetGroupARNs": {
							"shape": "S6"
						},
						"HealthCheckType": {},
						"HealthCheckGracePeriod": {
							"type": "integer"
						},
						"PlacementGroup": {},
						"VPCZoneIdentifier": {},
						"TerminationPolicies": {
							"shape": "Sr"
						},
						"NewInstancesProtectedFromScaleIn": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "Su"
						}
					}
				}
			},
			"CreateLaunchConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"LaunchConfigurationName"
					],
					"members": {
						"LaunchConfigurationName": {},
						"ImageId": {},
						"KeyName": {},
						"SecurityGroups": {
							"shape": "S11"
						},
						"ClassicLinkVPCId": {},
						"ClassicLinkVPCSecurityGroups": {
							"shape": "S12"
						},
						"UserData": {},
						"InstanceId": {},
						"InstanceType": {},
						"KernelId": {},
						"RamdiskId": {},
						"BlockDeviceMappings": {
							"shape": "S14"
						},
						"InstanceMonitoring": {
							"shape": "S1d"
						},
						"SpotPrice": {},
						"IamInstanceProfile": {},
						"EbsOptimized": {
							"type": "boolean"
						},
						"AssociatePublicIpAddress": {
							"type": "boolean"
						},
						"PlacementTenancy": {}
					}
				}
			},
			"CreateOrUpdateTags": {
				"input": {
					"type": "structure",
					"required": [
						"Tags"
					],
					"members": {
						"Tags": {
							"shape": "Su"
						}
					}
				}
			},
			"DeleteAutoScalingGroup": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName"
					],
					"members": {
						"AutoScalingGroupName": {},
						"ForceDelete": {
							"type": "boolean"
						}
					}
				}
			},
			"DeleteLaunchConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"LaunchConfigurationName"
					],
					"members": {
						"LaunchConfigurationName": {}
					}
				}
			},
			"DeleteLifecycleHook": {
				"input": {
					"type": "structure",
					"required": [
						"LifecycleHookName",
						"AutoScalingGroupName"
					],
					"members": {
						"LifecycleHookName": {},
						"AutoScalingGroupName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteLifecycleHookResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteNotificationConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"TopicARN"
					],
					"members": {
						"AutoScalingGroupName": {},
						"TopicARN": {}
					}
				}
			},
			"DeletePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyName"
					],
					"members": {
						"AutoScalingGroupName": {},
						"PolicyName": {}
					}
				}
			},
			"DeleteScheduledAction": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"ScheduledActionName"
					],
					"members": {
						"AutoScalingGroupName": {},
						"ScheduledActionName": {}
					}
				}
			},
			"DeleteTags": {
				"input": {
					"type": "structure",
					"required": [
						"Tags"
					],
					"members": {
						"Tags": {
							"shape": "Su"
						}
					}
				}
			},
			"DescribeAccountLimits": {
				"output": {
					"resultWrapper": "DescribeAccountLimitsResult",
					"type": "structure",
					"members": {
						"MaxNumberOfAutoScalingGroups": {
							"type": "integer"
						},
						"MaxNumberOfLaunchConfigurations": {
							"type": "integer"
						},
						"NumberOfAutoScalingGroups": {
							"type": "integer"
						},
						"NumberOfLaunchConfigurations": {
							"type": "integer"
						}
					}
				}
			},
			"DescribeAdjustmentTypes": {
				"output": {
					"resultWrapper": "DescribeAdjustmentTypesResult",
					"type": "structure",
					"members": {
						"AdjustmentTypes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AdjustmentType": {}
								}
							}
						}
					}
				}
			},
			"DescribeAutoScalingGroups": {
				"input": {
					"type": "structure",
					"members": {
						"AutoScalingGroupNames": {
							"shape": "S22"
						},
						"NextToken": {},
						"MaxRecords": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeAutoScalingGroupsResult",
					"type": "structure",
					"required": [
						"AutoScalingGroups"
					],
					"members": {
						"AutoScalingGroups": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"AutoScalingGroupName",
									"MinSize",
									"MaxSize",
									"DesiredCapacity",
									"DefaultCooldown",
									"AvailabilityZones",
									"HealthCheckType",
									"CreatedTime"
								],
								"members": {
									"AutoScalingGroupName": {},
									"AutoScalingGroupARN": {},
									"LaunchConfigurationName": {},
									"MinSize": {
										"type": "integer"
									},
									"MaxSize": {
										"type": "integer"
									},
									"DesiredCapacity": {
										"type": "integer"
									},
									"DefaultCooldown": {
										"type": "integer"
									},
									"AvailabilityZones": {
										"shape": "Sn"
									},
									"LoadBalancerNames": {
										"shape": "Sa"
									},
									"TargetGroupARNs": {
										"shape": "S6"
									},
									"HealthCheckType": {},
									"HealthCheckGracePeriod": {
										"type": "integer"
									},
									"Instances": {
										"type": "list",
										"member": {
											"type": "structure",
											"required": [
												"InstanceId",
												"AvailabilityZone",
												"LifecycleState",
												"HealthStatus",
												"LaunchConfigurationName",
												"ProtectedFromScaleIn"
											],
											"members": {
												"InstanceId": {},
												"AvailabilityZone": {},
												"LifecycleState": {},
												"HealthStatus": {},
												"LaunchConfigurationName": {},
												"ProtectedFromScaleIn": {
													"type": "boolean"
												}
											}
										}
									},
									"CreatedTime": {
										"type": "timestamp"
									},
									"SuspendedProcesses": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"ProcessName": {},
												"SuspensionReason": {}
											}
										}
									},
									"PlacementGroup": {},
									"VPCZoneIdentifier": {},
									"EnabledMetrics": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"Metric": {},
												"Granularity": {}
											}
										}
									},
									"Status": {},
									"Tags": {
										"shape": "S2f"
									},
									"TerminationPolicies": {
										"shape": "Sr"
									},
									"NewInstancesProtectedFromScaleIn": {
										"type": "boolean"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeAutoScalingInstances": {
				"input": {
					"type": "structure",
					"members": {
						"InstanceIds": {
							"shape": "S2"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeAutoScalingInstancesResult",
					"type": "structure",
					"members": {
						"AutoScalingInstances": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"InstanceId",
									"AutoScalingGroupName",
									"AvailabilityZone",
									"LifecycleState",
									"HealthStatus",
									"LaunchConfigurationName",
									"ProtectedFromScaleIn"
								],
								"members": {
									"InstanceId": {},
									"AutoScalingGroupName": {},
									"AvailabilityZone": {},
									"LifecycleState": {},
									"HealthStatus": {},
									"LaunchConfigurationName": {},
									"ProtectedFromScaleIn": {
										"type": "boolean"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeAutoScalingNotificationTypes": {
				"output": {
					"resultWrapper": "DescribeAutoScalingNotificationTypesResult",
					"type": "structure",
					"members": {
						"AutoScalingNotificationTypes": {
							"shape": "S2m"
						}
					}
				}
			},
			"DescribeLaunchConfigurations": {
				"input": {
					"type": "structure",
					"members": {
						"LaunchConfigurationNames": {
							"type": "list",
							"member": {}
						},
						"NextToken": {},
						"MaxRecords": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeLaunchConfigurationsResult",
					"type": "structure",
					"required": [
						"LaunchConfigurations"
					],
					"members": {
						"LaunchConfigurations": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"LaunchConfigurationName",
									"ImageId",
									"InstanceType",
									"CreatedTime"
								],
								"members": {
									"LaunchConfigurationName": {},
									"LaunchConfigurationARN": {},
									"ImageId": {},
									"KeyName": {},
									"SecurityGroups": {
										"shape": "S11"
									},
									"ClassicLinkVPCId": {},
									"ClassicLinkVPCSecurityGroups": {
										"shape": "S12"
									},
									"UserData": {},
									"InstanceType": {},
									"KernelId": {},
									"RamdiskId": {},
									"BlockDeviceMappings": {
										"shape": "S14"
									},
									"InstanceMonitoring": {
										"shape": "S1d"
									},
									"SpotPrice": {},
									"IamInstanceProfile": {},
									"CreatedTime": {
										"type": "timestamp"
									},
									"EbsOptimized": {
										"type": "boolean"
									},
									"AssociatePublicIpAddress": {
										"type": "boolean"
									},
									"PlacementTenancy": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeLifecycleHookTypes": {
				"output": {
					"resultWrapper": "DescribeLifecycleHookTypesResult",
					"type": "structure",
					"members": {
						"LifecycleHookTypes": {
							"shape": "S2m"
						}
					}
				}
			},
			"DescribeLifecycleHooks": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName"
					],
					"members": {
						"AutoScalingGroupName": {},
						"LifecycleHookNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeLifecycleHooksResult",
					"type": "structure",
					"members": {
						"LifecycleHooks": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"LifecycleHookName": {},
									"AutoScalingGroupName": {},
									"LifecycleTransition": {},
									"NotificationTargetARN": {},
									"RoleARN": {},
									"NotificationMetadata": {},
									"HeartbeatTimeout": {
										"type": "integer"
									},
									"GlobalTimeout": {
										"type": "integer"
									},
									"DefaultResult": {}
								}
							}
						}
					}
				}
			},
			"DescribeLoadBalancerTargetGroups": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName"
					],
					"members": {
						"AutoScalingGroupName": {},
						"NextToken": {},
						"MaxRecords": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeLoadBalancerTargetGroupsResult",
					"type": "structure",
					"members": {
						"LoadBalancerTargetGroups": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"LoadBalancerTargetGroupARN": {},
									"State": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeLoadBalancers": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName"
					],
					"members": {
						"AutoScalingGroupName": {},
						"NextToken": {},
						"MaxRecords": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeLoadBalancersResult",
					"type": "structure",
					"members": {
						"LoadBalancers": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"LoadBalancerName": {},
									"State": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeMetricCollectionTypes": {
				"output": {
					"resultWrapper": "DescribeMetricCollectionTypesResult",
					"type": "structure",
					"members": {
						"Metrics": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Metric": {}
								}
							}
						},
						"Granularities": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Granularity": {}
								}
							}
						}
					}
				}
			},
			"DescribeNotificationConfigurations": {
				"input": {
					"type": "structure",
					"members": {
						"AutoScalingGroupNames": {
							"shape": "S22"
						},
						"NextToken": {},
						"MaxRecords": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeNotificationConfigurationsResult",
					"type": "structure",
					"required": [
						"NotificationConfigurations"
					],
					"members": {
						"NotificationConfigurations": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AutoScalingGroupName": {},
									"TopicARN": {},
									"NotificationType": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribePolicies": {
				"input": {
					"type": "structure",
					"members": {
						"AutoScalingGroupName": {},
						"PolicyNames": {
							"type": "list",
							"member": {}
						},
						"PolicyTypes": {
							"type": "list",
							"member": {}
						},
						"NextToken": {},
						"MaxRecords": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribePoliciesResult",
					"type": "structure",
					"members": {
						"ScalingPolicies": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AutoScalingGroupName": {},
									"PolicyName": {},
									"PolicyARN": {},
									"PolicyType": {},
									"AdjustmentType": {},
									"MinAdjustmentStep": {
										"shape": "S3p"
									},
									"MinAdjustmentMagnitude": {
										"type": "integer"
									},
									"ScalingAdjustment": {
										"type": "integer"
									},
									"Cooldown": {
										"type": "integer"
									},
									"StepAdjustments": {
										"shape": "S3s"
									},
									"MetricAggregationType": {},
									"EstimatedInstanceWarmup": {
										"type": "integer"
									},
									"Alarms": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"AlarmName": {},
												"AlarmARN": {}
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeScalingActivities": {
				"input": {
					"type": "structure",
					"members": {
						"ActivityIds": {
							"type": "list",
							"member": {}
						},
						"AutoScalingGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeScalingActivitiesResult",
					"type": "structure",
					"required": [
						"Activities"
					],
					"members": {
						"Activities": {
							"shape": "S41"
						},
						"NextToken": {}
					}
				}
			},
			"DescribeScalingProcessTypes": {
				"output": {
					"resultWrapper": "DescribeScalingProcessTypesResult",
					"type": "structure",
					"members": {
						"Processes": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"ProcessName"
								],
								"members": {
									"ProcessName": {}
								}
							}
						}
					}
				}
			},
			"DescribeScheduledActions": {
				"input": {
					"type": "structure",
					"members": {
						"AutoScalingGroupName": {},
						"ScheduledActionNames": {
							"type": "list",
							"member": {}
						},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"NextToken": {},
						"MaxRecords": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeScheduledActionsResult",
					"type": "structure",
					"members": {
						"ScheduledUpdateGroupActions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AutoScalingGroupName": {},
									"ScheduledActionName": {},
									"ScheduledActionARN": {},
									"Time": {
										"type": "timestamp"
									},
									"StartTime": {
										"type": "timestamp"
									},
									"EndTime": {
										"type": "timestamp"
									},
									"Recurrence": {},
									"MinSize": {
										"type": "integer"
									},
									"MaxSize": {
										"type": "integer"
									},
									"DesiredCapacity": {
										"type": "integer"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeTags": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"Values": {
										"type": "list",
										"member": {}
									}
								}
							}
						},
						"NextToken": {},
						"MaxRecords": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeTagsResult",
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "S2f"
						},
						"NextToken": {}
					}
				}
			},
			"DescribeTerminationPolicyTypes": {
				"output": {
					"resultWrapper": "DescribeTerminationPolicyTypesResult",
					"type": "structure",
					"members": {
						"TerminationPolicyTypes": {
							"shape": "Sr"
						}
					}
				}
			},
			"DetachInstances": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"ShouldDecrementDesiredCapacity"
					],
					"members": {
						"InstanceIds": {
							"shape": "S2"
						},
						"AutoScalingGroupName": {},
						"ShouldDecrementDesiredCapacity": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DetachInstancesResult",
					"type": "structure",
					"members": {
						"Activities": {
							"shape": "S41"
						}
					}
				}
			},
			"DetachLoadBalancerTargetGroups": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"TargetGroupARNs"
					],
					"members": {
						"AutoScalingGroupName": {},
						"TargetGroupARNs": {
							"shape": "S6"
						}
					}
				},
				"output": {
					"resultWrapper": "DetachLoadBalancerTargetGroupsResult",
					"type": "structure",
					"members": {}
				}
			},
			"DetachLoadBalancers": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"LoadBalancerNames"
					],
					"members": {
						"AutoScalingGroupName": {},
						"LoadBalancerNames": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "DetachLoadBalancersResult",
					"type": "structure",
					"members": {}
				}
			},
			"DisableMetricsCollection": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName"
					],
					"members": {
						"AutoScalingGroupName": {},
						"Metrics": {
							"shape": "S4r"
						}
					}
				}
			},
			"EnableMetricsCollection": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"Granularity"
					],
					"members": {
						"AutoScalingGroupName": {},
						"Metrics": {
							"shape": "S4r"
						},
						"Granularity": {}
					}
				}
			},
			"EnterStandby": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"ShouldDecrementDesiredCapacity"
					],
					"members": {
						"InstanceIds": {
							"shape": "S2"
						},
						"AutoScalingGroupName": {},
						"ShouldDecrementDesiredCapacity": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "EnterStandbyResult",
					"type": "structure",
					"members": {
						"Activities": {
							"shape": "S41"
						}
					}
				}
			},
			"ExecutePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyName"
					],
					"members": {
						"AutoScalingGroupName": {},
						"PolicyName": {},
						"HonorCooldown": {
							"type": "boolean"
						},
						"MetricValue": {
							"type": "double"
						},
						"BreachThreshold": {
							"type": "double"
						}
					}
				}
			},
			"ExitStandby": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName"
					],
					"members": {
						"InstanceIds": {
							"shape": "S2"
						},
						"AutoScalingGroupName": {}
					}
				},
				"output": {
					"resultWrapper": "ExitStandbyResult",
					"type": "structure",
					"members": {
						"Activities": {
							"shape": "S41"
						}
					}
				}
			},
			"PutLifecycleHook": {
				"input": {
					"type": "structure",
					"required": [
						"LifecycleHookName",
						"AutoScalingGroupName"
					],
					"members": {
						"LifecycleHookName": {},
						"AutoScalingGroupName": {},
						"LifecycleTransition": {},
						"RoleARN": {},
						"NotificationTargetARN": {},
						"NotificationMetadata": {},
						"HeartbeatTimeout": {
							"type": "integer"
						},
						"DefaultResult": {}
					}
				},
				"output": {
					"resultWrapper": "PutLifecycleHookResult",
					"type": "structure",
					"members": {}
				}
			},
			"PutNotificationConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"TopicARN",
						"NotificationTypes"
					],
					"members": {
						"AutoScalingGroupName": {},
						"TopicARN": {},
						"NotificationTypes": {
							"shape": "S2m"
						}
					}
				}
			},
			"PutScalingPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"PolicyName",
						"AdjustmentType"
					],
					"members": {
						"AutoScalingGroupName": {},
						"PolicyName": {},
						"PolicyType": {},
						"AdjustmentType": {},
						"MinAdjustmentStep": {
							"shape": "S3p"
						},
						"MinAdjustmentMagnitude": {
							"type": "integer"
						},
						"ScalingAdjustment": {
							"type": "integer"
						},
						"Cooldown": {
							"type": "integer"
						},
						"MetricAggregationType": {},
						"StepAdjustments": {
							"shape": "S3s"
						},
						"EstimatedInstanceWarmup": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "PutScalingPolicyResult",
					"type": "structure",
					"members": {
						"PolicyARN": {}
					}
				}
			},
			"PutScheduledUpdateGroupAction": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"ScheduledActionName"
					],
					"members": {
						"AutoScalingGroupName": {},
						"ScheduledActionName": {},
						"Time": {
							"type": "timestamp"
						},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Recurrence": {},
						"MinSize": {
							"type": "integer"
						},
						"MaxSize": {
							"type": "integer"
						},
						"DesiredCapacity": {
							"type": "integer"
						}
					}
				}
			},
			"RecordLifecycleActionHeartbeat": {
				"input": {
					"type": "structure",
					"required": [
						"LifecycleHookName",
						"AutoScalingGroupName"
					],
					"members": {
						"LifecycleHookName": {},
						"AutoScalingGroupName": {},
						"LifecycleActionToken": {},
						"InstanceId": {}
					}
				},
				"output": {
					"resultWrapper": "RecordLifecycleActionHeartbeatResult",
					"type": "structure",
					"members": {}
				}
			},
			"ResumeProcesses": {
				"input": {
					"shape": "S58"
				}
			},
			"SetDesiredCapacity": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName",
						"DesiredCapacity"
					],
					"members": {
						"AutoScalingGroupName": {},
						"DesiredCapacity": {
							"type": "integer"
						},
						"HonorCooldown": {
							"type": "boolean"
						}
					}
				}
			},
			"SetInstanceHealth": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId",
						"HealthStatus"
					],
					"members": {
						"InstanceId": {},
						"HealthStatus": {},
						"ShouldRespectGracePeriod": {
							"type": "boolean"
						}
					}
				}
			},
			"SetInstanceProtection": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceIds",
						"AutoScalingGroupName",
						"ProtectedFromScaleIn"
					],
					"members": {
						"InstanceIds": {
							"shape": "S2"
						},
						"AutoScalingGroupName": {},
						"ProtectedFromScaleIn": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "SetInstanceProtectionResult",
					"type": "structure",
					"members": {}
				}
			},
			"SuspendProcesses": {
				"input": {
					"shape": "S58"
				}
			},
			"TerminateInstanceInAutoScalingGroup": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId",
						"ShouldDecrementDesiredCapacity"
					],
					"members": {
						"InstanceId": {},
						"ShouldDecrementDesiredCapacity": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "TerminateInstanceInAutoScalingGroupResult",
					"type": "structure",
					"members": {
						"Activity": {
							"shape": "S42"
						}
					}
				}
			},
			"UpdateAutoScalingGroup": {
				"input": {
					"type": "structure",
					"required": [
						"AutoScalingGroupName"
					],
					"members": {
						"AutoScalingGroupName": {},
						"LaunchConfigurationName": {},
						"MinSize": {
							"type": "integer"
						},
						"MaxSize": {
							"type": "integer"
						},
						"DesiredCapacity": {
							"type": "integer"
						},
						"DefaultCooldown": {
							"type": "integer"
						},
						"AvailabilityZones": {
							"shape": "Sn"
						},
						"HealthCheckType": {},
						"HealthCheckGracePeriod": {
							"type": "integer"
						},
						"PlacementGroup": {},
						"VPCZoneIdentifier": {},
						"TerminationPolicies": {
							"shape": "Sr"
						},
						"NewInstancesProtectedFromScaleIn": {
							"type": "boolean"
						}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "list",
				"member": {}
			},
			"S6": {
				"type": "list",
				"member": {}
			},
			"Sa": {
				"type": "list",
				"member": {}
			},
			"Sn": {
				"type": "list",
				"member": {}
			},
			"Sr": {
				"type": "list",
				"member": {}
			},
			"Su": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key"
					],
					"members": {
						"ResourceId": {},
						"ResourceType": {},
						"Key": {},
						"Value": {},
						"PropagateAtLaunch": {
							"type": "boolean"
						}
					}
				}
			},
			"S11": {
				"type": "list",
				"member": {}
			},
			"S12": {
				"type": "list",
				"member": {}
			},
			"S14": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"DeviceName"
					],
					"members": {
						"VirtualName": {},
						"DeviceName": {},
						"Ebs": {
							"type": "structure",
							"members": {
								"SnapshotId": {},
								"VolumeSize": {
									"type": "integer"
								},
								"VolumeType": {},
								"DeleteOnTermination": {
									"type": "boolean"
								},
								"Iops": {
									"type": "integer"
								},
								"Encrypted": {
									"type": "boolean"
								}
							}
						},
						"NoDevice": {
							"type": "boolean"
						}
					}
				}
			},
			"S1d": {
				"type": "structure",
				"members": {
					"Enabled": {
						"type": "boolean"
					}
				}
			},
			"S22": {
				"type": "list",
				"member": {}
			},
			"S2f": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ResourceId": {},
						"ResourceType": {},
						"Key": {},
						"Value": {},
						"PropagateAtLaunch": {
							"type": "boolean"
						}
					}
				}
			},
			"S2m": {
				"type": "list",
				"member": {}
			},
			"S3p": {
				"type": "integer",
				"deprecated": true
			},
			"S3s": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"ScalingAdjustment"
					],
					"members": {
						"MetricIntervalLowerBound": {
							"type": "double"
						},
						"MetricIntervalUpperBound": {
							"type": "double"
						},
						"ScalingAdjustment": {
							"type": "integer"
						}
					}
				}
			},
			"S41": {
				"type": "list",
				"member": {
					"shape": "S42"
				}
			},
			"S42": {
				"type": "structure",
				"required": [
					"ActivityId",
					"AutoScalingGroupName",
					"Cause",
					"StartTime",
					"StatusCode"
				],
				"members": {
					"ActivityId": {},
					"AutoScalingGroupName": {},
					"Description": {},
					"Cause": {},
					"StartTime": {
						"type": "timestamp"
					},
					"EndTime": {
						"type": "timestamp"
					},
					"StatusCode": {},
					"StatusMessage": {},
					"Progress": {
						"type": "integer"
					},
					"Details": {}
				}
			},
			"S4r": {
				"type": "list",
				"member": {}
			},
			"S58": {
				"type": "structure",
				"required": [
					"AutoScalingGroupName"
				],
				"members": {
					"AutoScalingGroupName": {},
					"ScalingProcesses": {
						"type": "list",
						"member": {}
					}
				}
			}
		}
	};

/***/ }),
/* 316 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeAutoScalingGroups": {
				"input_token": "NextToken",
				"limit_key": "MaxRecords",
				"output_token": "NextToken",
				"result_key": "AutoScalingGroups"
			},
			"DescribeAutoScalingInstances": {
				"input_token": "NextToken",
				"limit_key": "MaxRecords",
				"output_token": "NextToken",
				"result_key": "AutoScalingInstances"
			},
			"DescribeLaunchConfigurations": {
				"input_token": "NextToken",
				"limit_key": "MaxRecords",
				"output_token": "NextToken",
				"result_key": "LaunchConfigurations"
			},
			"DescribeNotificationConfigurations": {
				"input_token": "NextToken",
				"limit_key": "MaxRecords",
				"output_token": "NextToken",
				"result_key": "NotificationConfigurations"
			},
			"DescribePolicies": {
				"input_token": "NextToken",
				"limit_key": "MaxRecords",
				"output_token": "NextToken",
				"result_key": "ScalingPolicies"
			},
			"DescribeScalingActivities": {
				"input_token": "NextToken",
				"limit_key": "MaxRecords",
				"output_token": "NextToken",
				"result_key": "Activities"
			},
			"DescribeScheduledActions": {
				"input_token": "NextToken",
				"limit_key": "MaxRecords",
				"output_token": "NextToken",
				"result_key": "ScheduledUpdateGroupActions"
			},
			"DescribeTags": {
				"input_token": "NextToken",
				"limit_key": "MaxRecords",
				"output_token": "NextToken",
				"result_key": "Tags"
			}
		}
	};

/***/ }),
/* 317 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['batch'] = {};
	AWS.Batch = Service.defineService('batch', ['2016-08-10']);
	Object.defineProperty(apiLoader.services['batch'], '2016-08-10', {
	  get: function get() {
	    var model = __webpack_require__(318);
	    model.paginators = __webpack_require__(319).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Batch;


/***/ }),
/* 318 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-08-10",
			"endpointPrefix": "batch",
			"jsonVersion": "1.1",
			"protocol": "rest-json",
			"serviceAbbreviation": "AWS Batch",
			"serviceFullName": "AWS Batch",
			"signatureVersion": "v4",
			"uid": "batch-2016-08-10"
		},
		"operations": {
			"CancelJob": {
				"http": {
					"requestUri": "/v1/canceljob"
				},
				"input": {
					"type": "structure",
					"required": [
						"jobId",
						"reason"
					],
					"members": {
						"jobId": {},
						"reason": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateComputeEnvironment": {
				"http": {
					"requestUri": "/v1/createcomputeenvironment"
				},
				"input": {
					"type": "structure",
					"required": [
						"computeEnvironmentName",
						"type",
						"serviceRole"
					],
					"members": {
						"computeEnvironmentName": {},
						"type": {},
						"state": {},
						"computeResources": {
							"shape": "S7"
						},
						"serviceRole": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"computeEnvironmentName": {},
						"computeEnvironmentArn": {}
					}
				}
			},
			"CreateJobQueue": {
				"http": {
					"requestUri": "/v1/createjobqueue"
				},
				"input": {
					"type": "structure",
					"required": [
						"jobQueueName",
						"priority",
						"computeEnvironmentOrder"
					],
					"members": {
						"jobQueueName": {},
						"state": {},
						"priority": {
							"type": "integer"
						},
						"computeEnvironmentOrder": {
							"shape": "Sf"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"jobQueueName",
						"jobQueueArn"
					],
					"members": {
						"jobQueueName": {},
						"jobQueueArn": {}
					}
				}
			},
			"DeleteComputeEnvironment": {
				"http": {
					"requestUri": "/v1/deletecomputeenvironment"
				},
				"input": {
					"type": "structure",
					"required": [
						"computeEnvironment"
					],
					"members": {
						"computeEnvironment": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteJobQueue": {
				"http": {
					"requestUri": "/v1/deletejobqueue"
				},
				"input": {
					"type": "structure",
					"required": [
						"jobQueue"
					],
					"members": {
						"jobQueue": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeregisterJobDefinition": {
				"http": {
					"requestUri": "/v1/deregisterjobdefinition"
				},
				"input": {
					"type": "structure",
					"required": [
						"jobDefinition"
					],
					"members": {
						"jobDefinition": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeComputeEnvironments": {
				"http": {
					"requestUri": "/v1/describecomputeenvironments"
				},
				"input": {
					"type": "structure",
					"members": {
						"computeEnvironments": {
							"shape": "Sa"
						},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"computeEnvironments": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"computeEnvironmentName",
									"computeEnvironmentArn",
									"ecsClusterArn"
								],
								"members": {
									"computeEnvironmentName": {},
									"computeEnvironmentArn": {},
									"ecsClusterArn": {},
									"type": {},
									"state": {},
									"status": {},
									"statusReason": {},
									"computeResources": {
										"shape": "S7"
									},
									"serviceRole": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"DescribeJobDefinitions": {
				"http": {
					"requestUri": "/v1/describejobdefinitions"
				},
				"input": {
					"type": "structure",
					"members": {
						"jobDefinitions": {
							"shape": "Sa"
						},
						"maxResults": {
							"type": "integer"
						},
						"jobDefinitionName": {},
						"status": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"jobDefinitions": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"jobDefinitionName",
									"jobDefinitionArn",
									"revision",
									"type"
								],
								"members": {
									"jobDefinitionName": {},
									"jobDefinitionArn": {},
									"revision": {
										"type": "integer"
									},
									"status": {},
									"type": {},
									"parameters": {
										"shape": "Sx"
									},
									"retryStrategy": {
										"shape": "Sy"
									},
									"containerProperties": {
										"shape": "Sz"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"DescribeJobQueues": {
				"http": {
					"requestUri": "/v1/describejobqueues"
				},
				"input": {
					"type": "structure",
					"members": {
						"jobQueues": {
							"shape": "Sa"
						},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"jobQueues": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"jobQueueName",
									"jobQueueArn",
									"state",
									"priority",
									"computeEnvironmentOrder"
								],
								"members": {
									"jobQueueName": {},
									"jobQueueArn": {},
									"state": {},
									"status": {},
									"statusReason": {},
									"priority": {
										"type": "integer"
									},
									"computeEnvironmentOrder": {
										"shape": "Sf"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"DescribeJobs": {
				"http": {
					"requestUri": "/v1/describejobs"
				},
				"input": {
					"type": "structure",
					"required": [
						"jobs"
					],
					"members": {
						"jobs": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"jobs": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"jobName",
									"jobId",
									"jobQueue",
									"status",
									"startedAt",
									"jobDefinition"
								],
								"members": {
									"jobName": {},
									"jobId": {},
									"jobQueue": {},
									"status": {},
									"attempts": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"container": {
													"type": "structure",
													"members": {
														"containerInstanceArn": {},
														"taskArn": {},
														"exitCode": {
															"type": "integer"
														},
														"reason": {}
													}
												},
												"startedAt": {
													"type": "long"
												},
												"stoppedAt": {
													"type": "long"
												},
												"statusReason": {}
											}
										}
									},
									"statusReason": {},
									"createdAt": {
										"type": "long"
									},
									"retryStrategy": {
										"shape": "Sy"
									},
									"startedAt": {
										"type": "long"
									},
									"stoppedAt": {
										"type": "long"
									},
									"dependsOn": {
										"shape": "S1o"
									},
									"jobDefinition": {},
									"parameters": {
										"shape": "Sx"
									},
									"container": {
										"type": "structure",
										"members": {
											"image": {},
											"vcpus": {
												"type": "integer"
											},
											"memory": {
												"type": "integer"
											},
											"command": {
												"shape": "Sa"
											},
											"jobRoleArn": {},
											"volumes": {
												"shape": "S10"
											},
											"environment": {
												"shape": "S13"
											},
											"mountPoints": {
												"shape": "S15"
											},
											"readonlyRootFilesystem": {
												"type": "boolean"
											},
											"ulimits": {
												"shape": "S18"
											},
											"privileged": {
												"type": "boolean"
											},
											"user": {},
											"exitCode": {
												"type": "integer"
											},
											"reason": {},
											"containerInstanceArn": {},
											"taskArn": {}
										}
									}
								}
							}
						}
					}
				}
			},
			"ListJobs": {
				"http": {
					"requestUri": "/v1/listjobs"
				},
				"input": {
					"type": "structure",
					"required": [
						"jobQueue"
					],
					"members": {
						"jobQueue": {},
						"jobStatus": {},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"jobSummaryList"
					],
					"members": {
						"jobSummaryList": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"jobId",
									"jobName"
								],
								"members": {
									"jobId": {},
									"jobName": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"RegisterJobDefinition": {
				"http": {
					"requestUri": "/v1/registerjobdefinition"
				},
				"input": {
					"type": "structure",
					"required": [
						"jobDefinitionName",
						"type"
					],
					"members": {
						"jobDefinitionName": {},
						"type": {},
						"parameters": {
							"shape": "Sx"
						},
						"containerProperties": {
							"shape": "Sz"
						},
						"retryStrategy": {
							"shape": "Sy"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"jobDefinitionName",
						"jobDefinitionArn",
						"revision"
					],
					"members": {
						"jobDefinitionName": {},
						"jobDefinitionArn": {},
						"revision": {
							"type": "integer"
						}
					}
				}
			},
			"SubmitJob": {
				"http": {
					"requestUri": "/v1/submitjob"
				},
				"input": {
					"type": "structure",
					"required": [
						"jobName",
						"jobQueue",
						"jobDefinition"
					],
					"members": {
						"jobName": {},
						"jobQueue": {},
						"dependsOn": {
							"shape": "S1o"
						},
						"jobDefinition": {},
						"parameters": {
							"shape": "Sx"
						},
						"containerOverrides": {
							"type": "structure",
							"members": {
								"vcpus": {
									"type": "integer"
								},
								"memory": {
									"type": "integer"
								},
								"command": {
									"shape": "Sa"
								},
								"environment": {
									"shape": "S13"
								}
							}
						},
						"retryStrategy": {
							"shape": "Sy"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"jobName",
						"jobId"
					],
					"members": {
						"jobName": {},
						"jobId": {}
					}
				}
			},
			"TerminateJob": {
				"http": {
					"requestUri": "/v1/terminatejob"
				},
				"input": {
					"type": "structure",
					"required": [
						"jobId",
						"reason"
					],
					"members": {
						"jobId": {},
						"reason": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateComputeEnvironment": {
				"http": {
					"requestUri": "/v1/updatecomputeenvironment"
				},
				"input": {
					"type": "structure",
					"required": [
						"computeEnvironment"
					],
					"members": {
						"computeEnvironment": {},
						"state": {},
						"computeResources": {
							"type": "structure",
							"members": {
								"minvCpus": {
									"type": "integer"
								},
								"maxvCpus": {
									"type": "integer"
								},
								"desiredvCpus": {
									"type": "integer"
								}
							}
						},
						"serviceRole": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"computeEnvironmentName": {},
						"computeEnvironmentArn": {}
					}
				}
			},
			"UpdateJobQueue": {
				"http": {
					"requestUri": "/v1/updatejobqueue"
				},
				"input": {
					"type": "structure",
					"required": [
						"jobQueue"
					],
					"members": {
						"jobQueue": {},
						"state": {},
						"priority": {
							"type": "integer"
						},
						"computeEnvironmentOrder": {
							"shape": "Sf"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"jobQueueName": {},
						"jobQueueArn": {}
					}
				}
			}
		},
		"shapes": {
			"S7": {
				"type": "structure",
				"required": [
					"type",
					"minvCpus",
					"maxvCpus",
					"instanceTypes",
					"subnets",
					"securityGroupIds",
					"instanceRole"
				],
				"members": {
					"type": {},
					"minvCpus": {
						"type": "integer"
					},
					"maxvCpus": {
						"type": "integer"
					},
					"desiredvCpus": {
						"type": "integer"
					},
					"instanceTypes": {
						"shape": "Sa"
					},
					"imageId": {},
					"subnets": {
						"shape": "Sa"
					},
					"securityGroupIds": {
						"shape": "Sa"
					},
					"ec2KeyPair": {},
					"instanceRole": {},
					"tags": {
						"type": "map",
						"key": {},
						"value": {}
					},
					"bidPercentage": {
						"type": "integer"
					},
					"spotIamFleetRole": {}
				}
			},
			"Sa": {
				"type": "list",
				"member": {}
			},
			"Sf": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"order",
						"computeEnvironment"
					],
					"members": {
						"order": {
							"type": "integer"
						},
						"computeEnvironment": {}
					}
				}
			},
			"Sx": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"Sy": {
				"type": "structure",
				"members": {
					"attempts": {
						"type": "integer"
					}
				}
			},
			"Sz": {
				"type": "structure",
				"required": [
					"image",
					"vcpus",
					"memory"
				],
				"members": {
					"image": {},
					"vcpus": {
						"type": "integer"
					},
					"memory": {
						"type": "integer"
					},
					"command": {
						"shape": "Sa"
					},
					"jobRoleArn": {},
					"volumes": {
						"shape": "S10"
					},
					"environment": {
						"shape": "S13"
					},
					"mountPoints": {
						"shape": "S15"
					},
					"readonlyRootFilesystem": {
						"type": "boolean"
					},
					"privileged": {
						"type": "boolean"
					},
					"ulimits": {
						"shape": "S18"
					},
					"user": {}
				}
			},
			"S10": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"host": {
							"type": "structure",
							"members": {
								"sourcePath": {}
							}
						},
						"name": {}
					}
				}
			},
			"S13": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"name": {},
						"value": {}
					}
				}
			},
			"S15": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"containerPath": {},
						"readOnly": {
							"type": "boolean"
						},
						"sourceVolume": {}
					}
				}
			},
			"S18": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"hardLimit",
						"name",
						"softLimit"
					],
					"members": {
						"hardLimit": {
							"type": "integer"
						},
						"name": {},
						"softLimit": {
							"type": "integer"
						}
					}
				}
			},
			"S1o": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"jobId": {}
					}
				}
			}
		}
	};

/***/ }),
/* 319 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 320 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['budgets'] = {};
	AWS.Budgets = Service.defineService('budgets', ['2016-10-20']);
	Object.defineProperty(apiLoader.services['budgets'], '2016-10-20', {
	  get: function get() {
	    var model = __webpack_require__(321);
	    model.paginators = __webpack_require__(322).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Budgets;


/***/ }),
/* 321 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-10-20",
			"endpointPrefix": "budgets",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "AWSBudgets",
			"serviceFullName": "AWS Budgets",
			"signatureVersion": "v4",
			"targetPrefix": "AWSBudgetServiceGateway",
			"uid": "budgets-2016-10-20"
		},
		"operations": {
			"CreateBudget": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"Budget"
					],
					"members": {
						"AccountId": {},
						"Budget": {
							"shape": "S3"
						},
						"NotificationsWithSubscribers": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Notification",
									"Subscribers"
								],
								"members": {
									"Notification": {
										"shape": "Sj"
									},
									"Subscribers": {
										"shape": "Sn"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateNotification": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"BudgetName",
						"Notification",
						"Subscribers"
					],
					"members": {
						"AccountId": {},
						"BudgetName": {},
						"Notification": {
							"shape": "Sj"
						},
						"Subscribers": {
							"shape": "Sn"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateSubscriber": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"BudgetName",
						"Notification",
						"Subscriber"
					],
					"members": {
						"AccountId": {},
						"BudgetName": {},
						"Notification": {
							"shape": "Sj"
						},
						"Subscriber": {
							"shape": "So"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteBudget": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"BudgetName"
					],
					"members": {
						"AccountId": {},
						"BudgetName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteNotification": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"BudgetName",
						"Notification"
					],
					"members": {
						"AccountId": {},
						"BudgetName": {},
						"Notification": {
							"shape": "Sj"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteSubscriber": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"BudgetName",
						"Notification",
						"Subscriber"
					],
					"members": {
						"AccountId": {},
						"BudgetName": {},
						"Notification": {
							"shape": "Sj"
						},
						"Subscriber": {
							"shape": "So"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeBudget": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"BudgetName"
					],
					"members": {
						"AccountId": {},
						"BudgetName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Budget": {
							"shape": "S3"
						}
					}
				}
			},
			"DescribeBudgets": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId"
					],
					"members": {
						"AccountId": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Budgets": {
							"type": "list",
							"member": {
								"shape": "S3"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeNotificationsForBudget": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"BudgetName"
					],
					"members": {
						"AccountId": {},
						"BudgetName": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Notifications": {
							"type": "list",
							"member": {
								"shape": "Sj"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeSubscribersForNotification": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"BudgetName",
						"Notification"
					],
					"members": {
						"AccountId": {},
						"BudgetName": {},
						"Notification": {
							"shape": "Sj"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Subscribers": {
							"shape": "Sn"
						},
						"NextToken": {}
					}
				}
			},
			"UpdateBudget": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"NewBudget"
					],
					"members": {
						"AccountId": {},
						"NewBudget": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateNotification": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"BudgetName",
						"OldNotification",
						"NewNotification"
					],
					"members": {
						"AccountId": {},
						"BudgetName": {},
						"OldNotification": {
							"shape": "Sj"
						},
						"NewNotification": {
							"shape": "Sj"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateSubscriber": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"BudgetName",
						"Notification",
						"OldSubscriber",
						"NewSubscriber"
					],
					"members": {
						"AccountId": {},
						"BudgetName": {},
						"Notification": {
							"shape": "Sj"
						},
						"OldSubscriber": {
							"shape": "So"
						},
						"NewSubscriber": {
							"shape": "So"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "structure",
				"required": [
					"BudgetName",
					"BudgetLimit",
					"CostTypes",
					"TimeUnit",
					"TimePeriod",
					"BudgetType"
				],
				"members": {
					"BudgetName": {},
					"BudgetLimit": {
						"shape": "S5"
					},
					"CostFilters": {
						"type": "map",
						"key": {},
						"value": {
							"type": "list",
							"member": {}
						}
					},
					"CostTypes": {
						"type": "structure",
						"required": [
							"IncludeTax",
							"IncludeSubscription",
							"UseBlended"
						],
						"members": {
							"IncludeTax": {
								"type": "boolean"
							},
							"IncludeSubscription": {
								"type": "boolean"
							},
							"UseBlended": {
								"type": "boolean"
							}
						}
					},
					"TimeUnit": {},
					"TimePeriod": {
						"type": "structure",
						"required": [
							"Start",
							"End"
						],
						"members": {
							"Start": {
								"type": "timestamp"
							},
							"End": {
								"type": "timestamp"
							}
						}
					},
					"CalculatedSpend": {
						"type": "structure",
						"required": [
							"ActualSpend"
						],
						"members": {
							"ActualSpend": {
								"shape": "S5"
							},
							"ForecastedSpend": {
								"shape": "S5"
							}
						}
					},
					"BudgetType": {}
				}
			},
			"S5": {
				"type": "structure",
				"required": [
					"Amount",
					"Unit"
				],
				"members": {
					"Amount": {},
					"Unit": {}
				}
			},
			"Sj": {
				"type": "structure",
				"required": [
					"NotificationType",
					"ComparisonOperator",
					"Threshold"
				],
				"members": {
					"NotificationType": {},
					"ComparisonOperator": {},
					"Threshold": {
						"type": "double"
					}
				}
			},
			"Sn": {
				"type": "list",
				"member": {
					"shape": "So"
				}
			},
			"So": {
				"type": "structure",
				"required": [
					"SubscriptionType",
					"Address"
				],
				"members": {
					"SubscriptionType": {},
					"Address": {}
				}
			}
		}
	};

/***/ }),
/* 322 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 323 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['clouddirectory'] = {};
	AWS.CloudDirectory = Service.defineService('clouddirectory', ['2016-05-10']);
	Object.defineProperty(apiLoader.services['clouddirectory'], '2016-05-10', {
	  get: function get() {
	    var model = __webpack_require__(324);
	    model.paginators = __webpack_require__(325).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CloudDirectory;


/***/ }),
/* 324 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-05-10",
			"endpointPrefix": "clouddirectory",
			"protocol": "rest-json",
			"serviceFullName": "Amazon CloudDirectory",
			"signatureVersion": "v4",
			"signingName": "clouddirectory",
			"uid": "clouddirectory-2016-05-10"
		},
		"operations": {
			"AddFacetToObject": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/object/facets",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"SchemaFacet",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"SchemaFacet": {
							"shape": "S3"
						},
						"ObjectAttributeList": {
							"shape": "S5"
						},
						"ObjectReference": {
							"shape": "Sf"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ApplySchema": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/schema/apply",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"PublishedSchemaArn",
						"DirectoryArn"
					],
					"members": {
						"PublishedSchemaArn": {},
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AppliedSchemaArn": {},
						"DirectoryArn": {}
					}
				}
			},
			"AttachObject": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/object/attach",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ParentReference",
						"ChildReference",
						"LinkName"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ParentReference": {
							"shape": "Sf"
						},
						"ChildReference": {
							"shape": "Sf"
						},
						"LinkName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AttachedObjectIdentifier": {}
					}
				}
			},
			"AttachPolicy": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/policy/attach",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"PolicyReference",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"PolicyReference": {
							"shape": "Sf"
						},
						"ObjectReference": {
							"shape": "Sf"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AttachToIndex": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/index/attach",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"IndexReference",
						"TargetReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"IndexReference": {
							"shape": "Sf"
						},
						"TargetReference": {
							"shape": "Sf"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AttachedObjectIdentifier": {}
					}
				}
			},
			"AttachTypedLink": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/typedlink/attach",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"SourceObjectReference",
						"TargetObjectReference",
						"TypedLinkFacet",
						"Attributes"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"SourceObjectReference": {
							"shape": "Sf"
						},
						"TargetObjectReference": {
							"shape": "Sf"
						},
						"TypedLinkFacet": {
							"shape": "St"
						},
						"Attributes": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TypedLinkSpecifier": {
							"shape": "Sy"
						}
					}
				}
			},
			"BatchRead": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/batchread",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"Operations"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Operations": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ListObjectAttributes": {
										"type": "structure",
										"required": [
											"ObjectReference"
										],
										"members": {
											"ObjectReference": {
												"shape": "Sf"
											},
											"NextToken": {},
											"MaxResults": {
												"type": "integer"
											},
											"FacetFilter": {
												"shape": "S3"
											}
										}
									},
									"ListObjectChildren": {
										"type": "structure",
										"required": [
											"ObjectReference"
										],
										"members": {
											"ObjectReference": {
												"shape": "Sf"
											},
											"NextToken": {},
											"MaxResults": {
												"type": "integer"
											}
										}
									}
								}
							}
						},
						"ConsistencyLevel": {
							"location": "header",
							"locationName": "x-amz-consistency-level"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Responses": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"SuccessfulResponse": {
										"type": "structure",
										"members": {
											"ListObjectAttributes": {
												"type": "structure",
												"members": {
													"Attributes": {
														"shape": "S5"
													},
													"NextToken": {}
												}
											},
											"ListObjectChildren": {
												"type": "structure",
												"members": {
													"Children": {
														"shape": "S1d"
													},
													"NextToken": {}
												}
											}
										}
									},
									"ExceptionResponse": {
										"type": "structure",
										"members": {
											"Type": {},
											"Message": {}
										}
									}
								}
							}
						}
					}
				}
			},
			"BatchWrite": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/batchwrite",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"Operations"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Operations": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"CreateObject": {
										"type": "structure",
										"required": [
											"SchemaFacet",
											"ObjectAttributeList",
											"ParentReference",
											"LinkName",
											"BatchReferenceName"
										],
										"members": {
											"SchemaFacet": {
												"shape": "S1l"
											},
											"ObjectAttributeList": {
												"shape": "S5"
											},
											"ParentReference": {
												"shape": "Sf"
											},
											"LinkName": {},
											"BatchReferenceName": {}
										}
									},
									"AttachObject": {
										"type": "structure",
										"required": [
											"ParentReference",
											"ChildReference",
											"LinkName"
										],
										"members": {
											"ParentReference": {
												"shape": "Sf"
											},
											"ChildReference": {
												"shape": "Sf"
											},
											"LinkName": {}
										}
									},
									"DetachObject": {
										"type": "structure",
										"required": [
											"ParentReference",
											"LinkName",
											"BatchReferenceName"
										],
										"members": {
											"ParentReference": {
												"shape": "Sf"
											},
											"LinkName": {},
											"BatchReferenceName": {}
										}
									},
									"UpdateObjectAttributes": {
										"type": "structure",
										"required": [
											"ObjectReference",
											"AttributeUpdates"
										],
										"members": {
											"ObjectReference": {
												"shape": "Sf"
											},
											"AttributeUpdates": {
												"shape": "S1q"
											}
										}
									},
									"DeleteObject": {
										"type": "structure",
										"required": [
											"ObjectReference"
										],
										"members": {
											"ObjectReference": {
												"shape": "Sf"
											}
										}
									},
									"AddFacetToObject": {
										"type": "structure",
										"required": [
											"SchemaFacet",
											"ObjectAttributeList",
											"ObjectReference"
										],
										"members": {
											"SchemaFacet": {
												"shape": "S3"
											},
											"ObjectAttributeList": {
												"shape": "S5"
											},
											"ObjectReference": {
												"shape": "Sf"
											}
										}
									},
									"RemoveFacetFromObject": {
										"type": "structure",
										"required": [
											"SchemaFacet",
											"ObjectReference"
										],
										"members": {
											"SchemaFacet": {
												"shape": "S3"
											},
											"ObjectReference": {
												"shape": "Sf"
											}
										}
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Responses": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"CreateObject": {
										"type": "structure",
										"members": {
											"ObjectIdentifier": {}
										}
									},
									"AttachObject": {
										"type": "structure",
										"members": {
											"attachedObjectIdentifier": {}
										}
									},
									"DetachObject": {
										"type": "structure",
										"members": {
											"detachedObjectIdentifier": {}
										}
									},
									"UpdateObjectAttributes": {
										"type": "structure",
										"members": {
											"ObjectIdentifier": {}
										}
									},
									"DeleteObject": {
										"type": "structure",
										"members": {}
									},
									"AddFacetToObject": {
										"type": "structure",
										"members": {}
									},
									"RemoveFacetFromObject": {
										"type": "structure",
										"members": {}
									}
								}
							}
						}
					}
				}
			},
			"CreateDirectory": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/directory/create",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"SchemaArn"
					],
					"members": {
						"Name": {},
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"Name",
						"ObjectIdentifier",
						"AppliedSchemaArn"
					],
					"members": {
						"DirectoryArn": {},
						"Name": {},
						"ObjectIdentifier": {},
						"AppliedSchemaArn": {}
					}
				}
			},
			"CreateFacet": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/facet/create",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Name",
						"ObjectType"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Name": {},
						"Attributes": {
							"shape": "S2c"
						},
						"ObjectType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateIndex": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/index",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"OrderedIndexedAttributeList",
						"IsUnique"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"OrderedIndexedAttributeList": {
							"type": "list",
							"member": {
								"shape": "S7"
							}
						},
						"IsUnique": {
							"type": "boolean"
						},
						"ParentReference": {
							"shape": "Sf"
						},
						"LinkName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ObjectIdentifier": {}
					}
				}
			},
			"CreateObject": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/object",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"SchemaFacets"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"SchemaFacets": {
							"shape": "S1l"
						},
						"ObjectAttributeList": {
							"shape": "S5"
						},
						"ParentReference": {
							"shape": "Sf"
						},
						"LinkName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ObjectIdentifier": {}
					}
				}
			},
			"CreateSchema": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/schema/create",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SchemaArn": {}
					}
				}
			},
			"CreateTypedLinkFacet": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/typedlink/facet/create",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Facet"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Facet": {
							"type": "structure",
							"required": [
								"Name",
								"Attributes",
								"IdentityAttributeOrder"
							],
							"members": {
								"Name": {},
								"Attributes": {
									"shape": "S32"
								},
								"IdentityAttributeOrder": {
									"shape": "S34"
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteDirectory": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/directory",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DirectoryArn"
					],
					"members": {
						"DirectoryArn": {}
					}
				}
			},
			"DeleteFacet": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/facet/delete",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Name"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteObject": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/object/delete",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ObjectReference": {
							"shape": "Sf"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteSchema": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/schema",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SchemaArn": {}
					}
				}
			},
			"DeleteTypedLinkFacet": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/typedlink/facet/delete",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Name"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DetachFromIndex": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/index/detach",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"IndexReference",
						"TargetReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"IndexReference": {
							"shape": "Sf"
						},
						"TargetReference": {
							"shape": "Sf"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DetachedObjectIdentifier": {}
					}
				}
			},
			"DetachObject": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/object/detach",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ParentReference",
						"LinkName"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ParentReference": {
							"shape": "Sf"
						},
						"LinkName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DetachedObjectIdentifier": {}
					}
				}
			},
			"DetachPolicy": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/policy/detach",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"PolicyReference",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"PolicyReference": {
							"shape": "Sf"
						},
						"ObjectReference": {
							"shape": "Sf"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DetachTypedLink": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/typedlink/detach",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"TypedLinkSpecifier"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"TypedLinkSpecifier": {
							"shape": "Sy"
						}
					}
				}
			},
			"DisableDirectory": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/directory/disable",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DirectoryArn"
					],
					"members": {
						"DirectoryArn": {}
					}
				}
			},
			"EnableDirectory": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/directory/enable",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DirectoryArn"
					],
					"members": {
						"DirectoryArn": {}
					}
				}
			},
			"GetDirectory": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/directory/get",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Directory"
					],
					"members": {
						"Directory": {
							"shape": "S3t"
						}
					}
				}
			},
			"GetFacet": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/facet",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Name"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Facet": {
							"type": "structure",
							"members": {
								"Name": {},
								"ObjectType": {}
							}
						}
					}
				}
			},
			"GetObjectInformation": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/object/information",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ObjectReference": {
							"shape": "Sf"
						},
						"ConsistencyLevel": {
							"location": "header",
							"locationName": "x-amz-consistency-level"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SchemaFacets": {
							"shape": "S1l"
						},
						"ObjectIdentifier": {}
					}
				}
			},
			"GetSchemaAsJson": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/schema/json",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Name": {},
						"Document": {}
					}
				}
			},
			"GetTypedLinkFacetInformation": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/typedlink/facet/get",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Name"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityAttributeOrder": {
							"shape": "S34"
						}
					}
				}
			},
			"ListAppliedSchemaArns": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/schema/applied",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn"
					],
					"members": {
						"DirectoryArn": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SchemaArns": {
							"shape": "S48"
						},
						"NextToken": {}
					}
				}
			},
			"ListAttachedIndices": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/object/indices",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"TargetReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"TargetReference": {
							"shape": "Sf"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						},
						"ConsistencyLevel": {
							"location": "header",
							"locationName": "x-amz-consistency-level"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IndexAttachments": {
							"shape": "S4b"
						},
						"NextToken": {}
					}
				}
			},
			"ListDevelopmentSchemaArns": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/schema/development",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SchemaArns": {
							"shape": "S48"
						},
						"NextToken": {}
					}
				}
			},
			"ListDirectories": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/directory/list",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						},
						"state": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Directories"
					],
					"members": {
						"Directories": {
							"type": "list",
							"member": {
								"shape": "S3t"
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListFacetAttributes": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/facet/attributes",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Name"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Name": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "S2c"
						},
						"NextToken": {}
					}
				}
			},
			"ListFacetNames": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/facet/list",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FacetNames": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				}
			},
			"ListIncomingTypedLinks": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/typedlink/incoming",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ObjectReference": {
							"shape": "Sf"
						},
						"FilterAttributeRanges": {
							"shape": "S4o"
						},
						"FilterTypedLink": {
							"shape": "St"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						},
						"ConsistencyLevel": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"LinkSpecifiers": {
							"shape": "S4t"
						},
						"NextToken": {}
					}
				}
			},
			"ListIndex": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/index/targets",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"IndexReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"RangesOnIndexedValues": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AttributeKey": {
										"shape": "S7"
									},
									"Range": {
										"shape": "S4q"
									}
								}
							}
						},
						"IndexReference": {
							"shape": "Sf"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {},
						"ConsistencyLevel": {
							"location": "header",
							"locationName": "x-amz-consistency-level"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IndexAttachments": {
							"shape": "S4b"
						},
						"NextToken": {}
					}
				}
			},
			"ListObjectAttributes": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/object/attributes",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ObjectReference": {
							"shape": "Sf"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						},
						"ConsistencyLevel": {
							"location": "header",
							"locationName": "x-amz-consistency-level"
						},
						"FacetFilter": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "S5"
						},
						"NextToken": {}
					}
				}
			},
			"ListObjectChildren": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/object/children",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ObjectReference": {
							"shape": "Sf"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						},
						"ConsistencyLevel": {
							"location": "header",
							"locationName": "x-amz-consistency-level"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Children": {
							"shape": "S1d"
						},
						"NextToken": {}
					}
				}
			},
			"ListObjectParentPaths": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/object/parentpaths",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ObjectReference": {
							"shape": "Sf"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PathToObjectIdentifiersList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Path": {},
									"ObjectIdentifiers": {
										"shape": "S57"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListObjectParents": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/object/parent",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ObjectReference": {
							"shape": "Sf"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						},
						"ConsistencyLevel": {
							"location": "header",
							"locationName": "x-amz-consistency-level"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Parents": {
							"type": "map",
							"key": {},
							"value": {}
						},
						"NextToken": {}
					}
				}
			},
			"ListObjectPolicies": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/object/policy",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ObjectReference": {
							"shape": "Sf"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						},
						"ConsistencyLevel": {
							"location": "header",
							"locationName": "x-amz-consistency-level"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AttachedPolicyIds": {
							"shape": "S57"
						},
						"NextToken": {}
					}
				}
			},
			"ListOutgoingTypedLinks": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/typedlink/outgoing",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ObjectReference": {
							"shape": "Sf"
						},
						"FilterAttributeRanges": {
							"shape": "S4o"
						},
						"FilterTypedLink": {
							"shape": "St"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						},
						"ConsistencyLevel": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TypedLinkSpecifiers": {
							"shape": "S4t"
						},
						"NextToken": {}
					}
				}
			},
			"ListPolicyAttachments": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/policy/attachment",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"PolicyReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"PolicyReference": {
							"shape": "Sf"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						},
						"ConsistencyLevel": {
							"location": "header",
							"locationName": "x-amz-consistency-level"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ObjectIdentifiers": {
							"shape": "S57"
						},
						"NextToken": {}
					}
				}
			},
			"ListPublishedSchemaArns": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/schema/published",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SchemaArns": {
							"shape": "S48"
						},
						"NextToken": {}
					}
				}
			},
			"ListTagsForResource": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/tags",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn"
					],
					"members": {
						"ResourceArn": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "S5m"
						},
						"NextToken": {}
					}
				}
			},
			"ListTypedLinkFacetAttributes": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/typedlink/facet/attributes",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Name"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Name": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "S32"
						},
						"NextToken": {}
					}
				}
			},
			"ListTypedLinkFacetNames": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/typedlink/facet/list",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FacetNames": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				}
			},
			"LookupPolicy": {
				"http": {
					"requestUri": "/amazonclouddirectory/2017-01-11/policy/lookup",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ObjectReference": {
							"shape": "Sf"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PolicyToPathList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Path": {},
									"Policies": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"PolicyId": {},
												"ObjectIdentifier": {},
												"PolicyType": {}
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"PublishSchema": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/schema/publish",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DevelopmentSchemaArn",
						"Version"
					],
					"members": {
						"DevelopmentSchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Version": {},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PublishedSchemaArn": {}
					}
				}
			},
			"PutSchemaFromJson": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/schema/json",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Document"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Document": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {}
					}
				}
			},
			"RemoveFacetFromObject": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/object/facets/delete",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"SchemaFacet",
						"ObjectReference"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"SchemaFacet": {
							"shape": "S3"
						},
						"ObjectReference": {
							"shape": "Sf"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"TagResource": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/tags/add",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn",
						"Tags"
					],
					"members": {
						"ResourceArn": {},
						"Tags": {
							"shape": "S5m"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UntagResource": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/tags/remove",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn",
						"TagKeys"
					],
					"members": {
						"ResourceArn": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateFacet": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/facet",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Name"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Name": {},
						"AttributeUpdates": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Attribute": {
										"shape": "S2d"
									},
									"Action": {}
								}
							}
						},
						"ObjectType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateObjectAttributes": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/object/update",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DirectoryArn",
						"ObjectReference",
						"AttributeUpdates"
					],
					"members": {
						"DirectoryArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"ObjectReference": {
							"shape": "Sf"
						},
						"AttributeUpdates": {
							"shape": "S1q"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ObjectIdentifier": {}
					}
				}
			},
			"UpdateSchema": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/schema/update",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Name"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SchemaArn": {}
					}
				}
			},
			"UpdateTypedLinkFacet": {
				"http": {
					"method": "PUT",
					"requestUri": "/amazonclouddirectory/2017-01-11/typedlink/facet",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SchemaArn",
						"Name",
						"AttributeUpdates",
						"IdentityAttributeOrder"
					],
					"members": {
						"SchemaArn": {
							"location": "header",
							"locationName": "x-amz-data-partition"
						},
						"Name": {},
						"AttributeUpdates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Attribute",
									"Action"
								],
								"members": {
									"Attribute": {
										"shape": "S33"
									},
									"Action": {}
								}
							}
						},
						"IdentityAttributeOrder": {
							"shape": "S34"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "structure",
				"members": {
					"SchemaArn": {},
					"FacetName": {}
				}
			},
			"S5": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key",
						"Value"
					],
					"members": {
						"Key": {
							"shape": "S7"
						},
						"Value": {
							"shape": "S9"
						}
					}
				}
			},
			"S7": {
				"type": "structure",
				"required": [
					"SchemaArn",
					"FacetName",
					"Name"
				],
				"members": {
					"SchemaArn": {},
					"FacetName": {},
					"Name": {}
				}
			},
			"S9": {
				"type": "structure",
				"members": {
					"StringValue": {},
					"BinaryValue": {
						"type": "blob"
					},
					"BooleanValue": {
						"type": "boolean"
					},
					"NumberValue": {},
					"DatetimeValue": {
						"type": "timestamp"
					}
				}
			},
			"Sf": {
				"type": "structure",
				"members": {
					"Selector": {}
				}
			},
			"St": {
				"type": "structure",
				"required": [
					"SchemaArn",
					"TypedLinkName"
				],
				"members": {
					"SchemaArn": {},
					"TypedLinkName": {}
				}
			},
			"Sv": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"AttributeName",
						"Value"
					],
					"members": {
						"AttributeName": {},
						"Value": {
							"shape": "S9"
						}
					}
				}
			},
			"Sy": {
				"type": "structure",
				"required": [
					"TypedLinkFacet",
					"SourceObjectReference",
					"TargetObjectReference",
					"IdentityAttributeValues"
				],
				"members": {
					"TypedLinkFacet": {
						"shape": "St"
					},
					"SourceObjectReference": {
						"shape": "Sf"
					},
					"TargetObjectReference": {
						"shape": "Sf"
					},
					"IdentityAttributeValues": {
						"shape": "Sv"
					}
				}
			},
			"S1d": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1l": {
				"type": "list",
				"member": {
					"shape": "S3"
				}
			},
			"S1q": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ObjectAttributeKey": {
							"shape": "S7"
						},
						"ObjectAttributeAction": {
							"type": "structure",
							"members": {
								"ObjectAttributeActionType": {},
								"ObjectAttributeUpdateValue": {
									"shape": "S9"
								}
							}
						}
					}
				}
			},
			"S2c": {
				"type": "list",
				"member": {
					"shape": "S2d"
				}
			},
			"S2d": {
				"type": "structure",
				"required": [
					"Name"
				],
				"members": {
					"Name": {},
					"AttributeDefinition": {
						"type": "structure",
						"required": [
							"Type"
						],
						"members": {
							"Type": {},
							"DefaultValue": {
								"shape": "S9"
							},
							"IsImmutable": {
								"type": "boolean"
							},
							"Rules": {
								"shape": "S2h"
							}
						}
					},
					"AttributeReference": {
						"type": "structure",
						"required": [
							"TargetFacetName",
							"TargetAttributeName"
						],
						"members": {
							"TargetFacetName": {},
							"TargetAttributeName": {}
						}
					},
					"RequiredBehavior": {}
				}
			},
			"S2h": {
				"type": "map",
				"key": {},
				"value": {
					"type": "structure",
					"members": {
						"Type": {},
						"Parameters": {
							"type": "map",
							"key": {},
							"value": {}
						}
					}
				}
			},
			"S32": {
				"type": "list",
				"member": {
					"shape": "S33"
				}
			},
			"S33": {
				"type": "structure",
				"required": [
					"Name",
					"Type",
					"RequiredBehavior"
				],
				"members": {
					"Name": {},
					"Type": {},
					"DefaultValue": {
						"shape": "S9"
					},
					"IsImmutable": {
						"type": "boolean"
					},
					"Rules": {
						"shape": "S2h"
					},
					"RequiredBehavior": {}
				}
			},
			"S34": {
				"type": "list",
				"member": {}
			},
			"S3t": {
				"type": "structure",
				"members": {
					"Name": {},
					"DirectoryArn": {},
					"State": {},
					"CreationDateTime": {
						"type": "timestamp"
					}
				}
			},
			"S48": {
				"type": "list",
				"member": {}
			},
			"S4b": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"IndexedAttributes": {
							"shape": "S5"
						},
						"ObjectIdentifier": {}
					}
				}
			},
			"S4o": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Range"
					],
					"members": {
						"AttributeName": {},
						"Range": {
							"shape": "S4q"
						}
					}
				}
			},
			"S4q": {
				"type": "structure",
				"required": [
					"StartMode",
					"EndMode"
				],
				"members": {
					"StartMode": {},
					"StartValue": {
						"shape": "S9"
					},
					"EndMode": {},
					"EndValue": {
						"shape": "S9"
					}
				}
			},
			"S4t": {
				"type": "list",
				"member": {
					"shape": "Sy"
				}
			},
			"S57": {
				"type": "list",
				"member": {}
			},
			"S5m": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			}
		}
	};

/***/ }),
/* 325 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListAppliedSchemaArns": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListAttachedIndices": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListDevelopmentSchemaArns": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListDirectories": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListFacetAttributes": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListFacetNames": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListIndex": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListObjectAttributes": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListObjectChildren": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListObjectParentPaths": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListObjectParents": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListObjectPolicies": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListPolicyAttachments": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListPublishedSchemaArns": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListTagsForResource": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListTypedLinkFacetAttributes": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListTypedLinkFacetNames": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"LookupPolicy": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			}
		}
	};

/***/ }),
/* 326 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cloudformation'] = {};
	AWS.CloudFormation = Service.defineService('cloudformation', ['2010-05-15']);
	Object.defineProperty(apiLoader.services['cloudformation'], '2010-05-15', {
	  get: function get() {
	    var model = __webpack_require__(327);
	    model.paginators = __webpack_require__(328).pagination;
	    model.waiters = __webpack_require__(329).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CloudFormation;


/***/ }),
/* 327 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2010-05-15",
			"endpointPrefix": "cloudformation",
			"protocol": "query",
			"serviceFullName": "AWS CloudFormation",
			"signatureVersion": "v4",
			"uid": "cloudformation-2010-05-15",
			"xmlNamespace": "http://cloudformation.amazonaws.com/doc/2010-05-15/"
		},
		"operations": {
			"CancelUpdateStack": {
				"input": {
					"type": "structure",
					"required": [
						"StackName"
					],
					"members": {
						"StackName": {},
						"ClientRequestToken": {}
					}
				}
			},
			"ContinueUpdateRollback": {
				"input": {
					"type": "structure",
					"required": [
						"StackName"
					],
					"members": {
						"StackName": {},
						"RoleARN": {},
						"ResourcesToSkip": {
							"type": "list",
							"member": {}
						},
						"ClientRequestToken": {}
					}
				},
				"output": {
					"resultWrapper": "ContinueUpdateRollbackResult",
					"type": "structure",
					"members": {}
				}
			},
			"CreateChangeSet": {
				"input": {
					"type": "structure",
					"required": [
						"StackName",
						"ChangeSetName"
					],
					"members": {
						"StackName": {},
						"TemplateBody": {},
						"TemplateURL": {},
						"UsePreviousTemplate": {
							"type": "boolean"
						},
						"Parameters": {
							"shape": "Se"
						},
						"Capabilities": {
							"shape": "Sj"
						},
						"ResourceTypes": {
							"shape": "Sl"
						},
						"RoleARN": {},
						"NotificationARNs": {
							"shape": "Sn"
						},
						"Tags": {
							"shape": "Sp"
						},
						"ChangeSetName": {},
						"ClientToken": {},
						"Description": {},
						"ChangeSetType": {}
					}
				},
				"output": {
					"resultWrapper": "CreateChangeSetResult",
					"type": "structure",
					"members": {
						"Id": {},
						"StackId": {}
					}
				}
			},
			"CreateStack": {
				"input": {
					"type": "structure",
					"required": [
						"StackName"
					],
					"members": {
						"StackName": {},
						"TemplateBody": {},
						"TemplateURL": {},
						"Parameters": {
							"shape": "Se"
						},
						"DisableRollback": {
							"type": "boolean"
						},
						"TimeoutInMinutes": {
							"type": "integer"
						},
						"NotificationARNs": {
							"shape": "Sn"
						},
						"Capabilities": {
							"shape": "Sj"
						},
						"ResourceTypes": {
							"shape": "Sl"
						},
						"RoleARN": {},
						"OnFailure": {},
						"StackPolicyBody": {},
						"StackPolicyURL": {},
						"Tags": {
							"shape": "Sp"
						},
						"ClientRequestToken": {}
					}
				},
				"output": {
					"resultWrapper": "CreateStackResult",
					"type": "structure",
					"members": {
						"StackId": {}
					}
				}
			},
			"DeleteChangeSet": {
				"input": {
					"type": "structure",
					"required": [
						"ChangeSetName"
					],
					"members": {
						"ChangeSetName": {},
						"StackName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteChangeSetResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteStack": {
				"input": {
					"type": "structure",
					"required": [
						"StackName"
					],
					"members": {
						"StackName": {},
						"RetainResources": {
							"type": "list",
							"member": {}
						},
						"RoleARN": {},
						"ClientRequestToken": {}
					}
				}
			},
			"DescribeAccountLimits": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeAccountLimitsResult",
					"type": "structure",
					"members": {
						"AccountLimits": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"Value": {
										"type": "integer"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeChangeSet": {
				"input": {
					"type": "structure",
					"required": [
						"ChangeSetName"
					],
					"members": {
						"ChangeSetName": {},
						"StackName": {},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeChangeSetResult",
					"type": "structure",
					"members": {
						"ChangeSetName": {},
						"ChangeSetId": {},
						"StackId": {},
						"StackName": {},
						"Description": {},
						"Parameters": {
							"shape": "Se"
						},
						"CreationTime": {
							"type": "timestamp"
						},
						"ExecutionStatus": {},
						"Status": {},
						"StatusReason": {},
						"NotificationARNs": {
							"shape": "Sn"
						},
						"Capabilities": {
							"shape": "Sj"
						},
						"Tags": {
							"shape": "Sp"
						},
						"Changes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Type": {},
									"ResourceChange": {
										"type": "structure",
										"members": {
											"Action": {},
											"LogicalResourceId": {},
											"PhysicalResourceId": {},
											"ResourceType": {},
											"Replacement": {},
											"Scope": {
												"type": "list",
												"member": {}
											},
											"Details": {
												"type": "list",
												"member": {
													"type": "structure",
													"members": {
														"Target": {
															"type": "structure",
															"members": {
																"Attribute": {},
																"Name": {},
																"RequiresRecreation": {}
															}
														},
														"Evaluation": {},
														"ChangeSource": {},
														"CausingEntity": {}
													}
												}
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeStackEvents": {
				"input": {
					"type": "structure",
					"members": {
						"StackName": {},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeStackEventsResult",
					"type": "structure",
					"members": {
						"StackEvents": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"StackId",
									"EventId",
									"StackName",
									"Timestamp"
								],
								"members": {
									"StackId": {},
									"EventId": {},
									"StackName": {},
									"LogicalResourceId": {},
									"PhysicalResourceId": {},
									"ResourceType": {},
									"Timestamp": {
										"type": "timestamp"
									},
									"ResourceStatus": {},
									"ResourceStatusReason": {},
									"ResourceProperties": {},
									"ClientRequestToken": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeStackResource": {
				"input": {
					"type": "structure",
					"required": [
						"StackName",
						"LogicalResourceId"
					],
					"members": {
						"StackName": {},
						"LogicalResourceId": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeStackResourceResult",
					"type": "structure",
					"members": {
						"StackResourceDetail": {
							"type": "structure",
							"required": [
								"LogicalResourceId",
								"ResourceType",
								"LastUpdatedTimestamp",
								"ResourceStatus"
							],
							"members": {
								"StackName": {},
								"StackId": {},
								"LogicalResourceId": {},
								"PhysicalResourceId": {},
								"ResourceType": {},
								"LastUpdatedTimestamp": {
									"type": "timestamp"
								},
								"ResourceStatus": {},
								"ResourceStatusReason": {},
								"Description": {},
								"Metadata": {}
							}
						}
					}
				}
			},
			"DescribeStackResources": {
				"input": {
					"type": "structure",
					"members": {
						"StackName": {},
						"LogicalResourceId": {},
						"PhysicalResourceId": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeStackResourcesResult",
					"type": "structure",
					"members": {
						"StackResources": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"LogicalResourceId",
									"ResourceType",
									"Timestamp",
									"ResourceStatus"
								],
								"members": {
									"StackName": {},
									"StackId": {},
									"LogicalResourceId": {},
									"PhysicalResourceId": {},
									"ResourceType": {},
									"Timestamp": {
										"type": "timestamp"
									},
									"ResourceStatus": {},
									"ResourceStatusReason": {},
									"Description": {}
								}
							}
						}
					}
				}
			},
			"DescribeStacks": {
				"input": {
					"type": "structure",
					"members": {
						"StackName": {},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeStacksResult",
					"type": "structure",
					"members": {
						"Stacks": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"StackName",
									"CreationTime",
									"StackStatus"
								],
								"members": {
									"StackId": {},
									"StackName": {},
									"ChangeSetId": {},
									"Description": {},
									"Parameters": {
										"shape": "Se"
									},
									"CreationTime": {
										"type": "timestamp"
									},
									"LastUpdatedTime": {
										"type": "timestamp"
									},
									"StackStatus": {},
									"StackStatusReason": {},
									"DisableRollback": {
										"type": "boolean"
									},
									"NotificationARNs": {
										"shape": "Sn"
									},
									"TimeoutInMinutes": {
										"type": "integer"
									},
									"Capabilities": {
										"shape": "Sj"
									},
									"Outputs": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"OutputKey": {},
												"OutputValue": {},
												"Description": {}
											}
										}
									},
									"RoleARN": {},
									"Tags": {
										"shape": "Sp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"EstimateTemplateCost": {
				"input": {
					"type": "structure",
					"members": {
						"TemplateBody": {},
						"TemplateURL": {},
						"Parameters": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"resultWrapper": "EstimateTemplateCostResult",
					"type": "structure",
					"members": {
						"Url": {}
					}
				}
			},
			"ExecuteChangeSet": {
				"input": {
					"type": "structure",
					"required": [
						"ChangeSetName"
					],
					"members": {
						"ChangeSetName": {},
						"StackName": {},
						"ClientRequestToken": {}
					}
				},
				"output": {
					"resultWrapper": "ExecuteChangeSetResult",
					"type": "structure",
					"members": {}
				}
			},
			"GetStackPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"StackName"
					],
					"members": {
						"StackName": {}
					}
				},
				"output": {
					"resultWrapper": "GetStackPolicyResult",
					"type": "structure",
					"members": {
						"StackPolicyBody": {}
					}
				}
			},
			"GetTemplate": {
				"input": {
					"type": "structure",
					"members": {
						"StackName": {},
						"ChangeSetName": {},
						"TemplateStage": {}
					}
				},
				"output": {
					"resultWrapper": "GetTemplateResult",
					"type": "structure",
					"members": {
						"TemplateBody": {},
						"StagesAvailable": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"GetTemplateSummary": {
				"input": {
					"type": "structure",
					"members": {
						"TemplateBody": {},
						"TemplateURL": {},
						"StackName": {}
					}
				},
				"output": {
					"resultWrapper": "GetTemplateSummaryResult",
					"type": "structure",
					"members": {
						"Parameters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ParameterKey": {},
									"DefaultValue": {},
									"ParameterType": {},
									"NoEcho": {
										"type": "boolean"
									},
									"Description": {},
									"ParameterConstraints": {
										"type": "structure",
										"members": {
											"AllowedValues": {
												"type": "list",
												"member": {}
											}
										}
									}
								}
							}
						},
						"Description": {},
						"Capabilities": {
							"shape": "Sj"
						},
						"CapabilitiesReason": {},
						"ResourceTypes": {
							"shape": "Sl"
						},
						"Version": {},
						"Metadata": {},
						"DeclaredTransforms": {
							"shape": "S3l"
						}
					}
				}
			},
			"ListChangeSets": {
				"input": {
					"type": "structure",
					"required": [
						"StackName"
					],
					"members": {
						"StackName": {},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListChangeSetsResult",
					"type": "structure",
					"members": {
						"Summaries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"StackId": {},
									"StackName": {},
									"ChangeSetId": {},
									"ChangeSetName": {},
									"ExecutionStatus": {},
									"Status": {},
									"StatusReason": {},
									"CreationTime": {
										"type": "timestamp"
									},
									"Description": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListExports": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListExportsResult",
					"type": "structure",
					"members": {
						"Exports": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ExportingStackId": {},
									"Name": {},
									"Value": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListImports": {
				"input": {
					"type": "structure",
					"required": [
						"ExportName"
					],
					"members": {
						"ExportName": {},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListImportsResult",
					"type": "structure",
					"members": {
						"Imports": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				}
			},
			"ListStackResources": {
				"input": {
					"type": "structure",
					"required": [
						"StackName"
					],
					"members": {
						"StackName": {},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListStackResourcesResult",
					"type": "structure",
					"members": {
						"StackResourceSummaries": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"LogicalResourceId",
									"ResourceType",
									"LastUpdatedTimestamp",
									"ResourceStatus"
								],
								"members": {
									"LogicalResourceId": {},
									"PhysicalResourceId": {},
									"ResourceType": {},
									"LastUpdatedTimestamp": {
										"type": "timestamp"
									},
									"ResourceStatus": {},
									"ResourceStatusReason": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListStacks": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"StackStatusFilter": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "ListStacksResult",
					"type": "structure",
					"members": {
						"StackSummaries": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"StackName",
									"CreationTime",
									"StackStatus"
								],
								"members": {
									"StackId": {},
									"StackName": {},
									"TemplateDescription": {},
									"CreationTime": {
										"type": "timestamp"
									},
									"LastUpdatedTime": {
										"type": "timestamp"
									},
									"DeletionTime": {
										"type": "timestamp"
									},
									"StackStatus": {},
									"StackStatusReason": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"SetStackPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"StackName"
					],
					"members": {
						"StackName": {},
						"StackPolicyBody": {},
						"StackPolicyURL": {}
					}
				}
			},
			"SignalResource": {
				"input": {
					"type": "structure",
					"required": [
						"StackName",
						"LogicalResourceId",
						"UniqueId",
						"Status"
					],
					"members": {
						"StackName": {},
						"LogicalResourceId": {},
						"UniqueId": {},
						"Status": {}
					}
				}
			},
			"UpdateStack": {
				"input": {
					"type": "structure",
					"required": [
						"StackName"
					],
					"members": {
						"StackName": {},
						"TemplateBody": {},
						"TemplateURL": {},
						"UsePreviousTemplate": {
							"type": "boolean"
						},
						"StackPolicyDuringUpdateBody": {},
						"StackPolicyDuringUpdateURL": {},
						"Parameters": {
							"shape": "Se"
						},
						"Capabilities": {
							"shape": "Sj"
						},
						"ResourceTypes": {
							"shape": "Sl"
						},
						"RoleARN": {},
						"StackPolicyBody": {},
						"StackPolicyURL": {},
						"NotificationARNs": {
							"shape": "Sn"
						},
						"Tags": {
							"shape": "Sp"
						},
						"ClientRequestToken": {}
					}
				},
				"output": {
					"resultWrapper": "UpdateStackResult",
					"type": "structure",
					"members": {
						"StackId": {}
					}
				}
			},
			"ValidateTemplate": {
				"input": {
					"type": "structure",
					"members": {
						"TemplateBody": {},
						"TemplateURL": {}
					}
				},
				"output": {
					"resultWrapper": "ValidateTemplateResult",
					"type": "structure",
					"members": {
						"Parameters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ParameterKey": {},
									"DefaultValue": {},
									"NoEcho": {
										"type": "boolean"
									},
									"Description": {}
								}
							}
						},
						"Description": {},
						"Capabilities": {
							"shape": "Sj"
						},
						"CapabilitiesReason": {},
						"DeclaredTransforms": {
							"shape": "S3l"
						}
					}
				}
			}
		},
		"shapes": {
			"Se": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ParameterKey": {},
						"ParameterValue": {},
						"UsePreviousValue": {
							"type": "boolean"
						}
					}
				}
			},
			"Sj": {
				"type": "list",
				"member": {}
			},
			"Sl": {
				"type": "list",
				"member": {}
			},
			"Sn": {
				"type": "list",
				"member": {}
			},
			"Sp": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S3l": {
				"type": "list",
				"member": {}
			}
		}
	};

/***/ }),
/* 328 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeStackEvents": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "StackEvents"
			},
			"DescribeStackResources": {
				"result_key": "StackResources"
			},
			"DescribeStacks": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "Stacks"
			},
			"ListExports": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "Exports"
			},
			"ListImports": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "Imports"
			},
			"ListStackResources": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "StackResourceSummaries"
			},
			"ListStacks": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "StackSummaries"
			}
		}
	};

/***/ }),
/* 329 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"StackExists": {
				"delay": 5,
				"operation": "DescribeStacks",
				"maxAttempts": 20,
				"acceptors": [
					{
						"matcher": "status",
						"expected": 200,
						"state": "success"
					},
					{
						"matcher": "error",
						"expected": "ValidationError",
						"state": "retry"
					}
				]
			},
			"StackCreateComplete": {
				"delay": 30,
				"operation": "DescribeStacks",
				"maxAttempts": 120,
				"description": "Wait until stack status is CREATE_COMPLETE.",
				"acceptors": [
					{
						"argument": "Stacks[].StackStatus",
						"expected": "CREATE_COMPLETE",
						"matcher": "pathAll",
						"state": "success"
					},
					{
						"argument": "Stacks[].StackStatus",
						"expected": "CREATE_FAILED",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "Stacks[].StackStatus",
						"expected": "DELETE_COMPLETE",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "Stacks[].StackStatus",
						"expected": "DELETE_FAILED",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "Stacks[].StackStatus",
						"expected": "ROLLBACK_FAILED",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "Stacks[].StackStatus",
						"expected": "ROLLBACK_COMPLETE",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"expected": "ValidationError",
						"matcher": "error",
						"state": "failure"
					}
				]
			},
			"StackDeleteComplete": {
				"delay": 30,
				"operation": "DescribeStacks",
				"maxAttempts": 120,
				"description": "Wait until stack status is DELETE_COMPLETE.",
				"acceptors": [
					{
						"argument": "Stacks[].StackStatus",
						"expected": "DELETE_COMPLETE",
						"matcher": "pathAll",
						"state": "success"
					},
					{
						"expected": "ValidationError",
						"matcher": "error",
						"state": "success"
					},
					{
						"argument": "Stacks[].StackStatus",
						"expected": "DELETE_FAILED",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "Stacks[].StackStatus",
						"expected": "CREATE_FAILED",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "Stacks[].StackStatus",
						"expected": "ROLLBACK_FAILED",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "Stacks[].StackStatus",
						"expected": "UPDATE_ROLLBACK_FAILED",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "Stacks[].StackStatus",
						"expected": "UPDATE_ROLLBACK_IN_PROGRESS",
						"matcher": "pathAny",
						"state": "failure"
					}
				]
			},
			"StackUpdateComplete": {
				"delay": 30,
				"maxAttempts": 120,
				"operation": "DescribeStacks",
				"description": "Wait until stack status is UPDATE_COMPLETE.",
				"acceptors": [
					{
						"argument": "Stacks[].StackStatus",
						"expected": "UPDATE_COMPLETE",
						"matcher": "pathAll",
						"state": "success"
					},
					{
						"expected": "UPDATE_FAILED",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Stacks[].StackStatus"
					},
					{
						"argument": "Stacks[].StackStatus",
						"expected": "UPDATE_ROLLBACK_FAILED",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"expected": "UPDATE_ROLLBACK_COMPLETE",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Stacks[].StackStatus"
					},
					{
						"expected": "ValidationError",
						"matcher": "error",
						"state": "failure"
					}
				]
			},
			"ChangeSetCreateComplete": {
				"delay": 30,
				"operation": "DescribeChangeSet",
				"maxAttempts": 120,
				"description": "Wait until change set status is CREATE_COMPLETE.",
				"acceptors": [
					{
						"argument": "Status",
						"expected": "CREATE_COMPLETE",
						"matcher": "path",
						"state": "success"
					},
					{
						"argument": "Status",
						"expected": "FAILED",
						"matcher": "path",
						"state": "failure"
					},
					{
						"expected": "ValidationError",
						"matcher": "error",
						"state": "failure"
					}
				]
			}
		}
	};

/***/ }),
/* 330 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cloudfront'] = {};
	AWS.CloudFront = Service.defineService('cloudfront', ['2013-05-12*', '2013-11-11*', '2014-05-31*', '2014-10-21*', '2014-11-06*', '2015-04-17*', '2015-07-27*', '2015-09-17*', '2016-01-13*', '2016-01-28*', '2016-08-01*', '2016-08-20*', '2016-09-07*', '2016-09-29*', '2016-11-25', '2016-11-25*', '2017-03-25']);
	__webpack_require__(331);
	Object.defineProperty(apiLoader.services['cloudfront'], '2016-11-25', {
	  get: function get() {
	    var model = __webpack_require__(333);
	    model.paginators = __webpack_require__(334).pagination;
	    model.waiters = __webpack_require__(335).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});
	Object.defineProperty(apiLoader.services['cloudfront'], '2017-03-25', {
	  get: function get() {
	    var model = __webpack_require__(336);
	    model.paginators = __webpack_require__(337).pagination;
	    model.waiters = __webpack_require__(338).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CloudFront;


/***/ }),
/* 331 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	// pull in CloudFront signer
	__webpack_require__(332);

	AWS.util.update(AWS.CloudFront.prototype, {

	  setupRequestListeners: function setupRequestListeners(request) {
	    request.addListener('extractData', AWS.util.hoistPayloadMember);
	  }

	});


/***/ }),
/* 332 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5),
	    url = AWS.util.url,
	    crypto = AWS.util.crypto.lib,
	    base64Encode = AWS.util.base64.encode,
	    inherit = AWS.util.inherit;

	var queryEncode = function (string) {
	    var replacements = {
	        '+': '-',
	        '=': '_',
	        '/': '~'
	    };
	    return string.replace(/[\+=\/]/g, function (match) {
	        return replacements[match];
	    });
	};

	var signPolicy = function (policy, privateKey) {
	    var sign = crypto.createSign('RSA-SHA1');
	    sign.write(policy);
	    return queryEncode(sign.sign(privateKey, 'base64'))
	};

	var signWithCannedPolicy = function (url, expires, keyPairId, privateKey) {
	    var policy = JSON.stringify({
	        Statement: [
	            {
	                Resource: url,
	                Condition: { DateLessThan: { 'AWS:EpochTime': expires } }
	            }
	        ]
	    });

	    return {
	        Expires: expires,
	        'Key-Pair-Id': keyPairId,
	        Signature: signPolicy(policy.toString(), privateKey)
	    };
	};

	var signWithCustomPolicy = function (policy, keyPairId, privateKey) {
	    policy = policy.replace(/\s/mg, policy);

	    return {
	        Policy: queryEncode(base64Encode(policy)),
	        'Key-Pair-Id': keyPairId,
	        Signature: signPolicy(policy, privateKey)
	    }
	};

	var determineScheme = function (url) {
	    var parts = url.split('://');
	    if (parts.length < 2) {
	        throw new Error('Invalid URL.');
	    }

	    return parts[0].replace('*', '');
	};

	var getRtmpUrl = function (rtmpUrl) {
	    var parsed = url.parse(rtmpUrl);
	    return parsed.path.replace(/^\//, '') + (parsed.hash || '');
	};

	var getResource = function (url) {
	    switch (determineScheme(url)) {
	        case 'http':
	        case 'https':
	            return url;
	        case 'rtmp':
	            return getRtmpUrl(url);
	        default:
	            throw new Error('Invalid URI scheme. Scheme must be one of'
	                + ' http, https, or rtmp');
	    }
	};

	var handleError = function (err, callback) {
	    if (!callback || typeof callback !== 'function') {
	        throw err;
	    }

	    callback(err);
	};

	var handleSuccess = function (result, callback) {
	    if (!callback || typeof callback !== 'function') {
	        return result;
	    }

	    callback(null, result);
	};

	AWS.CloudFront.Signer = inherit({
	    /**
	     * A signer object can be used to generate signed URLs and cookies for granting
	     * access to content on restricted CloudFront distributions.
	     *
	     * @see http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html
	     *
	     * @param keyPairId [String]    (Required) The ID of the CloudFront key pair
	     *                              being used.
	     * @param privateKey [String]   (Required) A private key in RSA format.
	     */
	    constructor: function Signer(keyPairId, privateKey) {
	        if (keyPairId === void 0 || privateKey === void 0) {
	            throw new Error('A key pair ID and private key are required');
	        }

	        this.keyPairId = keyPairId;
	        this.privateKey = privateKey;
	    },

	    /**
	     * Create a signed Amazon CloudFront Cookie.
	     *
	     * @param options [Object]            The options to create a signed cookie.
	     * @option options url [String]     The URL to which the signature will grant
	     *                                  access. Required unless you pass in a full
	     *                                  policy.
	     * @option options expires [Number] A Unix UTC timestamp indicating when the
	     *                                  signature should expire. Required unless you
	     *                                  pass in a full policy.
	     * @option options policy [String]  A CloudFront JSON policy. Required unless
	     *                                  you pass in a url and an expiry time.
	     *
	     * @param cb [Function] if a callback is provided, this function will
	     *   pass the hash as the second parameter (after the error parameter) to
	     *   the callback function.
	     *
	     * @return [Object] if called synchronously (with no callback), returns the
	     *   signed cookie parameters.
	     * @return [null] nothing is returned if a callback is provided.
	     */
	    getSignedCookie: function (options, cb) {
	        var signatureHash = 'policy' in options
	            ? signWithCustomPolicy(options.policy, this.keyPairId, this.privateKey)
	            : signWithCannedPolicy(options.url, options.expires, this.keyPairId, this.privateKey);

	        var cookieHash = {};
	        for (var key in signatureHash) {
	            if (Object.prototype.hasOwnProperty.call(signatureHash, key)) {
	                cookieHash['CloudFront-' + key] = signatureHash[key];
	            }
	        }

	        return handleSuccess(cookieHash, cb);
	    },

	    /**
	     * Create a signed Amazon CloudFront URL.
	     *
	     * Keep in mind that URLs meant for use in media/flash players may have
	     * different requirements for URL formats (e.g. some require that the
	     * extension be removed, some require the file name to be prefixed
	     * - mp4:<path>, some require you to add "/cfx/st" into your URL).
	     *
	     * @param options [Object]          The options to create a signed URL.
	     * @option options url [String]     The URL to which the signature will grant
	     *                                  access. Required.
	     * @option options expires [Number] A Unix UTC timestamp indicating when the
	     *                                  signature should expire. Required unless you
	     *                                  pass in a full policy.
	     * @option options policy [String]  A CloudFront JSON policy. Required unless
	     *                                  you pass in a url and an expiry time.
	     *
	     * @param cb [Function] if a callback is provided, this function will
	     *   pass the URL as the second parameter (after the error parameter) to
	     *   the callback function.
	     *
	     * @return [String] if called synchronously (with no callback), returns the
	     *   signed URL.
	     * @return [null] nothing is returned if a callback is provided.
	     */
	    getSignedUrl: function (options, cb) {
	        try {
	            var resource = getResource(options.url);
	        } catch (err) {
	            return handleError(err, cb);
	        }

	        var parsedUrl = url.parse(options.url, true),
	            signatureHash = Object.prototype.hasOwnProperty.call(options, 'policy')
	                ? signWithCustomPolicy(options.policy, this.keyPairId, this.privateKey)
	                : signWithCannedPolicy(resource, options.expires, this.keyPairId, this.privateKey);

	        parsedUrl.search = null;
	        for (var key in signatureHash) {
	            if (Object.prototype.hasOwnProperty.call(signatureHash, key)) {
	                parsedUrl.query[key] = signatureHash[key];
	            }
	        }

	        try {
	            var signedUrl = determineScheme(options.url) === 'rtmp'
	                    ? getRtmpUrl(url.format(parsedUrl))
	                    : url.format(parsedUrl);
	        } catch (err) {
	            return handleError(err, cb);
	        }

	        return handleSuccess(signedUrl, cb);
	    }
	});

	module.exports = AWS.CloudFront.Signer;


/***/ }),
/* 333 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-11-25",
			"endpointPrefix": "cloudfront",
			"globalEndpoint": "cloudfront.amazonaws.com",
			"protocol": "rest-xml",
			"serviceAbbreviation": "CloudFront",
			"serviceFullName": "Amazon CloudFront",
			"signatureVersion": "v4",
			"uid": "cloudfront-2016-11-25"
		},
		"operations": {
			"CreateCloudFrontOriginAccessIdentity": {
				"http": {
					"requestUri": "/2016-11-25/origin-access-identity/cloudfront",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"CloudFrontOriginAccessIdentityConfig"
					],
					"members": {
						"CloudFrontOriginAccessIdentityConfig": {
							"shape": "S2",
							"locationName": "CloudFrontOriginAccessIdentityConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2016-11-25/"
							}
						}
					},
					"payload": "CloudFrontOriginAccessIdentityConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"CloudFrontOriginAccessIdentity": {
							"shape": "S5"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "CloudFrontOriginAccessIdentity"
				}
			},
			"CreateDistribution": {
				"http": {
					"requestUri": "/2016-11-25/distribution",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionConfig"
					],
					"members": {
						"DistributionConfig": {
							"shape": "S7",
							"locationName": "DistributionConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2016-11-25/"
							}
						}
					},
					"payload": "DistributionConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"Distribution": {
							"shape": "S1s"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "Distribution"
				}
			},
			"CreateDistributionWithTags": {
				"http": {
					"requestUri": "/2016-11-25/distribution?WithTags",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionConfigWithTags"
					],
					"members": {
						"DistributionConfigWithTags": {
							"locationName": "DistributionConfigWithTags",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2016-11-25/"
							},
							"type": "structure",
							"required": [
								"DistributionConfig",
								"Tags"
							],
							"members": {
								"DistributionConfig": {
									"shape": "S7"
								},
								"Tags": {
									"shape": "S21"
								}
							}
						}
					},
					"payload": "DistributionConfigWithTags"
				},
				"output": {
					"type": "structure",
					"members": {
						"Distribution": {
							"shape": "S1s"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "Distribution"
				}
			},
			"CreateInvalidation": {
				"http": {
					"requestUri": "/2016-11-25/distribution/{DistributionId}/invalidation",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionId",
						"InvalidationBatch"
					],
					"members": {
						"DistributionId": {
							"location": "uri",
							"locationName": "DistributionId"
						},
						"InvalidationBatch": {
							"shape": "S28",
							"locationName": "InvalidationBatch",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2016-11-25/"
							}
						}
					},
					"payload": "InvalidationBatch"
				},
				"output": {
					"type": "structure",
					"members": {
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"Invalidation": {
							"shape": "S2c"
						}
					},
					"payload": "Invalidation"
				}
			},
			"CreateStreamingDistribution": {
				"http": {
					"requestUri": "/2016-11-25/streaming-distribution",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"StreamingDistributionConfig"
					],
					"members": {
						"StreamingDistributionConfig": {
							"shape": "S2e",
							"locationName": "StreamingDistributionConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2016-11-25/"
							}
						}
					},
					"payload": "StreamingDistributionConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistribution": {
							"shape": "S2i"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "StreamingDistribution"
				}
			},
			"CreateStreamingDistributionWithTags": {
				"http": {
					"requestUri": "/2016-11-25/streaming-distribution?WithTags",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"StreamingDistributionConfigWithTags"
					],
					"members": {
						"StreamingDistributionConfigWithTags": {
							"locationName": "StreamingDistributionConfigWithTags",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2016-11-25/"
							},
							"type": "structure",
							"required": [
								"StreamingDistributionConfig",
								"Tags"
							],
							"members": {
								"StreamingDistributionConfig": {
									"shape": "S2e"
								},
								"Tags": {
									"shape": "S21"
								}
							}
						}
					},
					"payload": "StreamingDistributionConfigWithTags"
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistribution": {
							"shape": "S2i"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "StreamingDistribution"
				}
			},
			"DeleteCloudFrontOriginAccessIdentity": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2016-11-25/origin-access-identity/cloudfront/{Id}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					}
				}
			},
			"DeleteDistribution": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2016-11-25/distribution/{Id}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					}
				}
			},
			"DeleteStreamingDistribution": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2016-11-25/streaming-distribution/{Id}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					}
				}
			},
			"GetCloudFrontOriginAccessIdentity": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/origin-access-identity/cloudfront/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CloudFrontOriginAccessIdentity": {
							"shape": "S5"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "CloudFrontOriginAccessIdentity"
				}
			},
			"GetCloudFrontOriginAccessIdentityConfig": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/origin-access-identity/cloudfront/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CloudFrontOriginAccessIdentityConfig": {
							"shape": "S2"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "CloudFrontOriginAccessIdentityConfig"
				}
			},
			"GetDistribution": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/distribution/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Distribution": {
							"shape": "S1s"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "Distribution"
				}
			},
			"GetDistributionConfig": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/distribution/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DistributionConfig": {
							"shape": "S7"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "DistributionConfig"
				}
			},
			"GetInvalidation": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/distribution/{DistributionId}/invalidation/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionId",
						"Id"
					],
					"members": {
						"DistributionId": {
							"location": "uri",
							"locationName": "DistributionId"
						},
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Invalidation": {
							"shape": "S2c"
						}
					},
					"payload": "Invalidation"
				}
			},
			"GetStreamingDistribution": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/streaming-distribution/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistribution": {
							"shape": "S2i"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "StreamingDistribution"
				}
			},
			"GetStreamingDistributionConfig": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/streaming-distribution/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistributionConfig": {
							"shape": "S2e"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "StreamingDistributionConfig"
				}
			},
			"ListCloudFrontOriginAccessIdentities": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/origin-access-identity/cloudfront"
				},
				"input": {
					"type": "structure",
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CloudFrontOriginAccessIdentityList": {
							"type": "structure",
							"required": [
								"Marker",
								"MaxItems",
								"IsTruncated",
								"Quantity"
							],
							"members": {
								"Marker": {},
								"NextMarker": {},
								"MaxItems": {
									"type": "integer"
								},
								"IsTruncated": {
									"type": "boolean"
								},
								"Quantity": {
									"type": "integer"
								},
								"Items": {
									"type": "list",
									"member": {
										"locationName": "CloudFrontOriginAccessIdentitySummary",
										"type": "structure",
										"required": [
											"Id",
											"S3CanonicalUserId",
											"Comment"
										],
										"members": {
											"Id": {},
											"S3CanonicalUserId": {},
											"Comment": {}
										}
									}
								}
							}
						}
					},
					"payload": "CloudFrontOriginAccessIdentityList"
				}
			},
			"ListDistributions": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/distribution"
				},
				"input": {
					"type": "structure",
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DistributionList": {
							"shape": "S3a"
						}
					},
					"payload": "DistributionList"
				}
			},
			"ListDistributionsByWebACLId": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/distributionsByWebACLId/{WebACLId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"WebACLId"
					],
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems"
						},
						"WebACLId": {
							"location": "uri",
							"locationName": "WebACLId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DistributionList": {
							"shape": "S3a"
						}
					},
					"payload": "DistributionList"
				}
			},
			"ListInvalidations": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/distribution/{DistributionId}/invalidation"
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionId"
					],
					"members": {
						"DistributionId": {
							"location": "uri",
							"locationName": "DistributionId"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InvalidationList": {
							"type": "structure",
							"required": [
								"Marker",
								"MaxItems",
								"IsTruncated",
								"Quantity"
							],
							"members": {
								"Marker": {},
								"NextMarker": {},
								"MaxItems": {
									"type": "integer"
								},
								"IsTruncated": {
									"type": "boolean"
								},
								"Quantity": {
									"type": "integer"
								},
								"Items": {
									"type": "list",
									"member": {
										"locationName": "InvalidationSummary",
										"type": "structure",
										"required": [
											"Id",
											"CreateTime",
											"Status"
										],
										"members": {
											"Id": {},
											"CreateTime": {
												"type": "timestamp"
											},
											"Status": {}
										}
									}
								}
							}
						}
					},
					"payload": "InvalidationList"
				}
			},
			"ListStreamingDistributions": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/streaming-distribution"
				},
				"input": {
					"type": "structure",
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistributionList": {
							"type": "structure",
							"required": [
								"Marker",
								"MaxItems",
								"IsTruncated",
								"Quantity"
							],
							"members": {
								"Marker": {},
								"NextMarker": {},
								"MaxItems": {
									"type": "integer"
								},
								"IsTruncated": {
									"type": "boolean"
								},
								"Quantity": {
									"type": "integer"
								},
								"Items": {
									"type": "list",
									"member": {
										"locationName": "StreamingDistributionSummary",
										"type": "structure",
										"required": [
											"Id",
											"ARN",
											"Status",
											"LastModifiedTime",
											"DomainName",
											"S3Origin",
											"Aliases",
											"TrustedSigners",
											"Comment",
											"PriceClass",
											"Enabled"
										],
										"members": {
											"Id": {},
											"ARN": {},
											"Status": {},
											"LastModifiedTime": {
												"type": "timestamp"
											},
											"DomainName": {},
											"S3Origin": {
												"shape": "S2f"
											},
											"Aliases": {
												"shape": "S8"
											},
											"TrustedSigners": {
												"shape": "Sy"
											},
											"Comment": {},
											"PriceClass": {},
											"Enabled": {
												"type": "boolean"
											}
										}
									}
								}
							}
						}
					},
					"payload": "StreamingDistributionList"
				}
			},
			"ListTagsForResource": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-11-25/tagging"
				},
				"input": {
					"type": "structure",
					"required": [
						"Resource"
					],
					"members": {
						"Resource": {
							"location": "querystring",
							"locationName": "Resource"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Tags"
					],
					"members": {
						"Tags": {
							"shape": "S21"
						}
					},
					"payload": "Tags"
				}
			},
			"TagResource": {
				"http": {
					"requestUri": "/2016-11-25/tagging?Operation=Tag",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Resource",
						"Tags"
					],
					"members": {
						"Resource": {
							"location": "querystring",
							"locationName": "Resource"
						},
						"Tags": {
							"shape": "S21",
							"locationName": "Tags",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2016-11-25/"
							}
						}
					},
					"payload": "Tags"
				}
			},
			"UntagResource": {
				"http": {
					"requestUri": "/2016-11-25/tagging?Operation=Untag",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Resource",
						"TagKeys"
					],
					"members": {
						"Resource": {
							"location": "querystring",
							"locationName": "Resource"
						},
						"TagKeys": {
							"locationName": "TagKeys",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2016-11-25/"
							},
							"type": "structure",
							"members": {
								"Items": {
									"type": "list",
									"member": {
										"locationName": "Key"
									}
								}
							}
						}
					},
					"payload": "TagKeys"
				}
			},
			"UpdateCloudFrontOriginAccessIdentity": {
				"http": {
					"method": "PUT",
					"requestUri": "/2016-11-25/origin-access-identity/cloudfront/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"CloudFrontOriginAccessIdentityConfig",
						"Id"
					],
					"members": {
						"CloudFrontOriginAccessIdentityConfig": {
							"shape": "S2",
							"locationName": "CloudFrontOriginAccessIdentityConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2016-11-25/"
							}
						},
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					},
					"payload": "CloudFrontOriginAccessIdentityConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"CloudFrontOriginAccessIdentity": {
							"shape": "S5"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "CloudFrontOriginAccessIdentity"
				}
			},
			"UpdateDistribution": {
				"http": {
					"method": "PUT",
					"requestUri": "/2016-11-25/distribution/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionConfig",
						"Id"
					],
					"members": {
						"DistributionConfig": {
							"shape": "S7",
							"locationName": "DistributionConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2016-11-25/"
							}
						},
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					},
					"payload": "DistributionConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"Distribution": {
							"shape": "S1s"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "Distribution"
				}
			},
			"UpdateStreamingDistribution": {
				"http": {
					"method": "PUT",
					"requestUri": "/2016-11-25/streaming-distribution/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"StreamingDistributionConfig",
						"Id"
					],
					"members": {
						"StreamingDistributionConfig": {
							"shape": "S2e",
							"locationName": "StreamingDistributionConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2016-11-25/"
							}
						},
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					},
					"payload": "StreamingDistributionConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistribution": {
							"shape": "S2i"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "StreamingDistribution"
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "structure",
				"required": [
					"CallerReference",
					"Comment"
				],
				"members": {
					"CallerReference": {},
					"Comment": {}
				}
			},
			"S5": {
				"type": "structure",
				"required": [
					"Id",
					"S3CanonicalUserId"
				],
				"members": {
					"Id": {},
					"S3CanonicalUserId": {},
					"CloudFrontOriginAccessIdentityConfig": {
						"shape": "S2"
					}
				}
			},
			"S7": {
				"type": "structure",
				"required": [
					"CallerReference",
					"Origins",
					"DefaultCacheBehavior",
					"Comment",
					"Enabled"
				],
				"members": {
					"CallerReference": {},
					"Aliases": {
						"shape": "S8"
					},
					"DefaultRootObject": {},
					"Origins": {
						"shape": "Sb"
					},
					"DefaultCacheBehavior": {
						"shape": "Sn"
					},
					"CacheBehaviors": {
						"shape": "S1a"
					},
					"CustomErrorResponses": {
						"shape": "S1d"
					},
					"Comment": {},
					"Logging": {
						"type": "structure",
						"required": [
							"Enabled",
							"IncludeCookies",
							"Bucket",
							"Prefix"
						],
						"members": {
							"Enabled": {
								"type": "boolean"
							},
							"IncludeCookies": {
								"type": "boolean"
							},
							"Bucket": {},
							"Prefix": {}
						}
					},
					"PriceClass": {},
					"Enabled": {
						"type": "boolean"
					},
					"ViewerCertificate": {
						"shape": "S1i"
					},
					"Restrictions": {
						"shape": "S1m"
					},
					"WebACLId": {},
					"HttpVersion": {},
					"IsIPV6Enabled": {
						"type": "boolean"
					}
				}
			},
			"S8": {
				"type": "structure",
				"required": [
					"Quantity"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "CNAME"
						}
					}
				}
			},
			"Sb": {
				"type": "structure",
				"required": [
					"Quantity"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "Origin",
							"type": "structure",
							"required": [
								"Id",
								"DomainName"
							],
							"members": {
								"Id": {},
								"DomainName": {},
								"OriginPath": {},
								"CustomHeaders": {
									"type": "structure",
									"required": [
										"Quantity"
									],
									"members": {
										"Quantity": {
											"type": "integer"
										},
										"Items": {
											"type": "list",
											"member": {
												"locationName": "OriginCustomHeader",
												"type": "structure",
												"required": [
													"HeaderName",
													"HeaderValue"
												],
												"members": {
													"HeaderName": {},
													"HeaderValue": {}
												}
											}
										}
									}
								},
								"S3OriginConfig": {
									"type": "structure",
									"required": [
										"OriginAccessIdentity"
									],
									"members": {
										"OriginAccessIdentity": {}
									}
								},
								"CustomOriginConfig": {
									"type": "structure",
									"required": [
										"HTTPPort",
										"HTTPSPort",
										"OriginProtocolPolicy"
									],
									"members": {
										"HTTPPort": {
											"type": "integer"
										},
										"HTTPSPort": {
											"type": "integer"
										},
										"OriginProtocolPolicy": {},
										"OriginSslProtocols": {
											"type": "structure",
											"required": [
												"Quantity",
												"Items"
											],
											"members": {
												"Quantity": {
													"type": "integer"
												},
												"Items": {
													"type": "list",
													"member": {
														"locationName": "SslProtocol"
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"Sn": {
				"type": "structure",
				"required": [
					"TargetOriginId",
					"ForwardedValues",
					"TrustedSigners",
					"ViewerProtocolPolicy",
					"MinTTL"
				],
				"members": {
					"TargetOriginId": {},
					"ForwardedValues": {
						"shape": "So"
					},
					"TrustedSigners": {
						"shape": "Sy"
					},
					"ViewerProtocolPolicy": {},
					"MinTTL": {
						"type": "long"
					},
					"AllowedMethods": {
						"shape": "S12"
					},
					"SmoothStreaming": {
						"type": "boolean"
					},
					"DefaultTTL": {
						"type": "long"
					},
					"MaxTTL": {
						"type": "long"
					},
					"Compress": {
						"type": "boolean"
					},
					"LambdaFunctionAssociations": {
						"shape": "S16"
					}
				}
			},
			"So": {
				"type": "structure",
				"required": [
					"QueryString",
					"Cookies"
				],
				"members": {
					"QueryString": {
						"type": "boolean"
					},
					"Cookies": {
						"type": "structure",
						"required": [
							"Forward"
						],
						"members": {
							"Forward": {},
							"WhitelistedNames": {
								"type": "structure",
								"required": [
									"Quantity"
								],
								"members": {
									"Quantity": {
										"type": "integer"
									},
									"Items": {
										"type": "list",
										"member": {
											"locationName": "Name"
										}
									}
								}
							}
						}
					},
					"Headers": {
						"type": "structure",
						"required": [
							"Quantity"
						],
						"members": {
							"Quantity": {
								"type": "integer"
							},
							"Items": {
								"type": "list",
								"member": {
									"locationName": "Name"
								}
							}
						}
					},
					"QueryStringCacheKeys": {
						"type": "structure",
						"required": [
							"Quantity"
						],
						"members": {
							"Quantity": {
								"type": "integer"
							},
							"Items": {
								"type": "list",
								"member": {
									"locationName": "Name"
								}
							}
						}
					}
				}
			},
			"Sy": {
				"type": "structure",
				"required": [
					"Enabled",
					"Quantity"
				],
				"members": {
					"Enabled": {
						"type": "boolean"
					},
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "AwsAccountNumber"
						}
					}
				}
			},
			"S12": {
				"type": "structure",
				"required": [
					"Quantity",
					"Items"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"shape": "S13"
					},
					"CachedMethods": {
						"type": "structure",
						"required": [
							"Quantity",
							"Items"
						],
						"members": {
							"Quantity": {
								"type": "integer"
							},
							"Items": {
								"shape": "S13"
							}
						}
					}
				}
			},
			"S13": {
				"type": "list",
				"member": {
					"locationName": "Method"
				}
			},
			"S16": {
				"type": "structure",
				"required": [
					"Quantity"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "LambdaFunctionAssociation",
							"type": "structure",
							"members": {
								"LambdaFunctionARN": {},
								"EventType": {}
							}
						}
					}
				}
			},
			"S1a": {
				"type": "structure",
				"required": [
					"Quantity"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "CacheBehavior",
							"type": "structure",
							"required": [
								"PathPattern",
								"TargetOriginId",
								"ForwardedValues",
								"TrustedSigners",
								"ViewerProtocolPolicy",
								"MinTTL"
							],
							"members": {
								"PathPattern": {},
								"TargetOriginId": {},
								"ForwardedValues": {
									"shape": "So"
								},
								"TrustedSigners": {
									"shape": "Sy"
								},
								"ViewerProtocolPolicy": {},
								"MinTTL": {
									"type": "long"
								},
								"AllowedMethods": {
									"shape": "S12"
								},
								"SmoothStreaming": {
									"type": "boolean"
								},
								"DefaultTTL": {
									"type": "long"
								},
								"MaxTTL": {
									"type": "long"
								},
								"Compress": {
									"type": "boolean"
								},
								"LambdaFunctionAssociations": {
									"shape": "S16"
								}
							}
						}
					}
				}
			},
			"S1d": {
				"type": "structure",
				"required": [
					"Quantity"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "CustomErrorResponse",
							"type": "structure",
							"required": [
								"ErrorCode"
							],
							"members": {
								"ErrorCode": {
									"type": "integer"
								},
								"ResponsePagePath": {},
								"ResponseCode": {},
								"ErrorCachingMinTTL": {
									"type": "long"
								}
							}
						}
					}
				}
			},
			"S1i": {
				"type": "structure",
				"members": {
					"CloudFrontDefaultCertificate": {
						"type": "boolean"
					},
					"IAMCertificateId": {},
					"ACMCertificateArn": {},
					"SSLSupportMethod": {},
					"MinimumProtocolVersion": {},
					"Certificate": {
						"deprecated": true
					},
					"CertificateSource": {
						"deprecated": true
					}
				}
			},
			"S1m": {
				"type": "structure",
				"required": [
					"GeoRestriction"
				],
				"members": {
					"GeoRestriction": {
						"type": "structure",
						"required": [
							"RestrictionType",
							"Quantity"
						],
						"members": {
							"RestrictionType": {},
							"Quantity": {
								"type": "integer"
							},
							"Items": {
								"type": "list",
								"member": {
									"locationName": "Location"
								}
							}
						}
					}
				}
			},
			"S1s": {
				"type": "structure",
				"required": [
					"Id",
					"ARN",
					"Status",
					"LastModifiedTime",
					"InProgressInvalidationBatches",
					"DomainName",
					"ActiveTrustedSigners",
					"DistributionConfig"
				],
				"members": {
					"Id": {},
					"ARN": {},
					"Status": {},
					"LastModifiedTime": {
						"type": "timestamp"
					},
					"InProgressInvalidationBatches": {
						"type": "integer"
					},
					"DomainName": {},
					"ActiveTrustedSigners": {
						"shape": "S1u"
					},
					"DistributionConfig": {
						"shape": "S7"
					}
				}
			},
			"S1u": {
				"type": "structure",
				"required": [
					"Enabled",
					"Quantity"
				],
				"members": {
					"Enabled": {
						"type": "boolean"
					},
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "Signer",
							"type": "structure",
							"members": {
								"AwsAccountNumber": {},
								"KeyPairIds": {
									"type": "structure",
									"required": [
										"Quantity"
									],
									"members": {
										"Quantity": {
											"type": "integer"
										},
										"Items": {
											"type": "list",
											"member": {
												"locationName": "KeyPairId"
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"S21": {
				"type": "structure",
				"members": {
					"Items": {
						"type": "list",
						"member": {
							"locationName": "Tag",
							"type": "structure",
							"required": [
								"Key"
							],
							"members": {
								"Key": {},
								"Value": {}
							}
						}
					}
				}
			},
			"S28": {
				"type": "structure",
				"required": [
					"Paths",
					"CallerReference"
				],
				"members": {
					"Paths": {
						"type": "structure",
						"required": [
							"Quantity"
						],
						"members": {
							"Quantity": {
								"type": "integer"
							},
							"Items": {
								"type": "list",
								"member": {
									"locationName": "Path"
								}
							}
						}
					},
					"CallerReference": {}
				}
			},
			"S2c": {
				"type": "structure",
				"required": [
					"Id",
					"Status",
					"CreateTime",
					"InvalidationBatch"
				],
				"members": {
					"Id": {},
					"Status": {},
					"CreateTime": {
						"type": "timestamp"
					},
					"InvalidationBatch": {
						"shape": "S28"
					}
				}
			},
			"S2e": {
				"type": "structure",
				"required": [
					"CallerReference",
					"S3Origin",
					"Comment",
					"TrustedSigners",
					"Enabled"
				],
				"members": {
					"CallerReference": {},
					"S3Origin": {
						"shape": "S2f"
					},
					"Aliases": {
						"shape": "S8"
					},
					"Comment": {},
					"Logging": {
						"type": "structure",
						"required": [
							"Enabled",
							"Bucket",
							"Prefix"
						],
						"members": {
							"Enabled": {
								"type": "boolean"
							},
							"Bucket": {},
							"Prefix": {}
						}
					},
					"TrustedSigners": {
						"shape": "Sy"
					},
					"PriceClass": {},
					"Enabled": {
						"type": "boolean"
					}
				}
			},
			"S2f": {
				"type": "structure",
				"required": [
					"DomainName",
					"OriginAccessIdentity"
				],
				"members": {
					"DomainName": {},
					"OriginAccessIdentity": {}
				}
			},
			"S2i": {
				"type": "structure",
				"required": [
					"Id",
					"ARN",
					"Status",
					"DomainName",
					"ActiveTrustedSigners",
					"StreamingDistributionConfig"
				],
				"members": {
					"Id": {},
					"ARN": {},
					"Status": {},
					"LastModifiedTime": {
						"type": "timestamp"
					},
					"DomainName": {},
					"ActiveTrustedSigners": {
						"shape": "S1u"
					},
					"StreamingDistributionConfig": {
						"shape": "S2e"
					}
				}
			},
			"S3a": {
				"type": "structure",
				"required": [
					"Marker",
					"MaxItems",
					"IsTruncated",
					"Quantity"
				],
				"members": {
					"Marker": {},
					"NextMarker": {},
					"MaxItems": {
						"type": "integer"
					},
					"IsTruncated": {
						"type": "boolean"
					},
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "DistributionSummary",
							"type": "structure",
							"required": [
								"Id",
								"ARN",
								"Status",
								"LastModifiedTime",
								"DomainName",
								"Aliases",
								"Origins",
								"DefaultCacheBehavior",
								"CacheBehaviors",
								"CustomErrorResponses",
								"Comment",
								"PriceClass",
								"Enabled",
								"ViewerCertificate",
								"Restrictions",
								"WebACLId",
								"HttpVersion",
								"IsIPV6Enabled"
							],
							"members": {
								"Id": {},
								"ARN": {},
								"Status": {},
								"LastModifiedTime": {
									"type": "timestamp"
								},
								"DomainName": {},
								"Aliases": {
									"shape": "S8"
								},
								"Origins": {
									"shape": "Sb"
								},
								"DefaultCacheBehavior": {
									"shape": "Sn"
								},
								"CacheBehaviors": {
									"shape": "S1a"
								},
								"CustomErrorResponses": {
									"shape": "S1d"
								},
								"Comment": {},
								"PriceClass": {},
								"Enabled": {
									"type": "boolean"
								},
								"ViewerCertificate": {
									"shape": "S1i"
								},
								"Restrictions": {
									"shape": "S1m"
								},
								"WebACLId": {},
								"HttpVersion": {},
								"IsIPV6Enabled": {
									"type": "boolean"
								}
							}
						}
					}
				}
			}
		}
	};

/***/ }),
/* 334 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListCloudFrontOriginAccessIdentities": {
				"input_token": "Marker",
				"output_token": "CloudFrontOriginAccessIdentityList.NextMarker",
				"limit_key": "MaxItems",
				"more_results": "CloudFrontOriginAccessIdentityList.IsTruncated",
				"result_key": "CloudFrontOriginAccessIdentityList.Items"
			},
			"ListDistributions": {
				"input_token": "Marker",
				"output_token": "DistributionList.NextMarker",
				"limit_key": "MaxItems",
				"more_results": "DistributionList.IsTruncated",
				"result_key": "DistributionList.Items"
			},
			"ListInvalidations": {
				"input_token": "Marker",
				"output_token": "InvalidationList.NextMarker",
				"limit_key": "MaxItems",
				"more_results": "InvalidationList.IsTruncated",
				"result_key": "InvalidationList.Items"
			},
			"ListStreamingDistributions": {
				"input_token": "Marker",
				"output_token": "StreamingDistributionList.NextMarker",
				"limit_key": "MaxItems",
				"more_results": "StreamingDistributionList.IsTruncated",
				"result_key": "StreamingDistributionList.Items"
			}
		}
	};

/***/ }),
/* 335 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"DistributionDeployed": {
				"delay": 60,
				"operation": "GetDistribution",
				"maxAttempts": 25,
				"description": "Wait until a distribution is deployed.",
				"acceptors": [
					{
						"expected": "Deployed",
						"matcher": "path",
						"state": "success",
						"argument": "Distribution.Status"
					}
				]
			},
			"InvalidationCompleted": {
				"delay": 20,
				"operation": "GetInvalidation",
				"maxAttempts": 30,
				"description": "Wait until an invalidation has completed.",
				"acceptors": [
					{
						"expected": "Completed",
						"matcher": "path",
						"state": "success",
						"argument": "Invalidation.Status"
					}
				]
			},
			"StreamingDistributionDeployed": {
				"delay": 60,
				"operation": "GetStreamingDistribution",
				"maxAttempts": 25,
				"description": "Wait until a streaming distribution is deployed.",
				"acceptors": [
					{
						"expected": "Deployed",
						"matcher": "path",
						"state": "success",
						"argument": "StreamingDistribution.Status"
					}
				]
			}
		}
	};

/***/ }),
/* 336 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2017-03-25",
			"endpointPrefix": "cloudfront",
			"globalEndpoint": "cloudfront.amazonaws.com",
			"protocol": "rest-xml",
			"serviceAbbreviation": "CloudFront",
			"serviceFullName": "Amazon CloudFront",
			"signatureVersion": "v4",
			"uid": "cloudfront-2017-03-25"
		},
		"operations": {
			"CreateCloudFrontOriginAccessIdentity": {
				"http": {
					"requestUri": "/2017-03-25/origin-access-identity/cloudfront",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"CloudFrontOriginAccessIdentityConfig"
					],
					"members": {
						"CloudFrontOriginAccessIdentityConfig": {
							"shape": "S2",
							"locationName": "CloudFrontOriginAccessIdentityConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2017-03-25/"
							}
						}
					},
					"payload": "CloudFrontOriginAccessIdentityConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"CloudFrontOriginAccessIdentity": {
							"shape": "S5"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "CloudFrontOriginAccessIdentity"
				}
			},
			"CreateDistribution": {
				"http": {
					"requestUri": "/2017-03-25/distribution",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionConfig"
					],
					"members": {
						"DistributionConfig": {
							"shape": "S7",
							"locationName": "DistributionConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2017-03-25/"
							}
						}
					},
					"payload": "DistributionConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"Distribution": {
							"shape": "S1s"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "Distribution"
				}
			},
			"CreateDistributionWithTags": {
				"http": {
					"requestUri": "/2017-03-25/distribution?WithTags",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionConfigWithTags"
					],
					"members": {
						"DistributionConfigWithTags": {
							"locationName": "DistributionConfigWithTags",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2017-03-25/"
							},
							"type": "structure",
							"required": [
								"DistributionConfig",
								"Tags"
							],
							"members": {
								"DistributionConfig": {
									"shape": "S7"
								},
								"Tags": {
									"shape": "S21"
								}
							}
						}
					},
					"payload": "DistributionConfigWithTags"
				},
				"output": {
					"type": "structure",
					"members": {
						"Distribution": {
							"shape": "S1s"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "Distribution"
				}
			},
			"CreateInvalidation": {
				"http": {
					"requestUri": "/2017-03-25/distribution/{DistributionId}/invalidation",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionId",
						"InvalidationBatch"
					],
					"members": {
						"DistributionId": {
							"location": "uri",
							"locationName": "DistributionId"
						},
						"InvalidationBatch": {
							"shape": "S28",
							"locationName": "InvalidationBatch",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2017-03-25/"
							}
						}
					},
					"payload": "InvalidationBatch"
				},
				"output": {
					"type": "structure",
					"members": {
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"Invalidation": {
							"shape": "S2c"
						}
					},
					"payload": "Invalidation"
				}
			},
			"CreateStreamingDistribution": {
				"http": {
					"requestUri": "/2017-03-25/streaming-distribution",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"StreamingDistributionConfig"
					],
					"members": {
						"StreamingDistributionConfig": {
							"shape": "S2e",
							"locationName": "StreamingDistributionConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2017-03-25/"
							}
						}
					},
					"payload": "StreamingDistributionConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistribution": {
							"shape": "S2i"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "StreamingDistribution"
				}
			},
			"CreateStreamingDistributionWithTags": {
				"http": {
					"requestUri": "/2017-03-25/streaming-distribution?WithTags",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"StreamingDistributionConfigWithTags"
					],
					"members": {
						"StreamingDistributionConfigWithTags": {
							"locationName": "StreamingDistributionConfigWithTags",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2017-03-25/"
							},
							"type": "structure",
							"required": [
								"StreamingDistributionConfig",
								"Tags"
							],
							"members": {
								"StreamingDistributionConfig": {
									"shape": "S2e"
								},
								"Tags": {
									"shape": "S21"
								}
							}
						}
					},
					"payload": "StreamingDistributionConfigWithTags"
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistribution": {
							"shape": "S2i"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "StreamingDistribution"
				}
			},
			"DeleteCloudFrontOriginAccessIdentity": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2017-03-25/origin-access-identity/cloudfront/{Id}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					}
				}
			},
			"DeleteDistribution": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2017-03-25/distribution/{Id}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					}
				}
			},
			"DeleteStreamingDistribution": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2017-03-25/streaming-distribution/{Id}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					}
				}
			},
			"GetCloudFrontOriginAccessIdentity": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/origin-access-identity/cloudfront/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CloudFrontOriginAccessIdentity": {
							"shape": "S5"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "CloudFrontOriginAccessIdentity"
				}
			},
			"GetCloudFrontOriginAccessIdentityConfig": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/origin-access-identity/cloudfront/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CloudFrontOriginAccessIdentityConfig": {
							"shape": "S2"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "CloudFrontOriginAccessIdentityConfig"
				}
			},
			"GetDistribution": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/distribution/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Distribution": {
							"shape": "S1s"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "Distribution"
				}
			},
			"GetDistributionConfig": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/distribution/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DistributionConfig": {
							"shape": "S7"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "DistributionConfig"
				}
			},
			"GetInvalidation": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/distribution/{DistributionId}/invalidation/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionId",
						"Id"
					],
					"members": {
						"DistributionId": {
							"location": "uri",
							"locationName": "DistributionId"
						},
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Invalidation": {
							"shape": "S2c"
						}
					},
					"payload": "Invalidation"
				}
			},
			"GetStreamingDistribution": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/streaming-distribution/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistribution": {
							"shape": "S2i"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "StreamingDistribution"
				}
			},
			"GetStreamingDistributionConfig": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/streaming-distribution/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistributionConfig": {
							"shape": "S2e"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "StreamingDistributionConfig"
				}
			},
			"ListCloudFrontOriginAccessIdentities": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/origin-access-identity/cloudfront"
				},
				"input": {
					"type": "structure",
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CloudFrontOriginAccessIdentityList": {
							"type": "structure",
							"required": [
								"Marker",
								"MaxItems",
								"IsTruncated",
								"Quantity"
							],
							"members": {
								"Marker": {},
								"NextMarker": {},
								"MaxItems": {
									"type": "integer"
								},
								"IsTruncated": {
									"type": "boolean"
								},
								"Quantity": {
									"type": "integer"
								},
								"Items": {
									"type": "list",
									"member": {
										"locationName": "CloudFrontOriginAccessIdentitySummary",
										"type": "structure",
										"required": [
											"Id",
											"S3CanonicalUserId",
											"Comment"
										],
										"members": {
											"Id": {},
											"S3CanonicalUserId": {},
											"Comment": {}
										}
									}
								}
							}
						}
					},
					"payload": "CloudFrontOriginAccessIdentityList"
				}
			},
			"ListDistributions": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/distribution"
				},
				"input": {
					"type": "structure",
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DistributionList": {
							"shape": "S3a"
						}
					},
					"payload": "DistributionList"
				}
			},
			"ListDistributionsByWebACLId": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/distributionsByWebACLId/{WebACLId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"WebACLId"
					],
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems"
						},
						"WebACLId": {
							"location": "uri",
							"locationName": "WebACLId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DistributionList": {
							"shape": "S3a"
						}
					},
					"payload": "DistributionList"
				}
			},
			"ListInvalidations": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/distribution/{DistributionId}/invalidation"
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionId"
					],
					"members": {
						"DistributionId": {
							"location": "uri",
							"locationName": "DistributionId"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InvalidationList": {
							"type": "structure",
							"required": [
								"Marker",
								"MaxItems",
								"IsTruncated",
								"Quantity"
							],
							"members": {
								"Marker": {},
								"NextMarker": {},
								"MaxItems": {
									"type": "integer"
								},
								"IsTruncated": {
									"type": "boolean"
								},
								"Quantity": {
									"type": "integer"
								},
								"Items": {
									"type": "list",
									"member": {
										"locationName": "InvalidationSummary",
										"type": "structure",
										"required": [
											"Id",
											"CreateTime",
											"Status"
										],
										"members": {
											"Id": {},
											"CreateTime": {
												"type": "timestamp"
											},
											"Status": {}
										}
									}
								}
							}
						}
					},
					"payload": "InvalidationList"
				}
			},
			"ListStreamingDistributions": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/streaming-distribution"
				},
				"input": {
					"type": "structure",
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistributionList": {
							"type": "structure",
							"required": [
								"Marker",
								"MaxItems",
								"IsTruncated",
								"Quantity"
							],
							"members": {
								"Marker": {},
								"NextMarker": {},
								"MaxItems": {
									"type": "integer"
								},
								"IsTruncated": {
									"type": "boolean"
								},
								"Quantity": {
									"type": "integer"
								},
								"Items": {
									"type": "list",
									"member": {
										"locationName": "StreamingDistributionSummary",
										"type": "structure",
										"required": [
											"Id",
											"ARN",
											"Status",
											"LastModifiedTime",
											"DomainName",
											"S3Origin",
											"Aliases",
											"TrustedSigners",
											"Comment",
											"PriceClass",
											"Enabled"
										],
										"members": {
											"Id": {},
											"ARN": {},
											"Status": {},
											"LastModifiedTime": {
												"type": "timestamp"
											},
											"DomainName": {},
											"S3Origin": {
												"shape": "S2f"
											},
											"Aliases": {
												"shape": "S8"
											},
											"TrustedSigners": {
												"shape": "Sy"
											},
											"Comment": {},
											"PriceClass": {},
											"Enabled": {
												"type": "boolean"
											}
										}
									}
								}
							}
						}
					},
					"payload": "StreamingDistributionList"
				}
			},
			"ListTagsForResource": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-25/tagging"
				},
				"input": {
					"type": "structure",
					"required": [
						"Resource"
					],
					"members": {
						"Resource": {
							"location": "querystring",
							"locationName": "Resource"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Tags"
					],
					"members": {
						"Tags": {
							"shape": "S21"
						}
					},
					"payload": "Tags"
				}
			},
			"TagResource": {
				"http": {
					"requestUri": "/2017-03-25/tagging?Operation=Tag",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Resource",
						"Tags"
					],
					"members": {
						"Resource": {
							"location": "querystring",
							"locationName": "Resource"
						},
						"Tags": {
							"shape": "S21",
							"locationName": "Tags",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2017-03-25/"
							}
						}
					},
					"payload": "Tags"
				}
			},
			"UntagResource": {
				"http": {
					"requestUri": "/2017-03-25/tagging?Operation=Untag",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Resource",
						"TagKeys"
					],
					"members": {
						"Resource": {
							"location": "querystring",
							"locationName": "Resource"
						},
						"TagKeys": {
							"locationName": "TagKeys",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2017-03-25/"
							},
							"type": "structure",
							"members": {
								"Items": {
									"type": "list",
									"member": {
										"locationName": "Key"
									}
								}
							}
						}
					},
					"payload": "TagKeys"
				}
			},
			"UpdateCloudFrontOriginAccessIdentity": {
				"http": {
					"method": "PUT",
					"requestUri": "/2017-03-25/origin-access-identity/cloudfront/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"CloudFrontOriginAccessIdentityConfig",
						"Id"
					],
					"members": {
						"CloudFrontOriginAccessIdentityConfig": {
							"shape": "S2",
							"locationName": "CloudFrontOriginAccessIdentityConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2017-03-25/"
							}
						},
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					},
					"payload": "CloudFrontOriginAccessIdentityConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"CloudFrontOriginAccessIdentity": {
							"shape": "S5"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "CloudFrontOriginAccessIdentity"
				}
			},
			"UpdateDistribution": {
				"http": {
					"method": "PUT",
					"requestUri": "/2017-03-25/distribution/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"DistributionConfig",
						"Id"
					],
					"members": {
						"DistributionConfig": {
							"shape": "S7",
							"locationName": "DistributionConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2017-03-25/"
							}
						},
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					},
					"payload": "DistributionConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"Distribution": {
							"shape": "S1s"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "Distribution"
				}
			},
			"UpdateStreamingDistribution": {
				"http": {
					"method": "PUT",
					"requestUri": "/2017-03-25/streaming-distribution/{Id}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"StreamingDistributionConfig",
						"Id"
					],
					"members": {
						"StreamingDistributionConfig": {
							"shape": "S2e",
							"locationName": "StreamingDistributionConfig",
							"xmlNamespace": {
								"uri": "http://cloudfront.amazonaws.com/doc/2017-03-25/"
							}
						},
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						}
					},
					"payload": "StreamingDistributionConfig"
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamingDistribution": {
							"shape": "S2i"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						}
					},
					"payload": "StreamingDistribution"
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "structure",
				"required": [
					"CallerReference",
					"Comment"
				],
				"members": {
					"CallerReference": {},
					"Comment": {}
				}
			},
			"S5": {
				"type": "structure",
				"required": [
					"Id",
					"S3CanonicalUserId"
				],
				"members": {
					"Id": {},
					"S3CanonicalUserId": {},
					"CloudFrontOriginAccessIdentityConfig": {
						"shape": "S2"
					}
				}
			},
			"S7": {
				"type": "structure",
				"required": [
					"CallerReference",
					"Origins",
					"DefaultCacheBehavior",
					"Comment",
					"Enabled"
				],
				"members": {
					"CallerReference": {},
					"Aliases": {
						"shape": "S8"
					},
					"DefaultRootObject": {},
					"Origins": {
						"shape": "Sb"
					},
					"DefaultCacheBehavior": {
						"shape": "Sn"
					},
					"CacheBehaviors": {
						"shape": "S1a"
					},
					"CustomErrorResponses": {
						"shape": "S1d"
					},
					"Comment": {},
					"Logging": {
						"type": "structure",
						"required": [
							"Enabled",
							"IncludeCookies",
							"Bucket",
							"Prefix"
						],
						"members": {
							"Enabled": {
								"type": "boolean"
							},
							"IncludeCookies": {
								"type": "boolean"
							},
							"Bucket": {},
							"Prefix": {}
						}
					},
					"PriceClass": {},
					"Enabled": {
						"type": "boolean"
					},
					"ViewerCertificate": {
						"shape": "S1i"
					},
					"Restrictions": {
						"shape": "S1m"
					},
					"WebACLId": {},
					"HttpVersion": {},
					"IsIPV6Enabled": {
						"type": "boolean"
					}
				}
			},
			"S8": {
				"type": "structure",
				"required": [
					"Quantity"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "CNAME"
						}
					}
				}
			},
			"Sb": {
				"type": "structure",
				"required": [
					"Quantity"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "Origin",
							"type": "structure",
							"required": [
								"Id",
								"DomainName"
							],
							"members": {
								"Id": {},
								"DomainName": {},
								"OriginPath": {},
								"CustomHeaders": {
									"type": "structure",
									"required": [
										"Quantity"
									],
									"members": {
										"Quantity": {
											"type": "integer"
										},
										"Items": {
											"type": "list",
											"member": {
												"locationName": "OriginCustomHeader",
												"type": "structure",
												"required": [
													"HeaderName",
													"HeaderValue"
												],
												"members": {
													"HeaderName": {},
													"HeaderValue": {}
												}
											}
										}
									}
								},
								"S3OriginConfig": {
									"type": "structure",
									"required": [
										"OriginAccessIdentity"
									],
									"members": {
										"OriginAccessIdentity": {}
									}
								},
								"CustomOriginConfig": {
									"type": "structure",
									"required": [
										"HTTPPort",
										"HTTPSPort",
										"OriginProtocolPolicy"
									],
									"members": {
										"HTTPPort": {
											"type": "integer"
										},
										"HTTPSPort": {
											"type": "integer"
										},
										"OriginProtocolPolicy": {},
										"OriginSslProtocols": {
											"type": "structure",
											"required": [
												"Quantity",
												"Items"
											],
											"members": {
												"Quantity": {
													"type": "integer"
												},
												"Items": {
													"type": "list",
													"member": {
														"locationName": "SslProtocol"
													}
												}
											}
										},
										"OriginReadTimeout": {
											"type": "integer"
										},
										"OriginKeepaliveTimeout": {
											"type": "integer"
										}
									}
								}
							}
						}
					}
				}
			},
			"Sn": {
				"type": "structure",
				"required": [
					"TargetOriginId",
					"ForwardedValues",
					"TrustedSigners",
					"ViewerProtocolPolicy",
					"MinTTL"
				],
				"members": {
					"TargetOriginId": {},
					"ForwardedValues": {
						"shape": "So"
					},
					"TrustedSigners": {
						"shape": "Sy"
					},
					"ViewerProtocolPolicy": {},
					"MinTTL": {
						"type": "long"
					},
					"AllowedMethods": {
						"shape": "S12"
					},
					"SmoothStreaming": {
						"type": "boolean"
					},
					"DefaultTTL": {
						"type": "long"
					},
					"MaxTTL": {
						"type": "long"
					},
					"Compress": {
						"type": "boolean"
					},
					"LambdaFunctionAssociations": {
						"shape": "S16"
					}
				}
			},
			"So": {
				"type": "structure",
				"required": [
					"QueryString",
					"Cookies"
				],
				"members": {
					"QueryString": {
						"type": "boolean"
					},
					"Cookies": {
						"type": "structure",
						"required": [
							"Forward"
						],
						"members": {
							"Forward": {},
							"WhitelistedNames": {
								"type": "structure",
								"required": [
									"Quantity"
								],
								"members": {
									"Quantity": {
										"type": "integer"
									},
									"Items": {
										"type": "list",
										"member": {
											"locationName": "Name"
										}
									}
								}
							}
						}
					},
					"Headers": {
						"type": "structure",
						"required": [
							"Quantity"
						],
						"members": {
							"Quantity": {
								"type": "integer"
							},
							"Items": {
								"type": "list",
								"member": {
									"locationName": "Name"
								}
							}
						}
					},
					"QueryStringCacheKeys": {
						"type": "structure",
						"required": [
							"Quantity"
						],
						"members": {
							"Quantity": {
								"type": "integer"
							},
							"Items": {
								"type": "list",
								"member": {
									"locationName": "Name"
								}
							}
						}
					}
				}
			},
			"Sy": {
				"type": "structure",
				"required": [
					"Enabled",
					"Quantity"
				],
				"members": {
					"Enabled": {
						"type": "boolean"
					},
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "AwsAccountNumber"
						}
					}
				}
			},
			"S12": {
				"type": "structure",
				"required": [
					"Quantity",
					"Items"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"shape": "S13"
					},
					"CachedMethods": {
						"type": "structure",
						"required": [
							"Quantity",
							"Items"
						],
						"members": {
							"Quantity": {
								"type": "integer"
							},
							"Items": {
								"shape": "S13"
							}
						}
					}
				}
			},
			"S13": {
				"type": "list",
				"member": {
					"locationName": "Method"
				}
			},
			"S16": {
				"type": "structure",
				"required": [
					"Quantity"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "LambdaFunctionAssociation",
							"type": "structure",
							"members": {
								"LambdaFunctionARN": {},
								"EventType": {}
							}
						}
					}
				}
			},
			"S1a": {
				"type": "structure",
				"required": [
					"Quantity"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "CacheBehavior",
							"type": "structure",
							"required": [
								"PathPattern",
								"TargetOriginId",
								"ForwardedValues",
								"TrustedSigners",
								"ViewerProtocolPolicy",
								"MinTTL"
							],
							"members": {
								"PathPattern": {},
								"TargetOriginId": {},
								"ForwardedValues": {
									"shape": "So"
								},
								"TrustedSigners": {
									"shape": "Sy"
								},
								"ViewerProtocolPolicy": {},
								"MinTTL": {
									"type": "long"
								},
								"AllowedMethods": {
									"shape": "S12"
								},
								"SmoothStreaming": {
									"type": "boolean"
								},
								"DefaultTTL": {
									"type": "long"
								},
								"MaxTTL": {
									"type": "long"
								},
								"Compress": {
									"type": "boolean"
								},
								"LambdaFunctionAssociations": {
									"shape": "S16"
								}
							}
						}
					}
				}
			},
			"S1d": {
				"type": "structure",
				"required": [
					"Quantity"
				],
				"members": {
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "CustomErrorResponse",
							"type": "structure",
							"required": [
								"ErrorCode"
							],
							"members": {
								"ErrorCode": {
									"type": "integer"
								},
								"ResponsePagePath": {},
								"ResponseCode": {},
								"ErrorCachingMinTTL": {
									"type": "long"
								}
							}
						}
					}
				}
			},
			"S1i": {
				"type": "structure",
				"members": {
					"CloudFrontDefaultCertificate": {
						"type": "boolean"
					},
					"IAMCertificateId": {},
					"ACMCertificateArn": {},
					"SSLSupportMethod": {},
					"MinimumProtocolVersion": {},
					"Certificate": {
						"deprecated": true
					},
					"CertificateSource": {
						"deprecated": true
					}
				}
			},
			"S1m": {
				"type": "structure",
				"required": [
					"GeoRestriction"
				],
				"members": {
					"GeoRestriction": {
						"type": "structure",
						"required": [
							"RestrictionType",
							"Quantity"
						],
						"members": {
							"RestrictionType": {},
							"Quantity": {
								"type": "integer"
							},
							"Items": {
								"type": "list",
								"member": {
									"locationName": "Location"
								}
							}
						}
					}
				}
			},
			"S1s": {
				"type": "structure",
				"required": [
					"Id",
					"ARN",
					"Status",
					"LastModifiedTime",
					"InProgressInvalidationBatches",
					"DomainName",
					"ActiveTrustedSigners",
					"DistributionConfig"
				],
				"members": {
					"Id": {},
					"ARN": {},
					"Status": {},
					"LastModifiedTime": {
						"type": "timestamp"
					},
					"InProgressInvalidationBatches": {
						"type": "integer"
					},
					"DomainName": {},
					"ActiveTrustedSigners": {
						"shape": "S1u"
					},
					"DistributionConfig": {
						"shape": "S7"
					}
				}
			},
			"S1u": {
				"type": "structure",
				"required": [
					"Enabled",
					"Quantity"
				],
				"members": {
					"Enabled": {
						"type": "boolean"
					},
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "Signer",
							"type": "structure",
							"members": {
								"AwsAccountNumber": {},
								"KeyPairIds": {
									"type": "structure",
									"required": [
										"Quantity"
									],
									"members": {
										"Quantity": {
											"type": "integer"
										},
										"Items": {
											"type": "list",
											"member": {
												"locationName": "KeyPairId"
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"S21": {
				"type": "structure",
				"members": {
					"Items": {
						"type": "list",
						"member": {
							"locationName": "Tag",
							"type": "structure",
							"required": [
								"Key"
							],
							"members": {
								"Key": {},
								"Value": {}
							}
						}
					}
				}
			},
			"S28": {
				"type": "structure",
				"required": [
					"Paths",
					"CallerReference"
				],
				"members": {
					"Paths": {
						"type": "structure",
						"required": [
							"Quantity"
						],
						"members": {
							"Quantity": {
								"type": "integer"
							},
							"Items": {
								"type": "list",
								"member": {
									"locationName": "Path"
								}
							}
						}
					},
					"CallerReference": {}
				}
			},
			"S2c": {
				"type": "structure",
				"required": [
					"Id",
					"Status",
					"CreateTime",
					"InvalidationBatch"
				],
				"members": {
					"Id": {},
					"Status": {},
					"CreateTime": {
						"type": "timestamp"
					},
					"InvalidationBatch": {
						"shape": "S28"
					}
				}
			},
			"S2e": {
				"type": "structure",
				"required": [
					"CallerReference",
					"S3Origin",
					"Comment",
					"TrustedSigners",
					"Enabled"
				],
				"members": {
					"CallerReference": {},
					"S3Origin": {
						"shape": "S2f"
					},
					"Aliases": {
						"shape": "S8"
					},
					"Comment": {},
					"Logging": {
						"type": "structure",
						"required": [
							"Enabled",
							"Bucket",
							"Prefix"
						],
						"members": {
							"Enabled": {
								"type": "boolean"
							},
							"Bucket": {},
							"Prefix": {}
						}
					},
					"TrustedSigners": {
						"shape": "Sy"
					},
					"PriceClass": {},
					"Enabled": {
						"type": "boolean"
					}
				}
			},
			"S2f": {
				"type": "structure",
				"required": [
					"DomainName",
					"OriginAccessIdentity"
				],
				"members": {
					"DomainName": {},
					"OriginAccessIdentity": {}
				}
			},
			"S2i": {
				"type": "structure",
				"required": [
					"Id",
					"ARN",
					"Status",
					"DomainName",
					"ActiveTrustedSigners",
					"StreamingDistributionConfig"
				],
				"members": {
					"Id": {},
					"ARN": {},
					"Status": {},
					"LastModifiedTime": {
						"type": "timestamp"
					},
					"DomainName": {},
					"ActiveTrustedSigners": {
						"shape": "S1u"
					},
					"StreamingDistributionConfig": {
						"shape": "S2e"
					}
				}
			},
			"S3a": {
				"type": "structure",
				"required": [
					"Marker",
					"MaxItems",
					"IsTruncated",
					"Quantity"
				],
				"members": {
					"Marker": {},
					"NextMarker": {},
					"MaxItems": {
						"type": "integer"
					},
					"IsTruncated": {
						"type": "boolean"
					},
					"Quantity": {
						"type": "integer"
					},
					"Items": {
						"type": "list",
						"member": {
							"locationName": "DistributionSummary",
							"type": "structure",
							"required": [
								"Id",
								"ARN",
								"Status",
								"LastModifiedTime",
								"DomainName",
								"Aliases",
								"Origins",
								"DefaultCacheBehavior",
								"CacheBehaviors",
								"CustomErrorResponses",
								"Comment",
								"PriceClass",
								"Enabled",
								"ViewerCertificate",
								"Restrictions",
								"WebACLId",
								"HttpVersion",
								"IsIPV6Enabled"
							],
							"members": {
								"Id": {},
								"ARN": {},
								"Status": {},
								"LastModifiedTime": {
									"type": "timestamp"
								},
								"DomainName": {},
								"Aliases": {
									"shape": "S8"
								},
								"Origins": {
									"shape": "Sb"
								},
								"DefaultCacheBehavior": {
									"shape": "Sn"
								},
								"CacheBehaviors": {
									"shape": "S1a"
								},
								"CustomErrorResponses": {
									"shape": "S1d"
								},
								"Comment": {},
								"PriceClass": {},
								"Enabled": {
									"type": "boolean"
								},
								"ViewerCertificate": {
									"shape": "S1i"
								},
								"Restrictions": {
									"shape": "S1m"
								},
								"WebACLId": {},
								"HttpVersion": {},
								"IsIPV6Enabled": {
									"type": "boolean"
								}
							}
						}
					}
				}
			}
		}
	};

/***/ }),
/* 337 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListCloudFrontOriginAccessIdentities": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "CloudFrontOriginAccessIdentityList.IsTruncated",
				"output_token": "CloudFrontOriginAccessIdentityList.NextMarker",
				"result_key": "CloudFrontOriginAccessIdentityList.Items"
			},
			"ListDistributions": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "DistributionList.IsTruncated",
				"output_token": "DistributionList.NextMarker",
				"result_key": "DistributionList.Items"
			},
			"ListInvalidations": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "InvalidationList.IsTruncated",
				"output_token": "InvalidationList.NextMarker",
				"result_key": "InvalidationList.Items"
			},
			"ListStreamingDistributions": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "StreamingDistributionList.IsTruncated",
				"output_token": "StreamingDistributionList.NextMarker",
				"result_key": "StreamingDistributionList.Items"
			}
		}
	};

/***/ }),
/* 338 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"DistributionDeployed": {
				"delay": 60,
				"operation": "GetDistribution",
				"maxAttempts": 25,
				"description": "Wait until a distribution is deployed.",
				"acceptors": [
					{
						"expected": "Deployed",
						"matcher": "path",
						"state": "success",
						"argument": "Distribution.Status"
					}
				]
			},
			"InvalidationCompleted": {
				"delay": 20,
				"operation": "GetInvalidation",
				"maxAttempts": 30,
				"description": "Wait until an invalidation has completed.",
				"acceptors": [
					{
						"expected": "Completed",
						"matcher": "path",
						"state": "success",
						"argument": "Invalidation.Status"
					}
				]
			},
			"StreamingDistributionDeployed": {
				"delay": 60,
				"operation": "GetStreamingDistribution",
				"maxAttempts": 25,
				"description": "Wait until a streaming distribution is deployed.",
				"acceptors": [
					{
						"expected": "Deployed",
						"matcher": "path",
						"state": "success",
						"argument": "StreamingDistribution.Status"
					}
				]
			}
		}
	};

/***/ }),
/* 339 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cloudhsm'] = {};
	AWS.CloudHSM = Service.defineService('cloudhsm', ['2014-05-30']);
	Object.defineProperty(apiLoader.services['cloudhsm'], '2014-05-30', {
	  get: function get() {
	    var model = __webpack_require__(340);
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CloudHSM;


/***/ }),
/* 340 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-05-30",
			"endpointPrefix": "cloudhsm",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "CloudHSM",
			"serviceFullName": "Amazon CloudHSM",
			"signatureVersion": "v4",
			"targetPrefix": "CloudHsmFrontendService",
			"uid": "cloudhsm-2014-05-30"
		},
		"operations": {
			"AddTagsToResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn",
						"TagList"
					],
					"members": {
						"ResourceArn": {},
						"TagList": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Status"
					],
					"members": {
						"Status": {}
					}
				}
			},
			"CreateHapg": {
				"input": {
					"type": "structure",
					"required": [
						"Label"
					],
					"members": {
						"Label": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HapgArn": {}
					}
				}
			},
			"CreateHsm": {
				"input": {
					"type": "structure",
					"required": [
						"SubnetId",
						"SshKey",
						"IamRoleArn",
						"SubscriptionType"
					],
					"members": {
						"SubnetId": {
							"locationName": "SubnetId"
						},
						"SshKey": {
							"locationName": "SshKey"
						},
						"EniIp": {
							"locationName": "EniIp"
						},
						"IamRoleArn": {
							"locationName": "IamRoleArn"
						},
						"ExternalId": {
							"locationName": "ExternalId"
						},
						"SubscriptionType": {
							"locationName": "SubscriptionType"
						},
						"ClientToken": {
							"locationName": "ClientToken"
						},
						"SyslogIp": {
							"locationName": "SyslogIp"
						}
					},
					"locationName": "CreateHsmRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"HsmArn": {}
					}
				}
			},
			"CreateLunaClient": {
				"input": {
					"type": "structure",
					"required": [
						"Certificate"
					],
					"members": {
						"Label": {},
						"Certificate": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClientArn": {}
					}
				}
			},
			"DeleteHapg": {
				"input": {
					"type": "structure",
					"required": [
						"HapgArn"
					],
					"members": {
						"HapgArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Status"
					],
					"members": {
						"Status": {}
					}
				}
			},
			"DeleteHsm": {
				"input": {
					"type": "structure",
					"required": [
						"HsmArn"
					],
					"members": {
						"HsmArn": {
							"locationName": "HsmArn"
						}
					},
					"locationName": "DeleteHsmRequest"
				},
				"output": {
					"type": "structure",
					"required": [
						"Status"
					],
					"members": {
						"Status": {}
					}
				}
			},
			"DeleteLunaClient": {
				"input": {
					"type": "structure",
					"required": [
						"ClientArn"
					],
					"members": {
						"ClientArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Status"
					],
					"members": {
						"Status": {}
					}
				}
			},
			"DescribeHapg": {
				"input": {
					"type": "structure",
					"required": [
						"HapgArn"
					],
					"members": {
						"HapgArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HapgArn": {},
						"HapgSerial": {},
						"HsmsLastActionFailed": {
							"shape": "Sz"
						},
						"HsmsPendingDeletion": {
							"shape": "Sz"
						},
						"HsmsPendingRegistration": {
							"shape": "Sz"
						},
						"Label": {},
						"LastModifiedTimestamp": {},
						"PartitionSerialList": {
							"shape": "S11"
						},
						"State": {}
					}
				}
			},
			"DescribeHsm": {
				"input": {
					"type": "structure",
					"members": {
						"HsmArn": {},
						"HsmSerialNumber": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HsmArn": {},
						"Status": {},
						"StatusDetails": {},
						"AvailabilityZone": {},
						"EniId": {},
						"EniIp": {},
						"SubscriptionType": {},
						"SubscriptionStartDate": {},
						"SubscriptionEndDate": {},
						"VpcId": {},
						"SubnetId": {},
						"IamRoleArn": {},
						"SerialNumber": {},
						"VendorName": {},
						"HsmType": {},
						"SoftwareVersion": {},
						"SshPublicKey": {},
						"SshKeyLastUpdated": {},
						"ServerCertUri": {},
						"ServerCertLastUpdated": {},
						"Partitions": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"DescribeLunaClient": {
				"input": {
					"type": "structure",
					"members": {
						"ClientArn": {},
						"CertificateFingerprint": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClientArn": {},
						"Certificate": {},
						"CertificateFingerprint": {},
						"LastModifiedTimestamp": {},
						"Label": {}
					}
				}
			},
			"GetConfig": {
				"input": {
					"type": "structure",
					"required": [
						"ClientArn",
						"ClientVersion",
						"HapgList"
					],
					"members": {
						"ClientArn": {},
						"ClientVersion": {},
						"HapgList": {
							"shape": "S1i"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConfigType": {},
						"ConfigFile": {},
						"ConfigCred": {}
					}
				}
			},
			"ListAvailableZones": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"AZList": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"ListHapgs": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HapgList"
					],
					"members": {
						"HapgList": {
							"shape": "S1i"
						},
						"NextToken": {}
					}
				}
			},
			"ListHsms": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HsmList": {
							"shape": "Sz"
						},
						"NextToken": {}
					}
				}
			},
			"ListLunaClients": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ClientList"
					],
					"members": {
						"ClientList": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn"
					],
					"members": {
						"ResourceArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TagList"
					],
					"members": {
						"TagList": {
							"shape": "S3"
						}
					}
				}
			},
			"ModifyHapg": {
				"input": {
					"type": "structure",
					"required": [
						"HapgArn"
					],
					"members": {
						"HapgArn": {},
						"Label": {},
						"PartitionSerialList": {
							"shape": "S11"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HapgArn": {}
					}
				}
			},
			"ModifyHsm": {
				"input": {
					"type": "structure",
					"required": [
						"HsmArn"
					],
					"members": {
						"HsmArn": {
							"locationName": "HsmArn"
						},
						"SubnetId": {
							"locationName": "SubnetId"
						},
						"EniIp": {
							"locationName": "EniIp"
						},
						"IamRoleArn": {
							"locationName": "IamRoleArn"
						},
						"ExternalId": {
							"locationName": "ExternalId"
						},
						"SyslogIp": {
							"locationName": "SyslogIp"
						}
					},
					"locationName": "ModifyHsmRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"HsmArn": {}
					}
				}
			},
			"ModifyLunaClient": {
				"input": {
					"type": "structure",
					"required": [
						"ClientArn",
						"Certificate"
					],
					"members": {
						"ClientArn": {},
						"Certificate": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClientArn": {}
					}
				}
			},
			"RemoveTagsFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn",
						"TagKeyList"
					],
					"members": {
						"ResourceArn": {},
						"TagKeyList": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Status"
					],
					"members": {
						"Status": {}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key",
						"Value"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sz": {
				"type": "list",
				"member": {}
			},
			"S11": {
				"type": "list",
				"member": {}
			},
			"S1i": {
				"type": "list",
				"member": {}
			}
		}
	};

/***/ }),
/* 341 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cloudsearch'] = {};
	AWS.CloudSearch = Service.defineService('cloudsearch', ['2011-02-01', '2013-01-01']);
	Object.defineProperty(apiLoader.services['cloudsearch'], '2011-02-01', {
	  get: function get() {
	    var model = __webpack_require__(342);
	    model.paginators = __webpack_require__(343).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});
	Object.defineProperty(apiLoader.services['cloudsearch'], '2013-01-01', {
	  get: function get() {
	    var model = __webpack_require__(344);
	    model.paginators = __webpack_require__(345).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CloudSearch;


/***/ }),
/* 342 */
/***/ (function(module, exports) {

	module.exports = {
		"metadata": {
			"apiVersion": "2011-02-01",
			"endpointPrefix": "cloudsearch",
			"serviceFullName": "Amazon CloudSearch",
			"signatureVersion": "v4",
			"xmlNamespace": "http://cloudsearch.amazonaws.com/doc/2011-02-01/",
			"protocol": "query"
		},
		"operations": {
			"CreateDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDomainResult",
					"type": "structure",
					"members": {
						"DomainStatus": {
							"shape": "S4"
						}
					}
				}
			},
			"DefineIndexField": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"IndexField"
					],
					"members": {
						"DomainName": {},
						"IndexField": {
							"shape": "Sf"
						}
					}
				},
				"output": {
					"resultWrapper": "DefineIndexFieldResult",
					"type": "structure",
					"required": [
						"IndexField"
					],
					"members": {
						"IndexField": {
							"shape": "Sx"
						}
					}
				}
			},
			"DefineRankExpression": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"RankExpression"
					],
					"members": {
						"DomainName": {},
						"RankExpression": {
							"shape": "S12"
						}
					}
				},
				"output": {
					"resultWrapper": "DefineRankExpressionResult",
					"type": "structure",
					"required": [
						"RankExpression"
					],
					"members": {
						"RankExpression": {
							"shape": "S15"
						}
					}
				}
			},
			"DeleteDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDomainResult",
					"type": "structure",
					"members": {
						"DomainStatus": {
							"shape": "S4"
						}
					}
				}
			},
			"DeleteIndexField": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"IndexFieldName"
					],
					"members": {
						"DomainName": {},
						"IndexFieldName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteIndexFieldResult",
					"type": "structure",
					"required": [
						"IndexField"
					],
					"members": {
						"IndexField": {
							"shape": "Sx"
						}
					}
				}
			},
			"DeleteRankExpression": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"RankName"
					],
					"members": {
						"DomainName": {},
						"RankName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteRankExpressionResult",
					"type": "structure",
					"required": [
						"RankExpression"
					],
					"members": {
						"RankExpression": {
							"shape": "S15"
						}
					}
				}
			},
			"DescribeAvailabilityOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeAvailabilityOptionsResult",
					"type": "structure",
					"members": {
						"AvailabilityOptions": {
							"shape": "S1e"
						}
					}
				}
			},
			"DescribeDefaultSearchField": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDefaultSearchFieldResult",
					"type": "structure",
					"required": [
						"DefaultSearchField"
					],
					"members": {
						"DefaultSearchField": {
							"shape": "S1i"
						}
					}
				}
			},
			"DescribeDomains": {
				"input": {
					"type": "structure",
					"members": {
						"DomainNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeDomainsResult",
					"type": "structure",
					"required": [
						"DomainStatusList"
					],
					"members": {
						"DomainStatusList": {
							"type": "list",
							"member": {
								"shape": "S4"
							}
						}
					}
				}
			},
			"DescribeIndexFields": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"FieldNames": {
							"shape": "S1o"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeIndexFieldsResult",
					"type": "structure",
					"required": [
						"IndexFields"
					],
					"members": {
						"IndexFields": {
							"type": "list",
							"member": {
								"shape": "Sx"
							}
						}
					}
				}
			},
			"DescribeRankExpressions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"RankNames": {
							"shape": "S1o"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeRankExpressionsResult",
					"type": "structure",
					"required": [
						"RankExpressions"
					],
					"members": {
						"RankExpressions": {
							"type": "list",
							"member": {
								"shape": "S15"
							}
						}
					}
				}
			},
			"DescribeServiceAccessPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeServiceAccessPoliciesResult",
					"type": "structure",
					"required": [
						"AccessPolicies"
					],
					"members": {
						"AccessPolicies": {
							"shape": "S1w"
						}
					}
				}
			},
			"DescribeStemmingOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeStemmingOptionsResult",
					"type": "structure",
					"required": [
						"Stems"
					],
					"members": {
						"Stems": {
							"shape": "S20"
						}
					}
				}
			},
			"DescribeStopwordOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeStopwordOptionsResult",
					"type": "structure",
					"required": [
						"Stopwords"
					],
					"members": {
						"Stopwords": {
							"shape": "S24"
						}
					}
				}
			},
			"DescribeSynonymOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeSynonymOptionsResult",
					"type": "structure",
					"required": [
						"Synonyms"
					],
					"members": {
						"Synonyms": {
							"shape": "S28"
						}
					}
				}
			},
			"IndexDocuments": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "IndexDocumentsResult",
					"type": "structure",
					"members": {
						"FieldNames": {
							"shape": "S1o"
						}
					}
				}
			},
			"UpdateAvailabilityOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"MultiAZ"
					],
					"members": {
						"DomainName": {},
						"MultiAZ": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "UpdateAvailabilityOptionsResult",
					"type": "structure",
					"members": {
						"AvailabilityOptions": {
							"shape": "S1e"
						}
					}
				}
			},
			"UpdateDefaultSearchField": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"DefaultSearchField"
					],
					"members": {
						"DomainName": {},
						"DefaultSearchField": {}
					}
				},
				"output": {
					"resultWrapper": "UpdateDefaultSearchFieldResult",
					"type": "structure",
					"required": [
						"DefaultSearchField"
					],
					"members": {
						"DefaultSearchField": {
							"shape": "S1i"
						}
					}
				}
			},
			"UpdateServiceAccessPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"AccessPolicies"
					],
					"members": {
						"DomainName": {},
						"AccessPolicies": {}
					}
				},
				"output": {
					"resultWrapper": "UpdateServiceAccessPoliciesResult",
					"type": "structure",
					"required": [
						"AccessPolicies"
					],
					"members": {
						"AccessPolicies": {
							"shape": "S1w"
						}
					}
				}
			},
			"UpdateStemmingOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"Stems"
					],
					"members": {
						"DomainName": {},
						"Stems": {}
					}
				},
				"output": {
					"resultWrapper": "UpdateStemmingOptionsResult",
					"type": "structure",
					"required": [
						"Stems"
					],
					"members": {
						"Stems": {
							"shape": "S20"
						}
					}
				}
			},
			"UpdateStopwordOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"Stopwords"
					],
					"members": {
						"DomainName": {},
						"Stopwords": {}
					}
				},
				"output": {
					"resultWrapper": "UpdateStopwordOptionsResult",
					"type": "structure",
					"required": [
						"Stopwords"
					],
					"members": {
						"Stopwords": {
							"shape": "S24"
						}
					}
				}
			},
			"UpdateSynonymOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"Synonyms"
					],
					"members": {
						"DomainName": {},
						"Synonyms": {}
					}
				},
				"output": {
					"resultWrapper": "UpdateSynonymOptionsResult",
					"type": "structure",
					"required": [
						"Synonyms"
					],
					"members": {
						"Synonyms": {
							"shape": "S28"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"required": [
					"DomainId",
					"DomainName",
					"RequiresIndexDocuments"
				],
				"members": {
					"DomainId": {},
					"DomainName": {},
					"Created": {
						"type": "boolean"
					},
					"Deleted": {
						"type": "boolean"
					},
					"NumSearchableDocs": {
						"type": "long"
					},
					"DocService": {
						"shape": "S8"
					},
					"SearchService": {
						"shape": "S8"
					},
					"RequiresIndexDocuments": {
						"type": "boolean"
					},
					"Processing": {
						"type": "boolean"
					},
					"SearchInstanceType": {},
					"SearchPartitionCount": {
						"type": "integer"
					},
					"SearchInstanceCount": {
						"type": "integer"
					}
				}
			},
			"S8": {
				"type": "structure",
				"members": {
					"Arn": {},
					"Endpoint": {}
				}
			},
			"Sf": {
				"type": "structure",
				"required": [
					"IndexFieldName",
					"IndexFieldType"
				],
				"members": {
					"IndexFieldName": {},
					"IndexFieldType": {},
					"UIntOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {
								"type": "integer"
							}
						}
					},
					"LiteralOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {},
							"SearchEnabled": {
								"type": "boolean"
							},
							"FacetEnabled": {
								"type": "boolean"
							},
							"ResultEnabled": {
								"type": "boolean"
							}
						}
					},
					"TextOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {},
							"FacetEnabled": {
								"type": "boolean"
							},
							"ResultEnabled": {
								"type": "boolean"
							},
							"TextProcessor": {}
						}
					},
					"SourceAttributes": {
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"SourceDataFunction"
							],
							"members": {
								"SourceDataFunction": {},
								"SourceDataCopy": {
									"type": "structure",
									"required": [
										"SourceName"
									],
									"members": {
										"SourceName": {},
										"DefaultValue": {}
									}
								},
								"SourceDataTrimTitle": {
									"type": "structure",
									"required": [
										"SourceName"
									],
									"members": {
										"SourceName": {},
										"DefaultValue": {},
										"Separator": {},
										"Language": {}
									}
								},
								"SourceDataMap": {
									"type": "structure",
									"required": [
										"SourceName"
									],
									"members": {
										"SourceName": {},
										"DefaultValue": {},
										"Cases": {
											"type": "map",
											"key": {},
											"value": {}
										}
									}
								}
							}
						}
					}
				}
			},
			"Sx": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {
						"shape": "Sf"
					},
					"Status": {
						"shape": "Sy"
					}
				}
			},
			"Sy": {
				"type": "structure",
				"required": [
					"CreationDate",
					"UpdateDate",
					"State"
				],
				"members": {
					"CreationDate": {
						"type": "timestamp"
					},
					"UpdateDate": {
						"type": "timestamp"
					},
					"UpdateVersion": {
						"type": "integer"
					},
					"State": {},
					"PendingDeletion": {
						"type": "boolean"
					}
				}
			},
			"S12": {
				"type": "structure",
				"required": [
					"RankName",
					"RankExpression"
				],
				"members": {
					"RankName": {},
					"RankExpression": {}
				}
			},
			"S15": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {
						"shape": "S12"
					},
					"Status": {
						"shape": "Sy"
					}
				}
			},
			"S1e": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {
						"type": "boolean"
					},
					"Status": {
						"shape": "Sy"
					}
				}
			},
			"S1i": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {},
					"Status": {
						"shape": "Sy"
					}
				}
			},
			"S1o": {
				"type": "list",
				"member": {}
			},
			"S1w": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {},
					"Status": {
						"shape": "Sy"
					}
				}
			},
			"S20": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {},
					"Status": {
						"shape": "Sy"
					}
				}
			},
			"S24": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {},
					"Status": {
						"shape": "Sy"
					}
				}
			},
			"S28": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {},
					"Status": {
						"shape": "Sy"
					}
				}
			}
		}
	};

/***/ }),
/* 343 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeDomains": {
				"result_key": "DomainStatusList"
			},
			"DescribeIndexFields": {
				"result_key": "IndexFields"
			},
			"DescribeRankExpressions": {
				"result_key": "RankExpressions"
			}
		}
	};

/***/ }),
/* 344 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2013-01-01",
			"endpointPrefix": "cloudsearch",
			"serviceFullName": "Amazon CloudSearch",
			"signatureVersion": "v4",
			"xmlNamespace": "http://cloudsearch.amazonaws.com/doc/2013-01-01/",
			"protocol": "query",
			"uid": "cloudsearch-2013-01-01"
		},
		"operations": {
			"BuildSuggesters": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "BuildSuggestersResult",
					"type": "structure",
					"members": {
						"FieldNames": {
							"shape": "S4"
						}
					}
				}
			},
			"CreateDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDomainResult",
					"type": "structure",
					"members": {
						"DomainStatus": {
							"shape": "S8"
						}
					}
				}
			},
			"DefineAnalysisScheme": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"AnalysisScheme"
					],
					"members": {
						"DomainName": {},
						"AnalysisScheme": {
							"shape": "Sl"
						}
					}
				},
				"output": {
					"resultWrapper": "DefineAnalysisSchemeResult",
					"type": "structure",
					"required": [
						"AnalysisScheme"
					],
					"members": {
						"AnalysisScheme": {
							"shape": "Ss"
						}
					}
				}
			},
			"DefineExpression": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"Expression"
					],
					"members": {
						"DomainName": {},
						"Expression": {
							"shape": "Sy"
						}
					}
				},
				"output": {
					"resultWrapper": "DefineExpressionResult",
					"type": "structure",
					"required": [
						"Expression"
					],
					"members": {
						"Expression": {
							"shape": "S11"
						}
					}
				}
			},
			"DefineIndexField": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"IndexField"
					],
					"members": {
						"DomainName": {},
						"IndexField": {
							"shape": "S13"
						}
					}
				},
				"output": {
					"resultWrapper": "DefineIndexFieldResult",
					"type": "structure",
					"required": [
						"IndexField"
					],
					"members": {
						"IndexField": {
							"shape": "S1n"
						}
					}
				}
			},
			"DefineSuggester": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"Suggester"
					],
					"members": {
						"DomainName": {},
						"Suggester": {
							"shape": "S1p"
						}
					}
				},
				"output": {
					"resultWrapper": "DefineSuggesterResult",
					"type": "structure",
					"required": [
						"Suggester"
					],
					"members": {
						"Suggester": {
							"shape": "S1t"
						}
					}
				}
			},
			"DeleteAnalysisScheme": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"AnalysisSchemeName"
					],
					"members": {
						"DomainName": {},
						"AnalysisSchemeName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteAnalysisSchemeResult",
					"type": "structure",
					"required": [
						"AnalysisScheme"
					],
					"members": {
						"AnalysisScheme": {
							"shape": "Ss"
						}
					}
				}
			},
			"DeleteDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDomainResult",
					"type": "structure",
					"members": {
						"DomainStatus": {
							"shape": "S8"
						}
					}
				}
			},
			"DeleteExpression": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"ExpressionName"
					],
					"members": {
						"DomainName": {},
						"ExpressionName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteExpressionResult",
					"type": "structure",
					"required": [
						"Expression"
					],
					"members": {
						"Expression": {
							"shape": "S11"
						}
					}
				}
			},
			"DeleteIndexField": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"IndexFieldName"
					],
					"members": {
						"DomainName": {},
						"IndexFieldName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteIndexFieldResult",
					"type": "structure",
					"required": [
						"IndexField"
					],
					"members": {
						"IndexField": {
							"shape": "S1n"
						}
					}
				}
			},
			"DeleteSuggester": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"SuggesterName"
					],
					"members": {
						"DomainName": {},
						"SuggesterName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteSuggesterResult",
					"type": "structure",
					"required": [
						"Suggester"
					],
					"members": {
						"Suggester": {
							"shape": "S1t"
						}
					}
				}
			},
			"DescribeAnalysisSchemes": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"AnalysisSchemeNames": {
							"shape": "S25"
						},
						"Deployed": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeAnalysisSchemesResult",
					"type": "structure",
					"required": [
						"AnalysisSchemes"
					],
					"members": {
						"AnalysisSchemes": {
							"type": "list",
							"member": {
								"shape": "Ss"
							}
						}
					}
				}
			},
			"DescribeAvailabilityOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"Deployed": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeAvailabilityOptionsResult",
					"type": "structure",
					"members": {
						"AvailabilityOptions": {
							"shape": "S2a"
						}
					}
				}
			},
			"DescribeDomains": {
				"input": {
					"type": "structure",
					"members": {
						"DomainNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeDomainsResult",
					"type": "structure",
					"required": [
						"DomainStatusList"
					],
					"members": {
						"DomainStatusList": {
							"type": "list",
							"member": {
								"shape": "S8"
							}
						}
					}
				}
			},
			"DescribeExpressions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"ExpressionNames": {
							"shape": "S25"
						},
						"Deployed": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeExpressionsResult",
					"type": "structure",
					"required": [
						"Expressions"
					],
					"members": {
						"Expressions": {
							"type": "list",
							"member": {
								"shape": "S11"
							}
						}
					}
				}
			},
			"DescribeIndexFields": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"FieldNames": {
							"type": "list",
							"member": {}
						},
						"Deployed": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeIndexFieldsResult",
					"type": "structure",
					"required": [
						"IndexFields"
					],
					"members": {
						"IndexFields": {
							"type": "list",
							"member": {
								"shape": "S1n"
							}
						}
					}
				}
			},
			"DescribeScalingParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeScalingParametersResult",
					"type": "structure",
					"required": [
						"ScalingParameters"
					],
					"members": {
						"ScalingParameters": {
							"shape": "S2p"
						}
					}
				}
			},
			"DescribeServiceAccessPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"Deployed": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeServiceAccessPoliciesResult",
					"type": "structure",
					"required": [
						"AccessPolicies"
					],
					"members": {
						"AccessPolicies": {
							"shape": "S2u"
						}
					}
				}
			},
			"DescribeSuggesters": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"SuggesterNames": {
							"shape": "S25"
						},
						"Deployed": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeSuggestersResult",
					"type": "structure",
					"required": [
						"Suggesters"
					],
					"members": {
						"Suggesters": {
							"type": "list",
							"member": {
								"shape": "S1t"
							}
						}
					}
				}
			},
			"IndexDocuments": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "IndexDocumentsResult",
					"type": "structure",
					"members": {
						"FieldNames": {
							"shape": "S4"
						}
					}
				}
			},
			"ListDomainNames": {
				"output": {
					"resultWrapper": "ListDomainNamesResult",
					"type": "structure",
					"members": {
						"DomainNames": {
							"type": "map",
							"key": {},
							"value": {}
						}
					}
				}
			},
			"UpdateAvailabilityOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"MultiAZ"
					],
					"members": {
						"DomainName": {},
						"MultiAZ": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "UpdateAvailabilityOptionsResult",
					"type": "structure",
					"members": {
						"AvailabilityOptions": {
							"shape": "S2a"
						}
					}
				}
			},
			"UpdateScalingParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"ScalingParameters"
					],
					"members": {
						"DomainName": {},
						"ScalingParameters": {
							"shape": "S2q"
						}
					}
				},
				"output": {
					"resultWrapper": "UpdateScalingParametersResult",
					"type": "structure",
					"required": [
						"ScalingParameters"
					],
					"members": {
						"ScalingParameters": {
							"shape": "S2p"
						}
					}
				}
			},
			"UpdateServiceAccessPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"AccessPolicies"
					],
					"members": {
						"DomainName": {},
						"AccessPolicies": {}
					}
				},
				"output": {
					"resultWrapper": "UpdateServiceAccessPoliciesResult",
					"type": "structure",
					"required": [
						"AccessPolicies"
					],
					"members": {
						"AccessPolicies": {
							"shape": "S2u"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "list",
				"member": {}
			},
			"S8": {
				"type": "structure",
				"required": [
					"DomainId",
					"DomainName",
					"RequiresIndexDocuments"
				],
				"members": {
					"DomainId": {},
					"DomainName": {},
					"ARN": {},
					"Created": {
						"type": "boolean"
					},
					"Deleted": {
						"type": "boolean"
					},
					"DocService": {
						"shape": "Sc"
					},
					"SearchService": {
						"shape": "Sc"
					},
					"RequiresIndexDocuments": {
						"type": "boolean"
					},
					"Processing": {
						"type": "boolean"
					},
					"SearchInstanceType": {},
					"SearchPartitionCount": {
						"type": "integer"
					},
					"SearchInstanceCount": {
						"type": "integer"
					},
					"Limits": {
						"type": "structure",
						"required": [
							"MaximumReplicationCount",
							"MaximumPartitionCount"
						],
						"members": {
							"MaximumReplicationCount": {
								"type": "integer"
							},
							"MaximumPartitionCount": {
								"type": "integer"
							}
						}
					}
				}
			},
			"Sc": {
				"type": "structure",
				"members": {
					"Endpoint": {}
				}
			},
			"Sl": {
				"type": "structure",
				"required": [
					"AnalysisSchemeName",
					"AnalysisSchemeLanguage"
				],
				"members": {
					"AnalysisSchemeName": {},
					"AnalysisSchemeLanguage": {},
					"AnalysisOptions": {
						"type": "structure",
						"members": {
							"Synonyms": {},
							"Stopwords": {},
							"StemmingDictionary": {},
							"JapaneseTokenizationDictionary": {},
							"AlgorithmicStemming": {}
						}
					}
				}
			},
			"Ss": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {
						"shape": "Sl"
					},
					"Status": {
						"shape": "St"
					}
				}
			},
			"St": {
				"type": "structure",
				"required": [
					"CreationDate",
					"UpdateDate",
					"State"
				],
				"members": {
					"CreationDate": {
						"type": "timestamp"
					},
					"UpdateDate": {
						"type": "timestamp"
					},
					"UpdateVersion": {
						"type": "integer"
					},
					"State": {},
					"PendingDeletion": {
						"type": "boolean"
					}
				}
			},
			"Sy": {
				"type": "structure",
				"required": [
					"ExpressionName",
					"ExpressionValue"
				],
				"members": {
					"ExpressionName": {},
					"ExpressionValue": {}
				}
			},
			"S11": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {
						"shape": "Sy"
					},
					"Status": {
						"shape": "St"
					}
				}
			},
			"S13": {
				"type": "structure",
				"required": [
					"IndexFieldName",
					"IndexFieldType"
				],
				"members": {
					"IndexFieldName": {},
					"IndexFieldType": {},
					"IntOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {
								"type": "long"
							},
							"SourceField": {},
							"FacetEnabled": {
								"type": "boolean"
							},
							"SearchEnabled": {
								"type": "boolean"
							},
							"ReturnEnabled": {
								"type": "boolean"
							},
							"SortEnabled": {
								"type": "boolean"
							}
						}
					},
					"DoubleOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {
								"type": "double"
							},
							"SourceField": {},
							"FacetEnabled": {
								"type": "boolean"
							},
							"SearchEnabled": {
								"type": "boolean"
							},
							"ReturnEnabled": {
								"type": "boolean"
							},
							"SortEnabled": {
								"type": "boolean"
							}
						}
					},
					"LiteralOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {},
							"SourceField": {},
							"FacetEnabled": {
								"type": "boolean"
							},
							"SearchEnabled": {
								"type": "boolean"
							},
							"ReturnEnabled": {
								"type": "boolean"
							},
							"SortEnabled": {
								"type": "boolean"
							}
						}
					},
					"TextOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {},
							"SourceField": {},
							"ReturnEnabled": {
								"type": "boolean"
							},
							"SortEnabled": {
								"type": "boolean"
							},
							"HighlightEnabled": {
								"type": "boolean"
							},
							"AnalysisScheme": {}
						}
					},
					"DateOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {},
							"SourceField": {},
							"FacetEnabled": {
								"type": "boolean"
							},
							"SearchEnabled": {
								"type": "boolean"
							},
							"ReturnEnabled": {
								"type": "boolean"
							},
							"SortEnabled": {
								"type": "boolean"
							}
						}
					},
					"LatLonOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {},
							"SourceField": {},
							"FacetEnabled": {
								"type": "boolean"
							},
							"SearchEnabled": {
								"type": "boolean"
							},
							"ReturnEnabled": {
								"type": "boolean"
							},
							"SortEnabled": {
								"type": "boolean"
							}
						}
					},
					"IntArrayOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {
								"type": "long"
							},
							"SourceFields": {},
							"FacetEnabled": {
								"type": "boolean"
							},
							"SearchEnabled": {
								"type": "boolean"
							},
							"ReturnEnabled": {
								"type": "boolean"
							}
						}
					},
					"DoubleArrayOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {
								"type": "double"
							},
							"SourceFields": {},
							"FacetEnabled": {
								"type": "boolean"
							},
							"SearchEnabled": {
								"type": "boolean"
							},
							"ReturnEnabled": {
								"type": "boolean"
							}
						}
					},
					"LiteralArrayOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {},
							"SourceFields": {},
							"FacetEnabled": {
								"type": "boolean"
							},
							"SearchEnabled": {
								"type": "boolean"
							},
							"ReturnEnabled": {
								"type": "boolean"
							}
						}
					},
					"TextArrayOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {},
							"SourceFields": {},
							"ReturnEnabled": {
								"type": "boolean"
							},
							"HighlightEnabled": {
								"type": "boolean"
							},
							"AnalysisScheme": {}
						}
					},
					"DateArrayOptions": {
						"type": "structure",
						"members": {
							"DefaultValue": {},
							"SourceFields": {},
							"FacetEnabled": {
								"type": "boolean"
							},
							"SearchEnabled": {
								"type": "boolean"
							},
							"ReturnEnabled": {
								"type": "boolean"
							}
						}
					}
				}
			},
			"S1n": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {
						"shape": "S13"
					},
					"Status": {
						"shape": "St"
					}
				}
			},
			"S1p": {
				"type": "structure",
				"required": [
					"SuggesterName",
					"DocumentSuggesterOptions"
				],
				"members": {
					"SuggesterName": {},
					"DocumentSuggesterOptions": {
						"type": "structure",
						"required": [
							"SourceField"
						],
						"members": {
							"SourceField": {},
							"FuzzyMatching": {},
							"SortExpression": {}
						}
					}
				}
			},
			"S1t": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {
						"shape": "S1p"
					},
					"Status": {
						"shape": "St"
					}
				}
			},
			"S25": {
				"type": "list",
				"member": {}
			},
			"S2a": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {
						"type": "boolean"
					},
					"Status": {
						"shape": "St"
					}
				}
			},
			"S2p": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {
						"shape": "S2q"
					},
					"Status": {
						"shape": "St"
					}
				}
			},
			"S2q": {
				"type": "structure",
				"members": {
					"DesiredInstanceType": {},
					"DesiredReplicationCount": {
						"type": "integer"
					},
					"DesiredPartitionCount": {
						"type": "integer"
					}
				}
			},
			"S2u": {
				"type": "structure",
				"required": [
					"Options",
					"Status"
				],
				"members": {
					"Options": {},
					"Status": {
						"shape": "St"
					}
				}
			}
		}
	};

/***/ }),
/* 345 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeAnalysisSchemes": {
				"result_key": "AnalysisSchemes"
			},
			"DescribeDomains": {
				"result_key": "DomainStatusList"
			},
			"DescribeExpressions": {
				"result_key": "Expressions"
			},
			"DescribeIndexFields": {
				"result_key": "IndexFields"
			},
			"DescribeSuggesters": {
				"result_key": "Suggesters"
			}
		}
	};

/***/ }),
/* 346 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cloudsearchdomain'] = {};
	AWS.CloudSearchDomain = Service.defineService('cloudsearchdomain', ['2013-01-01']);
	__webpack_require__(347);
	Object.defineProperty(apiLoader.services['cloudsearchdomain'], '2013-01-01', {
	  get: function get() {
	    var model = __webpack_require__(348);
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CloudSearchDomain;


/***/ }),
/* 347 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	/**
	 * Constructs a service interface object. Each API operation is exposed as a
	 * function on service.
	 *
	 * ### Sending a Request Using CloudSearchDomain
	 *
	 * ```javascript
	 * var csd = new AWS.CloudSearchDomain({endpoint: 'my.host.tld'});
	 * csd.search(params, function (err, data) {
	 *   if (err) console.log(err, err.stack); // an error occurred
	 *   else     console.log(data);           // successful response
	 * });
	 * ```
	 *
	 * ### Locking the API Version
	 *
	 * In order to ensure that the CloudSearchDomain object uses this specific API,
	 * you can construct the object by passing the `apiVersion` option to the
	 * constructor:
	 *
	 * ```javascript
	 * var csd = new AWS.CloudSearchDomain({
	 *   endpoint: 'my.host.tld',
	 *   apiVersion: '2013-01-01'
	 * });
	 * ```
	 *
	 * You can also set the API version globally in `AWS.config.apiVersions` using
	 * the **cloudsearchdomain** service identifier:
	 *
	 * ```javascript
	 * AWS.config.apiVersions = {
	 *   cloudsearchdomain: '2013-01-01',
	 *   // other service API versions
	 * };
	 *
	 * var csd = new AWS.CloudSearchDomain({endpoint: 'my.host.tld'});
	 * ```
	 *
	 * @note You *must* provide an `endpoint` configuration parameter when
	 *   constructing this service. See {constructor} for more information.
	 *
	 * @!method constructor(options = {})
	 *   Constructs a service object. This object has one method for each
	 *   API operation.
	 *
	 *   @example Constructing a CloudSearchDomain object
	 *     var csd = new AWS.CloudSearchDomain({endpoint: 'my.host.tld'});
	 *   @note You *must* provide an `endpoint` when constructing this service.
	 *   @option (see AWS.Config.constructor)
	 *
	 * @service cloudsearchdomain
	 * @version 2013-01-01
	 */
	AWS.util.update(AWS.CloudSearchDomain.prototype, {
	  /**
	   * @api private
	   */
	  validateService: function validateService() {
	    if (!this.config.endpoint || this.config.endpoint.indexOf('{') >= 0) {
	      var msg = 'AWS.CloudSearchDomain requires an explicit ' +
	                '`endpoint\' configuration option.';
	      throw AWS.util.error(new Error(),
	        {name: 'InvalidEndpoint', message: msg});
	    }
	  },

	  /**
	   * @api private
	   */
	  setupRequestListeners: function setupRequestListeners(request) {
	    request.removeListener('validate',
	      AWS.EventListeners.Core.VALIDATE_CREDENTIALS
	    );
	    request.onAsync('validate', this.validateCredentials);
	    request.addListener('validate', this.updateRegion);
	    if (request.operation === 'search') {
	      request.addListener('build', this.convertGetToPost);
	    }
	  },

	  /**
	   * @api private
	   */
	  validateCredentials: function(req, done) {
	    if (!req.service.api.signatureVersion) return done(); // none
	    req.service.config.getCredentials(function(err) {
	      if (err) {
	        req.removeListener('sign', AWS.EventListeners.Core.SIGN);
	      }
	      done();
	    });
	  },

	  /**
	   * @api private
	   */
	  convertGetToPost: function(request) {
	    var httpRequest = request.httpRequest
	    // convert queries to POST to avoid length restrictions
	    var path = httpRequest.path.split('?')
	    httpRequest.method = 'POST'
	    httpRequest.path = path[0]
	    httpRequest.body = path[1]
	    httpRequest.headers['Content-Length'] = httpRequest.body.length
	    httpRequest.headers['Content-Type'] = 'application/x-www-form-urlencoded'
	  },

	  /**
	   * @api private
	   */
	  updateRegion: function updateRegion(request) {
	    var endpoint = request.httpRequest.endpoint.hostname;
	    var zones = endpoint.split('.');
	    request.httpRequest.region = zones[1] || request.httpRequest.region;
	  }

	});


/***/ }),
/* 348 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2013-01-01",
			"endpointPrefix": "cloudsearchdomain",
			"jsonVersion": "1.1",
			"protocol": "rest-json",
			"serviceFullName": "Amazon CloudSearch Domain",
			"signatureVersion": "v4",
			"signingName": "cloudsearch",
			"uid": "cloudsearchdomain-2013-01-01"
		},
		"operations": {
			"Search": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-01-01/search?format=sdk&pretty=true"
				},
				"input": {
					"type": "structure",
					"required": [
						"query"
					],
					"members": {
						"cursor": {
							"location": "querystring",
							"locationName": "cursor"
						},
						"expr": {
							"location": "querystring",
							"locationName": "expr"
						},
						"facet": {
							"location": "querystring",
							"locationName": "facet"
						},
						"filterQuery": {
							"location": "querystring",
							"locationName": "fq"
						},
						"highlight": {
							"location": "querystring",
							"locationName": "highlight"
						},
						"partial": {
							"location": "querystring",
							"locationName": "partial",
							"type": "boolean"
						},
						"query": {
							"location": "querystring",
							"locationName": "q"
						},
						"queryOptions": {
							"location": "querystring",
							"locationName": "q.options"
						},
						"queryParser": {
							"location": "querystring",
							"locationName": "q.parser"
						},
						"return": {
							"location": "querystring",
							"locationName": "return"
						},
						"size": {
							"location": "querystring",
							"locationName": "size",
							"type": "long"
						},
						"sort": {
							"location": "querystring",
							"locationName": "sort"
						},
						"start": {
							"location": "querystring",
							"locationName": "start",
							"type": "long"
						},
						"stats": {
							"location": "querystring",
							"locationName": "stats"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"status": {
							"type": "structure",
							"members": {
								"timems": {
									"type": "long"
								},
								"rid": {}
							}
						},
						"hits": {
							"type": "structure",
							"members": {
								"found": {
									"type": "long"
								},
								"start": {
									"type": "long"
								},
								"cursor": {},
								"hit": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"id": {},
											"fields": {
												"type": "map",
												"key": {},
												"value": {
													"type": "list",
													"member": {}
												}
											},
											"exprs": {
												"type": "map",
												"key": {},
												"value": {}
											},
											"highlights": {
												"type": "map",
												"key": {},
												"value": {}
											}
										}
									}
								}
							}
						},
						"facets": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"members": {
									"buckets": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"value": {},
												"count": {
													"type": "long"
												}
											}
										}
									}
								}
							}
						},
						"stats": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"members": {
									"min": {},
									"max": {},
									"count": {
										"type": "long"
									},
									"missing": {
										"type": "long"
									},
									"sum": {
										"type": "double"
									},
									"sumOfSquares": {
										"type": "double"
									},
									"mean": {},
									"stddev": {
										"type": "double"
									}
								}
							}
						}
					}
				}
			},
			"Suggest": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-01-01/suggest?format=sdk&pretty=true"
				},
				"input": {
					"type": "structure",
					"required": [
						"query",
						"suggester"
					],
					"members": {
						"query": {
							"location": "querystring",
							"locationName": "q"
						},
						"suggester": {
							"location": "querystring",
							"locationName": "suggester"
						},
						"size": {
							"location": "querystring",
							"locationName": "size",
							"type": "long"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"status": {
							"type": "structure",
							"members": {
								"timems": {
									"type": "long"
								},
								"rid": {}
							}
						},
						"suggest": {
							"type": "structure",
							"members": {
								"query": {},
								"found": {
									"type": "long"
								},
								"suggestions": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"suggestion": {},
											"score": {
												"type": "long"
											},
											"id": {}
										}
									}
								}
							}
						}
					}
				}
			},
			"UploadDocuments": {
				"http": {
					"requestUri": "/2013-01-01/documents/batch?format=sdk"
				},
				"input": {
					"type": "structure",
					"required": [
						"documents",
						"contentType"
					],
					"members": {
						"documents": {
							"type": "blob",
							"streaming": true
						},
						"contentType": {
							"location": "header",
							"locationName": "Content-Type"
						}
					},
					"payload": "documents"
				},
				"output": {
					"type": "structure",
					"members": {
						"status": {},
						"adds": {
							"type": "long"
						},
						"deletes": {
							"type": "long"
						},
						"warnings": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"message": {}
								}
							}
						}
					}
				}
			}
		},
		"shapes": {}
	};

/***/ }),
/* 349 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cloudtrail'] = {};
	AWS.CloudTrail = Service.defineService('cloudtrail', ['2013-11-01']);
	Object.defineProperty(apiLoader.services['cloudtrail'], '2013-11-01', {
	  get: function get() {
	    var model = __webpack_require__(350);
	    model.paginators = __webpack_require__(351).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CloudTrail;


/***/ }),
/* 350 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2013-11-01",
			"endpointPrefix": "cloudtrail",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "CloudTrail",
			"serviceFullName": "AWS CloudTrail",
			"signatureVersion": "v4",
			"targetPrefix": "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101",
			"uid": "cloudtrail-2013-11-01"
		},
		"operations": {
			"AddTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId"
					],
					"members": {
						"ResourceId": {},
						"TagsList": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"CreateTrail": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"S3BucketName"
					],
					"members": {
						"Name": {},
						"S3BucketName": {},
						"S3KeyPrefix": {},
						"SnsTopicName": {},
						"IncludeGlobalServiceEvents": {
							"type": "boolean"
						},
						"IsMultiRegionTrail": {
							"type": "boolean"
						},
						"EnableLogFileValidation": {
							"type": "boolean"
						},
						"CloudWatchLogsLogGroupArn": {},
						"CloudWatchLogsRoleArn": {},
						"KmsKeyId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Name": {},
						"S3BucketName": {},
						"S3KeyPrefix": {},
						"SnsTopicName": {
							"deprecated": true
						},
						"SnsTopicARN": {},
						"IncludeGlobalServiceEvents": {
							"type": "boolean"
						},
						"IsMultiRegionTrail": {
							"type": "boolean"
						},
						"TrailARN": {},
						"LogFileValidationEnabled": {
							"type": "boolean"
						},
						"CloudWatchLogsLogGroupArn": {},
						"CloudWatchLogsRoleArn": {},
						"KmsKeyId": {}
					}
				},
				"idempotent": true
			},
			"DeleteTrail": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"DescribeTrails": {
				"input": {
					"type": "structure",
					"members": {
						"trailNameList": {
							"type": "list",
							"member": {}
						},
						"includeShadowTrails": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"trailList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"S3BucketName": {},
									"S3KeyPrefix": {},
									"SnsTopicName": {
										"deprecated": true
									},
									"SnsTopicARN": {},
									"IncludeGlobalServiceEvents": {
										"type": "boolean"
									},
									"IsMultiRegionTrail": {
										"type": "boolean"
									},
									"HomeRegion": {},
									"TrailARN": {},
									"LogFileValidationEnabled": {
										"type": "boolean"
									},
									"CloudWatchLogsLogGroupArn": {},
									"CloudWatchLogsRoleArn": {},
									"KmsKeyId": {},
									"HasCustomEventSelectors": {
										"type": "boolean"
									}
								}
							}
						}
					}
				},
				"idempotent": true
			},
			"GetEventSelectors": {
				"input": {
					"type": "structure",
					"required": [
						"TrailName"
					],
					"members": {
						"TrailName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TrailARN": {},
						"EventSelectors": {
							"shape": "Si"
						}
					}
				},
				"idempotent": true
			},
			"GetTrailStatus": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IsLogging": {
							"type": "boolean"
						},
						"LatestDeliveryError": {},
						"LatestNotificationError": {},
						"LatestDeliveryTime": {
							"type": "timestamp"
						},
						"LatestNotificationTime": {
							"type": "timestamp"
						},
						"StartLoggingTime": {
							"type": "timestamp"
						},
						"StopLoggingTime": {
							"type": "timestamp"
						},
						"LatestCloudWatchLogsDeliveryError": {},
						"LatestCloudWatchLogsDeliveryTime": {
							"type": "timestamp"
						},
						"LatestDigestDeliveryTime": {
							"type": "timestamp"
						},
						"LatestDigestDeliveryError": {},
						"LatestDeliveryAttemptTime": {},
						"LatestNotificationAttemptTime": {},
						"LatestNotificationAttemptSucceeded": {},
						"LatestDeliveryAttemptSucceeded": {},
						"TimeLoggingStarted": {},
						"TimeLoggingStopped": {}
					}
				},
				"idempotent": true
			},
			"ListPublicKeys": {
				"input": {
					"type": "structure",
					"members": {
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PublicKeyList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Value": {
										"type": "blob"
									},
									"ValidityStartTime": {
										"type": "timestamp"
									},
									"ValidityEndTime": {
										"type": "timestamp"
									},
									"Fingerprint": {}
								}
							}
						},
						"NextToken": {}
					}
				},
				"idempotent": true
			},
			"ListTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceIdList"
					],
					"members": {
						"ResourceIdList": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResourceTagList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ResourceId": {},
									"TagsList": {
										"shape": "S3"
									}
								}
							}
						},
						"NextToken": {}
					}
				},
				"idempotent": true
			},
			"LookupEvents": {
				"input": {
					"type": "structure",
					"members": {
						"LookupAttributes": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"AttributeKey",
									"AttributeValue"
								],
								"members": {
									"AttributeKey": {},
									"AttributeValue": {}
								}
							}
						},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Events": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"EventId": {},
									"EventName": {},
									"EventTime": {
										"type": "timestamp"
									},
									"EventSource": {},
									"Username": {},
									"Resources": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"ResourceType": {},
												"ResourceName": {}
											}
										}
									},
									"CloudTrailEvent": {}
								}
							}
						},
						"NextToken": {}
					}
				},
				"idempotent": true
			},
			"PutEventSelectors": {
				"input": {
					"type": "structure",
					"required": [
						"TrailName",
						"EventSelectors"
					],
					"members": {
						"TrailName": {},
						"EventSelectors": {
							"shape": "Si"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TrailARN": {},
						"EventSelectors": {
							"shape": "Si"
						}
					}
				},
				"idempotent": true
			},
			"RemoveTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId"
					],
					"members": {
						"ResourceId": {},
						"TagsList": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"StartLogging": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"StopLogging": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"UpdateTrail": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"S3BucketName": {},
						"S3KeyPrefix": {},
						"SnsTopicName": {},
						"IncludeGlobalServiceEvents": {
							"type": "boolean"
						},
						"IsMultiRegionTrail": {
							"type": "boolean"
						},
						"EnableLogFileValidation": {
							"type": "boolean"
						},
						"CloudWatchLogsLogGroupArn": {},
						"CloudWatchLogsRoleArn": {},
						"KmsKeyId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Name": {},
						"S3BucketName": {},
						"S3KeyPrefix": {},
						"SnsTopicName": {
							"deprecated": true
						},
						"SnsTopicARN": {},
						"IncludeGlobalServiceEvents": {
							"type": "boolean"
						},
						"IsMultiRegionTrail": {
							"type": "boolean"
						},
						"TrailARN": {},
						"LogFileValidationEnabled": {
							"type": "boolean"
						},
						"CloudWatchLogsLogGroupArn": {},
						"CloudWatchLogsRoleArn": {},
						"KmsKeyId": {}
					}
				},
				"idempotent": true
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Si": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ReadWriteType": {},
						"IncludeManagementEvents": {
							"type": "boolean"
						},
						"DataResources": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Type": {},
									"Values": {
										"type": "list",
										"member": {}
									}
								}
							}
						}
					}
				}
			}
		}
	};

/***/ }),
/* 351 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeTrails": {
				"result_key": "trailList"
			},
			"LookupEvents": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "Events"
			}
		}
	};

/***/ }),
/* 352 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cloudwatch'] = {};
	AWS.CloudWatch = Service.defineService('cloudwatch', ['2010-08-01']);
	Object.defineProperty(apiLoader.services['cloudwatch'], '2010-08-01', {
	  get: function get() {
	    var model = __webpack_require__(353);
	    model.paginators = __webpack_require__(354).pagination;
	    model.waiters = __webpack_require__(355).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CloudWatch;


/***/ }),
/* 353 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2010-08-01",
			"endpointPrefix": "monitoring",
			"protocol": "query",
			"serviceAbbreviation": "CloudWatch",
			"serviceFullName": "Amazon CloudWatch",
			"signatureVersion": "v4",
			"uid": "monitoring-2010-08-01",
			"xmlNamespace": "http://monitoring.amazonaws.com/doc/2010-08-01/"
		},
		"operations": {
			"DeleteAlarms": {
				"input": {
					"type": "structure",
					"required": [
						"AlarmNames"
					],
					"members": {
						"AlarmNames": {
							"shape": "S2"
						}
					}
				}
			},
			"DeleteDashboards": {
				"input": {
					"type": "structure",
					"members": {
						"DashboardNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "DeleteDashboardsResult",
					"type": "structure",
					"members": {}
				}
			},
			"DescribeAlarmHistory": {
				"input": {
					"type": "structure",
					"members": {
						"AlarmName": {},
						"HistoryItemType": {},
						"StartDate": {
							"type": "timestamp"
						},
						"EndDate": {
							"type": "timestamp"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeAlarmHistoryResult",
					"type": "structure",
					"members": {
						"AlarmHistoryItems": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AlarmName": {},
									"Timestamp": {
										"type": "timestamp"
									},
									"HistoryItemType": {},
									"HistorySummary": {},
									"HistoryData": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeAlarms": {
				"input": {
					"type": "structure",
					"members": {
						"AlarmNames": {
							"shape": "S2"
						},
						"AlarmNamePrefix": {},
						"StateValue": {},
						"ActionPrefix": {},
						"MaxRecords": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeAlarmsResult",
					"type": "structure",
					"members": {
						"MetricAlarms": {
							"shape": "Sn"
						},
						"NextToken": {}
					}
				}
			},
			"DescribeAlarmsForMetric": {
				"input": {
					"type": "structure",
					"required": [
						"MetricName",
						"Namespace"
					],
					"members": {
						"MetricName": {},
						"Namespace": {},
						"Statistic": {},
						"ExtendedStatistic": {},
						"Dimensions": {
							"shape": "S10"
						},
						"Period": {
							"type": "integer"
						},
						"Unit": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeAlarmsForMetricResult",
					"type": "structure",
					"members": {
						"MetricAlarms": {
							"shape": "Sn"
						}
					}
				}
			},
			"DisableAlarmActions": {
				"input": {
					"type": "structure",
					"required": [
						"AlarmNames"
					],
					"members": {
						"AlarmNames": {
							"shape": "S2"
						}
					}
				}
			},
			"EnableAlarmActions": {
				"input": {
					"type": "structure",
					"required": [
						"AlarmNames"
					],
					"members": {
						"AlarmNames": {
							"shape": "S2"
						}
					}
				}
			},
			"GetDashboard": {
				"input": {
					"type": "structure",
					"members": {
						"DashboardName": {}
					}
				},
				"output": {
					"resultWrapper": "GetDashboardResult",
					"type": "structure",
					"members": {
						"DashboardArn": {},
						"DashboardBody": {},
						"DashboardName": {}
					}
				}
			},
			"GetMetricStatistics": {
				"input": {
					"type": "structure",
					"required": [
						"Namespace",
						"MetricName",
						"StartTime",
						"EndTime",
						"Period"
					],
					"members": {
						"Namespace": {},
						"MetricName": {},
						"Dimensions": {
							"shape": "S10"
						},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Period": {
							"type": "integer"
						},
						"Statistics": {
							"type": "list",
							"member": {}
						},
						"ExtendedStatistics": {
							"type": "list",
							"member": {}
						},
						"Unit": {}
					}
				},
				"output": {
					"resultWrapper": "GetMetricStatisticsResult",
					"type": "structure",
					"members": {
						"Label": {},
						"Datapoints": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Timestamp": {
										"type": "timestamp"
									},
									"SampleCount": {
										"type": "double"
									},
									"Average": {
										"type": "double"
									},
									"Sum": {
										"type": "double"
									},
									"Minimum": {
										"type": "double"
									},
									"Maximum": {
										"type": "double"
									},
									"Unit": {},
									"ExtendedStatistics": {
										"type": "map",
										"key": {},
										"value": {
											"type": "double"
										}
									}
								},
								"xmlOrder": [
									"Timestamp",
									"SampleCount",
									"Average",
									"Sum",
									"Minimum",
									"Maximum",
									"Unit",
									"ExtendedStatistics"
								]
							}
						}
					}
				}
			},
			"ListDashboards": {
				"input": {
					"type": "structure",
					"members": {
						"DashboardNamePrefix": {},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListDashboardsResult",
					"type": "structure",
					"members": {
						"DashboardEntries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DashboardName": {},
									"DashboardArn": {},
									"LastModified": {
										"type": "timestamp"
									},
									"Size": {
										"type": "long"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListMetrics": {
				"input": {
					"type": "structure",
					"members": {
						"Namespace": {},
						"MetricName": {},
						"Dimensions": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Name"
								],
								"members": {
									"Name": {},
									"Value": {}
								}
							}
						},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListMetricsResult",
					"type": "structure",
					"members": {
						"Metrics": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Namespace": {},
									"MetricName": {},
									"Dimensions": {
										"shape": "S10"
									}
								},
								"xmlOrder": [
									"Namespace",
									"MetricName",
									"Dimensions"
								]
							}
						},
						"NextToken": {}
					},
					"xmlOrder": [
						"Metrics",
						"NextToken"
					]
				}
			},
			"PutDashboard": {
				"input": {
					"type": "structure",
					"members": {
						"DashboardName": {},
						"DashboardBody": {}
					}
				},
				"output": {
					"resultWrapper": "PutDashboardResult",
					"type": "structure",
					"members": {
						"DashboardValidationMessages": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DataPath": {},
									"Message": {}
								}
							}
						}
					}
				}
			},
			"PutMetricAlarm": {
				"input": {
					"type": "structure",
					"required": [
						"AlarmName",
						"MetricName",
						"Namespace",
						"Period",
						"EvaluationPeriods",
						"Threshold",
						"ComparisonOperator"
					],
					"members": {
						"AlarmName": {},
						"AlarmDescription": {},
						"ActionsEnabled": {
							"type": "boolean"
						},
						"OKActions": {
							"shape": "Ss"
						},
						"AlarmActions": {
							"shape": "Ss"
						},
						"InsufficientDataActions": {
							"shape": "Ss"
						},
						"MetricName": {},
						"Namespace": {},
						"Statistic": {},
						"ExtendedStatistic": {},
						"Dimensions": {
							"shape": "S10"
						},
						"Period": {
							"type": "integer"
						},
						"Unit": {},
						"EvaluationPeriods": {
							"type": "integer"
						},
						"Threshold": {
							"type": "double"
						},
						"ComparisonOperator": {},
						"TreatMissingData": {},
						"EvaluateLowSampleCountPercentile": {}
					}
				}
			},
			"PutMetricData": {
				"input": {
					"type": "structure",
					"required": [
						"Namespace",
						"MetricData"
					],
					"members": {
						"Namespace": {},
						"MetricData": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"MetricName"
								],
								"members": {
									"MetricName": {},
									"Dimensions": {
										"shape": "S10"
									},
									"Timestamp": {
										"type": "timestamp"
									},
									"Value": {
										"type": "double"
									},
									"StatisticValues": {
										"type": "structure",
										"required": [
											"SampleCount",
											"Sum",
											"Minimum",
											"Maximum"
										],
										"members": {
											"SampleCount": {
												"type": "double"
											},
											"Sum": {
												"type": "double"
											},
											"Minimum": {
												"type": "double"
											},
											"Maximum": {
												"type": "double"
											}
										}
									},
									"Unit": {},
									"StorageResolution": {
										"type": "integer"
									}
								}
							}
						}
					}
				}
			},
			"SetAlarmState": {
				"input": {
					"type": "structure",
					"required": [
						"AlarmName",
						"StateValue",
						"StateReason"
					],
					"members": {
						"AlarmName": {},
						"StateValue": {},
						"StateReason": {},
						"StateReasonData": {}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "list",
				"member": {}
			},
			"Sn": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"AlarmName": {},
						"AlarmArn": {},
						"AlarmDescription": {},
						"AlarmConfigurationUpdatedTimestamp": {
							"type": "timestamp"
						},
						"ActionsEnabled": {
							"type": "boolean"
						},
						"OKActions": {
							"shape": "Ss"
						},
						"AlarmActions": {
							"shape": "Ss"
						},
						"InsufficientDataActions": {
							"shape": "Ss"
						},
						"StateValue": {},
						"StateReason": {},
						"StateReasonData": {},
						"StateUpdatedTimestamp": {
							"type": "timestamp"
						},
						"MetricName": {},
						"Namespace": {},
						"Statistic": {},
						"ExtendedStatistic": {},
						"Dimensions": {
							"shape": "S10"
						},
						"Period": {
							"type": "integer"
						},
						"Unit": {},
						"EvaluationPeriods": {
							"type": "integer"
						},
						"Threshold": {
							"type": "double"
						},
						"ComparisonOperator": {},
						"TreatMissingData": {},
						"EvaluateLowSampleCountPercentile": {}
					},
					"xmlOrder": [
						"AlarmName",
						"AlarmArn",
						"AlarmDescription",
						"AlarmConfigurationUpdatedTimestamp",
						"ActionsEnabled",
						"OKActions",
						"AlarmActions",
						"InsufficientDataActions",
						"StateValue",
						"StateReason",
						"StateReasonData",
						"StateUpdatedTimestamp",
						"MetricName",
						"Namespace",
						"Statistic",
						"Dimensions",
						"Period",
						"Unit",
						"EvaluationPeriods",
						"Threshold",
						"ComparisonOperator",
						"ExtendedStatistic",
						"TreatMissingData",
						"EvaluateLowSampleCountPercentile"
					]
				}
			},
			"Ss": {
				"type": "list",
				"member": {}
			},
			"S10": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Name",
						"Value"
					],
					"members": {
						"Name": {},
						"Value": {}
					},
					"xmlOrder": [
						"Name",
						"Value"
					]
				}
			}
		}
	};

/***/ }),
/* 354 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeAlarmHistory": {
				"input_token": "NextToken",
				"limit_key": "MaxRecords",
				"output_token": "NextToken",
				"result_key": "AlarmHistoryItems"
			},
			"DescribeAlarms": {
				"input_token": "NextToken",
				"limit_key": "MaxRecords",
				"output_token": "NextToken",
				"result_key": "MetricAlarms"
			},
			"DescribeAlarmsForMetric": {
				"result_key": "MetricAlarms"
			},
			"ListMetrics": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "Metrics"
			}
		}
	};

/***/ }),
/* 355 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"AlarmExists": {
				"delay": 5,
				"maxAttempts": 40,
				"operation": "DescribeAlarms",
				"acceptors": [
					{
						"matcher": "path",
						"expected": true,
						"argument": "length(MetricAlarms[]) > `0`",
						"state": "success"
					}
				]
			}
		}
	};

/***/ }),
/* 356 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cloudwatchevents'] = {};
	AWS.CloudWatchEvents = Service.defineService('cloudwatchevents', ['2014-02-03*', '2015-10-07']);
	Object.defineProperty(apiLoader.services['cloudwatchevents'], '2015-10-07', {
	  get: function get() {
	    var model = __webpack_require__(357);
	    model.paginators = __webpack_require__(358).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CloudWatchEvents;


/***/ }),
/* 357 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-10-07",
			"endpointPrefix": "events",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon CloudWatch Events",
			"signatureVersion": "v4",
			"targetPrefix": "AWSEvents",
			"uid": "events-2015-10-07"
		},
		"operations": {
			"DeleteRule": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				}
			},
			"DescribeEventBus": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"Name": {},
						"Arn": {},
						"Policy": {}
					}
				}
			},
			"DescribeRule": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Name": {},
						"Arn": {},
						"EventPattern": {},
						"ScheduleExpression": {},
						"State": {},
						"Description": {},
						"RoleArn": {}
					}
				}
			},
			"DisableRule": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				}
			},
			"EnableRule": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				}
			},
			"ListRuleNamesByTarget": {
				"input": {
					"type": "structure",
					"required": [
						"TargetArn"
					],
					"members": {
						"TargetArn": {},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RuleNames": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				}
			},
			"ListRules": {
				"input": {
					"type": "structure",
					"members": {
						"NamePrefix": {},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Rules": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"Arn": {},
									"EventPattern": {},
									"State": {},
									"Description": {},
									"ScheduleExpression": {},
									"RoleArn": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListTargetsByRule": {
				"input": {
					"type": "structure",
					"required": [
						"Rule"
					],
					"members": {
						"Rule": {},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Targets": {
							"shape": "Ss"
						},
						"NextToken": {}
					}
				}
			},
			"PutEvents": {
				"input": {
					"type": "structure",
					"required": [
						"Entries"
					],
					"members": {
						"Entries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Time": {
										"type": "timestamp"
									},
									"Source": {},
									"Resources": {
										"type": "list",
										"member": {}
									},
									"DetailType": {},
									"Detail": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedEntryCount": {
							"type": "integer"
						},
						"Entries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"EventId": {},
									"ErrorCode": {},
									"ErrorMessage": {}
								}
							}
						}
					}
				}
			},
			"PutPermission": {
				"input": {
					"type": "structure",
					"required": [
						"Action",
						"Principal",
						"StatementId"
					],
					"members": {
						"Action": {},
						"Principal": {},
						"StatementId": {}
					}
				}
			},
			"PutRule": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"ScheduleExpression": {},
						"EventPattern": {},
						"State": {},
						"Description": {},
						"RoleArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RuleArn": {}
					}
				}
			},
			"PutTargets": {
				"input": {
					"type": "structure",
					"required": [
						"Rule",
						"Targets"
					],
					"members": {
						"Rule": {},
						"Targets": {
							"shape": "Ss"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedEntryCount": {
							"type": "integer"
						},
						"FailedEntries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"TargetId": {},
									"ErrorCode": {},
									"ErrorMessage": {}
								}
							}
						}
					}
				}
			},
			"RemovePermission": {
				"input": {
					"type": "structure",
					"required": [
						"StatementId"
					],
					"members": {
						"StatementId": {}
					}
				}
			},
			"RemoveTargets": {
				"input": {
					"type": "structure",
					"required": [
						"Rule",
						"Ids"
					],
					"members": {
						"Rule": {},
						"Ids": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedEntryCount": {
							"type": "integer"
						},
						"FailedEntries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"TargetId": {},
									"ErrorCode": {},
									"ErrorMessage": {}
								}
							}
						}
					}
				}
			},
			"TestEventPattern": {
				"input": {
					"type": "structure",
					"required": [
						"EventPattern",
						"Event"
					],
					"members": {
						"EventPattern": {},
						"Event": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Result": {
							"type": "boolean"
						}
					}
				}
			}
		},
		"shapes": {
			"Ss": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Id",
						"Arn"
					],
					"members": {
						"Id": {},
						"Arn": {},
						"RoleArn": {},
						"Input": {},
						"InputPath": {},
						"InputTransformer": {
							"type": "structure",
							"required": [
								"InputTemplate"
							],
							"members": {
								"InputPathsMap": {
									"type": "map",
									"key": {},
									"value": {}
								},
								"InputTemplate": {}
							}
						},
						"KinesisParameters": {
							"type": "structure",
							"required": [
								"PartitionKeyPath"
							],
							"members": {
								"PartitionKeyPath": {}
							}
						},
						"RunCommandParameters": {
							"type": "structure",
							"required": [
								"RunCommandTargets"
							],
							"members": {
								"RunCommandTargets": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"Key",
											"Values"
										],
										"members": {
											"Key": {},
											"Values": {
												"type": "list",
												"member": {}
											}
										}
									}
								}
							}
						},
						"EcsParameters": {
							"type": "structure",
							"required": [
								"TaskDefinitionArn"
							],
							"members": {
								"TaskDefinitionArn": {},
								"TaskCount": {
									"type": "integer"
								}
							}
						}
					}
				}
			}
		}
	};

/***/ }),
/* 358 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 359 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cloudwatchlogs'] = {};
	AWS.CloudWatchLogs = Service.defineService('cloudwatchlogs', ['2014-03-28']);
	Object.defineProperty(apiLoader.services['cloudwatchlogs'], '2014-03-28', {
	  get: function get() {
	    var model = __webpack_require__(360);
	    model.paginators = __webpack_require__(361).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CloudWatchLogs;


/***/ }),
/* 360 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-03-28",
			"endpointPrefix": "logs",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon CloudWatch Logs",
			"signatureVersion": "v4",
			"targetPrefix": "Logs_20140328",
			"uid": "logs-2014-03-28"
		},
		"operations": {
			"CancelExportTask": {
				"input": {
					"type": "structure",
					"required": [
						"taskId"
					],
					"members": {
						"taskId": {}
					}
				}
			},
			"CreateExportTask": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"from",
						"to",
						"destination"
					],
					"members": {
						"taskName": {},
						"logGroupName": {},
						"logStreamNamePrefix": {},
						"from": {
							"type": "long"
						},
						"to": {
							"type": "long"
						},
						"destination": {},
						"destinationPrefix": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"taskId": {}
					}
				}
			},
			"CreateLogGroup": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName"
					],
					"members": {
						"logGroupName": {},
						"tags": {
							"shape": "Sc"
						}
					}
				}
			},
			"CreateLogStream": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"logStreamName"
					],
					"members": {
						"logGroupName": {},
						"logStreamName": {}
					}
				}
			},
			"DeleteDestination": {
				"input": {
					"type": "structure",
					"required": [
						"destinationName"
					],
					"members": {
						"destinationName": {}
					}
				}
			},
			"DeleteLogGroup": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName"
					],
					"members": {
						"logGroupName": {}
					}
				}
			},
			"DeleteLogStream": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"logStreamName"
					],
					"members": {
						"logGroupName": {},
						"logStreamName": {}
					}
				}
			},
			"DeleteMetricFilter": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"filterName"
					],
					"members": {
						"logGroupName": {},
						"filterName": {}
					}
				}
			},
			"DeleteRetentionPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName"
					],
					"members": {
						"logGroupName": {}
					}
				}
			},
			"DeleteSubscriptionFilter": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"filterName"
					],
					"members": {
						"logGroupName": {},
						"filterName": {}
					}
				}
			},
			"DescribeDestinations": {
				"input": {
					"type": "structure",
					"members": {
						"DestinationNamePrefix": {},
						"nextToken": {},
						"limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"destinations": {
							"type": "list",
							"member": {
								"shape": "St"
							}
						},
						"nextToken": {}
					}
				}
			},
			"DescribeExportTasks": {
				"input": {
					"type": "structure",
					"members": {
						"taskId": {},
						"statusCode": {},
						"nextToken": {},
						"limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"exportTasks": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"taskId": {},
									"taskName": {},
									"logGroupName": {},
									"from": {
										"type": "long"
									},
									"to": {
										"type": "long"
									},
									"destination": {},
									"destinationPrefix": {},
									"status": {
										"type": "structure",
										"members": {
											"code": {},
											"message": {}
										}
									},
									"executionInfo": {
										"type": "structure",
										"members": {
											"creationTime": {
												"type": "long"
											},
											"completionTime": {
												"type": "long"
											}
										}
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"DescribeLogGroups": {
				"input": {
					"type": "structure",
					"members": {
						"logGroupNamePrefix": {},
						"nextToken": {},
						"limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"logGroups": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"logGroupName": {},
									"creationTime": {
										"type": "long"
									},
									"retentionInDays": {
										"type": "integer"
									},
									"metricFilterCount": {
										"type": "integer"
									},
									"arn": {},
									"storedBytes": {
										"type": "long"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"DescribeLogStreams": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName"
					],
					"members": {
						"logGroupName": {},
						"logStreamNamePrefix": {},
						"orderBy": {},
						"descending": {
							"type": "boolean"
						},
						"nextToken": {},
						"limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"logStreams": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"logStreamName": {},
									"creationTime": {
										"type": "long"
									},
									"firstEventTimestamp": {
										"type": "long"
									},
									"lastEventTimestamp": {
										"type": "long"
									},
									"lastIngestionTime": {
										"type": "long"
									},
									"uploadSequenceToken": {},
									"arn": {},
									"storedBytes": {
										"type": "long"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"DescribeMetricFilters": {
				"input": {
					"type": "structure",
					"members": {
						"logGroupName": {},
						"filterNamePrefix": {},
						"nextToken": {},
						"limit": {
							"type": "integer"
						},
						"metricName": {},
						"metricNamespace": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"metricFilters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"filterName": {},
									"filterPattern": {},
									"metricTransformations": {
										"shape": "S1r"
									},
									"creationTime": {
										"type": "long"
									},
									"logGroupName": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"DescribeSubscriptionFilters": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName"
					],
					"members": {
						"logGroupName": {},
						"filterNamePrefix": {},
						"nextToken": {},
						"limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"subscriptionFilters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"filterName": {},
									"logGroupName": {},
									"filterPattern": {},
									"destinationArn": {},
									"roleArn": {},
									"distribution": {},
									"creationTime": {
										"type": "long"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"FilterLogEvents": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName"
					],
					"members": {
						"logGroupName": {},
						"logStreamNames": {
							"type": "list",
							"member": {}
						},
						"startTime": {
							"type": "long"
						},
						"endTime": {
							"type": "long"
						},
						"filterPattern": {},
						"nextToken": {},
						"limit": {
							"type": "integer"
						},
						"interleaved": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"events": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"logStreamName": {},
									"timestamp": {
										"type": "long"
									},
									"message": {},
									"ingestionTime": {
										"type": "long"
									},
									"eventId": {}
								}
							}
						},
						"searchedLogStreams": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"logStreamName": {},
									"searchedCompletely": {
										"type": "boolean"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"GetLogEvents": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"logStreamName"
					],
					"members": {
						"logGroupName": {},
						"logStreamName": {},
						"startTime": {
							"type": "long"
						},
						"endTime": {
							"type": "long"
						},
						"nextToken": {},
						"limit": {
							"type": "integer"
						},
						"startFromHead": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"events": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"timestamp": {
										"type": "long"
									},
									"message": {},
									"ingestionTime": {
										"type": "long"
									}
								}
							}
						},
						"nextForwardToken": {},
						"nextBackwardToken": {}
					}
				}
			},
			"ListTagsLogGroup": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName"
					],
					"members": {
						"logGroupName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"tags": {
							"shape": "Sc"
						}
					}
				}
			},
			"PutDestination": {
				"input": {
					"type": "structure",
					"required": [
						"destinationName",
						"targetArn",
						"roleArn"
					],
					"members": {
						"destinationName": {},
						"targetArn": {},
						"roleArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"destination": {
							"shape": "St"
						}
					}
				}
			},
			"PutDestinationPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"destinationName",
						"accessPolicy"
					],
					"members": {
						"destinationName": {},
						"accessPolicy": {}
					}
				}
			},
			"PutLogEvents": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"logStreamName",
						"logEvents"
					],
					"members": {
						"logGroupName": {},
						"logStreamName": {},
						"logEvents": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"timestamp",
									"message"
								],
								"members": {
									"timestamp": {
										"type": "long"
									},
									"message": {}
								}
							}
						},
						"sequenceToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"nextSequenceToken": {},
						"rejectedLogEventsInfo": {
							"type": "structure",
							"members": {
								"tooNewLogEventStartIndex": {
									"type": "integer"
								},
								"tooOldLogEventEndIndex": {
									"type": "integer"
								},
								"expiredLogEventEndIndex": {
									"type": "integer"
								}
							}
						}
					}
				}
			},
			"PutMetricFilter": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"filterName",
						"filterPattern",
						"metricTransformations"
					],
					"members": {
						"logGroupName": {},
						"filterName": {},
						"filterPattern": {},
						"metricTransformations": {
							"shape": "S1r"
						}
					}
				}
			},
			"PutRetentionPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"retentionInDays"
					],
					"members": {
						"logGroupName": {},
						"retentionInDays": {
							"type": "integer"
						}
					}
				}
			},
			"PutSubscriptionFilter": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"filterName",
						"filterPattern",
						"destinationArn"
					],
					"members": {
						"logGroupName": {},
						"filterName": {},
						"filterPattern": {},
						"destinationArn": {},
						"roleArn": {},
						"distribution": {}
					}
				}
			},
			"TagLogGroup": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"tags"
					],
					"members": {
						"logGroupName": {},
						"tags": {
							"shape": "Sc"
						}
					}
				}
			},
			"TestMetricFilter": {
				"input": {
					"type": "structure",
					"required": [
						"filterPattern",
						"logEventMessages"
					],
					"members": {
						"filterPattern": {},
						"logEventMessages": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"matches": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"eventNumber": {
										"type": "long"
									},
									"eventMessage": {},
									"extractedValues": {
										"type": "map",
										"key": {},
										"value": {}
									}
								}
							}
						}
					}
				}
			},
			"UntagLogGroup": {
				"input": {
					"type": "structure",
					"required": [
						"logGroupName",
						"tags"
					],
					"members": {
						"logGroupName": {},
						"tags": {
							"type": "list",
							"member": {}
						}
					}
				}
			}
		},
		"shapes": {
			"Sc": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"St": {
				"type": "structure",
				"members": {
					"destinationName": {},
					"targetArn": {},
					"roleArn": {},
					"accessPolicy": {},
					"arn": {},
					"creationTime": {
						"type": "long"
					}
				}
			},
			"S1r": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"metricName",
						"metricNamespace",
						"metricValue"
					],
					"members": {
						"metricName": {},
						"metricNamespace": {},
						"metricValue": {},
						"defaultValue": {
							"type": "double"
						}
					}
				}
			}
		}
	};

/***/ }),
/* 361 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeDestinations": {
				"input_token": "nextToken",
				"limit_key": "limit",
				"output_token": "nextToken",
				"result_key": "destinations"
			},
			"DescribeLogGroups": {
				"input_token": "nextToken",
				"limit_key": "limit",
				"output_token": "nextToken",
				"result_key": "logGroups"
			},
			"DescribeLogStreams": {
				"input_token": "nextToken",
				"limit_key": "limit",
				"output_token": "nextToken",
				"result_key": "logStreams"
			},
			"DescribeMetricFilters": {
				"input_token": "nextToken",
				"limit_key": "limit",
				"output_token": "nextToken",
				"result_key": "metricFilters"
			},
			"DescribeSubscriptionFilters": {
				"input_token": "nextToken",
				"limit_key": "limit",
				"output_token": "nextToken",
				"result_key": "subscriptionFilters"
			},
			"FilterLogEvents": {
				"input_token": "nextToken",
				"limit_key": "limit",
				"output_token": "nextToken",
				"result_key": [
					"events",
					"searchedLogStreams"
				]
			},
			"GetLogEvents": {
				"input_token": "nextToken",
				"limit_key": "limit",
				"output_token": "nextForwardToken",
				"result_key": "events"
			}
		}
	};

/***/ }),
/* 362 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['codebuild'] = {};
	AWS.CodeBuild = Service.defineService('codebuild', ['2016-10-06']);
	Object.defineProperty(apiLoader.services['codebuild'], '2016-10-06', {
	  get: function get() {
	    var model = __webpack_require__(363);
	    model.paginators = __webpack_require__(364).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CodeBuild;


/***/ }),
/* 363 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-10-06",
			"endpointPrefix": "codebuild",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS CodeBuild",
			"signatureVersion": "v4",
			"targetPrefix": "CodeBuild_20161006",
			"uid": "codebuild-2016-10-06"
		},
		"operations": {
			"BatchGetBuilds": {
				"input": {
					"type": "structure",
					"required": [
						"ids"
					],
					"members": {
						"ids": {
							"shape": "S2"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"builds": {
							"type": "list",
							"member": {
								"shape": "S6"
							}
						},
						"buildsNotFound": {
							"shape": "S2"
						}
					}
				}
			},
			"BatchGetProjects": {
				"input": {
					"type": "structure",
					"required": [
						"names"
					],
					"members": {
						"names": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"projects": {
							"type": "list",
							"member": {
								"shape": "Sy"
							}
						},
						"projectsNotFound": {
							"shape": "Sv"
						}
					}
				}
			},
			"CreateProject": {
				"input": {
					"type": "structure",
					"required": [
						"name",
						"source",
						"artifacts",
						"environment"
					],
					"members": {
						"name": {},
						"description": {},
						"source": {
							"shape": "Sg"
						},
						"artifacts": {
							"shape": "S11"
						},
						"environment": {
							"shape": "Sl"
						},
						"serviceRole": {},
						"timeoutInMinutes": {
							"type": "integer"
						},
						"encryptionKey": {},
						"tags": {
							"shape": "S16"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"project": {
							"shape": "Sy"
						}
					}
				}
			},
			"DeleteProject": {
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ListBuilds": {
				"input": {
					"type": "structure",
					"members": {
						"sortOrder": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ids": {
							"shape": "S2"
						},
						"nextToken": {}
					}
				}
			},
			"ListBuildsForProject": {
				"input": {
					"type": "structure",
					"required": [
						"projectName"
					],
					"members": {
						"projectName": {},
						"sortOrder": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ids": {
							"shape": "S2"
						},
						"nextToken": {}
					}
				}
			},
			"ListCuratedEnvironmentImages": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"platforms": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"platform": {},
									"languages": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"language": {},
												"images": {
													"type": "list",
													"member": {
														"type": "structure",
														"members": {
															"name": {},
															"description": {}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"ListProjects": {
				"input": {
					"type": "structure",
					"members": {
						"sortBy": {},
						"sortOrder": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"nextToken": {},
						"projects": {
							"shape": "Sv"
						}
					}
				}
			},
			"StartBuild": {
				"input": {
					"type": "structure",
					"required": [
						"projectName"
					],
					"members": {
						"projectName": {},
						"sourceVersion": {},
						"artifactsOverride": {
							"shape": "S11"
						},
						"environmentVariablesOverride": {
							"shape": "So"
						},
						"buildspecOverride": {},
						"timeoutInMinutesOverride": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"build": {
							"shape": "S6"
						}
					}
				}
			},
			"StopBuild": {
				"input": {
					"type": "structure",
					"required": [
						"id"
					],
					"members": {
						"id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"build": {
							"shape": "S6"
						}
					}
				}
			},
			"UpdateProject": {
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {},
						"description": {},
						"source": {
							"shape": "Sg"
						},
						"artifacts": {
							"shape": "S11"
						},
						"environment": {
							"shape": "Sl"
						},
						"serviceRole": {},
						"timeoutInMinutes": {
							"type": "integer"
						},
						"encryptionKey": {},
						"tags": {
							"shape": "S16"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"project": {
							"shape": "Sy"
						}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "list",
				"member": {}
			},
			"S6": {
				"type": "structure",
				"members": {
					"id": {},
					"arn": {},
					"startTime": {
						"type": "timestamp"
					},
					"endTime": {
						"type": "timestamp"
					},
					"currentPhase": {},
					"buildStatus": {},
					"sourceVersion": {},
					"projectName": {},
					"phases": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"phaseType": {},
								"phaseStatus": {},
								"startTime": {
									"type": "timestamp"
								},
								"endTime": {
									"type": "timestamp"
								},
								"durationInSeconds": {
									"type": "long"
								},
								"contexts": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"statusCode": {},
											"message": {}
										}
									}
								}
							}
						}
					},
					"source": {
						"shape": "Sg"
					},
					"artifacts": {
						"type": "structure",
						"members": {
							"location": {},
							"sha256sum": {},
							"md5sum": {}
						}
					},
					"environment": {
						"shape": "Sl"
					},
					"logs": {
						"type": "structure",
						"members": {
							"groupName": {},
							"streamName": {},
							"deepLink": {}
						}
					},
					"timeoutInMinutes": {
						"type": "integer"
					},
					"buildComplete": {
						"type": "boolean"
					},
					"initiator": {}
				}
			},
			"Sg": {
				"type": "structure",
				"required": [
					"type"
				],
				"members": {
					"type": {},
					"location": {},
					"buildspec": {},
					"auth": {
						"type": "structure",
						"required": [
							"type"
						],
						"members": {
							"type": {},
							"resource": {}
						}
					}
				}
			},
			"Sl": {
				"type": "structure",
				"required": [
					"type",
					"image",
					"computeType"
				],
				"members": {
					"type": {},
					"image": {},
					"computeType": {},
					"environmentVariables": {
						"shape": "So"
					},
					"privilegedMode": {
						"type": "boolean"
					}
				}
			},
			"So": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"name",
						"value"
					],
					"members": {
						"name": {},
						"value": {}
					}
				}
			},
			"Sv": {
				"type": "list",
				"member": {}
			},
			"Sy": {
				"type": "structure",
				"members": {
					"name": {},
					"arn": {},
					"description": {},
					"source": {
						"shape": "Sg"
					},
					"artifacts": {
						"shape": "S11"
					},
					"environment": {
						"shape": "Sl"
					},
					"serviceRole": {},
					"timeoutInMinutes": {
						"type": "integer"
					},
					"encryptionKey": {},
					"tags": {
						"shape": "S16"
					},
					"created": {
						"type": "timestamp"
					},
					"lastModified": {
						"type": "timestamp"
					}
				}
			},
			"S11": {
				"type": "structure",
				"required": [
					"type"
				],
				"members": {
					"type": {},
					"location": {},
					"path": {},
					"namespaceType": {},
					"name": {},
					"packaging": {}
				}
			},
			"S16": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"key": {},
						"value": {}
					}
				}
			}
		}
	};

/***/ }),
/* 364 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 365 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['codecommit'] = {};
	AWS.CodeCommit = Service.defineService('codecommit', ['2015-04-13']);
	Object.defineProperty(apiLoader.services['codecommit'], '2015-04-13', {
	  get: function get() {
	    var model = __webpack_require__(366);
	    model.paginators = __webpack_require__(367).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CodeCommit;


/***/ }),
/* 366 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-04-13",
			"endpointPrefix": "codecommit",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "CodeCommit",
			"serviceFullName": "AWS CodeCommit",
			"signatureVersion": "v4",
			"targetPrefix": "CodeCommit_20150413",
			"uid": "codecommit-2015-04-13"
		},
		"operations": {
			"BatchGetRepositories": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryNames"
					],
					"members": {
						"repositoryNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"repositories": {
							"type": "list",
							"member": {
								"shape": "S6"
							}
						},
						"repositoriesNotFound": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"CreateBranch": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"branchName",
						"commitId"
					],
					"members": {
						"repositoryName": {},
						"branchName": {},
						"commitId": {}
					}
				}
			},
			"CreateRepository": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"repositoryName": {},
						"repositoryDescription": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"repositoryMetadata": {
							"shape": "S6"
						}
					}
				}
			},
			"DeleteRepository": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"repositoryName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"repositoryId": {}
					}
				}
			},
			"GetBlob": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"blobId"
					],
					"members": {
						"repositoryName": {},
						"blobId": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"content"
					],
					"members": {
						"content": {
							"type": "blob"
						}
					}
				}
			},
			"GetBranch": {
				"input": {
					"type": "structure",
					"members": {
						"repositoryName": {},
						"branchName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"branch": {
							"type": "structure",
							"members": {
								"branchName": {},
								"commitId": {}
							}
						}
					}
				}
			},
			"GetCommit": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"commitId"
					],
					"members": {
						"repositoryName": {},
						"commitId": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"commit"
					],
					"members": {
						"commit": {
							"type": "structure",
							"members": {
								"treeId": {},
								"parents": {
									"type": "list",
									"member": {}
								},
								"message": {},
								"author": {
									"shape": "Sz"
								},
								"committer": {
									"shape": "Sz"
								},
								"additionalData": {}
							}
						}
					}
				}
			},
			"GetDifferences": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"afterCommitSpecifier"
					],
					"members": {
						"repositoryName": {},
						"beforeCommitSpecifier": {},
						"afterCommitSpecifier": {},
						"beforePath": {},
						"afterPath": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"differences": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"beforeBlob": {
										"shape": "S1c"
									},
									"afterBlob": {
										"shape": "S1c"
									},
									"changeType": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"GetRepository": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"repositoryName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"repositoryMetadata": {
							"shape": "S6"
						}
					}
				}
			},
			"GetRepositoryTriggers": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"repositoryName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"configurationId": {},
						"triggers": {
							"shape": "S1k"
						}
					}
				}
			},
			"ListBranches": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"repositoryName": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"branches": {
							"shape": "S1o"
						},
						"nextToken": {}
					}
				}
			},
			"ListRepositories": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {},
						"sortBy": {},
						"order": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"repositories": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"repositoryName": {},
									"repositoryId": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"PutRepositoryTriggers": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"triggers"
					],
					"members": {
						"repositoryName": {},
						"triggers": {
							"shape": "S1k"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"configurationId": {}
					}
				}
			},
			"TestRepositoryTriggers": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"triggers"
					],
					"members": {
						"repositoryName": {},
						"triggers": {
							"shape": "S1k"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"successfulExecutions": {
							"type": "list",
							"member": {}
						},
						"failedExecutions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"trigger": {},
									"failureMessage": {}
								}
							}
						}
					}
				}
			},
			"UpdateDefaultBranch": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"defaultBranchName"
					],
					"members": {
						"repositoryName": {},
						"defaultBranchName": {}
					}
				}
			},
			"UpdateRepositoryDescription": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"repositoryName": {},
						"repositoryDescription": {}
					}
				}
			},
			"UpdateRepositoryName": {
				"input": {
					"type": "structure",
					"required": [
						"oldName",
						"newName"
					],
					"members": {
						"oldName": {},
						"newName": {}
					}
				}
			}
		},
		"shapes": {
			"S6": {
				"type": "structure",
				"members": {
					"accountId": {},
					"repositoryId": {},
					"repositoryName": {},
					"repositoryDescription": {},
					"defaultBranch": {},
					"lastModifiedDate": {
						"type": "timestamp"
					},
					"creationDate": {
						"type": "timestamp"
					},
					"cloneUrlHttp": {},
					"cloneUrlSsh": {},
					"Arn": {}
				}
			},
			"Sz": {
				"type": "structure",
				"members": {
					"name": {},
					"email": {},
					"date": {}
				}
			},
			"S1c": {
				"type": "structure",
				"members": {
					"blobId": {},
					"path": {},
					"mode": {}
				}
			},
			"S1k": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"name",
						"destinationArn",
						"events"
					],
					"members": {
						"name": {},
						"destinationArn": {},
						"customData": {},
						"branches": {
							"shape": "S1o"
						},
						"events": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"S1o": {
				"type": "list",
				"member": {}
			}
		}
	};

/***/ }),
/* 367 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"GetDifferences": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken"
			},
			"ListBranches": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "branches"
			},
			"ListRepositories": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "repositories"
			}
		}
	};

/***/ }),
/* 368 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['codedeploy'] = {};
	AWS.CodeDeploy = Service.defineService('codedeploy', ['2014-10-06']);
	Object.defineProperty(apiLoader.services['codedeploy'], '2014-10-06', {
	  get: function get() {
	    var model = __webpack_require__(369);
	    model.paginators = __webpack_require__(370).pagination;
	    model.waiters = __webpack_require__(371).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CodeDeploy;


/***/ }),
/* 369 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-10-06",
			"endpointPrefix": "codedeploy",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "CodeDeploy",
			"serviceFullName": "AWS CodeDeploy",
			"signatureVersion": "v4",
			"targetPrefix": "CodeDeploy_20141006",
			"timestampFormat": "unixTimestamp",
			"uid": "codedeploy-2014-10-06"
		},
		"operations": {
			"AddTagsToOnPremisesInstances": {
				"input": {
					"type": "structure",
					"required": [
						"tags",
						"instanceNames"
					],
					"members": {
						"tags": {
							"shape": "S2"
						},
						"instanceNames": {
							"shape": "S6"
						}
					}
				}
			},
			"BatchGetApplicationRevisions": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName",
						"revisions"
					],
					"members": {
						"applicationName": {},
						"revisions": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"applicationName": {},
						"errorMessage": {},
						"revisions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"revisionLocation": {
										"shape": "Sb"
									},
									"genericRevisionInfo": {
										"shape": "Sq"
									}
								}
							}
						}
					}
				}
			},
			"BatchGetApplications": {
				"input": {
					"type": "structure",
					"members": {
						"applicationNames": {
							"shape": "Sw"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"applicationsInfo": {
							"type": "list",
							"member": {
								"shape": "Sz"
							}
						}
					}
				}
			},
			"BatchGetDeploymentGroups": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName",
						"deploymentGroupNames"
					],
					"members": {
						"applicationName": {},
						"deploymentGroupNames": {
							"shape": "Ss"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"deploymentGroupsInfo": {
							"type": "list",
							"member": {
								"shape": "S16"
							}
						},
						"errorMessage": {}
					}
				}
			},
			"BatchGetDeploymentInstances": {
				"input": {
					"type": "structure",
					"required": [
						"deploymentId",
						"instanceIds"
					],
					"members": {
						"deploymentId": {},
						"instanceIds": {
							"shape": "S2g"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"instancesSummary": {
							"type": "list",
							"member": {
								"shape": "S2k"
							}
						},
						"errorMessage": {}
					}
				}
			},
			"BatchGetDeployments": {
				"input": {
					"type": "structure",
					"members": {
						"deploymentIds": {
							"shape": "S2x"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"deploymentsInfo": {
							"type": "list",
							"member": {
								"shape": "S30"
							}
						}
					}
				}
			},
			"BatchGetOnPremisesInstances": {
				"input": {
					"type": "structure",
					"members": {
						"instanceNames": {
							"shape": "S6"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"instanceInfos": {
							"type": "list",
							"member": {
								"shape": "S3e"
							}
						}
					}
				}
			},
			"ContinueDeployment": {
				"input": {
					"type": "structure",
					"members": {
						"deploymentId": {}
					}
				}
			},
			"CreateApplication": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName"
					],
					"members": {
						"applicationName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"applicationId": {}
					}
				}
			},
			"CreateDeployment": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName"
					],
					"members": {
						"applicationName": {},
						"deploymentGroupName": {},
						"revision": {
							"shape": "Sb"
						},
						"deploymentConfigName": {},
						"description": {},
						"ignoreApplicationStopFailures": {
							"type": "boolean"
						},
						"targetInstances": {
							"shape": "S37"
						},
						"autoRollbackConfiguration": {
							"shape": "S1u"
						},
						"updateOutdatedInstancesOnly": {
							"type": "boolean"
						},
						"fileExistsBehavior": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"deploymentId": {}
					}
				}
			},
			"CreateDeploymentConfig": {
				"input": {
					"type": "structure",
					"required": [
						"deploymentConfigName"
					],
					"members": {
						"deploymentConfigName": {},
						"minimumHealthyHosts": {
							"shape": "S3o"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"deploymentConfigId": {}
					}
				}
			},
			"CreateDeploymentGroup": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName",
						"deploymentGroupName",
						"serviceRoleArn"
					],
					"members": {
						"applicationName": {},
						"deploymentGroupName": {},
						"deploymentConfigName": {},
						"ec2TagFilters": {
							"shape": "S19"
						},
						"onPremisesInstanceTagFilters": {
							"shape": "S1c"
						},
						"autoScalingGroups": {
							"shape": "S38"
						},
						"serviceRoleArn": {},
						"triggerConfigurations": {
							"shape": "S1k"
						},
						"alarmConfiguration": {
							"shape": "S1q"
						},
						"autoRollbackConfiguration": {
							"shape": "S1u"
						},
						"deploymentStyle": {
							"shape": "S1x"
						},
						"blueGreenDeploymentConfiguration": {
							"shape": "S20"
						},
						"loadBalancerInfo": {
							"shape": "S28"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"deploymentGroupId": {}
					}
				}
			},
			"DeleteApplication": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName"
					],
					"members": {
						"applicationName": {}
					}
				}
			},
			"DeleteDeploymentConfig": {
				"input": {
					"type": "structure",
					"required": [
						"deploymentConfigName"
					],
					"members": {
						"deploymentConfigName": {}
					}
				}
			},
			"DeleteDeploymentGroup": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName",
						"deploymentGroupName"
					],
					"members": {
						"applicationName": {},
						"deploymentGroupName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"hooksNotCleanedUp": {
							"shape": "S1f"
						}
					}
				}
			},
			"DeregisterOnPremisesInstance": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName"
					],
					"members": {
						"instanceName": {}
					}
				}
			},
			"GetApplication": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName"
					],
					"members": {
						"applicationName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"application": {
							"shape": "Sz"
						}
					}
				}
			},
			"GetApplicationRevision": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName",
						"revision"
					],
					"members": {
						"applicationName": {},
						"revision": {
							"shape": "Sb"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"applicationName": {},
						"revision": {
							"shape": "Sb"
						},
						"revisionInfo": {
							"shape": "Sq"
						}
					}
				}
			},
			"GetDeployment": {
				"input": {
					"type": "structure",
					"required": [
						"deploymentId"
					],
					"members": {
						"deploymentId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"deploymentInfo": {
							"shape": "S30"
						}
					}
				}
			},
			"GetDeploymentConfig": {
				"input": {
					"type": "structure",
					"required": [
						"deploymentConfigName"
					],
					"members": {
						"deploymentConfigName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"deploymentConfigInfo": {
							"type": "structure",
							"members": {
								"deploymentConfigId": {},
								"deploymentConfigName": {},
								"minimumHealthyHosts": {
									"shape": "S3o"
								},
								"createTime": {
									"type": "timestamp"
								}
							}
						}
					}
				}
			},
			"GetDeploymentGroup": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName",
						"deploymentGroupName"
					],
					"members": {
						"applicationName": {},
						"deploymentGroupName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"deploymentGroupInfo": {
							"shape": "S16"
						}
					}
				}
			},
			"GetDeploymentInstance": {
				"input": {
					"type": "structure",
					"required": [
						"deploymentId",
						"instanceId"
					],
					"members": {
						"deploymentId": {},
						"instanceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"instanceSummary": {
							"shape": "S2k"
						}
					}
				}
			},
			"GetOnPremisesInstance": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName"
					],
					"members": {
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"instanceInfo": {
							"shape": "S3e"
						}
					}
				}
			},
			"ListApplicationRevisions": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName"
					],
					"members": {
						"applicationName": {},
						"sortBy": {},
						"sortOrder": {},
						"s3Bucket": {},
						"s3KeyPrefix": {},
						"deployed": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"revisions": {
							"shape": "Sa"
						},
						"nextToken": {}
					}
				}
			},
			"ListApplications": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"applications": {
							"shape": "Sw"
						},
						"nextToken": {}
					}
				}
			},
			"ListDeploymentConfigs": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"deploymentConfigsList": {
							"type": "list",
							"member": {}
						},
						"nextToken": {}
					}
				}
			},
			"ListDeploymentGroups": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName"
					],
					"members": {
						"applicationName": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"applicationName": {},
						"deploymentGroups": {
							"shape": "Ss"
						},
						"nextToken": {}
					}
				}
			},
			"ListDeploymentInstances": {
				"input": {
					"type": "structure",
					"required": [
						"deploymentId"
					],
					"members": {
						"deploymentId": {},
						"nextToken": {},
						"instanceStatusFilter": {
							"type": "list",
							"member": {}
						},
						"instanceTypeFilter": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"instancesList": {
							"shape": "S2g"
						},
						"nextToken": {}
					}
				}
			},
			"ListDeployments": {
				"input": {
					"type": "structure",
					"members": {
						"applicationName": {},
						"deploymentGroupName": {},
						"includeOnlyStatuses": {
							"type": "list",
							"member": {}
						},
						"createTimeRange": {
							"type": "structure",
							"members": {
								"start": {
									"type": "timestamp"
								},
								"end": {
									"type": "timestamp"
								}
							}
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"deployments": {
							"shape": "S2x"
						},
						"nextToken": {}
					}
				}
			},
			"ListGitHubAccountTokenNames": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"tokenNameList": {
							"type": "list",
							"member": {}
						},
						"nextToken": {}
					}
				}
			},
			"ListOnPremisesInstances": {
				"input": {
					"type": "structure",
					"members": {
						"registrationStatus": {},
						"tagFilters": {
							"shape": "S1c"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"instanceNames": {
							"shape": "S6"
						},
						"nextToken": {}
					}
				}
			},
			"RegisterApplicationRevision": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName",
						"revision"
					],
					"members": {
						"applicationName": {},
						"description": {},
						"revision": {
							"shape": "Sb"
						}
					}
				}
			},
			"RegisterOnPremisesInstance": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName"
					],
					"members": {
						"instanceName": {},
						"iamSessionArn": {},
						"iamUserArn": {}
					}
				}
			},
			"RemoveTagsFromOnPremisesInstances": {
				"input": {
					"type": "structure",
					"required": [
						"tags",
						"instanceNames"
					],
					"members": {
						"tags": {
							"shape": "S2"
						},
						"instanceNames": {
							"shape": "S6"
						}
					}
				}
			},
			"SkipWaitTimeForInstanceTermination": {
				"input": {
					"type": "structure",
					"members": {
						"deploymentId": {}
					}
				}
			},
			"StopDeployment": {
				"input": {
					"type": "structure",
					"required": [
						"deploymentId"
					],
					"members": {
						"deploymentId": {},
						"autoRollbackEnabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"status": {},
						"statusMessage": {}
					}
				}
			},
			"UpdateApplication": {
				"input": {
					"type": "structure",
					"members": {
						"applicationName": {},
						"newApplicationName": {}
					}
				}
			},
			"UpdateDeploymentGroup": {
				"input": {
					"type": "structure",
					"required": [
						"applicationName",
						"currentDeploymentGroupName"
					],
					"members": {
						"applicationName": {},
						"currentDeploymentGroupName": {},
						"newDeploymentGroupName": {},
						"deploymentConfigName": {},
						"ec2TagFilters": {
							"shape": "S19"
						},
						"onPremisesInstanceTagFilters": {
							"shape": "S1c"
						},
						"autoScalingGroups": {
							"shape": "S38"
						},
						"serviceRoleArn": {},
						"triggerConfigurations": {
							"shape": "S1k"
						},
						"alarmConfiguration": {
							"shape": "S1q"
						},
						"autoRollbackConfiguration": {
							"shape": "S1u"
						},
						"deploymentStyle": {
							"shape": "S1x"
						},
						"blueGreenDeploymentConfiguration": {
							"shape": "S20"
						},
						"loadBalancerInfo": {
							"shape": "S28"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"hooksNotCleanedUp": {
							"shape": "S1f"
						}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S6": {
				"type": "list",
				"member": {}
			},
			"Sa": {
				"type": "list",
				"member": {
					"shape": "Sb"
				}
			},
			"Sb": {
				"type": "structure",
				"members": {
					"revisionType": {},
					"s3Location": {
						"type": "structure",
						"members": {
							"bucket": {},
							"key": {},
							"bundleType": {},
							"version": {},
							"eTag": {}
						}
					},
					"gitHubLocation": {
						"type": "structure",
						"members": {
							"repository": {},
							"commitId": {}
						}
					}
				}
			},
			"Sq": {
				"type": "structure",
				"members": {
					"description": {},
					"deploymentGroups": {
						"shape": "Ss"
					},
					"firstUsedTime": {
						"type": "timestamp"
					},
					"lastUsedTime": {
						"type": "timestamp"
					},
					"registerTime": {
						"type": "timestamp"
					}
				}
			},
			"Ss": {
				"type": "list",
				"member": {}
			},
			"Sw": {
				"type": "list",
				"member": {}
			},
			"Sz": {
				"type": "structure",
				"members": {
					"applicationId": {},
					"applicationName": {},
					"createTime": {
						"type": "timestamp"
					},
					"linkedToGitHub": {
						"type": "boolean"
					},
					"gitHubAccountName": {}
				}
			},
			"S16": {
				"type": "structure",
				"members": {
					"applicationName": {},
					"deploymentGroupId": {},
					"deploymentGroupName": {},
					"deploymentConfigName": {},
					"ec2TagFilters": {
						"shape": "S19"
					},
					"onPremisesInstanceTagFilters": {
						"shape": "S1c"
					},
					"autoScalingGroups": {
						"shape": "S1f"
					},
					"serviceRoleArn": {},
					"targetRevision": {
						"shape": "Sb"
					},
					"triggerConfigurations": {
						"shape": "S1k"
					},
					"alarmConfiguration": {
						"shape": "S1q"
					},
					"autoRollbackConfiguration": {
						"shape": "S1u"
					},
					"deploymentStyle": {
						"shape": "S1x"
					},
					"blueGreenDeploymentConfiguration": {
						"shape": "S20"
					},
					"loadBalancerInfo": {
						"shape": "S28"
					},
					"lastSuccessfulDeployment": {
						"shape": "S2c"
					},
					"lastAttemptedDeployment": {
						"shape": "S2c"
					}
				}
			},
			"S19": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {},
						"Type": {}
					}
				}
			},
			"S1c": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {},
						"Type": {}
					}
				}
			},
			"S1f": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"name": {},
						"hook": {}
					}
				}
			},
			"S1k": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"triggerName": {},
						"triggerTargetArn": {},
						"triggerEvents": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"S1q": {
				"type": "structure",
				"members": {
					"enabled": {
						"type": "boolean"
					},
					"ignorePollAlarmFailure": {
						"type": "boolean"
					},
					"alarms": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"name": {}
							}
						}
					}
				}
			},
			"S1u": {
				"type": "structure",
				"members": {
					"enabled": {
						"type": "boolean"
					},
					"events": {
						"type": "list",
						"member": {}
					}
				}
			},
			"S1x": {
				"type": "structure",
				"members": {
					"deploymentType": {},
					"deploymentOption": {}
				}
			},
			"S20": {
				"type": "structure",
				"members": {
					"terminateBlueInstancesOnDeploymentSuccess": {
						"type": "structure",
						"members": {
							"action": {},
							"terminationWaitTimeInMinutes": {
								"type": "integer"
							}
						}
					},
					"deploymentReadyOption": {
						"type": "structure",
						"members": {
							"actionOnTimeout": {},
							"waitTimeInMinutes": {
								"type": "integer"
							}
						}
					},
					"greenFleetProvisioningOption": {
						"type": "structure",
						"members": {
							"action": {}
						}
					}
				}
			},
			"S28": {
				"type": "structure",
				"members": {
					"elbInfoList": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"name": {}
							}
						}
					}
				}
			},
			"S2c": {
				"type": "structure",
				"members": {
					"deploymentId": {},
					"status": {},
					"endTime": {
						"type": "timestamp"
					},
					"createTime": {
						"type": "timestamp"
					}
				}
			},
			"S2g": {
				"type": "list",
				"member": {}
			},
			"S2k": {
				"type": "structure",
				"members": {
					"deploymentId": {},
					"instanceId": {},
					"status": {},
					"lastUpdatedAt": {
						"type": "timestamp"
					},
					"lifecycleEvents": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"lifecycleEventName": {},
								"diagnostics": {
									"type": "structure",
									"members": {
										"errorCode": {},
										"scriptName": {},
										"message": {},
										"logTail": {}
									}
								},
								"startTime": {
									"type": "timestamp"
								},
								"endTime": {
									"type": "timestamp"
								},
								"status": {}
							}
						}
					},
					"instanceType": {}
				}
			},
			"S2x": {
				"type": "list",
				"member": {}
			},
			"S30": {
				"type": "structure",
				"members": {
					"applicationName": {},
					"deploymentGroupName": {},
					"deploymentConfigName": {},
					"deploymentId": {},
					"previousRevision": {
						"shape": "Sb"
					},
					"revision": {
						"shape": "Sb"
					},
					"status": {},
					"errorInformation": {
						"type": "structure",
						"members": {
							"code": {},
							"message": {}
						}
					},
					"createTime": {
						"type": "timestamp"
					},
					"startTime": {
						"type": "timestamp"
					},
					"completeTime": {
						"type": "timestamp"
					},
					"deploymentOverview": {
						"type": "structure",
						"members": {
							"Pending": {
								"type": "long"
							},
							"InProgress": {
								"type": "long"
							},
							"Succeeded": {
								"type": "long"
							},
							"Failed": {
								"type": "long"
							},
							"Skipped": {
								"type": "long"
							},
							"Ready": {
								"type": "long"
							}
						}
					},
					"description": {},
					"creator": {},
					"ignoreApplicationStopFailures": {
						"type": "boolean"
					},
					"autoRollbackConfiguration": {
						"shape": "S1u"
					},
					"updateOutdatedInstancesOnly": {
						"type": "boolean"
					},
					"rollbackInfo": {
						"type": "structure",
						"members": {
							"rollbackDeploymentId": {},
							"rollbackTriggeringDeploymentId": {},
							"rollbackMessage": {}
						}
					},
					"deploymentStyle": {
						"shape": "S1x"
					},
					"targetInstances": {
						"shape": "S37"
					},
					"instanceTerminationWaitTimeStarted": {
						"type": "boolean"
					},
					"blueGreenDeploymentConfiguration": {
						"shape": "S20"
					},
					"loadBalancerInfo": {
						"shape": "S28"
					},
					"additionalDeploymentStatusInfo": {},
					"fileExistsBehavior": {}
				}
			},
			"S37": {
				"type": "structure",
				"members": {
					"tagFilters": {
						"shape": "S19"
					},
					"autoScalingGroups": {
						"shape": "S38"
					}
				}
			},
			"S38": {
				"type": "list",
				"member": {}
			},
			"S3e": {
				"type": "structure",
				"members": {
					"instanceName": {},
					"iamSessionArn": {},
					"iamUserArn": {},
					"instanceArn": {},
					"registerTime": {
						"type": "timestamp"
					},
					"deregisterTime": {
						"type": "timestamp"
					},
					"tags": {
						"shape": "S2"
					}
				}
			},
			"S3o": {
				"type": "structure",
				"members": {
					"value": {
						"type": "integer"
					},
					"type": {}
				}
			}
		}
	};

/***/ }),
/* 370 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListApplicationRevisions": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "revisions"
			},
			"ListApplications": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "applications"
			},
			"ListDeploymentConfigs": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "deploymentConfigsList"
			},
			"ListDeploymentGroups": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "deploymentGroups"
			},
			"ListDeploymentInstances": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "instancesList"
			},
			"ListDeployments": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "deployments"
			}
		}
	};

/***/ }),
/* 371 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"DeploymentSuccessful": {
				"delay": 15,
				"operation": "GetDeployment",
				"maxAttempts": 120,
				"acceptors": [
					{
						"expected": "Succeeded",
						"matcher": "path",
						"state": "success",
						"argument": "deploymentInfo.status"
					},
					{
						"expected": "Failed",
						"matcher": "path",
						"state": "failure",
						"argument": "deploymentInfo.status"
					},
					{
						"expected": "Stopped",
						"matcher": "path",
						"state": "failure",
						"argument": "deploymentInfo.status"
					}
				]
			}
		}
	};

/***/ }),
/* 372 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['codepipeline'] = {};
	AWS.CodePipeline = Service.defineService('codepipeline', ['2015-07-09']);
	Object.defineProperty(apiLoader.services['codepipeline'], '2015-07-09', {
	  get: function get() {
	    var model = __webpack_require__(373);
	    model.paginators = __webpack_require__(374).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CodePipeline;


/***/ }),
/* 373 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-07-09",
			"endpointPrefix": "codepipeline",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "CodePipeline",
			"serviceFullName": "AWS CodePipeline",
			"signatureVersion": "v4",
			"targetPrefix": "CodePipeline_20150709",
			"uid": "codepipeline-2015-07-09"
		},
		"operations": {
			"AcknowledgeJob": {
				"input": {
					"type": "structure",
					"required": [
						"jobId",
						"nonce"
					],
					"members": {
						"jobId": {},
						"nonce": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"status": {}
					}
				}
			},
			"AcknowledgeThirdPartyJob": {
				"input": {
					"type": "structure",
					"required": [
						"jobId",
						"nonce",
						"clientToken"
					],
					"members": {
						"jobId": {},
						"nonce": {},
						"clientToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"status": {}
					}
				}
			},
			"CreateCustomActionType": {
				"input": {
					"type": "structure",
					"required": [
						"category",
						"provider",
						"version",
						"inputArtifactDetails",
						"outputArtifactDetails"
					],
					"members": {
						"category": {},
						"provider": {},
						"version": {},
						"settings": {
							"shape": "Se"
						},
						"configurationProperties": {
							"shape": "Sh"
						},
						"inputArtifactDetails": {
							"shape": "Sn"
						},
						"outputArtifactDetails": {
							"shape": "Sn"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"actionType"
					],
					"members": {
						"actionType": {
							"shape": "Sr"
						}
					}
				}
			},
			"CreatePipeline": {
				"input": {
					"type": "structure",
					"required": [
						"pipeline"
					],
					"members": {
						"pipeline": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"pipeline": {
							"shape": "Sv"
						}
					}
				}
			},
			"DeleteCustomActionType": {
				"input": {
					"type": "structure",
					"required": [
						"category",
						"provider",
						"version"
					],
					"members": {
						"category": {},
						"provider": {},
						"version": {}
					}
				}
			},
			"DeletePipeline": {
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {}
					}
				}
			},
			"DisableStageTransition": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineName",
						"stageName",
						"transitionType",
						"reason"
					],
					"members": {
						"pipelineName": {},
						"stageName": {},
						"transitionType": {},
						"reason": {}
					}
				}
			},
			"EnableStageTransition": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineName",
						"stageName",
						"transitionType"
					],
					"members": {
						"pipelineName": {},
						"stageName": {},
						"transitionType": {}
					}
				}
			},
			"GetJobDetails": {
				"input": {
					"type": "structure",
					"required": [
						"jobId"
					],
					"members": {
						"jobId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"jobDetails": {
							"type": "structure",
							"members": {
								"id": {},
								"data": {
									"shape": "S1x"
								},
								"accountId": {}
							}
						}
					}
				}
			},
			"GetPipeline": {
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {},
						"version": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"pipeline": {
							"shape": "Sv"
						}
					}
				}
			},
			"GetPipelineExecution": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineName",
						"pipelineExecutionId"
					],
					"members": {
						"pipelineName": {},
						"pipelineExecutionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"pipelineExecution": {
							"type": "structure",
							"members": {
								"pipelineName": {},
								"pipelineVersion": {
									"type": "integer"
								},
								"pipelineExecutionId": {},
								"status": {},
								"artifactRevisions": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"name": {},
											"revisionId": {},
											"revisionChangeIdentifier": {},
											"revisionSummary": {},
											"created": {
												"type": "timestamp"
											},
											"revisionUrl": {}
										}
									}
								}
							}
						}
					}
				}
			},
			"GetPipelineState": {
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"pipelineName": {},
						"pipelineVersion": {
							"type": "integer"
						},
						"stageStates": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"stageName": {},
									"inboundTransitionState": {
										"type": "structure",
										"members": {
											"enabled": {
												"type": "boolean"
											},
											"lastChangedBy": {},
											"lastChangedAt": {
												"type": "timestamp"
											},
											"disabledReason": {}
										}
									},
									"actionStates": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"actionName": {},
												"currentRevision": {
													"shape": "S32"
												},
												"latestExecution": {
													"type": "structure",
													"members": {
														"status": {},
														"summary": {},
														"lastStatusChange": {
															"type": "timestamp"
														},
														"token": {},
														"lastUpdatedBy": {},
														"externalExecutionId": {},
														"externalExecutionUrl": {},
														"percentComplete": {
															"type": "integer"
														},
														"errorDetails": {
															"type": "structure",
															"members": {
																"code": {},
																"message": {}
															}
														}
													}
												},
												"entityUrl": {},
												"revisionUrl": {}
											}
										}
									},
									"latestExecution": {
										"type": "structure",
										"required": [
											"pipelineExecutionId",
											"status"
										],
										"members": {
											"pipelineExecutionId": {},
											"status": {}
										}
									}
								}
							}
						},
						"created": {
							"type": "timestamp"
						},
						"updated": {
							"type": "timestamp"
						}
					}
				}
			},
			"GetThirdPartyJobDetails": {
				"input": {
					"type": "structure",
					"required": [
						"jobId",
						"clientToken"
					],
					"members": {
						"jobId": {},
						"clientToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"jobDetails": {
							"type": "structure",
							"members": {
								"id": {},
								"data": {
									"type": "structure",
									"members": {
										"actionTypeId": {
											"shape": "Ss"
										},
										"actionConfiguration": {
											"shape": "S1y"
										},
										"pipelineContext": {
											"shape": "S1z"
										},
										"inputArtifacts": {
											"shape": "S22"
										},
										"outputArtifacts": {
											"shape": "S22"
										},
										"artifactCredentials": {
											"shape": "S2a"
										},
										"continuationToken": {},
										"encryptionKey": {
											"shape": "S11"
										}
									}
								},
								"nonce": {}
							}
						}
					}
				}
			},
			"ListActionTypes": {
				"input": {
					"type": "structure",
					"members": {
						"actionOwnerFilter": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"actionTypes"
					],
					"members": {
						"actionTypes": {
							"type": "list",
							"member": {
								"shape": "Sr"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListPipelineExecutions": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineName"
					],
					"members": {
						"pipelineName": {},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"pipelineExecutionSummaries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"pipelineExecutionId": {},
									"status": {},
									"startTime": {
										"type": "timestamp"
									},
									"lastUpdateTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListPipelines": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"pipelines": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"name": {},
									"version": {
										"type": "integer"
									},
									"created": {
										"type": "timestamp"
									},
									"updated": {
										"type": "timestamp"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"PollForJobs": {
				"input": {
					"type": "structure",
					"required": [
						"actionTypeId"
					],
					"members": {
						"actionTypeId": {
							"shape": "Ss"
						},
						"maxBatchSize": {
							"type": "integer"
						},
						"queryParam": {
							"type": "map",
							"key": {},
							"value": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"jobs": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"id": {},
									"data": {
										"shape": "S1x"
									},
									"nonce": {},
									"accountId": {}
								}
							}
						}
					}
				}
			},
			"PollForThirdPartyJobs": {
				"input": {
					"type": "structure",
					"required": [
						"actionTypeId"
					],
					"members": {
						"actionTypeId": {
							"shape": "Ss"
						},
						"maxBatchSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"jobs": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"clientId": {},
									"jobId": {}
								}
							}
						}
					}
				}
			},
			"PutActionRevision": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineName",
						"stageName",
						"actionName",
						"actionRevision"
					],
					"members": {
						"pipelineName": {},
						"stageName": {},
						"actionName": {},
						"actionRevision": {
							"shape": "S32"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"newRevision": {
							"type": "boolean"
						},
						"pipelineExecutionId": {}
					}
				}
			},
			"PutApprovalResult": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineName",
						"stageName",
						"actionName",
						"result",
						"token"
					],
					"members": {
						"pipelineName": {},
						"stageName": {},
						"actionName": {},
						"result": {
							"type": "structure",
							"required": [
								"summary",
								"status"
							],
							"members": {
								"summary": {},
								"status": {}
							}
						},
						"token": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"approvedAt": {
							"type": "timestamp"
						}
					}
				}
			},
			"PutJobFailureResult": {
				"input": {
					"type": "structure",
					"required": [
						"jobId",
						"failureDetails"
					],
					"members": {
						"jobId": {},
						"failureDetails": {
							"shape": "S4h"
						}
					}
				}
			},
			"PutJobSuccessResult": {
				"input": {
					"type": "structure",
					"required": [
						"jobId"
					],
					"members": {
						"jobId": {},
						"currentRevision": {
							"shape": "S4k"
						},
						"continuationToken": {},
						"executionDetails": {
							"shape": "S4m"
						}
					}
				}
			},
			"PutThirdPartyJobFailureResult": {
				"input": {
					"type": "structure",
					"required": [
						"jobId",
						"clientToken",
						"failureDetails"
					],
					"members": {
						"jobId": {},
						"clientToken": {},
						"failureDetails": {
							"shape": "S4h"
						}
					}
				}
			},
			"PutThirdPartyJobSuccessResult": {
				"input": {
					"type": "structure",
					"required": [
						"jobId",
						"clientToken"
					],
					"members": {
						"jobId": {},
						"clientToken": {},
						"currentRevision": {
							"shape": "S4k"
						},
						"continuationToken": {},
						"executionDetails": {
							"shape": "S4m"
						}
					}
				}
			},
			"RetryStageExecution": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineName",
						"stageName",
						"pipelineExecutionId",
						"retryMode"
					],
					"members": {
						"pipelineName": {},
						"stageName": {},
						"pipelineExecutionId": {},
						"retryMode": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"pipelineExecutionId": {}
					}
				}
			},
			"StartPipelineExecution": {
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"pipelineExecutionId": {}
					}
				}
			},
			"UpdatePipeline": {
				"input": {
					"type": "structure",
					"required": [
						"pipeline"
					],
					"members": {
						"pipeline": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"pipeline": {
							"shape": "Sv"
						}
					}
				}
			}
		},
		"shapes": {
			"Se": {
				"type": "structure",
				"members": {
					"thirdPartyConfigurationUrl": {},
					"entityUrlTemplate": {},
					"executionUrlTemplate": {},
					"revisionUrlTemplate": {}
				}
			},
			"Sh": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"name",
						"required",
						"key",
						"secret"
					],
					"members": {
						"name": {},
						"required": {
							"type": "boolean"
						},
						"key": {
							"type": "boolean"
						},
						"secret": {
							"type": "boolean"
						},
						"queryable": {
							"type": "boolean"
						},
						"description": {},
						"type": {}
					}
				}
			},
			"Sn": {
				"type": "structure",
				"required": [
					"minimumCount",
					"maximumCount"
				],
				"members": {
					"minimumCount": {
						"type": "integer"
					},
					"maximumCount": {
						"type": "integer"
					}
				}
			},
			"Sr": {
				"type": "structure",
				"required": [
					"id",
					"inputArtifactDetails",
					"outputArtifactDetails"
				],
				"members": {
					"id": {
						"shape": "Ss"
					},
					"settings": {
						"shape": "Se"
					},
					"actionConfigurationProperties": {
						"shape": "Sh"
					},
					"inputArtifactDetails": {
						"shape": "Sn"
					},
					"outputArtifactDetails": {
						"shape": "Sn"
					}
				}
			},
			"Ss": {
				"type": "structure",
				"required": [
					"category",
					"owner",
					"provider",
					"version"
				],
				"members": {
					"category": {},
					"owner": {},
					"provider": {},
					"version": {}
				}
			},
			"Sv": {
				"type": "structure",
				"required": [
					"name",
					"roleArn",
					"artifactStore",
					"stages"
				],
				"members": {
					"name": {},
					"roleArn": {},
					"artifactStore": {
						"type": "structure",
						"required": [
							"type",
							"location"
						],
						"members": {
							"type": {},
							"location": {},
							"encryptionKey": {
								"shape": "S11"
							}
						}
					},
					"stages": {
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"name",
								"actions"
							],
							"members": {
								"name": {},
								"blockers": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"name",
											"type"
										],
										"members": {
											"name": {},
											"type": {}
										}
									}
								},
								"actions": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"name",
											"actionTypeId"
										],
										"members": {
											"name": {},
											"actionTypeId": {
												"shape": "Ss"
											},
											"runOrder": {
												"type": "integer"
											},
											"configuration": {
												"shape": "S1f"
											},
											"outputArtifacts": {
												"type": "list",
												"member": {
													"type": "structure",
													"required": [
														"name"
													],
													"members": {
														"name": {}
													}
												}
											},
											"inputArtifacts": {
												"type": "list",
												"member": {
													"type": "structure",
													"required": [
														"name"
													],
													"members": {
														"name": {}
													}
												}
											},
											"roleArn": {}
										}
									}
								}
							}
						}
					},
					"version": {
						"type": "integer"
					}
				}
			},
			"S11": {
				"type": "structure",
				"required": [
					"id",
					"type"
				],
				"members": {
					"id": {},
					"type": {}
				}
			},
			"S1f": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1x": {
				"type": "structure",
				"members": {
					"actionTypeId": {
						"shape": "Ss"
					},
					"actionConfiguration": {
						"shape": "S1y"
					},
					"pipelineContext": {
						"shape": "S1z"
					},
					"inputArtifacts": {
						"shape": "S22"
					},
					"outputArtifacts": {
						"shape": "S22"
					},
					"artifactCredentials": {
						"shape": "S2a"
					},
					"continuationToken": {},
					"encryptionKey": {
						"shape": "S11"
					}
				}
			},
			"S1y": {
				"type": "structure",
				"members": {
					"configuration": {
						"shape": "S1f"
					}
				}
			},
			"S1z": {
				"type": "structure",
				"members": {
					"pipelineName": {},
					"stage": {
						"type": "structure",
						"members": {
							"name": {}
						}
					},
					"action": {
						"type": "structure",
						"members": {
							"name": {}
						}
					}
				}
			},
			"S22": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"name": {},
						"revision": {},
						"location": {
							"type": "structure",
							"members": {
								"type": {},
								"s3Location": {
									"type": "structure",
									"required": [
										"bucketName",
										"objectKey"
									],
									"members": {
										"bucketName": {},
										"objectKey": {}
									}
								}
							}
						}
					}
				}
			},
			"S2a": {
				"type": "structure",
				"required": [
					"accessKeyId",
					"secretAccessKey",
					"sessionToken"
				],
				"members": {
					"accessKeyId": {},
					"secretAccessKey": {},
					"sessionToken": {}
				},
				"sensitive": true
			},
			"S32": {
				"type": "structure",
				"required": [
					"revisionId",
					"revisionChangeId",
					"created"
				],
				"members": {
					"revisionId": {},
					"revisionChangeId": {},
					"created": {
						"type": "timestamp"
					}
				}
			},
			"S4h": {
				"type": "structure",
				"required": [
					"type",
					"message"
				],
				"members": {
					"type": {},
					"message": {},
					"externalExecutionId": {}
				}
			},
			"S4k": {
				"type": "structure",
				"required": [
					"revision",
					"changeIdentifier"
				],
				"members": {
					"revision": {},
					"changeIdentifier": {},
					"created": {
						"type": "timestamp"
					},
					"revisionSummary": {}
				}
			},
			"S4m": {
				"type": "structure",
				"members": {
					"summary": {},
					"externalExecutionId": {},
					"percentComplete": {
						"type": "integer"
					}
				}
			}
		}
	};

/***/ }),
/* 374 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 375 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cognitoidentityserviceprovider'] = {};
	AWS.CognitoIdentityServiceProvider = Service.defineService('cognitoidentityserviceprovider', ['2016-04-18']);
	Object.defineProperty(apiLoader.services['cognitoidentityserviceprovider'], '2016-04-18', {
	  get: function get() {
	    var model = __webpack_require__(376);
	    model.paginators = __webpack_require__(377).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CognitoIdentityServiceProvider;


/***/ }),
/* 376 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-04-18",
			"endpointPrefix": "cognito-idp",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon Cognito Identity Provider",
			"signatureVersion": "v4",
			"targetPrefix": "AWSCognitoIdentityProviderService",
			"uid": "cognito-idp-2016-04-18"
		},
		"operations": {
			"AddCustomAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"CustomAttributes"
					],
					"members": {
						"UserPoolId": {},
						"CustomAttributes": {
							"type": "list",
							"member": {
								"shape": "S4"
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AdminAddUserToGroup": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username",
						"GroupName"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						},
						"GroupName": {}
					}
				}
			},
			"AdminConfirmSignUp": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AdminCreateUser": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						},
						"UserAttributes": {
							"shape": "Si"
						},
						"ValidationData": {
							"shape": "Si"
						},
						"TemporaryPassword": {
							"shape": "Sm"
						},
						"ForceAliasCreation": {
							"type": "boolean"
						},
						"MessageAction": {},
						"DesiredDeliveryMediums": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"User": {
							"shape": "Ss"
						}
					}
				}
			},
			"AdminDeleteUser": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						}
					}
				}
			},
			"AdminDeleteUserAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username",
						"UserAttributeNames"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						},
						"UserAttributeNames": {
							"shape": "Sz"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AdminDisableUser": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AdminEnableUser": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AdminForgetDevice": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username",
						"DeviceKey"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						},
						"DeviceKey": {}
					}
				}
			},
			"AdminGetDevice": {
				"input": {
					"type": "structure",
					"required": [
						"DeviceKey",
						"UserPoolId",
						"Username"
					],
					"members": {
						"DeviceKey": {},
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Device"
					],
					"members": {
						"Device": {
							"shape": "S19"
						}
					}
				}
			},
			"AdminGetUser": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Username"
					],
					"members": {
						"Username": {
							"shape": "Sd"
						},
						"UserAttributes": {
							"shape": "Si"
						},
						"UserCreateDate": {
							"type": "timestamp"
						},
						"UserLastModifiedDate": {
							"type": "timestamp"
						},
						"Enabled": {
							"type": "boolean"
						},
						"UserStatus": {},
						"MFAOptions": {
							"shape": "Sv"
						}
					}
				}
			},
			"AdminInitiateAuth": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"ClientId",
						"AuthFlow"
					],
					"members": {
						"UserPoolId": {},
						"ClientId": {
							"shape": "S1d"
						},
						"AuthFlow": {},
						"AuthParameters": {
							"shape": "S1f"
						},
						"ClientMetadata": {
							"shape": "S1g"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChallengeName": {},
						"Session": {},
						"ChallengeParameters": {
							"shape": "S1k"
						},
						"AuthenticationResult": {
							"shape": "S1l"
						}
					}
				}
			},
			"AdminListDevices": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						},
						"Limit": {
							"type": "integer"
						},
						"PaginationToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Devices": {
							"shape": "S1t"
						},
						"PaginationToken": {}
					}
				}
			},
			"AdminListGroupsForUser": {
				"input": {
					"type": "structure",
					"required": [
						"Username",
						"UserPoolId"
					],
					"members": {
						"Username": {
							"shape": "Sd"
						},
						"UserPoolId": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Groups": {
							"shape": "S1x"
						},
						"NextToken": {}
					}
				}
			},
			"AdminRemoveUserFromGroup": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username",
						"GroupName"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						},
						"GroupName": {}
					}
				}
			},
			"AdminResetUserPassword": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AdminRespondToAuthChallenge": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"ClientId",
						"ChallengeName"
					],
					"members": {
						"UserPoolId": {},
						"ClientId": {
							"shape": "S1d"
						},
						"ChallengeName": {},
						"ChallengeResponses": {
							"shape": "S26"
						},
						"Session": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChallengeName": {},
						"Session": {},
						"ChallengeParameters": {
							"shape": "S1k"
						},
						"AuthenticationResult": {
							"shape": "S1l"
						}
					}
				}
			},
			"AdminSetUserSettings": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username",
						"MFAOptions"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						},
						"MFAOptions": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AdminUpdateDeviceStatus": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username",
						"DeviceKey"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						},
						"DeviceKey": {},
						"DeviceRememberedStatus": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AdminUpdateUserAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username",
						"UserAttributes"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						},
						"UserAttributes": {
							"shape": "Si"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AdminUserGlobalSignOut": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"Username"
					],
					"members": {
						"UserPoolId": {},
						"Username": {
							"shape": "Sd"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ChangePassword": {
				"input": {
					"type": "structure",
					"required": [
						"PreviousPassword",
						"ProposedPassword",
						"AccessToken"
					],
					"members": {
						"PreviousPassword": {
							"shape": "Sm"
						},
						"ProposedPassword": {
							"shape": "Sm"
						},
						"AccessToken": {
							"shape": "S1m"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"authtype": "none"
			},
			"ConfirmDevice": {
				"input": {
					"type": "structure",
					"required": [
						"AccessToken",
						"DeviceKey"
					],
					"members": {
						"AccessToken": {
							"shape": "S1m"
						},
						"DeviceKey": {},
						"DeviceSecretVerifierConfig": {
							"type": "structure",
							"members": {
								"PasswordVerifier": {},
								"Salt": {}
							}
						},
						"DeviceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserConfirmationNecessary": {
							"type": "boolean"
						}
					}
				}
			},
			"ConfirmForgotPassword": {
				"input": {
					"type": "structure",
					"required": [
						"ClientId",
						"Username",
						"ConfirmationCode",
						"Password"
					],
					"members": {
						"ClientId": {
							"shape": "S1d"
						},
						"SecretHash": {
							"shape": "S2o"
						},
						"Username": {
							"shape": "Sd"
						},
						"ConfirmationCode": {},
						"Password": {
							"shape": "Sm"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"authtype": "none"
			},
			"ConfirmSignUp": {
				"input": {
					"type": "structure",
					"required": [
						"ClientId",
						"Username",
						"ConfirmationCode"
					],
					"members": {
						"ClientId": {
							"shape": "S1d"
						},
						"SecretHash": {
							"shape": "S2o"
						},
						"Username": {
							"shape": "Sd"
						},
						"ConfirmationCode": {},
						"ForceAliasCreation": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"authtype": "none"
			},
			"CreateGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"UserPoolId"
					],
					"members": {
						"GroupName": {},
						"UserPoolId": {},
						"Description": {},
						"RoleArn": {},
						"Precedence": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Group": {
							"shape": "S1y"
						}
					}
				}
			},
			"CreateIdentityProvider": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"ProviderName",
						"ProviderType",
						"ProviderDetails"
					],
					"members": {
						"UserPoolId": {},
						"ProviderName": {},
						"ProviderType": {},
						"ProviderDetails": {
							"shape": "S2y"
						},
						"AttributeMapping": {
							"shape": "S2z"
						},
						"IdpIdentifiers": {
							"shape": "S30"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"IdentityProvider"
					],
					"members": {
						"IdentityProvider": {
							"shape": "S33"
						}
					}
				}
			},
			"CreateUserImportJob": {
				"input": {
					"type": "structure",
					"required": [
						"JobName",
						"UserPoolId",
						"CloudWatchLogsRoleArn"
					],
					"members": {
						"JobName": {},
						"UserPoolId": {},
						"CloudWatchLogsRoleArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserImportJob": {
							"shape": "S37"
						}
					}
				}
			},
			"CreateUserPool": {
				"input": {
					"type": "structure",
					"required": [
						"PoolName"
					],
					"members": {
						"PoolName": {},
						"Policies": {
							"shape": "S3f"
						},
						"LambdaConfig": {
							"shape": "S3i"
						},
						"AutoVerifiedAttributes": {
							"shape": "S3j"
						},
						"AliasAttributes": {
							"shape": "S3l"
						},
						"SmsVerificationMessage": {},
						"EmailVerificationMessage": {},
						"EmailVerificationSubject": {},
						"SmsAuthenticationMessage": {},
						"MfaConfiguration": {},
						"DeviceConfiguration": {
							"shape": "S3r"
						},
						"EmailConfiguration": {
							"shape": "S3s"
						},
						"SmsConfiguration": {
							"shape": "S3u"
						},
						"UserPoolTags": {
							"shape": "S3v"
						},
						"AdminCreateUserConfig": {
							"shape": "S3w"
						},
						"Schema": {
							"shape": "S3z"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserPool": {
							"shape": "S41"
						}
					}
				}
			},
			"CreateUserPoolClient": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"ClientName"
					],
					"members": {
						"UserPoolId": {},
						"ClientName": {},
						"GenerateSecret": {
							"type": "boolean"
						},
						"RefreshTokenValidity": {
							"type": "integer"
						},
						"ReadAttributes": {
							"shape": "S47"
						},
						"WriteAttributes": {
							"shape": "S47"
						},
						"ExplicitAuthFlows": {
							"shape": "S49"
						},
						"SupportedIdentityProviders": {
							"shape": "S4b"
						},
						"CallbackURLs": {
							"shape": "S4c"
						},
						"LogoutURLs": {
							"shape": "S4e"
						},
						"DefaultRedirectURI": {},
						"AllowedOAuthFlows": {
							"shape": "S4f"
						},
						"AllowedOAuthScopes": {
							"shape": "S4h"
						},
						"AllowedOAuthFlowsUserPoolClient": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserPoolClient": {
							"shape": "S4k"
						}
					}
				}
			},
			"CreateUserPoolDomain": {
				"input": {
					"type": "structure",
					"required": [
						"Domain",
						"UserPoolId"
					],
					"members": {
						"Domain": {},
						"UserPoolId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"UserPoolId"
					],
					"members": {
						"GroupName": {},
						"UserPoolId": {}
					}
				}
			},
			"DeleteIdentityProvider": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"ProviderName"
					],
					"members": {
						"UserPoolId": {},
						"ProviderName": {}
					}
				}
			},
			"DeleteUser": {
				"input": {
					"type": "structure",
					"required": [
						"AccessToken"
					],
					"members": {
						"AccessToken": {
							"shape": "S1m"
						}
					}
				},
				"authtype": "none"
			},
			"DeleteUserAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"UserAttributeNames",
						"AccessToken"
					],
					"members": {
						"UserAttributeNames": {
							"shape": "Sz"
						},
						"AccessToken": {
							"shape": "S1m"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"authtype": "none"
			},
			"DeleteUserPool": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId"
					],
					"members": {
						"UserPoolId": {}
					}
				}
			},
			"DeleteUserPoolClient": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"ClientId"
					],
					"members": {
						"UserPoolId": {},
						"ClientId": {
							"shape": "S1d"
						}
					}
				}
			},
			"DeleteUserPoolDomain": {
				"input": {
					"type": "structure",
					"required": [
						"Domain",
						"UserPoolId"
					],
					"members": {
						"Domain": {},
						"UserPoolId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeIdentityProvider": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"ProviderName"
					],
					"members": {
						"UserPoolId": {},
						"ProviderName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"IdentityProvider"
					],
					"members": {
						"IdentityProvider": {
							"shape": "S33"
						}
					}
				}
			},
			"DescribeUserImportJob": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"JobId"
					],
					"members": {
						"UserPoolId": {},
						"JobId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserImportJob": {
							"shape": "S37"
						}
					}
				}
			},
			"DescribeUserPool": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId"
					],
					"members": {
						"UserPoolId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserPool": {
							"shape": "S41"
						}
					}
				}
			},
			"DescribeUserPoolClient": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"ClientId"
					],
					"members": {
						"UserPoolId": {},
						"ClientId": {
							"shape": "S1d"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserPoolClient": {
							"shape": "S4k"
						}
					}
				}
			},
			"DescribeUserPoolDomain": {
				"input": {
					"type": "structure",
					"required": [
						"Domain"
					],
					"members": {
						"Domain": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DomainDescription": {
							"type": "structure",
							"members": {
								"UserPoolId": {},
								"AWSAccountId": {},
								"Domain": {},
								"S3Bucket": {},
								"CloudFrontDistribution": {},
								"Version": {},
								"Status": {}
							}
						}
					}
				}
			},
			"ForgetDevice": {
				"input": {
					"type": "structure",
					"required": [
						"DeviceKey"
					],
					"members": {
						"AccessToken": {
							"shape": "S1m"
						},
						"DeviceKey": {}
					}
				}
			},
			"ForgotPassword": {
				"input": {
					"type": "structure",
					"required": [
						"ClientId",
						"Username"
					],
					"members": {
						"ClientId": {
							"shape": "S1d"
						},
						"SecretHash": {
							"shape": "S2o"
						},
						"Username": {
							"shape": "Sd"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CodeDeliveryDetails": {
							"shape": "S5g"
						}
					}
				},
				"authtype": "none"
			},
			"GetCSVHeader": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId"
					],
					"members": {
						"UserPoolId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserPoolId": {},
						"CSVHeader": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"GetDevice": {
				"input": {
					"type": "structure",
					"required": [
						"DeviceKey"
					],
					"members": {
						"DeviceKey": {},
						"AccessToken": {
							"shape": "S1m"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Device"
					],
					"members": {
						"Device": {
							"shape": "S19"
						}
					}
				}
			},
			"GetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"UserPoolId"
					],
					"members": {
						"GroupName": {},
						"UserPoolId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Group": {
							"shape": "S1y"
						}
					}
				}
			},
			"GetIdentityProviderByIdentifier": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"IdpIdentifier"
					],
					"members": {
						"UserPoolId": {},
						"IdpIdentifier": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"IdentityProvider"
					],
					"members": {
						"IdentityProvider": {
							"shape": "S33"
						}
					}
				}
			},
			"GetUser": {
				"input": {
					"type": "structure",
					"required": [
						"AccessToken"
					],
					"members": {
						"AccessToken": {
							"shape": "S1m"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Username",
						"UserAttributes"
					],
					"members": {
						"Username": {
							"shape": "Sd"
						},
						"UserAttributes": {
							"shape": "Si"
						},
						"MFAOptions": {
							"shape": "Sv"
						}
					}
				},
				"authtype": "none"
			},
			"GetUserAttributeVerificationCode": {
				"input": {
					"type": "structure",
					"required": [
						"AccessToken",
						"AttributeName"
					],
					"members": {
						"AccessToken": {
							"shape": "S1m"
						},
						"AttributeName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CodeDeliveryDetails": {
							"shape": "S5g"
						}
					}
				},
				"authtype": "none"
			},
			"GlobalSignOut": {
				"input": {
					"type": "structure",
					"required": [
						"AccessToken"
					],
					"members": {
						"AccessToken": {
							"shape": "S1m"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"InitiateAuth": {
				"input": {
					"type": "structure",
					"required": [
						"AuthFlow",
						"ClientId"
					],
					"members": {
						"AuthFlow": {},
						"AuthParameters": {
							"shape": "S1f"
						},
						"ClientMetadata": {
							"shape": "S1g"
						},
						"ClientId": {
							"shape": "S1d"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChallengeName": {},
						"Session": {},
						"ChallengeParameters": {
							"shape": "S1k"
						},
						"AuthenticationResult": {
							"shape": "S1l"
						}
					}
				}
			},
			"ListDevices": {
				"input": {
					"type": "structure",
					"required": [
						"AccessToken"
					],
					"members": {
						"AccessToken": {
							"shape": "S1m"
						},
						"Limit": {
							"type": "integer"
						},
						"PaginationToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Devices": {
							"shape": "S1t"
						},
						"PaginationToken": {}
					}
				}
			},
			"ListGroups": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId"
					],
					"members": {
						"UserPoolId": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Groups": {
							"shape": "S1x"
						},
						"NextToken": {}
					}
				}
			},
			"ListIdentityProviders": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId"
					],
					"members": {
						"UserPoolId": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Providers"
					],
					"members": {
						"Providers": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ProviderName": {},
									"ProviderType": {},
									"LastModifiedDate": {
										"type": "timestamp"
									},
									"CreationDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListUserImportJobs": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"MaxResults"
					],
					"members": {
						"UserPoolId": {},
						"MaxResults": {
							"type": "integer"
						},
						"PaginationToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserImportJobs": {
							"type": "list",
							"member": {
								"shape": "S37"
							}
						},
						"PaginationToken": {}
					}
				}
			},
			"ListUserPoolClients": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId"
					],
					"members": {
						"UserPoolId": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserPoolClients": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ClientId": {
										"shape": "S1d"
									},
									"UserPoolId": {},
									"ClientName": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListUserPools": {
				"input": {
					"type": "structure",
					"required": [
						"MaxResults"
					],
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserPools": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Name": {},
									"LambdaConfig": {
										"shape": "S3i"
									},
									"Status": {},
									"LastModifiedDate": {
										"type": "timestamp"
									},
									"CreationDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListUsers": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId"
					],
					"members": {
						"UserPoolId": {},
						"AttributesToGet": {
							"type": "list",
							"member": {}
						},
						"Limit": {
							"type": "integer"
						},
						"PaginationToken": {},
						"Filter": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Users": {
							"shape": "S6p"
						},
						"PaginationToken": {}
					}
				}
			},
			"ListUsersInGroup": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"GroupName"
					],
					"members": {
						"UserPoolId": {},
						"GroupName": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Users": {
							"shape": "S6p"
						},
						"NextToken": {}
					}
				}
			},
			"ResendConfirmationCode": {
				"input": {
					"type": "structure",
					"required": [
						"ClientId",
						"Username"
					],
					"members": {
						"ClientId": {
							"shape": "S1d"
						},
						"SecretHash": {
							"shape": "S2o"
						},
						"Username": {
							"shape": "Sd"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CodeDeliveryDetails": {
							"shape": "S5g"
						}
					}
				},
				"authtype": "none"
			},
			"RespondToAuthChallenge": {
				"input": {
					"type": "structure",
					"required": [
						"ClientId",
						"ChallengeName"
					],
					"members": {
						"ClientId": {
							"shape": "S1d"
						},
						"ChallengeName": {},
						"Session": {},
						"ChallengeResponses": {
							"shape": "S26"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChallengeName": {},
						"Session": {},
						"ChallengeParameters": {
							"shape": "S1k"
						},
						"AuthenticationResult": {
							"shape": "S1l"
						}
					}
				}
			},
			"SetUserSettings": {
				"input": {
					"type": "structure",
					"required": [
						"AccessToken",
						"MFAOptions"
					],
					"members": {
						"AccessToken": {
							"shape": "S1m"
						},
						"MFAOptions": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"authtype": "none"
			},
			"SignUp": {
				"input": {
					"type": "structure",
					"required": [
						"ClientId",
						"Username",
						"Password"
					],
					"members": {
						"ClientId": {
							"shape": "S1d"
						},
						"SecretHash": {
							"shape": "S2o"
						},
						"Username": {
							"shape": "Sd"
						},
						"Password": {
							"shape": "Sm"
						},
						"UserAttributes": {
							"shape": "Si"
						},
						"ValidationData": {
							"shape": "Si"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"UserConfirmed",
						"UserSub"
					],
					"members": {
						"UserConfirmed": {
							"type": "boolean"
						},
						"CodeDeliveryDetails": {
							"shape": "S5g"
						},
						"UserSub": {}
					}
				},
				"authtype": "none"
			},
			"StartUserImportJob": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"JobId"
					],
					"members": {
						"UserPoolId": {},
						"JobId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserImportJob": {
							"shape": "S37"
						}
					}
				}
			},
			"StopUserImportJob": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"JobId"
					],
					"members": {
						"UserPoolId": {},
						"JobId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserImportJob": {
							"shape": "S37"
						}
					}
				}
			},
			"UpdateDeviceStatus": {
				"input": {
					"type": "structure",
					"required": [
						"AccessToken",
						"DeviceKey"
					],
					"members": {
						"AccessToken": {
							"shape": "S1m"
						},
						"DeviceKey": {},
						"DeviceRememberedStatus": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"UserPoolId"
					],
					"members": {
						"GroupName": {},
						"UserPoolId": {},
						"Description": {},
						"RoleArn": {},
						"Precedence": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Group": {
							"shape": "S1y"
						}
					}
				}
			},
			"UpdateIdentityProvider": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"ProviderName"
					],
					"members": {
						"UserPoolId": {},
						"ProviderName": {},
						"ProviderDetails": {
							"shape": "S2y"
						},
						"AttributeMapping": {
							"shape": "S2z"
						},
						"IdpIdentifiers": {
							"shape": "S30"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"IdentityProvider"
					],
					"members": {
						"IdentityProvider": {
							"shape": "S33"
						}
					}
				}
			},
			"UpdateUserAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"UserAttributes",
						"AccessToken"
					],
					"members": {
						"UserAttributes": {
							"shape": "Si"
						},
						"AccessToken": {
							"shape": "S1m"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CodeDeliveryDetailsList": {
							"type": "list",
							"member": {
								"shape": "S5g"
							}
						}
					}
				},
				"authtype": "none"
			},
			"UpdateUserPool": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId"
					],
					"members": {
						"UserPoolId": {},
						"Policies": {
							"shape": "S3f"
						},
						"LambdaConfig": {
							"shape": "S3i"
						},
						"AutoVerifiedAttributes": {
							"shape": "S3j"
						},
						"SmsVerificationMessage": {},
						"EmailVerificationMessage": {},
						"EmailVerificationSubject": {},
						"SmsAuthenticationMessage": {},
						"MfaConfiguration": {},
						"DeviceConfiguration": {
							"shape": "S3r"
						},
						"EmailConfiguration": {
							"shape": "S3s"
						},
						"SmsConfiguration": {
							"shape": "S3u"
						},
						"UserPoolTags": {
							"shape": "S3v"
						},
						"AdminCreateUserConfig": {
							"shape": "S3w"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateUserPoolClient": {
				"input": {
					"type": "structure",
					"required": [
						"UserPoolId",
						"ClientId"
					],
					"members": {
						"UserPoolId": {},
						"ClientId": {
							"shape": "S1d"
						},
						"ClientName": {},
						"RefreshTokenValidity": {
							"type": "integer"
						},
						"ReadAttributes": {
							"shape": "S47"
						},
						"WriteAttributes": {
							"shape": "S47"
						},
						"ExplicitAuthFlows": {
							"shape": "S49"
						},
						"SupportedIdentityProviders": {
							"shape": "S4b"
						},
						"CallbackURLs": {
							"shape": "S4c"
						},
						"LogoutURLs": {
							"shape": "S4e"
						},
						"DefaultRedirectURI": {},
						"AllowedOAuthFlows": {
							"shape": "S4f"
						},
						"AllowedOAuthScopes": {
							"shape": "S4h"
						},
						"AllowedOAuthFlowsUserPoolClient": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserPoolClient": {
							"shape": "S4k"
						}
					}
				}
			},
			"VerifyUserAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"AccessToken",
						"AttributeName",
						"Code"
					],
					"members": {
						"AccessToken": {
							"shape": "S1m"
						},
						"AttributeName": {},
						"Code": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"authtype": "none"
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"members": {
					"Name": {},
					"AttributeDataType": {},
					"DeveloperOnlyAttribute": {
						"type": "boolean"
					},
					"Mutable": {
						"type": "boolean"
					},
					"Required": {
						"type": "boolean"
					},
					"NumberAttributeConstraints": {
						"type": "structure",
						"members": {
							"MinValue": {},
							"MaxValue": {}
						}
					},
					"StringAttributeConstraints": {
						"type": "structure",
						"members": {
							"MinLength": {},
							"MaxLength": {}
						}
					}
				}
			},
			"Sd": {
				"type": "string",
				"sensitive": true
			},
			"Si": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"Value": {
							"type": "string",
							"sensitive": true
						}
					}
				}
			},
			"Sm": {
				"type": "string",
				"sensitive": true
			},
			"Ss": {
				"type": "structure",
				"members": {
					"Username": {
						"shape": "Sd"
					},
					"Attributes": {
						"shape": "Si"
					},
					"UserCreateDate": {
						"type": "timestamp"
					},
					"UserLastModifiedDate": {
						"type": "timestamp"
					},
					"Enabled": {
						"type": "boolean"
					},
					"UserStatus": {},
					"MFAOptions": {
						"shape": "Sv"
					}
				}
			},
			"Sv": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"DeliveryMedium": {},
						"AttributeName": {}
					}
				}
			},
			"Sz": {
				"type": "list",
				"member": {}
			},
			"S19": {
				"type": "structure",
				"members": {
					"DeviceKey": {},
					"DeviceAttributes": {
						"shape": "Si"
					},
					"DeviceCreateDate": {
						"type": "timestamp"
					},
					"DeviceLastModifiedDate": {
						"type": "timestamp"
					},
					"DeviceLastAuthenticatedDate": {
						"type": "timestamp"
					}
				}
			},
			"S1d": {
				"type": "string",
				"sensitive": true
			},
			"S1f": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1g": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1k": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1l": {
				"type": "structure",
				"members": {
					"AccessToken": {
						"shape": "S1m"
					},
					"ExpiresIn": {
						"type": "integer"
					},
					"TokenType": {},
					"RefreshToken": {
						"shape": "S1m"
					},
					"IdToken": {
						"shape": "S1m"
					},
					"NewDeviceMetadata": {
						"type": "structure",
						"members": {
							"DeviceKey": {},
							"DeviceGroupKey": {}
						}
					}
				}
			},
			"S1m": {
				"type": "string",
				"sensitive": true
			},
			"S1t": {
				"type": "list",
				"member": {
					"shape": "S19"
				}
			},
			"S1x": {
				"type": "list",
				"member": {
					"shape": "S1y"
				}
			},
			"S1y": {
				"type": "structure",
				"members": {
					"GroupName": {},
					"UserPoolId": {},
					"Description": {},
					"RoleArn": {},
					"Precedence": {
						"type": "integer"
					},
					"LastModifiedDate": {
						"type": "timestamp"
					},
					"CreationDate": {
						"type": "timestamp"
					}
				}
			},
			"S26": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S2o": {
				"type": "string",
				"sensitive": true
			},
			"S2y": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S2z": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S30": {
				"type": "list",
				"member": {}
			},
			"S33": {
				"type": "structure",
				"members": {
					"UserPoolId": {},
					"ProviderName": {},
					"ProviderType": {},
					"ProviderDetails": {
						"shape": "S2y"
					},
					"AttributeMapping": {
						"shape": "S2z"
					},
					"IdpIdentifiers": {
						"shape": "S30"
					},
					"LastModifiedDate": {
						"type": "timestamp"
					},
					"CreationDate": {
						"type": "timestamp"
					}
				}
			},
			"S37": {
				"type": "structure",
				"members": {
					"JobName": {},
					"JobId": {},
					"UserPoolId": {},
					"PreSignedUrl": {},
					"CreationDate": {
						"type": "timestamp"
					},
					"StartDate": {
						"type": "timestamp"
					},
					"CompletionDate": {
						"type": "timestamp"
					},
					"Status": {},
					"CloudWatchLogsRoleArn": {},
					"ImportedUsers": {
						"type": "long"
					},
					"SkippedUsers": {
						"type": "long"
					},
					"FailedUsers": {
						"type": "long"
					},
					"CompletionMessage": {}
				}
			},
			"S3f": {
				"type": "structure",
				"members": {
					"PasswordPolicy": {
						"type": "structure",
						"members": {
							"MinimumLength": {
								"type": "integer"
							},
							"RequireUppercase": {
								"type": "boolean"
							},
							"RequireLowercase": {
								"type": "boolean"
							},
							"RequireNumbers": {
								"type": "boolean"
							},
							"RequireSymbols": {
								"type": "boolean"
							}
						}
					}
				}
			},
			"S3i": {
				"type": "structure",
				"members": {
					"PreSignUp": {},
					"CustomMessage": {},
					"PostConfirmation": {},
					"PreAuthentication": {},
					"PostAuthentication": {},
					"DefineAuthChallenge": {},
					"CreateAuthChallenge": {},
					"VerifyAuthChallengeResponse": {}
				}
			},
			"S3j": {
				"type": "list",
				"member": {}
			},
			"S3l": {
				"type": "list",
				"member": {}
			},
			"S3r": {
				"type": "structure",
				"members": {
					"ChallengeRequiredOnNewDevice": {
						"type": "boolean"
					},
					"DeviceOnlyRememberedOnUserPrompt": {
						"type": "boolean"
					}
				}
			},
			"S3s": {
				"type": "structure",
				"members": {
					"SourceArn": {},
					"ReplyToEmailAddress": {}
				}
			},
			"S3u": {
				"type": "structure",
				"required": [
					"SnsCallerArn"
				],
				"members": {
					"SnsCallerArn": {},
					"ExternalId": {}
				}
			},
			"S3v": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S3w": {
				"type": "structure",
				"members": {
					"AllowAdminCreateUserOnly": {
						"type": "boolean"
					},
					"UnusedAccountValidityDays": {
						"type": "integer"
					},
					"InviteMessageTemplate": {
						"type": "structure",
						"members": {
							"SMSMessage": {},
							"EmailMessage": {},
							"EmailSubject": {}
						}
					}
				}
			},
			"S3z": {
				"type": "list",
				"member": {
					"shape": "S4"
				}
			},
			"S41": {
				"type": "structure",
				"members": {
					"Id": {},
					"Name": {},
					"Policies": {
						"shape": "S3f"
					},
					"LambdaConfig": {
						"shape": "S3i"
					},
					"Status": {},
					"LastModifiedDate": {
						"type": "timestamp"
					},
					"CreationDate": {
						"type": "timestamp"
					},
					"SchemaAttributes": {
						"shape": "S3z"
					},
					"AutoVerifiedAttributes": {
						"shape": "S3j"
					},
					"AliasAttributes": {
						"shape": "S3l"
					},
					"SmsVerificationMessage": {},
					"EmailVerificationMessage": {},
					"EmailVerificationSubject": {},
					"SmsAuthenticationMessage": {},
					"MfaConfiguration": {},
					"DeviceConfiguration": {
						"shape": "S3r"
					},
					"EstimatedNumberOfUsers": {
						"type": "integer"
					},
					"EmailConfiguration": {
						"shape": "S3s"
					},
					"SmsConfiguration": {
						"shape": "S3u"
					},
					"UserPoolTags": {
						"shape": "S3v"
					},
					"SmsConfigurationFailure": {},
					"EmailConfigurationFailure": {},
					"AdminCreateUserConfig": {
						"shape": "S3w"
					}
				}
			},
			"S47": {
				"type": "list",
				"member": {}
			},
			"S49": {
				"type": "list",
				"member": {}
			},
			"S4b": {
				"type": "list",
				"member": {}
			},
			"S4c": {
				"type": "list",
				"member": {}
			},
			"S4e": {
				"type": "list",
				"member": {}
			},
			"S4f": {
				"type": "list",
				"member": {}
			},
			"S4h": {
				"type": "list",
				"member": {}
			},
			"S4k": {
				"type": "structure",
				"members": {
					"UserPoolId": {},
					"ClientName": {},
					"ClientId": {
						"shape": "S1d"
					},
					"ClientSecret": {
						"type": "string",
						"sensitive": true
					},
					"LastModifiedDate": {
						"type": "timestamp"
					},
					"CreationDate": {
						"type": "timestamp"
					},
					"RefreshTokenValidity": {
						"type": "integer"
					},
					"ReadAttributes": {
						"shape": "S47"
					},
					"WriteAttributes": {
						"shape": "S47"
					},
					"ExplicitAuthFlows": {
						"shape": "S49"
					},
					"SupportedIdentityProviders": {
						"shape": "S4b"
					},
					"CallbackURLs": {
						"shape": "S4c"
					},
					"LogoutURLs": {
						"shape": "S4e"
					},
					"DefaultRedirectURI": {},
					"AllowedOAuthFlows": {
						"shape": "S4f"
					},
					"AllowedOAuthScopes": {
						"shape": "S4h"
					},
					"AllowedOAuthFlowsUserPoolClient": {
						"type": "boolean"
					}
				}
			},
			"S5g": {
				"type": "structure",
				"members": {
					"Destination": {},
					"DeliveryMedium": {},
					"AttributeName": {}
				}
			},
			"S6p": {
				"type": "list",
				"member": {
					"shape": "Ss"
				}
			}
		}
	};

/***/ }),
/* 377 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 378 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cognitosync'] = {};
	AWS.CognitoSync = Service.defineService('cognitosync', ['2014-06-30']);
	Object.defineProperty(apiLoader.services['cognitosync'], '2014-06-30', {
	  get: function get() {
	    var model = __webpack_require__(379);
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CognitoSync;


/***/ }),
/* 379 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-06-30",
			"endpointPrefix": "cognito-sync",
			"jsonVersion": "1.1",
			"serviceFullName": "Amazon Cognito Sync",
			"signatureVersion": "v4",
			"protocol": "rest-json",
			"uid": "cognito-sync-2014-06-30"
		},
		"operations": {
			"BulkPublish": {
				"http": {
					"requestUri": "/identitypools/{IdentityPoolId}/bulkpublish",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityPoolId": {}
					}
				}
			},
			"DeleteDataset": {
				"http": {
					"method": "DELETE",
					"requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"IdentityId",
						"DatasetName"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						},
						"IdentityId": {
							"location": "uri",
							"locationName": "IdentityId"
						},
						"DatasetName": {
							"location": "uri",
							"locationName": "DatasetName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Dataset": {
							"shape": "S8"
						}
					}
				}
			},
			"DescribeDataset": {
				"http": {
					"method": "GET",
					"requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"IdentityId",
						"DatasetName"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						},
						"IdentityId": {
							"location": "uri",
							"locationName": "IdentityId"
						},
						"DatasetName": {
							"location": "uri",
							"locationName": "DatasetName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Dataset": {
							"shape": "S8"
						}
					}
				}
			},
			"DescribeIdentityPoolUsage": {
				"http": {
					"method": "GET",
					"requestUri": "/identitypools/{IdentityPoolId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityPoolUsage": {
							"shape": "Sg"
						}
					}
				}
			},
			"DescribeIdentityUsage": {
				"http": {
					"method": "GET",
					"requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"IdentityId"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						},
						"IdentityId": {
							"location": "uri",
							"locationName": "IdentityId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityUsage": {
							"type": "structure",
							"members": {
								"IdentityId": {},
								"IdentityPoolId": {},
								"LastModifiedDate": {
									"type": "timestamp"
								},
								"DatasetCount": {
									"type": "integer"
								},
								"DataStorage": {
									"type": "long"
								}
							}
						}
					}
				}
			},
			"GetBulkPublishDetails": {
				"http": {
					"requestUri": "/identitypools/{IdentityPoolId}/getBulkPublishDetails",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityPoolId": {},
						"BulkPublishStartTime": {
							"type": "timestamp"
						},
						"BulkPublishCompleteTime": {
							"type": "timestamp"
						},
						"BulkPublishStatus": {},
						"FailureMessage": {}
					}
				}
			},
			"GetCognitoEvents": {
				"http": {
					"method": "GET",
					"requestUri": "/identitypools/{IdentityPoolId}/events",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Events": {
							"shape": "Sq"
						}
					}
				}
			},
			"GetIdentityPoolConfiguration": {
				"http": {
					"method": "GET",
					"requestUri": "/identitypools/{IdentityPoolId}/configuration",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityPoolId": {},
						"PushSync": {
							"shape": "Sv"
						},
						"CognitoStreams": {
							"shape": "Sz"
						}
					}
				}
			},
			"ListDatasets": {
				"http": {
					"method": "GET",
					"requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityId",
						"IdentityPoolId"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						},
						"IdentityId": {
							"location": "uri",
							"locationName": "IdentityId"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"MaxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Datasets": {
							"type": "list",
							"member": {
								"shape": "S8"
							}
						},
						"Count": {
							"type": "integer"
						},
						"NextToken": {}
					}
				}
			},
			"ListIdentityPoolUsage": {
				"http": {
					"method": "GET",
					"requestUri": "/identitypools",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"MaxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityPoolUsages": {
							"type": "list",
							"member": {
								"shape": "Sg"
							}
						},
						"MaxResults": {
							"type": "integer"
						},
						"Count": {
							"type": "integer"
						},
						"NextToken": {}
					}
				}
			},
			"ListRecords": {
				"http": {
					"method": "GET",
					"requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/records",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"IdentityId",
						"DatasetName"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						},
						"IdentityId": {
							"location": "uri",
							"locationName": "IdentityId"
						},
						"DatasetName": {
							"location": "uri",
							"locationName": "DatasetName"
						},
						"LastSyncCount": {
							"location": "querystring",
							"locationName": "lastSyncCount",
							"type": "long"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"MaxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"SyncSessionToken": {
							"location": "querystring",
							"locationName": "syncSessionToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Records": {
							"shape": "S1c"
						},
						"NextToken": {},
						"Count": {
							"type": "integer"
						},
						"DatasetSyncCount": {
							"type": "long"
						},
						"LastModifiedBy": {},
						"MergedDatasetNames": {
							"type": "list",
							"member": {}
						},
						"DatasetExists": {
							"type": "boolean"
						},
						"DatasetDeletedAfterRequestedSyncCount": {
							"type": "boolean"
						},
						"SyncSessionToken": {}
					}
				}
			},
			"RegisterDevice": {
				"http": {
					"requestUri": "/identitypools/{IdentityPoolId}/identity/{IdentityId}/device",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"IdentityId",
						"Platform",
						"Token"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						},
						"IdentityId": {
							"location": "uri",
							"locationName": "IdentityId"
						},
						"Platform": {},
						"Token": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DeviceId": {}
					}
				}
			},
			"SetCognitoEvents": {
				"http": {
					"requestUri": "/identitypools/{IdentityPoolId}/events",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"Events"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						},
						"Events": {
							"shape": "Sq"
						}
					}
				}
			},
			"SetIdentityPoolConfiguration": {
				"http": {
					"requestUri": "/identitypools/{IdentityPoolId}/configuration",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						},
						"PushSync": {
							"shape": "Sv"
						},
						"CognitoStreams": {
							"shape": "Sz"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IdentityPoolId": {},
						"PushSync": {
							"shape": "Sv"
						},
						"CognitoStreams": {
							"shape": "Sz"
						}
					}
				}
			},
			"SubscribeToDataset": {
				"http": {
					"requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/subscriptions/{DeviceId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"IdentityId",
						"DatasetName",
						"DeviceId"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						},
						"IdentityId": {
							"location": "uri",
							"locationName": "IdentityId"
						},
						"DatasetName": {
							"location": "uri",
							"locationName": "DatasetName"
						},
						"DeviceId": {
							"location": "uri",
							"locationName": "DeviceId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UnsubscribeFromDataset": {
				"http": {
					"method": "DELETE",
					"requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/subscriptions/{DeviceId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"IdentityId",
						"DatasetName",
						"DeviceId"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						},
						"IdentityId": {
							"location": "uri",
							"locationName": "IdentityId"
						},
						"DatasetName": {
							"location": "uri",
							"locationName": "DatasetName"
						},
						"DeviceId": {
							"location": "uri",
							"locationName": "DeviceId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateRecords": {
				"http": {
					"requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"IdentityPoolId",
						"IdentityId",
						"DatasetName",
						"SyncSessionToken"
					],
					"members": {
						"IdentityPoolId": {
							"location": "uri",
							"locationName": "IdentityPoolId"
						},
						"IdentityId": {
							"location": "uri",
							"locationName": "IdentityId"
						},
						"DatasetName": {
							"location": "uri",
							"locationName": "DatasetName"
						},
						"DeviceId": {},
						"RecordPatches": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Op",
									"Key",
									"SyncCount"
								],
								"members": {
									"Op": {},
									"Key": {},
									"Value": {},
									"SyncCount": {
										"type": "long"
									},
									"DeviceLastModifiedDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"SyncSessionToken": {},
						"ClientContext": {
							"location": "header",
							"locationName": "x-amz-Client-Context"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Records": {
							"shape": "S1c"
						}
					}
				}
			}
		},
		"shapes": {
			"S8": {
				"type": "structure",
				"members": {
					"IdentityId": {},
					"DatasetName": {},
					"CreationDate": {
						"type": "timestamp"
					},
					"LastModifiedDate": {
						"type": "timestamp"
					},
					"LastModifiedBy": {},
					"DataStorage": {
						"type": "long"
					},
					"NumRecords": {
						"type": "long"
					}
				}
			},
			"Sg": {
				"type": "structure",
				"members": {
					"IdentityPoolId": {},
					"SyncSessionsCount": {
						"type": "long"
					},
					"DataStorage": {
						"type": "long"
					},
					"LastModifiedDate": {
						"type": "timestamp"
					}
				}
			},
			"Sq": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"Sv": {
				"type": "structure",
				"members": {
					"ApplicationArns": {
						"type": "list",
						"member": {}
					},
					"RoleArn": {}
				}
			},
			"Sz": {
				"type": "structure",
				"members": {
					"StreamName": {},
					"RoleArn": {},
					"StreamingStatus": {}
				}
			},
			"S1c": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {},
						"SyncCount": {
							"type": "long"
						},
						"LastModifiedDate": {
							"type": "timestamp"
						},
						"LastModifiedBy": {},
						"DeviceLastModifiedDate": {
							"type": "timestamp"
						}
					}
				}
			}
		},
		"examples": {}
	};

/***/ }),
/* 380 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['configservice'] = {};
	AWS.ConfigService = Service.defineService('configservice', ['2014-11-12']);
	Object.defineProperty(apiLoader.services['configservice'], '2014-11-12', {
	  get: function get() {
	    var model = __webpack_require__(381);
	    model.paginators = __webpack_require__(382).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ConfigService;


/***/ }),
/* 381 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-11-12",
			"endpointPrefix": "config",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Config Service",
			"serviceFullName": "AWS Config",
			"signatureVersion": "v4",
			"targetPrefix": "StarlingDoveService",
			"uid": "config-2014-11-12"
		},
		"operations": {
			"DeleteConfigRule": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigRuleName"
					],
					"members": {
						"ConfigRuleName": {}
					}
				}
			},
			"DeleteConfigurationRecorder": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigurationRecorderName"
					],
					"members": {
						"ConfigurationRecorderName": {}
					}
				}
			},
			"DeleteDeliveryChannel": {
				"input": {
					"type": "structure",
					"required": [
						"DeliveryChannelName"
					],
					"members": {
						"DeliveryChannelName": {}
					}
				}
			},
			"DeleteEvaluationResults": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigRuleName"
					],
					"members": {
						"ConfigRuleName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeliverConfigSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"deliveryChannelName"
					],
					"members": {
						"deliveryChannelName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"configSnapshotId": {}
					}
				}
			},
			"DescribeComplianceByConfigRule": {
				"input": {
					"type": "structure",
					"members": {
						"ConfigRuleNames": {
							"shape": "Sd"
						},
						"ComplianceTypes": {
							"shape": "Se"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ComplianceByConfigRules": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ConfigRuleName": {},
									"Compliance": {
										"shape": "Sj"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeComplianceByResource": {
				"input": {
					"type": "structure",
					"members": {
						"ResourceType": {},
						"ResourceId": {},
						"ComplianceTypes": {
							"shape": "Se"
						},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ComplianceByResources": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ResourceType": {},
									"ResourceId": {},
									"Compliance": {
										"shape": "Sj"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeConfigRuleEvaluationStatus": {
				"input": {
					"type": "structure",
					"members": {
						"ConfigRuleNames": {
							"shape": "Sd"
						},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConfigRulesEvaluationStatus": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ConfigRuleName": {},
									"ConfigRuleArn": {},
									"ConfigRuleId": {},
									"LastSuccessfulInvocationTime": {
										"type": "timestamp"
									},
									"LastFailedInvocationTime": {
										"type": "timestamp"
									},
									"LastSuccessfulEvaluationTime": {
										"type": "timestamp"
									},
									"LastFailedEvaluationTime": {
										"type": "timestamp"
									},
									"FirstActivatedTime": {
										"type": "timestamp"
									},
									"LastErrorCode": {},
									"LastErrorMessage": {},
									"FirstEvaluationStarted": {
										"type": "boolean"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeConfigRules": {
				"input": {
					"type": "structure",
					"members": {
						"ConfigRuleNames": {
							"shape": "Sd"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConfigRules": {
							"type": "list",
							"member": {
								"shape": "S13"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeConfigurationRecorderStatus": {
				"input": {
					"type": "structure",
					"members": {
						"ConfigurationRecorderNames": {
							"shape": "S1i"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConfigurationRecordersStatus": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"name": {},
									"lastStartTime": {
										"type": "timestamp"
									},
									"lastStopTime": {
										"type": "timestamp"
									},
									"recording": {
										"type": "boolean"
									},
									"lastStatus": {},
									"lastErrorCode": {},
									"lastErrorMessage": {},
									"lastStatusChangeTime": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeConfigurationRecorders": {
				"input": {
					"type": "structure",
					"members": {
						"ConfigurationRecorderNames": {
							"shape": "S1i"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConfigurationRecorders": {
							"type": "list",
							"member": {
								"shape": "S1q"
							}
						}
					}
				}
			},
			"DescribeDeliveryChannelStatus": {
				"input": {
					"type": "structure",
					"members": {
						"DeliveryChannelNames": {
							"shape": "S1x"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DeliveryChannelsStatus": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"name": {},
									"configSnapshotDeliveryInfo": {
										"shape": "S21"
									},
									"configHistoryDeliveryInfo": {
										"shape": "S21"
									},
									"configStreamDeliveryInfo": {
										"type": "structure",
										"members": {
											"lastStatus": {},
											"lastErrorCode": {},
											"lastErrorMessage": {},
											"lastStatusChangeTime": {
												"type": "timestamp"
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeDeliveryChannels": {
				"input": {
					"type": "structure",
					"members": {
						"DeliveryChannelNames": {
							"shape": "S1x"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DeliveryChannels": {
							"type": "list",
							"member": {
								"shape": "S27"
							}
						}
					}
				}
			},
			"GetComplianceDetailsByConfigRule": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigRuleName"
					],
					"members": {
						"ConfigRuleName": {},
						"ComplianceTypes": {
							"shape": "Se"
						},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EvaluationResults": {
							"shape": "S2b"
						},
						"NextToken": {}
					}
				}
			},
			"GetComplianceDetailsByResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceType",
						"ResourceId"
					],
					"members": {
						"ResourceType": {},
						"ResourceId": {},
						"ComplianceTypes": {
							"shape": "Se"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EvaluationResults": {
							"shape": "S2b"
						},
						"NextToken": {}
					}
				}
			},
			"GetComplianceSummaryByConfigRule": {
				"output": {
					"type": "structure",
					"members": {
						"ComplianceSummary": {
							"shape": "S2i"
						}
					}
				}
			},
			"GetComplianceSummaryByResourceType": {
				"input": {
					"type": "structure",
					"members": {
						"ResourceTypes": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ComplianceSummariesByResourceType": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ResourceType": {},
									"ComplianceSummary": {
										"shape": "S2i"
									}
								}
							}
						}
					}
				}
			},
			"GetResourceConfigHistory": {
				"input": {
					"type": "structure",
					"required": [
						"resourceType",
						"resourceId"
					],
					"members": {
						"resourceType": {},
						"resourceId": {},
						"laterTime": {
							"type": "timestamp"
						},
						"earlierTime": {
							"type": "timestamp"
						},
						"chronologicalOrder": {},
						"limit": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"configurationItems": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"version": {},
									"accountId": {},
									"configurationItemCaptureTime": {
										"type": "timestamp"
									},
									"configurationItemStatus": {},
									"configurationStateId": {},
									"configurationItemMD5Hash": {},
									"arn": {},
									"resourceType": {},
									"resourceId": {},
									"resourceName": {},
									"awsRegion": {},
									"availabilityZone": {},
									"resourceCreationTime": {
										"type": "timestamp"
									},
									"tags": {
										"type": "map",
										"key": {},
										"value": {}
									},
									"relatedEvents": {
										"type": "list",
										"member": {}
									},
									"relationships": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"resourceType": {},
												"resourceId": {},
												"resourceName": {},
												"relationshipName": {}
											}
										}
									},
									"configuration": {},
									"supplementaryConfiguration": {
										"type": "map",
										"key": {},
										"value": {}
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListDiscoveredResources": {
				"input": {
					"type": "structure",
					"required": [
						"resourceType"
					],
					"members": {
						"resourceType": {},
						"resourceIds": {
							"type": "list",
							"member": {}
						},
						"resourceName": {},
						"limit": {
							"type": "integer"
						},
						"includeDeletedResources": {
							"type": "boolean"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"resourceIdentifiers": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"resourceType": {},
									"resourceId": {},
									"resourceName": {},
									"resourceDeletionTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"PutConfigRule": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigRule"
					],
					"members": {
						"ConfigRule": {
							"shape": "S13"
						}
					}
				}
			},
			"PutConfigurationRecorder": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigurationRecorder"
					],
					"members": {
						"ConfigurationRecorder": {
							"shape": "S1q"
						}
					}
				}
			},
			"PutDeliveryChannel": {
				"input": {
					"type": "structure",
					"required": [
						"DeliveryChannel"
					],
					"members": {
						"DeliveryChannel": {
							"shape": "S27"
						}
					}
				}
			},
			"PutEvaluations": {
				"input": {
					"type": "structure",
					"required": [
						"ResultToken"
					],
					"members": {
						"Evaluations": {
							"shape": "S3t"
						},
						"ResultToken": {},
						"TestMode": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedEvaluations": {
							"shape": "S3t"
						}
					}
				}
			},
			"StartConfigRulesEvaluation": {
				"input": {
					"type": "structure",
					"members": {
						"ConfigRuleNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"StartConfigurationRecorder": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigurationRecorderName"
					],
					"members": {
						"ConfigurationRecorderName": {}
					}
				}
			},
			"StopConfigurationRecorder": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigurationRecorderName"
					],
					"members": {
						"ConfigurationRecorderName": {}
					}
				}
			}
		},
		"shapes": {
			"Sd": {
				"type": "list",
				"member": {}
			},
			"Se": {
				"type": "list",
				"member": {}
			},
			"Sj": {
				"type": "structure",
				"members": {
					"ComplianceType": {},
					"ComplianceContributorCount": {
						"shape": "Sk"
					}
				}
			},
			"Sk": {
				"type": "structure",
				"members": {
					"CappedCount": {
						"type": "integer"
					},
					"CapExceeded": {
						"type": "boolean"
					}
				}
			},
			"S13": {
				"type": "structure",
				"required": [
					"Source"
				],
				"members": {
					"ConfigRuleName": {},
					"ConfigRuleArn": {},
					"ConfigRuleId": {},
					"Description": {},
					"Scope": {
						"type": "structure",
						"members": {
							"ComplianceResourceTypes": {
								"type": "list",
								"member": {}
							},
							"TagKey": {},
							"TagValue": {},
							"ComplianceResourceId": {}
						}
					},
					"Source": {
						"type": "structure",
						"required": [
							"Owner",
							"SourceIdentifier"
						],
						"members": {
							"Owner": {},
							"SourceIdentifier": {},
							"SourceDetails": {
								"type": "list",
								"member": {
									"type": "structure",
									"members": {
										"EventSource": {},
										"MessageType": {},
										"MaximumExecutionFrequency": {}
									}
								}
							}
						}
					},
					"InputParameters": {},
					"MaximumExecutionFrequency": {},
					"ConfigRuleState": {}
				}
			},
			"S1i": {
				"type": "list",
				"member": {}
			},
			"S1q": {
				"type": "structure",
				"members": {
					"name": {},
					"roleARN": {},
					"recordingGroup": {
						"type": "structure",
						"members": {
							"allSupported": {
								"type": "boolean"
							},
							"includeGlobalResourceTypes": {
								"type": "boolean"
							},
							"resourceTypes": {
								"type": "list",
								"member": {}
							}
						}
					}
				}
			},
			"S1x": {
				"type": "list",
				"member": {}
			},
			"S21": {
				"type": "structure",
				"members": {
					"lastStatus": {},
					"lastErrorCode": {},
					"lastErrorMessage": {},
					"lastAttemptTime": {
						"type": "timestamp"
					},
					"lastSuccessfulTime": {
						"type": "timestamp"
					},
					"nextDeliveryTime": {
						"type": "timestamp"
					}
				}
			},
			"S27": {
				"type": "structure",
				"members": {
					"name": {},
					"s3BucketName": {},
					"s3KeyPrefix": {},
					"snsTopicARN": {},
					"configSnapshotDeliveryProperties": {
						"type": "structure",
						"members": {
							"deliveryFrequency": {}
						}
					}
				}
			},
			"S2b": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"EvaluationResultIdentifier": {
							"type": "structure",
							"members": {
								"EvaluationResultQualifier": {
									"type": "structure",
									"members": {
										"ConfigRuleName": {},
										"ResourceType": {},
										"ResourceId": {}
									}
								},
								"OrderingTimestamp": {
									"type": "timestamp"
								}
							}
						},
						"ComplianceType": {},
						"ResultRecordedTime": {
							"type": "timestamp"
						},
						"ConfigRuleInvokedTime": {
							"type": "timestamp"
						},
						"Annotation": {},
						"ResultToken": {}
					}
				}
			},
			"S2i": {
				"type": "structure",
				"members": {
					"CompliantResourceCount": {
						"shape": "Sk"
					},
					"NonCompliantResourceCount": {
						"shape": "Sk"
					},
					"ComplianceSummaryTimestamp": {
						"type": "timestamp"
					}
				}
			},
			"S3t": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"ComplianceResourceType",
						"ComplianceResourceId",
						"ComplianceType",
						"OrderingTimestamp"
					],
					"members": {
						"ComplianceResourceType": {},
						"ComplianceResourceId": {},
						"ComplianceType": {},
						"Annotation": {},
						"OrderingTimestamp": {
							"type": "timestamp"
						}
					}
				}
			}
		}
	};

/***/ }),
/* 382 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"GetResourceConfigHistory": {
				"input_token": "nextToken",
				"limit_key": "limit",
				"output_token": "nextToken",
				"result_key": "configurationItems"
			}
		}
	};

/***/ }),
/* 383 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['cur'] = {};
	AWS.CUR = Service.defineService('cur', ['2017-01-06']);
	Object.defineProperty(apiLoader.services['cur'], '2017-01-06', {
	  get: function get() {
	    var model = __webpack_require__(384);
	    model.paginators = __webpack_require__(385).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CUR;


/***/ }),
/* 384 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2017-01-06",
			"endpointPrefix": "cur",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS Cost and Usage Report Service",
			"signatureVersion": "v4",
			"signingName": "cur",
			"targetPrefix": "AWSOrigamiServiceGatewayService",
			"uid": "cur-2017-01-06"
		},
		"operations": {
			"DeleteReportDefinition": {
				"input": {
					"type": "structure",
					"members": {
						"ReportName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResponseMessage": {}
					}
				}
			},
			"DescribeReportDefinitions": {
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReportDefinitions": {
							"type": "list",
							"member": {
								"shape": "Sa"
							}
						},
						"NextToken": {}
					}
				}
			},
			"PutReportDefinition": {
				"input": {
					"type": "structure",
					"required": [
						"ReportDefinition"
					],
					"members": {
						"ReportDefinition": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"Sa": {
				"type": "structure",
				"required": [
					"ReportName",
					"TimeUnit",
					"Format",
					"Compression",
					"AdditionalSchemaElements",
					"S3Bucket",
					"S3Prefix",
					"S3Region"
				],
				"members": {
					"ReportName": {},
					"TimeUnit": {},
					"Format": {},
					"Compression": {},
					"AdditionalSchemaElements": {
						"type": "list",
						"member": {}
					},
					"S3Bucket": {},
					"S3Prefix": {},
					"S3Region": {},
					"AdditionalArtifacts": {
						"type": "list",
						"member": {}
					}
				}
			}
		}
	};

/***/ }),
/* 385 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeReportDefinitions": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			}
		}
	};

/***/ }),
/* 386 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['datapipeline'] = {};
	AWS.DataPipeline = Service.defineService('datapipeline', ['2012-10-29']);
	Object.defineProperty(apiLoader.services['datapipeline'], '2012-10-29', {
	  get: function get() {
	    var model = __webpack_require__(387);
	    model.paginators = __webpack_require__(388).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.DataPipeline;


/***/ }),
/* 387 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2012-10-29",
			"endpointPrefix": "datapipeline",
			"jsonVersion": "1.1",
			"serviceFullName": "AWS Data Pipeline",
			"signatureVersion": "v4",
			"targetPrefix": "DataPipeline",
			"protocol": "json",
			"uid": "datapipeline-2012-10-29"
		},
		"operations": {
			"ActivatePipeline": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId"
					],
					"members": {
						"pipelineId": {},
						"parameterValues": {
							"shape": "S3"
						},
						"startTimestamp": {
							"type": "timestamp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AddTags": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId",
						"tags"
					],
					"members": {
						"pipelineId": {},
						"tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreatePipeline": {
				"input": {
					"type": "structure",
					"required": [
						"name",
						"uniqueId"
					],
					"members": {
						"name": {},
						"uniqueId": {},
						"description": {},
						"tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"pipelineId"
					],
					"members": {
						"pipelineId": {}
					}
				}
			},
			"DeactivatePipeline": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId"
					],
					"members": {
						"pipelineId": {},
						"cancelActive": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeletePipeline": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId"
					],
					"members": {
						"pipelineId": {}
					}
				}
			},
			"DescribeObjects": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId",
						"objectIds"
					],
					"members": {
						"pipelineId": {},
						"objectIds": {
							"shape": "Sn"
						},
						"evaluateExpressions": {
							"type": "boolean"
						},
						"marker": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"pipelineObjects"
					],
					"members": {
						"pipelineObjects": {
							"shape": "Sq"
						},
						"marker": {},
						"hasMoreResults": {
							"type": "boolean"
						}
					}
				}
			},
			"DescribePipelines": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineIds"
					],
					"members": {
						"pipelineIds": {
							"shape": "Sn"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"pipelineDescriptionList"
					],
					"members": {
						"pipelineDescriptionList": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"pipelineId",
									"name",
									"fields"
								],
								"members": {
									"pipelineId": {},
									"name": {},
									"fields": {
										"shape": "Ss"
									},
									"description": {},
									"tags": {
										"shape": "Sa"
									}
								}
							}
						}
					}
				}
			},
			"EvaluateExpression": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId",
						"objectId",
						"expression"
					],
					"members": {
						"pipelineId": {},
						"objectId": {},
						"expression": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"evaluatedExpression"
					],
					"members": {
						"evaluatedExpression": {}
					}
				}
			},
			"GetPipelineDefinition": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId"
					],
					"members": {
						"pipelineId": {},
						"version": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"pipelineObjects": {
							"shape": "Sq"
						},
						"parameterObjects": {
							"shape": "S13"
						},
						"parameterValues": {
							"shape": "S3"
						}
					}
				}
			},
			"ListPipelines": {
				"input": {
					"type": "structure",
					"members": {
						"marker": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"pipelineIdList"
					],
					"members": {
						"pipelineIdList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"id": {},
									"name": {}
								}
							}
						},
						"marker": {},
						"hasMoreResults": {
							"type": "boolean"
						}
					}
				}
			},
			"PollForTask": {
				"input": {
					"type": "structure",
					"required": [
						"workerGroup"
					],
					"members": {
						"workerGroup": {},
						"hostname": {},
						"instanceIdentity": {
							"type": "structure",
							"members": {
								"document": {},
								"signature": {}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"taskObject": {
							"type": "structure",
							"members": {
								"taskId": {},
								"pipelineId": {},
								"attemptId": {},
								"objects": {
									"type": "map",
									"key": {},
									"value": {
										"shape": "Sr"
									}
								}
							}
						}
					}
				}
			},
			"PutPipelineDefinition": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId",
						"pipelineObjects"
					],
					"members": {
						"pipelineId": {},
						"pipelineObjects": {
							"shape": "Sq"
						},
						"parameterObjects": {
							"shape": "S13"
						},
						"parameterValues": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"errored"
					],
					"members": {
						"validationErrors": {
							"shape": "S1l"
						},
						"validationWarnings": {
							"shape": "S1p"
						},
						"errored": {
							"type": "boolean"
						}
					}
				}
			},
			"QueryObjects": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId",
						"sphere"
					],
					"members": {
						"pipelineId": {},
						"query": {
							"type": "structure",
							"members": {
								"selectors": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"fieldName": {},
											"operator": {
												"type": "structure",
												"members": {
													"type": {},
													"values": {
														"shape": "S1x"
													}
												}
											}
										}
									}
								}
							}
						},
						"sphere": {},
						"marker": {},
						"limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ids": {
							"shape": "Sn"
						},
						"marker": {},
						"hasMoreResults": {
							"type": "boolean"
						}
					}
				}
			},
			"RemoveTags": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId",
						"tagKeys"
					],
					"members": {
						"pipelineId": {},
						"tagKeys": {
							"shape": "S1x"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ReportTaskProgress": {
				"input": {
					"type": "structure",
					"required": [
						"taskId"
					],
					"members": {
						"taskId": {},
						"fields": {
							"shape": "Ss"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"canceled"
					],
					"members": {
						"canceled": {
							"type": "boolean"
						}
					}
				}
			},
			"ReportTaskRunnerHeartbeat": {
				"input": {
					"type": "structure",
					"required": [
						"taskrunnerId"
					],
					"members": {
						"taskrunnerId": {},
						"workerGroup": {},
						"hostname": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"terminate"
					],
					"members": {
						"terminate": {
							"type": "boolean"
						}
					}
				}
			},
			"SetStatus": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId",
						"objectIds",
						"status"
					],
					"members": {
						"pipelineId": {},
						"objectIds": {
							"shape": "Sn"
						},
						"status": {}
					}
				}
			},
			"SetTaskStatus": {
				"input": {
					"type": "structure",
					"required": [
						"taskId",
						"taskStatus"
					],
					"members": {
						"taskId": {},
						"taskStatus": {},
						"errorId": {},
						"errorMessage": {},
						"errorStackTrace": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ValidatePipelineDefinition": {
				"input": {
					"type": "structure",
					"required": [
						"pipelineId",
						"pipelineObjects"
					],
					"members": {
						"pipelineId": {},
						"pipelineObjects": {
							"shape": "Sq"
						},
						"parameterObjects": {
							"shape": "S13"
						},
						"parameterValues": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"errored"
					],
					"members": {
						"validationErrors": {
							"shape": "S1l"
						},
						"validationWarnings": {
							"shape": "S1p"
						},
						"errored": {
							"type": "boolean"
						}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"id",
						"stringValue"
					],
					"members": {
						"id": {},
						"stringValue": {}
					}
				}
			},
			"Sa": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"key",
						"value"
					],
					"members": {
						"key": {},
						"value": {}
					}
				}
			},
			"Sn": {
				"type": "list",
				"member": {}
			},
			"Sq": {
				"type": "list",
				"member": {
					"shape": "Sr"
				}
			},
			"Sr": {
				"type": "structure",
				"required": [
					"id",
					"name",
					"fields"
				],
				"members": {
					"id": {},
					"name": {},
					"fields": {
						"shape": "Ss"
					}
				}
			},
			"Ss": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"key"
					],
					"members": {
						"key": {},
						"stringValue": {},
						"refValue": {}
					}
				}
			},
			"S13": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"id",
						"attributes"
					],
					"members": {
						"id": {},
						"attributes": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"key",
									"stringValue"
								],
								"members": {
									"key": {},
									"stringValue": {}
								}
							}
						}
					}
				}
			},
			"S1l": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"id": {},
						"errors": {
							"shape": "S1n"
						}
					}
				}
			},
			"S1n": {
				"type": "list",
				"member": {}
			},
			"S1p": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"id": {},
						"warnings": {
							"shape": "S1n"
						}
					}
				}
			},
			"S1x": {
				"type": "list",
				"member": {}
			}
		}
	};

/***/ }),
/* 388 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListPipelines": {
				"input_token": "marker",
				"output_token": "marker",
				"more_results": "hasMoreResults",
				"result_key": "pipelineIdList"
			},
			"DescribeObjects": {
				"input_token": "marker",
				"output_token": "marker",
				"more_results": "hasMoreResults",
				"result_key": "pipelineObjects"
			},
			"DescribePipelines": {
				"result_key": "pipelineDescriptionList"
			},
			"QueryObjects": {
				"input_token": "marker",
				"output_token": "marker",
				"more_results": "hasMoreResults",
				"limit_key": "limit",
				"result_key": "ids"
			}
		}
	};

/***/ }),
/* 389 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['devicefarm'] = {};
	AWS.DeviceFarm = Service.defineService('devicefarm', ['2015-06-23']);
	Object.defineProperty(apiLoader.services['devicefarm'], '2015-06-23', {
	  get: function get() {
	    var model = __webpack_require__(390);
	    model.paginators = __webpack_require__(391).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.DeviceFarm;


/***/ }),
/* 390 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-06-23",
			"endpointPrefix": "devicefarm",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS Device Farm",
			"signatureVersion": "v4",
			"targetPrefix": "DeviceFarm_20150623",
			"uid": "devicefarm-2015-06-23"
		},
		"operations": {
			"CreateDevicePool": {
				"input": {
					"type": "structure",
					"required": [
						"projectArn",
						"name",
						"rules"
					],
					"members": {
						"projectArn": {},
						"name": {},
						"description": {},
						"rules": {
							"shape": "S5"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"devicePool": {
							"shape": "Sb"
						}
					}
				}
			},
			"CreateNetworkProfile": {
				"input": {
					"type": "structure",
					"required": [
						"projectArn",
						"name"
					],
					"members": {
						"projectArn": {},
						"name": {},
						"description": {},
						"type": {},
						"uplinkBandwidthBits": {
							"type": "long"
						},
						"downlinkBandwidthBits": {
							"type": "long"
						},
						"uplinkDelayMs": {
							"type": "long"
						},
						"downlinkDelayMs": {
							"type": "long"
						},
						"uplinkJitterMs": {
							"type": "long"
						},
						"downlinkJitterMs": {
							"type": "long"
						},
						"uplinkLossPercent": {
							"type": "integer"
						},
						"downlinkLossPercent": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"networkProfile": {
							"shape": "Si"
						}
					}
				}
			},
			"CreateProject": {
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {},
						"defaultJobTimeoutMinutes": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"project": {
							"shape": "Sm"
						}
					}
				}
			},
			"CreateRemoteAccessSession": {
				"input": {
					"type": "structure",
					"required": [
						"projectArn",
						"deviceArn"
					],
					"members": {
						"projectArn": {},
						"deviceArn": {},
						"name": {},
						"configuration": {
							"type": "structure",
							"members": {
								"billingMethod": {}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"remoteAccessSession": {
							"shape": "Ss"
						}
					}
				}
			},
			"CreateUpload": {
				"input": {
					"type": "structure",
					"required": [
						"projectArn",
						"name",
						"type"
					],
					"members": {
						"projectArn": {},
						"name": {},
						"type": {},
						"contentType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"upload": {
							"shape": "S18"
						}
					}
				}
			},
			"DeleteDevicePool": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteNetworkProfile": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteProject": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteRemoteAccessSession": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteRun": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteUpload": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"GetAccountSettings": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"accountSettings": {
							"type": "structure",
							"members": {
								"awsAccountNumber": {},
								"unmeteredDevices": {
									"shape": "S1s"
								},
								"unmeteredRemoteAccessDevices": {
									"shape": "S1s"
								},
								"maxJobTimeoutMinutes": {
									"type": "integer"
								},
								"trialMinutes": {
									"type": "structure",
									"members": {
										"total": {
											"type": "double"
										},
										"remaining": {
											"type": "double"
										}
									}
								},
								"maxSlots": {
									"type": "map",
									"key": {},
									"value": {
										"type": "integer"
									}
								},
								"defaultJobTimeoutMinutes": {
									"type": "integer"
								}
							}
						}
					}
				}
			},
			"GetDevice": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"device": {
							"shape": "Sv"
						}
					}
				}
			},
			"GetDevicePool": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"devicePool": {
							"shape": "Sb"
						}
					}
				}
			},
			"GetDevicePoolCompatibility": {
				"input": {
					"type": "structure",
					"required": [
						"devicePoolArn"
					],
					"members": {
						"devicePoolArn": {},
						"appArn": {},
						"testType": {},
						"test": {
							"shape": "S21"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"compatibleDevices": {
							"shape": "S25"
						},
						"incompatibleDevices": {
							"shape": "S25"
						}
					}
				}
			},
			"GetJob": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"job": {
							"shape": "S2b"
						}
					}
				}
			},
			"GetNetworkProfile": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"networkProfile": {
							"shape": "Si"
						}
					}
				}
			},
			"GetOfferingStatus": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"current": {
							"shape": "S2i"
						},
						"nextPeriod": {
							"shape": "S2i"
						},
						"nextToken": {}
					}
				}
			},
			"GetProject": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"project": {
							"shape": "Sm"
						}
					}
				}
			},
			"GetRemoteAccessSession": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"remoteAccessSession": {
							"shape": "Ss"
						}
					}
				}
			},
			"GetRun": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"run": {
							"shape": "S2z"
						}
					}
				}
			},
			"GetSuite": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"suite": {
							"shape": "S32"
						}
					}
				}
			},
			"GetTest": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"test": {
							"shape": "S35"
						}
					}
				}
			},
			"GetUpload": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"upload": {
							"shape": "S18"
						}
					}
				}
			},
			"InstallToRemoteAccessSession": {
				"input": {
					"type": "structure",
					"required": [
						"remoteAccessSessionArn",
						"appArn"
					],
					"members": {
						"remoteAccessSessionArn": {},
						"appArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"appUpload": {
							"shape": "S18"
						}
					}
				}
			},
			"ListArtifacts": {
				"input": {
					"type": "structure",
					"required": [
						"arn",
						"type"
					],
					"members": {
						"arn": {},
						"type": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"artifacts": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"arn": {},
									"name": {},
									"type": {},
									"extension": {},
									"url": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListDevicePools": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"type": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"devicePools": {
							"type": "list",
							"member": {
								"shape": "Sb"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListDevices": {
				"input": {
					"type": "structure",
					"members": {
						"arn": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"devices": {
							"type": "list",
							"member": {
								"shape": "Sv"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListJobs": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"jobs": {
							"type": "list",
							"member": {
								"shape": "S2b"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListNetworkProfiles": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"type": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"networkProfiles": {
							"type": "list",
							"member": {
								"shape": "Si"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListOfferingPromotions": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"offeringPromotions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"id": {},
									"description": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListOfferingTransactions": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"offeringTransactions": {
							"type": "list",
							"member": {
								"shape": "S40"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListOfferings": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"offerings": {
							"type": "list",
							"member": {
								"shape": "S2m"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListProjects": {
				"input": {
					"type": "structure",
					"members": {
						"arn": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"projects": {
							"type": "list",
							"member": {
								"shape": "Sm"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListRemoteAccessSessions": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"remoteAccessSessions": {
							"type": "list",
							"member": {
								"shape": "Ss"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListRuns": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"runs": {
							"type": "list",
							"member": {
								"shape": "S2z"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListSamples": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"samples": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"arn": {},
									"type": {},
									"url": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListSuites": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"suites": {
							"type": "list",
							"member": {
								"shape": "S32"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListTests": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"tests": {
							"type": "list",
							"member": {
								"shape": "S35"
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListUniqueProblems": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"uniqueProblems": {
							"type": "map",
							"key": {},
							"value": {
								"type": "list",
								"member": {
									"type": "structure",
									"members": {
										"message": {},
										"problems": {
											"type": "list",
											"member": {
												"type": "structure",
												"members": {
													"run": {
														"shape": "S4w"
													},
													"job": {
														"shape": "S4w"
													},
													"suite": {
														"shape": "S4w"
													},
													"test": {
														"shape": "S4w"
													},
													"device": {
														"shape": "Sv"
													},
													"result": {},
													"message": {}
												}
											}
										}
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListUploads": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"uploads": {
							"type": "list",
							"member": {
								"shape": "S18"
							}
						},
						"nextToken": {}
					}
				}
			},
			"PurchaseOffering": {
				"input": {
					"type": "structure",
					"members": {
						"offeringId": {},
						"quantity": {
							"type": "integer"
						},
						"offeringPromotionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"offeringTransaction": {
							"shape": "S40"
						}
					}
				}
			},
			"RenewOffering": {
				"input": {
					"type": "structure",
					"members": {
						"offeringId": {},
						"quantity": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"offeringTransaction": {
							"shape": "S40"
						}
					}
				}
			},
			"ScheduleRun": {
				"input": {
					"type": "structure",
					"required": [
						"projectArn",
						"devicePoolArn",
						"test"
					],
					"members": {
						"projectArn": {},
						"appArn": {},
						"devicePoolArn": {},
						"name": {},
						"test": {
							"shape": "S21"
						},
						"configuration": {
							"type": "structure",
							"members": {
								"extraDataPackageArn": {},
								"networkProfileArn": {},
								"locale": {},
								"location": {
									"type": "structure",
									"required": [
										"latitude",
										"longitude"
									],
									"members": {
										"latitude": {
											"type": "double"
										},
										"longitude": {
											"type": "double"
										}
									}
								},
								"radios": {
									"type": "structure",
									"members": {
										"wifi": {
											"type": "boolean"
										},
										"bluetooth": {
											"type": "boolean"
										},
										"nfc": {
											"type": "boolean"
										},
										"gps": {
											"type": "boolean"
										}
									}
								},
								"auxiliaryApps": {
									"type": "list",
									"member": {}
								},
								"billingMethod": {}
							}
						},
						"executionConfiguration": {
							"type": "structure",
							"members": {
								"jobTimeoutMinutes": {
									"type": "integer"
								},
								"accountsCleanup": {
									"type": "boolean"
								},
								"appPackagesCleanup": {
									"type": "boolean"
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"run": {
							"shape": "S2z"
						}
					}
				}
			},
			"StopRemoteAccessSession": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"remoteAccessSession": {
							"shape": "Ss"
						}
					}
				}
			},
			"StopRun": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"run": {
							"shape": "S2z"
						}
					}
				}
			},
			"UpdateDevicePool": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"name": {},
						"description": {},
						"rules": {
							"shape": "S5"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"devicePool": {
							"shape": "Sb"
						}
					}
				}
			},
			"UpdateNetworkProfile": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"name": {},
						"description": {},
						"type": {},
						"uplinkBandwidthBits": {
							"type": "long"
						},
						"downlinkBandwidthBits": {
							"type": "long"
						},
						"uplinkDelayMs": {
							"type": "long"
						},
						"downlinkDelayMs": {
							"type": "long"
						},
						"uplinkJitterMs": {
							"type": "long"
						},
						"downlinkJitterMs": {
							"type": "long"
						},
						"uplinkLossPercent": {
							"type": "integer"
						},
						"downlinkLossPercent": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"networkProfile": {
							"shape": "Si"
						}
					}
				}
			},
			"UpdateProject": {
				"input": {
					"type": "structure",
					"required": [
						"arn"
					],
					"members": {
						"arn": {},
						"name": {},
						"defaultJobTimeoutMinutes": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"project": {
							"shape": "Sm"
						}
					}
				}
			}
		},
		"shapes": {
			"S5": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"attribute": {},
						"operator": {},
						"value": {}
					}
				}
			},
			"Sb": {
				"type": "structure",
				"members": {
					"arn": {},
					"name": {},
					"description": {},
					"type": {},
					"rules": {
						"shape": "S5"
					}
				}
			},
			"Si": {
				"type": "structure",
				"members": {
					"arn": {},
					"name": {},
					"description": {},
					"type": {},
					"uplinkBandwidthBits": {
						"type": "long"
					},
					"downlinkBandwidthBits": {
						"type": "long"
					},
					"uplinkDelayMs": {
						"type": "long"
					},
					"downlinkDelayMs": {
						"type": "long"
					},
					"uplinkJitterMs": {
						"type": "long"
					},
					"downlinkJitterMs": {
						"type": "long"
					},
					"uplinkLossPercent": {
						"type": "integer"
					},
					"downlinkLossPercent": {
						"type": "integer"
					}
				}
			},
			"Sm": {
				"type": "structure",
				"members": {
					"arn": {},
					"name": {},
					"defaultJobTimeoutMinutes": {
						"type": "integer"
					},
					"created": {
						"type": "timestamp"
					}
				}
			},
			"Ss": {
				"type": "structure",
				"members": {
					"arn": {},
					"name": {},
					"created": {
						"type": "timestamp"
					},
					"status": {},
					"result": {},
					"message": {},
					"started": {
						"type": "timestamp"
					},
					"stopped": {
						"type": "timestamp"
					},
					"device": {
						"shape": "Sv"
					},
					"billingMethod": {},
					"deviceMinutes": {
						"shape": "S13"
					},
					"endpoint": {}
				}
			},
			"Sv": {
				"type": "structure",
				"members": {
					"arn": {},
					"name": {},
					"manufacturer": {},
					"model": {},
					"formFactor": {},
					"platform": {},
					"os": {},
					"cpu": {
						"type": "structure",
						"members": {
							"frequency": {},
							"architecture": {},
							"clock": {
								"type": "double"
							}
						}
					},
					"resolution": {
						"type": "structure",
						"members": {
							"width": {
								"type": "integer"
							},
							"height": {
								"type": "integer"
							}
						}
					},
					"heapSize": {
						"type": "long"
					},
					"memory": {
						"type": "long"
					},
					"image": {},
					"carrier": {},
					"radio": {},
					"remoteAccessEnabled": {
						"type": "boolean"
					},
					"fleetType": {},
					"fleetName": {}
				}
			},
			"S13": {
				"type": "structure",
				"members": {
					"total": {
						"type": "double"
					},
					"metered": {
						"type": "double"
					},
					"unmetered": {
						"type": "double"
					}
				}
			},
			"S18": {
				"type": "structure",
				"members": {
					"arn": {},
					"name": {},
					"created": {
						"type": "timestamp"
					},
					"type": {},
					"status": {},
					"url": {},
					"metadata": {},
					"contentType": {},
					"message": {}
				}
			},
			"S1s": {
				"type": "map",
				"key": {},
				"value": {
					"type": "integer"
				}
			},
			"S21": {
				"type": "structure",
				"required": [
					"type"
				],
				"members": {
					"type": {},
					"testPackageArn": {},
					"filter": {},
					"parameters": {
						"type": "map",
						"key": {},
						"value": {}
					}
				}
			},
			"S25": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"device": {
							"shape": "Sv"
						},
						"compatible": {
							"type": "boolean"
						},
						"incompatibilityMessages": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"message": {},
									"type": {}
								}
							}
						}
					}
				}
			},
			"S2b": {
				"type": "structure",
				"members": {
					"arn": {},
					"name": {},
					"type": {},
					"created": {
						"type": "timestamp"
					},
					"status": {},
					"result": {},
					"started": {
						"type": "timestamp"
					},
					"stopped": {
						"type": "timestamp"
					},
					"counters": {
						"shape": "S2c"
					},
					"message": {},
					"device": {
						"shape": "Sv"
					},
					"deviceMinutes": {
						"shape": "S13"
					}
				}
			},
			"S2c": {
				"type": "structure",
				"members": {
					"total": {
						"type": "integer"
					},
					"passed": {
						"type": "integer"
					},
					"failed": {
						"type": "integer"
					},
					"warned": {
						"type": "integer"
					},
					"errored": {
						"type": "integer"
					},
					"stopped": {
						"type": "integer"
					},
					"skipped": {
						"type": "integer"
					}
				}
			},
			"S2i": {
				"type": "map",
				"key": {},
				"value": {
					"shape": "S2k"
				}
			},
			"S2k": {
				"type": "structure",
				"members": {
					"type": {},
					"offering": {
						"shape": "S2m"
					},
					"quantity": {
						"type": "integer"
					},
					"effectiveOn": {
						"type": "timestamp"
					}
				}
			},
			"S2m": {
				"type": "structure",
				"members": {
					"id": {},
					"description": {},
					"type": {},
					"platform": {},
					"recurringCharges": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"cost": {
									"shape": "S2q"
								},
								"frequency": {}
							}
						}
					}
				}
			},
			"S2q": {
				"type": "structure",
				"members": {
					"amount": {
						"type": "double"
					},
					"currencyCode": {}
				}
			},
			"S2z": {
				"type": "structure",
				"members": {
					"arn": {},
					"name": {},
					"type": {},
					"platform": {},
					"created": {
						"type": "timestamp"
					},
					"status": {},
					"result": {},
					"started": {
						"type": "timestamp"
					},
					"stopped": {
						"type": "timestamp"
					},
					"counters": {
						"shape": "S2c"
					},
					"message": {},
					"totalJobs": {
						"type": "integer"
					},
					"completedJobs": {
						"type": "integer"
					},
					"billingMethod": {},
					"deviceMinutes": {
						"shape": "S13"
					},
					"networkProfile": {
						"shape": "Si"
					}
				}
			},
			"S32": {
				"type": "structure",
				"members": {
					"arn": {},
					"name": {},
					"type": {},
					"created": {
						"type": "timestamp"
					},
					"status": {},
					"result": {},
					"started": {
						"type": "timestamp"
					},
					"stopped": {
						"type": "timestamp"
					},
					"counters": {
						"shape": "S2c"
					},
					"message": {},
					"deviceMinutes": {
						"shape": "S13"
					}
				}
			},
			"S35": {
				"type": "structure",
				"members": {
					"arn": {},
					"name": {},
					"type": {},
					"created": {
						"type": "timestamp"
					},
					"status": {},
					"result": {},
					"started": {
						"type": "timestamp"
					},
					"stopped": {
						"type": "timestamp"
					},
					"counters": {
						"shape": "S2c"
					},
					"message": {},
					"deviceMinutes": {
						"shape": "S13"
					}
				}
			},
			"S40": {
				"type": "structure",
				"members": {
					"offeringStatus": {
						"shape": "S2k"
					},
					"transactionId": {},
					"offeringPromotionId": {},
					"createdOn": {
						"type": "timestamp"
					},
					"cost": {
						"shape": "S2q"
					}
				}
			},
			"S4w": {
				"type": "structure",
				"members": {
					"arn": {},
					"name": {}
				}
			}
		}
	};

/***/ }),
/* 391 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"GetOfferingStatus": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": [
					"current",
					"nextPeriod"
				]
			},
			"ListArtifacts": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "artifacts"
			},
			"ListDevicePools": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "devicePools"
			},
			"ListDevices": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "devices"
			},
			"ListJobs": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "jobs"
			},
			"ListOfferingTransactions": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "offeringTransactions"
			},
			"ListOfferings": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "offerings"
			},
			"ListProjects": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "projects"
			},
			"ListRuns": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "runs"
			},
			"ListSamples": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "samples"
			},
			"ListSuites": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "suites"
			},
			"ListTests": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "tests"
			},
			"ListUniqueProblems": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "uniqueProblems"
			},
			"ListUploads": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"result_key": "uploads"
			}
		}
	};

/***/ }),
/* 392 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['directconnect'] = {};
	AWS.DirectConnect = Service.defineService('directconnect', ['2012-10-25']);
	Object.defineProperty(apiLoader.services['directconnect'], '2012-10-25', {
	  get: function get() {
	    var model = __webpack_require__(393);
	    model.paginators = __webpack_require__(394).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.DirectConnect;


/***/ }),
/* 393 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2012-10-25",
			"endpointPrefix": "directconnect",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS Direct Connect",
			"signatureVersion": "v4",
			"targetPrefix": "OvertureService",
			"uid": "directconnect-2012-10-25"
		},
		"operations": {
			"AllocateConnectionOnInterconnect": {
				"input": {
					"type": "structure",
					"required": [
						"bandwidth",
						"connectionName",
						"ownerAccount",
						"interconnectId",
						"vlan"
					],
					"members": {
						"bandwidth": {},
						"connectionName": {},
						"ownerAccount": {},
						"interconnectId": {},
						"vlan": {
							"type": "integer"
						}
					}
				},
				"output": {
					"shape": "S7"
				},
				"deprecated": true
			},
			"AllocateHostedConnection": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId",
						"ownerAccount",
						"bandwidth",
						"connectionName",
						"vlan"
					],
					"members": {
						"connectionId": {},
						"ownerAccount": {},
						"bandwidth": {},
						"connectionName": {},
						"vlan": {
							"type": "integer"
						}
					}
				},
				"output": {
					"shape": "S7"
				}
			},
			"AllocatePrivateVirtualInterface": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId",
						"ownerAccount",
						"newPrivateVirtualInterfaceAllocation"
					],
					"members": {
						"connectionId": {},
						"ownerAccount": {},
						"newPrivateVirtualInterfaceAllocation": {
							"type": "structure",
							"required": [
								"virtualInterfaceName",
								"vlan",
								"asn"
							],
							"members": {
								"virtualInterfaceName": {},
								"vlan": {
									"type": "integer"
								},
								"asn": {
									"type": "integer"
								},
								"authKey": {},
								"amazonAddress": {},
								"addressFamily": {},
								"customerAddress": {}
							}
						}
					}
				},
				"output": {
					"shape": "Sp"
				}
			},
			"AllocatePublicVirtualInterface": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId",
						"ownerAccount",
						"newPublicVirtualInterfaceAllocation"
					],
					"members": {
						"connectionId": {},
						"ownerAccount": {},
						"newPublicVirtualInterfaceAllocation": {
							"type": "structure",
							"required": [
								"virtualInterfaceName",
								"vlan",
								"asn"
							],
							"members": {
								"virtualInterfaceName": {},
								"vlan": {
									"type": "integer"
								},
								"asn": {
									"type": "integer"
								},
								"authKey": {},
								"amazonAddress": {},
								"customerAddress": {},
								"addressFamily": {},
								"routeFilterPrefixes": {
									"shape": "Sv"
								}
							}
						}
					}
				},
				"output": {
					"shape": "Sp"
				}
			},
			"AssociateConnectionWithLag": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId",
						"lagId"
					],
					"members": {
						"connectionId": {},
						"lagId": {}
					}
				},
				"output": {
					"shape": "S7"
				}
			},
			"AssociateHostedConnection": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId",
						"parentConnectionId"
					],
					"members": {
						"connectionId": {},
						"parentConnectionId": {}
					}
				},
				"output": {
					"shape": "S7"
				}
			},
			"AssociateVirtualInterface": {
				"input": {
					"type": "structure",
					"required": [
						"virtualInterfaceId",
						"connectionId"
					],
					"members": {
						"virtualInterfaceId": {},
						"connectionId": {}
					}
				},
				"output": {
					"shape": "Sp"
				}
			},
			"ConfirmConnection": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId"
					],
					"members": {
						"connectionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"connectionState": {}
					}
				}
			},
			"ConfirmPrivateVirtualInterface": {
				"input": {
					"type": "structure",
					"required": [
						"virtualInterfaceId",
						"virtualGatewayId"
					],
					"members": {
						"virtualInterfaceId": {},
						"virtualGatewayId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"virtualInterfaceState": {}
					}
				}
			},
			"ConfirmPublicVirtualInterface": {
				"input": {
					"type": "structure",
					"required": [
						"virtualInterfaceId"
					],
					"members": {
						"virtualInterfaceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"virtualInterfaceState": {}
					}
				}
			},
			"CreateBGPPeer": {
				"input": {
					"type": "structure",
					"members": {
						"virtualInterfaceId": {},
						"newBGPPeer": {
							"type": "structure",
							"members": {
								"asn": {
									"type": "integer"
								},
								"authKey": {},
								"addressFamily": {},
								"amazonAddress": {},
								"customerAddress": {}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"virtualInterface": {
							"shape": "Sp"
						}
					}
				}
			},
			"CreateConnection": {
				"input": {
					"type": "structure",
					"required": [
						"location",
						"bandwidth",
						"connectionName"
					],
					"members": {
						"location": {},
						"bandwidth": {},
						"connectionName": {},
						"lagId": {}
					}
				},
				"output": {
					"shape": "S7"
				}
			},
			"CreateInterconnect": {
				"input": {
					"type": "structure",
					"required": [
						"interconnectName",
						"bandwidth",
						"location"
					],
					"members": {
						"interconnectName": {},
						"bandwidth": {},
						"location": {},
						"lagId": {}
					}
				},
				"output": {
					"shape": "S1j"
				}
			},
			"CreateLag": {
				"input": {
					"type": "structure",
					"required": [
						"numberOfConnections",
						"location",
						"connectionsBandwidth",
						"lagName"
					],
					"members": {
						"numberOfConnections": {
							"type": "integer"
						},
						"location": {},
						"connectionsBandwidth": {},
						"lagName": {},
						"connectionId": {}
					}
				},
				"output": {
					"shape": "S1o"
				}
			},
			"CreatePrivateVirtualInterface": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId",
						"newPrivateVirtualInterface"
					],
					"members": {
						"connectionId": {},
						"newPrivateVirtualInterface": {
							"type": "structure",
							"required": [
								"virtualInterfaceName",
								"vlan",
								"asn",
								"virtualGatewayId"
							],
							"members": {
								"virtualInterfaceName": {},
								"vlan": {
									"type": "integer"
								},
								"asn": {
									"type": "integer"
								},
								"authKey": {},
								"amazonAddress": {},
								"customerAddress": {},
								"addressFamily": {},
								"virtualGatewayId": {}
							}
						}
					}
				},
				"output": {
					"shape": "Sp"
				}
			},
			"CreatePublicVirtualInterface": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId",
						"newPublicVirtualInterface"
					],
					"members": {
						"connectionId": {},
						"newPublicVirtualInterface": {
							"type": "structure",
							"required": [
								"virtualInterfaceName",
								"vlan",
								"asn"
							],
							"members": {
								"virtualInterfaceName": {},
								"vlan": {
									"type": "integer"
								},
								"asn": {
									"type": "integer"
								},
								"authKey": {},
								"amazonAddress": {},
								"customerAddress": {},
								"addressFamily": {},
								"routeFilterPrefixes": {
									"shape": "Sv"
								}
							}
						}
					}
				},
				"output": {
					"shape": "Sp"
				}
			},
			"DeleteBGPPeer": {
				"input": {
					"type": "structure",
					"members": {
						"virtualInterfaceId": {},
						"asn": {
							"type": "integer"
						},
						"customerAddress": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"virtualInterface": {
							"shape": "Sp"
						}
					}
				}
			},
			"DeleteConnection": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId"
					],
					"members": {
						"connectionId": {}
					}
				},
				"output": {
					"shape": "S7"
				}
			},
			"DeleteInterconnect": {
				"input": {
					"type": "structure",
					"required": [
						"interconnectId"
					],
					"members": {
						"interconnectId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"interconnectState": {}
					}
				}
			},
			"DeleteLag": {
				"input": {
					"type": "structure",
					"required": [
						"lagId"
					],
					"members": {
						"lagId": {}
					}
				},
				"output": {
					"shape": "S1o"
				}
			},
			"DeleteVirtualInterface": {
				"input": {
					"type": "structure",
					"required": [
						"virtualInterfaceId"
					],
					"members": {
						"virtualInterfaceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"virtualInterfaceState": {}
					}
				}
			},
			"DescribeConnectionLoa": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId"
					],
					"members": {
						"connectionId": {},
						"providerName": {},
						"loaContentType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"loa": {
							"shape": "S28"
						}
					}
				},
				"deprecated": true
			},
			"DescribeConnections": {
				"input": {
					"type": "structure",
					"members": {
						"connectionId": {}
					}
				},
				"output": {
					"shape": "S2b"
				}
			},
			"DescribeConnectionsOnInterconnect": {
				"input": {
					"type": "structure",
					"required": [
						"interconnectId"
					],
					"members": {
						"interconnectId": {}
					}
				},
				"output": {
					"shape": "S2b"
				},
				"deprecated": true
			},
			"DescribeHostedConnections": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId"
					],
					"members": {
						"connectionId": {}
					}
				},
				"output": {
					"shape": "S2b"
				}
			},
			"DescribeInterconnectLoa": {
				"input": {
					"type": "structure",
					"required": [
						"interconnectId"
					],
					"members": {
						"interconnectId": {},
						"providerName": {},
						"loaContentType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"loa": {
							"shape": "S28"
						}
					}
				},
				"deprecated": true
			},
			"DescribeInterconnects": {
				"input": {
					"type": "structure",
					"members": {
						"interconnectId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"interconnects": {
							"type": "list",
							"member": {
								"shape": "S1j"
							}
						}
					}
				}
			},
			"DescribeLags": {
				"input": {
					"type": "structure",
					"members": {
						"lagId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"lags": {
							"type": "list",
							"member": {
								"shape": "S1o"
							}
						}
					}
				}
			},
			"DescribeLoa": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId"
					],
					"members": {
						"connectionId": {},
						"providerName": {},
						"loaContentType": {}
					}
				},
				"output": {
					"shape": "S28"
				}
			},
			"DescribeLocations": {
				"output": {
					"type": "structure",
					"members": {
						"locations": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"locationCode": {},
									"locationName": {}
								}
							}
						}
					}
				}
			},
			"DescribeTags": {
				"input": {
					"type": "structure",
					"required": [
						"resourceArns"
					],
					"members": {
						"resourceArns": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"resourceTags": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"resourceArn": {},
									"tags": {
										"shape": "S2x"
									}
								}
							}
						}
					}
				}
			},
			"DescribeVirtualGateways": {
				"output": {
					"type": "structure",
					"members": {
						"virtualGateways": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"virtualGatewayId": {},
									"virtualGatewayState": {}
								}
							}
						}
					}
				}
			},
			"DescribeVirtualInterfaces": {
				"input": {
					"type": "structure",
					"members": {
						"connectionId": {},
						"virtualInterfaceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"virtualInterfaces": {
							"type": "list",
							"member": {
								"shape": "Sp"
							}
						}
					}
				}
			},
			"DisassociateConnectionFromLag": {
				"input": {
					"type": "structure",
					"required": [
						"connectionId",
						"lagId"
					],
					"members": {
						"connectionId": {},
						"lagId": {}
					}
				},
				"output": {
					"shape": "S7"
				}
			},
			"TagResource": {
				"input": {
					"type": "structure",
					"required": [
						"resourceArn",
						"tags"
					],
					"members": {
						"resourceArn": {},
						"tags": {
							"shape": "S2x"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UntagResource": {
				"input": {
					"type": "structure",
					"required": [
						"resourceArn",
						"tagKeys"
					],
					"members": {
						"resourceArn": {},
						"tagKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateLag": {
				"input": {
					"type": "structure",
					"required": [
						"lagId"
					],
					"members": {
						"lagId": {},
						"lagName": {},
						"minimumLinks": {
							"type": "integer"
						}
					}
				},
				"output": {
					"shape": "S1o"
				}
			}
		},
		"shapes": {
			"S7": {
				"type": "structure",
				"members": {
					"ownerAccount": {},
					"connectionId": {},
					"connectionName": {},
					"connectionState": {},
					"region": {},
					"location": {},
					"bandwidth": {},
					"vlan": {
						"type": "integer"
					},
					"partnerName": {},
					"loaIssueTime": {
						"type": "timestamp"
					},
					"lagId": {},
					"awsDevice": {}
				}
			},
			"Sp": {
				"type": "structure",
				"members": {
					"ownerAccount": {},
					"virtualInterfaceId": {},
					"location": {},
					"connectionId": {},
					"virtualInterfaceType": {},
					"virtualInterfaceName": {},
					"vlan": {
						"type": "integer"
					},
					"asn": {
						"type": "integer"
					},
					"authKey": {},
					"amazonAddress": {},
					"customerAddress": {},
					"addressFamily": {},
					"virtualInterfaceState": {},
					"customerRouterConfig": {},
					"virtualGatewayId": {},
					"routeFilterPrefixes": {
						"shape": "Sv"
					},
					"bgpPeers": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"asn": {
									"type": "integer"
								},
								"authKey": {},
								"addressFamily": {},
								"amazonAddress": {},
								"customerAddress": {},
								"bgpPeerState": {},
								"bgpStatus": {}
							}
						}
					}
				}
			},
			"Sv": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"cidr": {}
					}
				}
			},
			"S1j": {
				"type": "structure",
				"members": {
					"interconnectId": {},
					"interconnectName": {},
					"interconnectState": {},
					"region": {},
					"location": {},
					"bandwidth": {},
					"loaIssueTime": {
						"type": "timestamp"
					},
					"lagId": {},
					"awsDevice": {}
				}
			},
			"S1o": {
				"type": "structure",
				"members": {
					"connectionsBandwidth": {},
					"numberOfConnections": {
						"type": "integer"
					},
					"lagId": {},
					"ownerAccount": {},
					"lagName": {},
					"lagState": {},
					"location": {},
					"region": {},
					"minimumLinks": {
						"type": "integer"
					},
					"awsDevice": {},
					"connections": {
						"shape": "S1q"
					},
					"allowsHostedConnections": {
						"type": "boolean"
					}
				}
			},
			"S1q": {
				"type": "list",
				"member": {
					"shape": "S7"
				}
			},
			"S28": {
				"type": "structure",
				"members": {
					"loaContent": {
						"type": "blob"
					},
					"loaContentType": {}
				}
			},
			"S2b": {
				"type": "structure",
				"members": {
					"connections": {
						"shape": "S1q"
					}
				}
			},
			"S2x": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"key"
					],
					"members": {
						"key": {},
						"value": {}
					}
				}
			}
		}
	};

/***/ }),
/* 394 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeConnections": {
				"result_key": "connections"
			},
			"DescribeConnectionsOnInterconnect": {
				"result_key": "connections"
			},
			"DescribeInterconnects": {
				"result_key": "interconnects"
			},
			"DescribeLocations": {
				"result_key": "locations"
			},
			"DescribeVirtualGateways": {
				"result_key": "virtualGateways"
			},
			"DescribeVirtualInterfaces": {
				"result_key": "virtualInterfaces"
			}
		}
	};

/***/ }),
/* 395 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['directoryservice'] = {};
	AWS.DirectoryService = Service.defineService('directoryservice', ['2015-04-16']);
	Object.defineProperty(apiLoader.services['directoryservice'], '2015-04-16', {
	  get: function get() {
	    var model = __webpack_require__(396);
	    model.paginators = __webpack_require__(397).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.DirectoryService;


/***/ }),
/* 396 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-04-16",
			"endpointPrefix": "ds",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Directory Service",
			"serviceFullName": "AWS Directory Service",
			"signatureVersion": "v4",
			"targetPrefix": "DirectoryService_20150416",
			"uid": "ds-2015-04-16"
		},
		"operations": {
			"AddIpRoutes": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"IpRoutes"
					],
					"members": {
						"DirectoryId": {},
						"IpRoutes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"CidrIp": {},
									"Description": {}
								}
							}
						},
						"UpdateSecurityGroupForDirectoryControllers": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AddTagsToResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"Tags"
					],
					"members": {
						"ResourceId": {},
						"Tags": {
							"shape": "Sb"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CancelSchemaExtension": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"SchemaExtensionId"
					],
					"members": {
						"DirectoryId": {},
						"SchemaExtensionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ConnectDirectory": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Password",
						"Size",
						"ConnectSettings"
					],
					"members": {
						"Name": {},
						"ShortName": {},
						"Password": {
							"shape": "Sm"
						},
						"Description": {},
						"Size": {},
						"ConnectSettings": {
							"type": "structure",
							"required": [
								"VpcId",
								"SubnetIds",
								"CustomerDnsIps",
								"CustomerUserName"
							],
							"members": {
								"VpcId": {},
								"SubnetIds": {
									"shape": "Sq"
								},
								"CustomerDnsIps": {
									"shape": "Ss"
								},
								"CustomerUserName": {}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DirectoryId": {}
					}
				}
			},
			"CreateAlias": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"Alias"
					],
					"members": {
						"DirectoryId": {},
						"Alias": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DirectoryId": {},
						"Alias": {}
					}
				}
			},
			"CreateComputer": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"ComputerName",
						"Password"
					],
					"members": {
						"DirectoryId": {},
						"ComputerName": {},
						"Password": {
							"type": "string",
							"sensitive": true
						},
						"OrganizationalUnitDistinguishedName": {},
						"ComputerAttributes": {
							"shape": "S13"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Computer": {
							"type": "structure",
							"members": {
								"ComputerId": {},
								"ComputerName": {},
								"ComputerAttributes": {
									"shape": "S13"
								}
							}
						}
					}
				}
			},
			"CreateConditionalForwarder": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"RemoteDomainName",
						"DnsIpAddrs"
					],
					"members": {
						"DirectoryId": {},
						"RemoteDomainName": {},
						"DnsIpAddrs": {
							"shape": "Ss"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateDirectory": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Password",
						"Size"
					],
					"members": {
						"Name": {},
						"ShortName": {},
						"Password": {
							"shape": "S1e"
						},
						"Description": {},
						"Size": {},
						"VpcSettings": {
							"shape": "S1f"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DirectoryId": {}
					}
				}
			},
			"CreateMicrosoftAD": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Password",
						"VpcSettings"
					],
					"members": {
						"Name": {},
						"ShortName": {},
						"Password": {
							"shape": "S1e"
						},
						"Description": {},
						"VpcSettings": {
							"shape": "S1f"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DirectoryId": {}
					}
				}
			},
			"CreateSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId"
					],
					"members": {
						"DirectoryId": {},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SnapshotId": {}
					}
				}
			},
			"CreateTrust": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"RemoteDomainName",
						"TrustPassword",
						"TrustDirection"
					],
					"members": {
						"DirectoryId": {},
						"RemoteDomainName": {},
						"TrustPassword": {
							"type": "string",
							"sensitive": true
						},
						"TrustDirection": {},
						"TrustType": {},
						"ConditionalForwarderIpAddrs": {
							"shape": "Ss"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TrustId": {}
					}
				}
			},
			"DeleteConditionalForwarder": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"RemoteDomainName"
					],
					"members": {
						"DirectoryId": {},
						"RemoteDomainName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteDirectory": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId"
					],
					"members": {
						"DirectoryId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DirectoryId": {}
					}
				}
			},
			"DeleteSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotId"
					],
					"members": {
						"SnapshotId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SnapshotId": {}
					}
				}
			},
			"DeleteTrust": {
				"input": {
					"type": "structure",
					"required": [
						"TrustId"
					],
					"members": {
						"TrustId": {},
						"DeleteAssociatedConditionalForwarder": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TrustId": {}
					}
				}
			},
			"DeregisterEventTopic": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"TopicName"
					],
					"members": {
						"DirectoryId": {},
						"TopicName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeConditionalForwarders": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId"
					],
					"members": {
						"DirectoryId": {},
						"RemoteDomainNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConditionalForwarders": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"RemoteDomainName": {},
									"DnsIpAddrs": {
										"shape": "Ss"
									},
									"ReplicationScope": {}
								}
							}
						}
					}
				}
			},
			"DescribeDirectories": {
				"input": {
					"type": "structure",
					"members": {
						"DirectoryIds": {
							"type": "list",
							"member": {}
						},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DirectoryDescriptions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DirectoryId": {},
									"Name": {},
									"ShortName": {},
									"Size": {},
									"Alias": {},
									"AccessUrl": {},
									"Description": {},
									"DnsIpAddrs": {
										"shape": "Ss"
									},
									"Stage": {},
									"LaunchTime": {
										"type": "timestamp"
									},
									"StageLastUpdatedDateTime": {
										"type": "timestamp"
									},
									"Type": {},
									"VpcSettings": {
										"type": "structure",
										"members": {
											"VpcId": {},
											"SubnetIds": {
												"shape": "Sq"
											},
											"SecurityGroupId": {},
											"AvailabilityZones": {
												"shape": "S2p"
											}
										}
									},
									"ConnectSettings": {
										"type": "structure",
										"members": {
											"VpcId": {},
											"SubnetIds": {
												"shape": "Sq"
											},
											"CustomerUserName": {},
											"SecurityGroupId": {},
											"AvailabilityZones": {
												"shape": "S2p"
											},
											"ConnectIps": {
												"type": "list",
												"member": {}
											}
										}
									},
									"RadiusSettings": {
										"shape": "S2t"
									},
									"RadiusStatus": {},
									"StageReason": {},
									"SsoEnabled": {
										"type": "boolean"
									},
									"DesiredNumberOfDomainControllers": {
										"type": "integer"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeDomainControllers": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId"
					],
					"members": {
						"DirectoryId": {},
						"DomainControllerIds": {
							"type": "list",
							"member": {}
						},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DomainControllers": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DirectoryId": {},
									"DomainControllerId": {},
									"DnsIpAddr": {},
									"VpcId": {},
									"SubnetId": {},
									"AvailabilityZone": {},
									"Status": {},
									"StatusReason": {},
									"LaunchTime": {
										"type": "timestamp"
									},
									"StatusLastUpdatedDateTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeEventTopics": {
				"input": {
					"type": "structure",
					"members": {
						"DirectoryId": {},
						"TopicNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EventTopics": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DirectoryId": {},
									"TopicName": {},
									"TopicArn": {},
									"CreatedDateTime": {
										"type": "timestamp"
									},
									"Status": {}
								}
							}
						}
					}
				}
			},
			"DescribeSnapshots": {
				"input": {
					"type": "structure",
					"members": {
						"DirectoryId": {},
						"SnapshotIds": {
							"type": "list",
							"member": {}
						},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Snapshots": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DirectoryId": {},
									"SnapshotId": {},
									"Type": {},
									"Name": {},
									"Status": {},
									"StartTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeTrusts": {
				"input": {
					"type": "structure",
					"members": {
						"DirectoryId": {},
						"TrustIds": {
							"type": "list",
							"member": {}
						},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Trusts": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DirectoryId": {},
									"TrustId": {},
									"RemoteDomainName": {},
									"TrustType": {},
									"TrustDirection": {},
									"TrustState": {},
									"CreatedDateTime": {
										"type": "timestamp"
									},
									"LastUpdatedDateTime": {
										"type": "timestamp"
									},
									"StateLastUpdatedDateTime": {
										"type": "timestamp"
									},
									"TrustStateReason": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DisableRadius": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId"
					],
					"members": {
						"DirectoryId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DisableSso": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId"
					],
					"members": {
						"DirectoryId": {},
						"UserName": {},
						"Password": {
							"shape": "Sm"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"EnableRadius": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"RadiusSettings"
					],
					"members": {
						"DirectoryId": {},
						"RadiusSettings": {
							"shape": "S2t"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"EnableSso": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId"
					],
					"members": {
						"DirectoryId": {},
						"UserName": {},
						"Password": {
							"shape": "Sm"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"GetDirectoryLimits": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"DirectoryLimits": {
							"type": "structure",
							"members": {
								"CloudOnlyDirectoriesLimit": {
									"type": "integer"
								},
								"CloudOnlyDirectoriesCurrentCount": {
									"type": "integer"
								},
								"CloudOnlyDirectoriesLimitReached": {
									"type": "boolean"
								},
								"CloudOnlyMicrosoftADLimit": {
									"type": "integer"
								},
								"CloudOnlyMicrosoftADCurrentCount": {
									"type": "integer"
								},
								"CloudOnlyMicrosoftADLimitReached": {
									"type": "boolean"
								},
								"ConnectedDirectoriesLimit": {
									"type": "integer"
								},
								"ConnectedDirectoriesCurrentCount": {
									"type": "integer"
								},
								"ConnectedDirectoriesLimitReached": {
									"type": "boolean"
								}
							}
						}
					}
				}
			},
			"GetSnapshotLimits": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId"
					],
					"members": {
						"DirectoryId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SnapshotLimits": {
							"type": "structure",
							"members": {
								"ManualSnapshotsLimit": {
									"type": "integer"
								},
								"ManualSnapshotsCurrentCount": {
									"type": "integer"
								},
								"ManualSnapshotsLimitReached": {
									"type": "boolean"
								}
							}
						}
					}
				}
			},
			"ListIpRoutes": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId"
					],
					"members": {
						"DirectoryId": {},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IpRoutesInfo": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DirectoryId": {},
									"CidrIp": {},
									"IpRouteStatusMsg": {},
									"AddedDateTime": {
										"type": "timestamp"
									},
									"IpRouteStatusReason": {},
									"Description": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListSchemaExtensions": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId"
					],
					"members": {
						"DirectoryId": {},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SchemaExtensionsInfo": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DirectoryId": {},
									"SchemaExtensionId": {},
									"Description": {},
									"SchemaExtensionStatus": {},
									"SchemaExtensionStatusReason": {},
									"StartDateTime": {
										"type": "timestamp"
									},
									"EndDateTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId"
					],
					"members": {
						"ResourceId": {},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "Sb"
						},
						"NextToken": {}
					}
				}
			},
			"RegisterEventTopic": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"TopicName"
					],
					"members": {
						"DirectoryId": {},
						"TopicName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"RemoveIpRoutes": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"CidrIps"
					],
					"members": {
						"DirectoryId": {},
						"CidrIps": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"RemoveTagsFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"TagKeys"
					],
					"members": {
						"ResourceId": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"RestoreFromSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotId"
					],
					"members": {
						"SnapshotId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"StartSchemaExtension": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"CreateSnapshotBeforeSchemaExtension",
						"LdifContent",
						"Description"
					],
					"members": {
						"DirectoryId": {},
						"CreateSnapshotBeforeSchemaExtension": {
							"type": "boolean"
						},
						"LdifContent": {},
						"Description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SchemaExtensionId": {}
					}
				}
			},
			"UpdateConditionalForwarder": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"RemoteDomainName",
						"DnsIpAddrs"
					],
					"members": {
						"DirectoryId": {},
						"RemoteDomainName": {},
						"DnsIpAddrs": {
							"shape": "Ss"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateNumberOfDomainControllers": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"DesiredNumber"
					],
					"members": {
						"DirectoryId": {},
						"DesiredNumber": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateRadius": {
				"input": {
					"type": "structure",
					"required": [
						"DirectoryId",
						"RadiusSettings"
					],
					"members": {
						"DirectoryId": {},
						"RadiusSettings": {
							"shape": "S2t"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"VerifyTrust": {
				"input": {
					"type": "structure",
					"required": [
						"TrustId"
					],
					"members": {
						"TrustId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TrustId": {}
					}
				}
			}
		},
		"shapes": {
			"Sb": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key",
						"Value"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sm": {
				"type": "string",
				"sensitive": true
			},
			"Sq": {
				"type": "list",
				"member": {}
			},
			"Ss": {
				"type": "list",
				"member": {}
			},
			"S13": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Name": {},
						"Value": {}
					}
				}
			},
			"S1e": {
				"type": "string",
				"sensitive": true
			},
			"S1f": {
				"type": "structure",
				"required": [
					"VpcId",
					"SubnetIds"
				],
				"members": {
					"VpcId": {},
					"SubnetIds": {
						"shape": "Sq"
					}
				}
			},
			"S2p": {
				"type": "list",
				"member": {}
			},
			"S2t": {
				"type": "structure",
				"members": {
					"RadiusServers": {
						"type": "list",
						"member": {}
					},
					"RadiusPort": {
						"type": "integer"
					},
					"RadiusTimeout": {
						"type": "integer"
					},
					"RadiusRetries": {
						"type": "integer"
					},
					"SharedSecret": {
						"type": "string",
						"sensitive": true
					},
					"AuthenticationProtocol": {},
					"DisplayLabel": {},
					"UseSameUsername": {
						"type": "boolean"
					}
				}
			}
		}
	};

/***/ }),
/* 397 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeDomainControllers": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "Limit"
			}
		}
	};

/***/ }),
/* 398 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['discovery'] = {};
	AWS.Discovery = Service.defineService('discovery', ['2015-11-01']);
	Object.defineProperty(apiLoader.services['discovery'], '2015-11-01', {
	  get: function get() {
	    var model = __webpack_require__(399);
	    model.paginators = __webpack_require__(400).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Discovery;


/***/ }),
/* 399 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-11-01",
			"endpointPrefix": "discovery",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS Application Discovery Service",
			"signatureVersion": "v4",
			"targetPrefix": "AWSPoseidonService_V2015_11_01",
			"uid": "discovery-2015-11-01"
		},
		"operations": {
			"AssociateConfigurationItemsToApplication": {
				"input": {
					"type": "structure",
					"required": [
						"applicationConfigurationId",
						"configurationIds"
					],
					"members": {
						"applicationConfigurationId": {},
						"configurationIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateApplication": {
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {},
						"description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"configurationId": {}
					}
				}
			},
			"CreateTags": {
				"input": {
					"type": "structure",
					"required": [
						"configurationIds",
						"tags"
					],
					"members": {
						"configurationIds": {
							"shape": "S3"
						},
						"tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteApplications": {
				"input": {
					"type": "structure",
					"required": [
						"configurationIds"
					],
					"members": {
						"configurationIds": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteTags": {
				"input": {
					"type": "structure",
					"required": [
						"configurationIds"
					],
					"members": {
						"configurationIds": {
							"shape": "S3"
						},
						"tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeAgents": {
				"input": {
					"type": "structure",
					"members": {
						"agentIds": {
							"shape": "Sl"
						},
						"filters": {
							"shape": "Sn"
						},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"agentsInfo": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"agentId": {},
									"hostName": {},
									"agentNetworkInfoList": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"ipAddress": {},
												"macAddress": {}
											}
										}
									},
									"connectorId": {},
									"version": {},
									"health": {},
									"lastHealthPingTime": {},
									"collectionStatus": {},
									"agentType": {},
									"registeredTime": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"DescribeConfigurations": {
				"input": {
					"type": "structure",
					"required": [
						"configurationIds"
					],
					"members": {
						"configurationIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"configurations": {
							"type": "list",
							"member": {
								"type": "map",
								"key": {},
								"value": {}
							}
						}
					}
				}
			},
			"DescribeExportConfigurations": {
				"input": {
					"type": "structure",
					"members": {
						"exportIds": {
							"shape": "S15"
						},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"exportsInfo": {
							"shape": "S18"
						},
						"nextToken": {}
					}
				},
				"deprecated": true
			},
			"DescribeExportTasks": {
				"input": {
					"type": "structure",
					"members": {
						"exportIds": {
							"shape": "S15"
						},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"exportsInfo": {
							"shape": "S18"
						},
						"nextToken": {}
					}
				}
			},
			"DescribeTags": {
				"input": {
					"type": "structure",
					"members": {
						"filters": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"name",
									"values"
								],
								"members": {
									"name": {},
									"values": {
										"shape": "Sp"
									}
								}
							}
						},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"tags": {
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"configurationType": {},
									"configurationId": {},
									"key": {},
									"value": {},
									"timeOfCreation": {
										"type": "timestamp"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"DisassociateConfigurationItemsFromApplication": {
				"input": {
					"type": "structure",
					"required": [
						"applicationConfigurationId",
						"configurationIds"
					],
					"members": {
						"applicationConfigurationId": {},
						"configurationIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ExportConfigurations": {
				"output": {
					"type": "structure",
					"members": {
						"exportId": {}
					}
				},
				"deprecated": true
			},
			"GetDiscoverySummary": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"servers": {
							"type": "long"
						},
						"applications": {
							"type": "long"
						},
						"serversMappedToApplications": {
							"type": "long"
						},
						"serversMappedtoTags": {
							"type": "long"
						},
						"agentSummary": {
							"type": "structure",
							"required": [
								"activeAgents",
								"healthyAgents",
								"blackListedAgents",
								"shutdownAgents",
								"unhealthyAgents",
								"totalAgents",
								"unknownAgents"
							],
							"members": {
								"activeAgents": {
									"type": "integer"
								},
								"healthyAgents": {
									"type": "integer"
								},
								"blackListedAgents": {
									"type": "integer"
								},
								"shutdownAgents": {
									"type": "integer"
								},
								"unhealthyAgents": {
									"type": "integer"
								},
								"totalAgents": {
									"type": "integer"
								},
								"unknownAgents": {
									"type": "integer"
								}
							}
						},
						"connectorSummary": {
							"type": "structure",
							"required": [
								"activeConnectors",
								"healthyConnectors",
								"blackListedConnectors",
								"shutdownConnectors",
								"unhealthyConnectors",
								"totalConnectors",
								"unknownConnectors"
							],
							"members": {
								"activeConnectors": {
									"type": "integer"
								},
								"healthyConnectors": {
									"type": "integer"
								},
								"blackListedConnectors": {
									"type": "integer"
								},
								"shutdownConnectors": {
									"type": "integer"
								},
								"unhealthyConnectors": {
									"type": "integer"
								},
								"totalConnectors": {
									"type": "integer"
								},
								"unknownConnectors": {
									"type": "integer"
								}
							}
						}
					}
				}
			},
			"ListConfigurations": {
				"input": {
					"type": "structure",
					"required": [
						"configurationType"
					],
					"members": {
						"configurationType": {},
						"filters": {
							"shape": "Sn"
						},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {},
						"orderBy": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"fieldName"
								],
								"members": {
									"fieldName": {},
									"sortOrder": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"configurations": {
							"type": "list",
							"member": {
								"type": "map",
								"key": {},
								"value": {}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListServerNeighbors": {
				"input": {
					"type": "structure",
					"required": [
						"configurationId"
					],
					"members": {
						"configurationId": {},
						"portInformationNeeded": {
							"type": "boolean"
						},
						"neighborConfigurationIds": {
							"shape": "S3"
						},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"neighbors"
					],
					"members": {
						"neighbors": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"sourceServerId",
									"destinationServerId",
									"connectionsCount"
								],
								"members": {
									"sourceServerId": {},
									"destinationServerId": {},
									"destinationPort": {
										"type": "integer"
									},
									"transportProtocol": {},
									"connectionsCount": {
										"type": "long"
									}
								}
							}
						},
						"nextToken": {},
						"knownDependencyCount": {
							"type": "long"
						}
					}
				}
			},
			"StartDataCollectionByAgentIds": {
				"input": {
					"type": "structure",
					"required": [
						"agentIds"
					],
					"members": {
						"agentIds": {
							"shape": "Sl"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"agentsConfigurationStatus": {
							"shape": "S2c"
						}
					}
				}
			},
			"StartExportTask": {
				"input": {
					"type": "structure",
					"members": {
						"exportDataFormat": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"exportId": {}
					}
				}
			},
			"StopDataCollectionByAgentIds": {
				"input": {
					"type": "structure",
					"required": [
						"agentIds"
					],
					"members": {
						"agentIds": {
							"shape": "Sl"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"agentsConfigurationStatus": {
							"shape": "S2c"
						}
					}
				}
			},
			"UpdateApplication": {
				"input": {
					"type": "structure",
					"required": [
						"configurationId"
					],
					"members": {
						"configurationId": {},
						"name": {},
						"description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {}
			},
			"Sa": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"required": [
						"key",
						"value"
					],
					"members": {
						"key": {},
						"value": {}
					}
				}
			},
			"Sl": {
				"type": "list",
				"member": {}
			},
			"Sn": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"name",
						"values",
						"condition"
					],
					"members": {
						"name": {},
						"values": {
							"shape": "Sp"
						},
						"condition": {}
					}
				}
			},
			"Sp": {
				"type": "list",
				"member": {
					"locationName": "item"
				}
			},
			"S15": {
				"type": "list",
				"member": {}
			},
			"S18": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"exportId",
						"exportStatus",
						"statusMessage",
						"exportRequestTime"
					],
					"members": {
						"exportId": {},
						"exportStatus": {},
						"statusMessage": {},
						"configurationsDownloadUrl": {},
						"exportRequestTime": {
							"type": "timestamp"
						}
					}
				}
			},
			"S2c": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"agentId": {},
						"operationSucceeded": {
							"type": "boolean"
						},
						"description": {}
					}
				}
			}
		}
	};

/***/ }),
/* 400 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 401 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['dms'] = {};
	AWS.DMS = Service.defineService('dms', ['2016-01-01']);
	Object.defineProperty(apiLoader.services['dms'], '2016-01-01', {
	  get: function get() {
	    var model = __webpack_require__(402);
	    model.paginators = __webpack_require__(403).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.DMS;


/***/ }),
/* 402 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-01-01",
			"endpointPrefix": "dms",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS Database Migration Service",
			"signatureVersion": "v4",
			"targetPrefix": "AmazonDMSv20160101",
			"uid": "dms-2016-01-01"
		},
		"operations": {
			"AddTagsToResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn",
						"Tags"
					],
					"members": {
						"ResourceArn": {},
						"Tags": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateEndpoint": {
				"input": {
					"type": "structure",
					"required": [
						"EndpointIdentifier",
						"EndpointType",
						"EngineName"
					],
					"members": {
						"EndpointIdentifier": {},
						"EndpointType": {},
						"EngineName": {},
						"Username": {},
						"Password": {
							"shape": "S8"
						},
						"ServerName": {},
						"Port": {
							"type": "integer"
						},
						"DatabaseName": {},
						"ExtraConnectionAttributes": {},
						"KmsKeyId": {},
						"Tags": {
							"shape": "S3"
						},
						"CertificateArn": {},
						"SslMode": {},
						"DynamoDbSettings": {
							"shape": "Sb"
						},
						"S3Settings": {
							"shape": "Sc"
						},
						"MongoDbSettings": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Endpoint": {
							"shape": "Sj"
						}
					}
				}
			},
			"CreateEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SnsTopicArn"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "Sl"
						},
						"SourceIds": {
							"shape": "Sm"
						},
						"Enabled": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "Sp"
						}
					}
				}
			},
			"CreateReplicationInstance": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationInstanceIdentifier",
						"ReplicationInstanceClass"
					],
					"members": {
						"ReplicationInstanceIdentifier": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"ReplicationInstanceClass": {},
						"VpcSecurityGroupIds": {
							"shape": "Ss"
						},
						"AvailabilityZone": {},
						"ReplicationSubnetGroupIdentifier": {},
						"PreferredMaintenanceWindow": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "S3"
						},
						"KmsKeyId": {},
						"PubliclyAccessible": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationInstance": {
							"shape": "Su"
						}
					}
				}
			},
			"CreateReplicationSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationSubnetGroupIdentifier",
						"ReplicationSubnetGroupDescription",
						"SubnetIds"
					],
					"members": {
						"ReplicationSubnetGroupIdentifier": {},
						"ReplicationSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S17"
						},
						"Tags": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationSubnetGroup": {
							"shape": "Sz"
						}
					}
				}
			},
			"CreateReplicationTask": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationTaskIdentifier",
						"SourceEndpointArn",
						"TargetEndpointArn",
						"ReplicationInstanceArn",
						"MigrationType",
						"TableMappings"
					],
					"members": {
						"ReplicationTaskIdentifier": {},
						"SourceEndpointArn": {},
						"TargetEndpointArn": {},
						"ReplicationInstanceArn": {},
						"MigrationType": {},
						"TableMappings": {},
						"ReplicationTaskSettings": {},
						"CdcStartTime": {
							"type": "timestamp"
						},
						"Tags": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationTask": {
							"shape": "S1c"
						}
					}
				}
			},
			"DeleteCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateArn"
					],
					"members": {
						"CertificateArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Certificate": {
							"shape": "S1h"
						}
					}
				}
			},
			"DeleteEndpoint": {
				"input": {
					"type": "structure",
					"required": [
						"EndpointArn"
					],
					"members": {
						"EndpointArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Endpoint": {
							"shape": "Sj"
						}
					}
				}
			},
			"DeleteEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "Sp"
						}
					}
				}
			},
			"DeleteReplicationInstance": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationInstanceArn"
					],
					"members": {
						"ReplicationInstanceArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationInstance": {
							"shape": "Su"
						}
					}
				}
			},
			"DeleteReplicationSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationSubnetGroupIdentifier"
					],
					"members": {
						"ReplicationSubnetGroupIdentifier": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteReplicationTask": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationTaskArn"
					],
					"members": {
						"ReplicationTaskArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationTask": {
							"shape": "S1c"
						}
					}
				}
			},
			"DescribeAccountAttributes": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"AccountQuotas": {
							"type": "list",
							"member": {
								"locationName": "AccountQuota",
								"type": "structure",
								"members": {
									"AccountQuotaName": {},
									"Used": {
										"type": "long"
									},
									"Max": {
										"type": "long"
									}
								}
							}
						}
					}
				}
			},
			"DescribeCertificates": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S1y"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"Certificates": {
							"type": "list",
							"member": {
								"shape": "S1h",
								"locationName": "Certificate"
							}
						}
					}
				}
			},
			"DescribeConnections": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S1y"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"Connections": {
							"type": "list",
							"member": {
								"shape": "S26",
								"locationName": "Connection"
							}
						}
					}
				}
			},
			"DescribeEndpointTypes": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S1y"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"SupportedEndpointTypes": {
							"type": "list",
							"member": {
								"locationName": "SupportedEndpointType",
								"type": "structure",
								"members": {
									"EngineName": {},
									"SupportsCDC": {
										"type": "boolean"
									},
									"EndpointType": {}
								}
							}
						}
					}
				}
			},
			"DescribeEndpoints": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S1y"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"Endpoints": {
							"type": "list",
							"member": {
								"shape": "Sj",
								"locationName": "Endpoint"
							}
						}
					}
				}
			},
			"DescribeEventCategories": {
				"input": {
					"type": "structure",
					"members": {
						"SourceType": {},
						"Filters": {
							"shape": "S1y"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EventCategoryGroupList": {
							"type": "list",
							"member": {
								"locationName": "EventCategoryGroup",
								"type": "structure",
								"members": {
									"SourceType": {},
									"EventCategories": {
										"shape": "Sl"
									}
								}
							}
						}
					}
				}
			},
			"DescribeEventSubscriptions": {
				"input": {
					"type": "structure",
					"members": {
						"SubscriptionName": {},
						"Filters": {
							"shape": "S1y"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"EventSubscriptionsList": {
							"type": "list",
							"member": {
								"shape": "Sp",
								"locationName": "EventSubscription"
							}
						}
					}
				}
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"members": {
						"SourceIdentifier": {},
						"SourceType": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Duration": {
							"type": "integer"
						},
						"EventCategories": {
							"shape": "Sl"
						},
						"Filters": {
							"shape": "S1y"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"Events": {
							"type": "list",
							"member": {
								"locationName": "Event",
								"type": "structure",
								"members": {
									"SourceIdentifier": {},
									"SourceType": {},
									"Message": {},
									"EventCategories": {
										"shape": "Sl"
									},
									"Date": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeOrderableReplicationInstances": {
				"input": {
					"type": "structure",
					"members": {
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"OrderableReplicationInstances": {
							"type": "list",
							"member": {
								"locationName": "OrderableReplicationInstance",
								"type": "structure",
								"members": {
									"EngineVersion": {},
									"ReplicationInstanceClass": {},
									"StorageType": {},
									"MinAllocatedStorage": {
										"type": "integer"
									},
									"MaxAllocatedStorage": {
										"type": "integer"
									},
									"DefaultAllocatedStorage": {
										"type": "integer"
									},
									"IncludedAllocatedStorage": {
										"type": "integer"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeRefreshSchemasStatus": {
				"input": {
					"type": "structure",
					"required": [
						"EndpointArn"
					],
					"members": {
						"EndpointArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RefreshSchemasStatus": {
							"shape": "S2w"
						}
					}
				}
			},
			"DescribeReplicationInstances": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S1y"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"ReplicationInstances": {
							"type": "list",
							"member": {
								"shape": "Su",
								"locationName": "ReplicationInstance"
							}
						}
					}
				}
			},
			"DescribeReplicationSubnetGroups": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S1y"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"ReplicationSubnetGroups": {
							"type": "list",
							"member": {
								"shape": "Sz",
								"locationName": "ReplicationSubnetGroup"
							}
						}
					}
				}
			},
			"DescribeReplicationTasks": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S1y"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"ReplicationTasks": {
							"type": "list",
							"member": {
								"shape": "S1c",
								"locationName": "ReplicationTask"
							}
						}
					}
				}
			},
			"DescribeSchemas": {
				"input": {
					"type": "structure",
					"required": [
						"EndpointArn"
					],
					"members": {
						"EndpointArn": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"Schemas": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"DescribeTableStatistics": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationTaskArn"
					],
					"members": {
						"ReplicationTaskArn": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationTaskArn": {},
						"TableStatistics": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"SchemaName": {},
									"TableName": {},
									"Inserts": {
										"type": "long"
									},
									"Deletes": {
										"type": "long"
									},
									"Updates": {
										"type": "long"
									},
									"Ddls": {
										"type": "long"
									},
									"FullLoadRows": {
										"type": "long"
									},
									"FullLoadCondtnlChkFailedRows": {
										"type": "long"
									},
									"FullLoadErrorRows": {
										"type": "long"
									},
									"LastUpdateTime": {
										"type": "timestamp"
									},
									"TableState": {}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ImportCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateIdentifier"
					],
					"members": {
						"CertificateIdentifier": {},
						"CertificatePem": {},
						"CertificateWallet": {
							"type": "blob"
						},
						"Tags": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Certificate": {
							"shape": "S1h"
						}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn"
					],
					"members": {
						"ResourceArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TagList": {
							"shape": "S3"
						}
					}
				}
			},
			"ModifyEndpoint": {
				"input": {
					"type": "structure",
					"required": [
						"EndpointArn"
					],
					"members": {
						"EndpointArn": {},
						"EndpointIdentifier": {},
						"EndpointType": {},
						"EngineName": {},
						"Username": {},
						"Password": {
							"shape": "S8"
						},
						"ServerName": {},
						"Port": {
							"type": "integer"
						},
						"DatabaseName": {},
						"ExtraConnectionAttributes": {},
						"CertificateArn": {},
						"SslMode": {},
						"DynamoDbSettings": {
							"shape": "Sb"
						},
						"S3Settings": {
							"shape": "Sc"
						},
						"MongoDbSettings": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Endpoint": {
							"shape": "Sj"
						}
					}
				}
			},
			"ModifyEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "Sl"
						},
						"Enabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "Sp"
						}
					}
				}
			},
			"ModifyReplicationInstance": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationInstanceArn"
					],
					"members": {
						"ReplicationInstanceArn": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"ApplyImmediately": {
							"type": "boolean"
						},
						"ReplicationInstanceClass": {},
						"VpcSecurityGroupIds": {
							"shape": "Ss"
						},
						"PreferredMaintenanceWindow": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AllowMajorVersionUpgrade": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"ReplicationInstanceIdentifier": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationInstance": {
							"shape": "Su"
						}
					}
				}
			},
			"ModifyReplicationSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationSubnetGroupIdentifier",
						"SubnetIds"
					],
					"members": {
						"ReplicationSubnetGroupIdentifier": {},
						"ReplicationSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S17"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationSubnetGroup": {
							"shape": "Sz"
						}
					}
				}
			},
			"ModifyReplicationTask": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationTaskArn"
					],
					"members": {
						"ReplicationTaskArn": {},
						"ReplicationTaskIdentifier": {},
						"MigrationType": {},
						"TableMappings": {},
						"ReplicationTaskSettings": {},
						"CdcStartTime": {
							"type": "timestamp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationTask": {
							"shape": "S1c"
						}
					}
				}
			},
			"RefreshSchemas": {
				"input": {
					"type": "structure",
					"required": [
						"EndpointArn",
						"ReplicationInstanceArn"
					],
					"members": {
						"EndpointArn": {},
						"ReplicationInstanceArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RefreshSchemasStatus": {
							"shape": "S2w"
						}
					}
				}
			},
			"ReloadTables": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationTaskArn",
						"TablesToReload"
					],
					"members": {
						"ReplicationTaskArn": {},
						"TablesToReload": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"SchemaName": {},
									"TableName": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationTaskArn": {}
					}
				}
			},
			"RemoveTagsFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn",
						"TagKeys"
					],
					"members": {
						"ResourceArn": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"StartReplicationTask": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationTaskArn",
						"StartReplicationTaskType"
					],
					"members": {
						"ReplicationTaskArn": {},
						"StartReplicationTaskType": {},
						"CdcStartTime": {
							"type": "timestamp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationTask": {
							"shape": "S1c"
						}
					}
				}
			},
			"StopReplicationTask": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationTaskArn"
					],
					"members": {
						"ReplicationTaskArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationTask": {
							"shape": "S1c"
						}
					}
				}
			},
			"TestConnection": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationInstanceArn",
						"EndpointArn"
					],
					"members": {
						"ReplicationInstanceArn": {},
						"EndpointArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Connection": {
							"shape": "S26"
						}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {
					"locationName": "Tag",
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S8": {
				"type": "string",
				"sensitive": true
			},
			"Sb": {
				"type": "structure",
				"required": [
					"ServiceAccessRoleArn"
				],
				"members": {
					"ServiceAccessRoleArn": {}
				}
			},
			"Sc": {
				"type": "structure",
				"members": {
					"ServiceAccessRoleArn": {},
					"ExternalTableDefinition": {},
					"CsvRowDelimiter": {},
					"CsvDelimiter": {},
					"BucketFolder": {},
					"BucketName": {},
					"CompressionType": {}
				}
			},
			"Se": {
				"type": "structure",
				"members": {
					"Username": {},
					"Password": {
						"shape": "S8"
					},
					"ServerName": {},
					"Port": {
						"type": "integer"
					},
					"DatabaseName": {},
					"AuthType": {},
					"AuthMechanism": {},
					"NestingLevel": {},
					"ExtractDocId": {},
					"DocsToInvestigate": {},
					"AuthSource": {}
				}
			},
			"Sj": {
				"type": "structure",
				"members": {
					"EndpointIdentifier": {},
					"EndpointType": {},
					"EngineName": {},
					"Username": {},
					"ServerName": {},
					"Port": {
						"type": "integer"
					},
					"DatabaseName": {},
					"ExtraConnectionAttributes": {},
					"Status": {},
					"KmsKeyId": {},
					"EndpointArn": {},
					"CertificateArn": {},
					"SslMode": {},
					"ExternalId": {},
					"DynamoDbSettings": {
						"shape": "Sb"
					},
					"S3Settings": {
						"shape": "Sc"
					},
					"MongoDbSettings": {
						"shape": "Se"
					}
				}
			},
			"Sl": {
				"type": "list",
				"member": {
					"locationName": "EventCategory"
				}
			},
			"Sm": {
				"type": "list",
				"member": {
					"locationName": "SourceId"
				}
			},
			"Sp": {
				"type": "structure",
				"members": {
					"CustomerAwsId": {},
					"CustSubscriptionId": {},
					"SnsTopicArn": {},
					"Status": {},
					"SubscriptionCreationTime": {},
					"SourceType": {},
					"SourceIdsList": {
						"shape": "Sm"
					},
					"EventCategoriesList": {
						"shape": "Sl"
					},
					"Enabled": {
						"type": "boolean"
					}
				}
			},
			"Ss": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupId"
				}
			},
			"Su": {
				"type": "structure",
				"members": {
					"ReplicationInstanceIdentifier": {},
					"ReplicationInstanceClass": {},
					"ReplicationInstanceStatus": {},
					"AllocatedStorage": {
						"type": "integer"
					},
					"InstanceCreateTime": {
						"type": "timestamp"
					},
					"VpcSecurityGroups": {
						"type": "list",
						"member": {
							"locationName": "VpcSecurityGroupMembership",
							"type": "structure",
							"members": {
								"VpcSecurityGroupId": {},
								"Status": {}
							}
						}
					},
					"AvailabilityZone": {},
					"ReplicationSubnetGroup": {
						"shape": "Sz"
					},
					"PreferredMaintenanceWindow": {},
					"PendingModifiedValues": {
						"type": "structure",
						"members": {
							"ReplicationInstanceClass": {},
							"AllocatedStorage": {
								"type": "integer"
							},
							"MultiAZ": {
								"type": "boolean"
							},
							"EngineVersion": {}
						}
					},
					"MultiAZ": {
						"type": "boolean"
					},
					"EngineVersion": {},
					"AutoMinorVersionUpgrade": {
						"type": "boolean"
					},
					"KmsKeyId": {},
					"ReplicationInstanceArn": {},
					"ReplicationInstancePublicIpAddress": {
						"deprecated": true
					},
					"ReplicationInstancePrivateIpAddress": {
						"deprecated": true
					},
					"ReplicationInstancePublicIpAddresses": {
						"type": "list",
						"member": {}
					},
					"ReplicationInstancePrivateIpAddresses": {
						"type": "list",
						"member": {}
					},
					"PubliclyAccessible": {
						"type": "boolean"
					},
					"SecondaryAvailabilityZone": {}
				}
			},
			"Sz": {
				"type": "structure",
				"members": {
					"ReplicationSubnetGroupIdentifier": {},
					"ReplicationSubnetGroupDescription": {},
					"VpcId": {},
					"SubnetGroupStatus": {},
					"Subnets": {
						"type": "list",
						"member": {
							"locationName": "Subnet",
							"type": "structure",
							"members": {
								"SubnetIdentifier": {},
								"SubnetAvailabilityZone": {
									"type": "structure",
									"members": {
										"Name": {}
									}
								},
								"SubnetStatus": {}
							}
						}
					}
				}
			},
			"S17": {
				"type": "list",
				"member": {
					"locationName": "SubnetIdentifier"
				}
			},
			"S1c": {
				"type": "structure",
				"members": {
					"ReplicationTaskIdentifier": {},
					"SourceEndpointArn": {},
					"TargetEndpointArn": {},
					"ReplicationInstanceArn": {},
					"MigrationType": {},
					"TableMappings": {},
					"ReplicationTaskSettings": {},
					"Status": {},
					"LastFailureMessage": {},
					"StopReason": {},
					"ReplicationTaskCreationDate": {
						"type": "timestamp"
					},
					"ReplicationTaskStartDate": {
						"type": "timestamp"
					},
					"ReplicationTaskArn": {},
					"ReplicationTaskStats": {
						"type": "structure",
						"members": {
							"FullLoadProgressPercent": {
								"type": "integer"
							},
							"ElapsedTimeMillis": {
								"type": "long"
							},
							"TablesLoaded": {
								"type": "integer"
							},
							"TablesLoading": {
								"type": "integer"
							},
							"TablesQueued": {
								"type": "integer"
							},
							"TablesErrored": {
								"type": "integer"
							}
						}
					}
				}
			},
			"S1h": {
				"type": "structure",
				"members": {
					"CertificateIdentifier": {},
					"CertificateCreationDate": {
						"type": "timestamp"
					},
					"CertificatePem": {},
					"CertificateWallet": {
						"type": "blob"
					},
					"CertificateArn": {},
					"CertificateOwner": {},
					"ValidFromDate": {
						"type": "timestamp"
					},
					"ValidToDate": {
						"type": "timestamp"
					},
					"SigningAlgorithm": {},
					"KeyLength": {
						"type": "integer"
					}
				}
			},
			"S1y": {
				"type": "list",
				"member": {
					"locationName": "Filter",
					"type": "structure",
					"required": [
						"Name",
						"Values"
					],
					"members": {
						"Name": {},
						"Values": {
							"type": "list",
							"member": {
								"locationName": "Value"
							}
						}
					}
				}
			},
			"S26": {
				"type": "structure",
				"members": {
					"ReplicationInstanceArn": {},
					"EndpointArn": {},
					"Status": {},
					"LastFailureMessage": {},
					"EndpointIdentifier": {},
					"ReplicationInstanceIdentifier": {}
				}
			},
			"S2w": {
				"type": "structure",
				"members": {
					"EndpointArn": {},
					"ReplicationInstanceArn": {},
					"Status": {},
					"LastRefreshDate": {
						"type": "timestamp"
					},
					"LastFailureMessage": {}
				}
			}
		}
	};

/***/ }),
/* 403 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeCertificates": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			},
			"DescribeConnections": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			},
			"DescribeEndpointTypes": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			},
			"DescribeEndpoints": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			},
			"DescribeEventSubscriptions": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			},
			"DescribeEvents": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			},
			"DescribeOrderableReplicationInstances": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			},
			"DescribeReplicationInstances": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			},
			"DescribeReplicationSubnetGroups": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			},
			"DescribeReplicationTasks": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			},
			"DescribeSchemas": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			},
			"DescribeTableStatistics": {
				"input_token": "Marker",
				"output_token": "Marker",
				"limit_key": "MaxRecords"
			}
		}
	};

/***/ }),
/* 404 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['dynamodb'] = {};
	AWS.DynamoDB = Service.defineService('dynamodb', ['2011-12-05', '2012-08-10']);
	__webpack_require__(405);
	Object.defineProperty(apiLoader.services['dynamodb'], '2011-12-05', {
	  get: function get() {
	    var model = __webpack_require__(411);
	    model.paginators = __webpack_require__(412).pagination;
	    model.waiters = __webpack_require__(413).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});
	Object.defineProperty(apiLoader.services['dynamodb'], '2012-08-10', {
	  get: function get() {
	    var model = __webpack_require__(414);
	    model.paginators = __webpack_require__(415).pagination;
	    model.waiters = __webpack_require__(416).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.DynamoDB;


/***/ }),
/* 405 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	__webpack_require__(406);

	AWS.util.update(AWS.DynamoDB.prototype, {
	  /**
	   * @api private
	   */
	  setupRequestListeners: function setupRequestListeners(request) {
	    if (request.service.config.dynamoDbCrc32) {
	      request.removeListener('extractData', AWS.EventListeners.Json.EXTRACT_DATA);
	      request.addListener('extractData', this.checkCrc32);
	      request.addListener('extractData', AWS.EventListeners.Json.EXTRACT_DATA);
	    }
	  },

	  /**
	   * @api private
	   */
	  checkCrc32: function checkCrc32(resp) {
	    if (!resp.httpResponse.streaming && !resp.request.service.crc32IsValid(resp)) {
	      resp.data = null;
	      resp.error = AWS.util.error(new Error(), {
	        code: 'CRC32CheckFailed',
	        message: 'CRC32 integrity check failed',
	        retryable: true
	      });
	      resp.request.haltHandlersOnError();
	      throw (resp.error);
	    }
	  },

	  /**
	   * @api private
	   */
	  crc32IsValid: function crc32IsValid(resp) {
	    var crc = resp.httpResponse.headers['x-amz-crc32'];
	    if (!crc) return true; // no (valid) CRC32 header
	    return parseInt(crc, 10) === AWS.util.crypto.crc32(resp.httpResponse.body);
	  },

	  /**
	   * @api private
	   */
	  defaultRetryCount: 10,

	  /**
	   * @api private
	   */
	  retryDelays: function retryDelays(retryCount) {
	    var retryDelayOptions = AWS.util.copy(this.config.retryDelayOptions);

	    if (typeof retryDelayOptions.base !== 'number') {
	        retryDelayOptions.base = 50; // default for dynamodb
	    }
	    var delay = AWS.util.calculateRetryDelay(retryCount, retryDelayOptions);
	    return delay;
	  }
	});


/***/ }),
/* 406 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var Translator = __webpack_require__(407);
	var DynamoDBSet = __webpack_require__(410);

	/**
	 * The document client simplifies working with items in Amazon DynamoDB
	 * by abstracting away the notion of attribute values. This abstraction
	 * annotates native JavaScript types supplied as input parameters, as well
	 * as converts annotated response data to native JavaScript types.
	 *
	 * ## Marshalling Input and Unmarshalling Response Data
	 *
	 * The document client affords developers the use of native JavaScript types
	 * instead of `AttributeValue`s to simplify the JavaScript development
	 * experience with Amazon DynamoDB. JavaScript objects passed in as parameters
	 * are marshalled into `AttributeValue` shapes required by Amazon DynamoDB.
	 * Responses from DynamoDB are unmarshalled into plain JavaScript objects
	 * by the `DocumentClient`. The `DocumentClient`, does not accept
	 * `AttributeValue`s in favor of native JavaScript types.
	 *
	 * |                             JavaScript Type                            | DynamoDB AttributeValue |
	 * |:----------------------------------------------------------------------:|-------------------------|
	 * | String                                                                 | S                       |
	 * | Number                                                                 | N                       |
	 * | Boolean                                                                | BOOL                    |
	 * | null                                                                   | NULL                    |
	 * | Array                                                                  | L                       |
	 * | Object                                                                 | M                       |
	 * | Buffer, File, Blob, ArrayBuffer, DataView, and JavaScript typed arrays | B                       |
	 *
	 * ## Support for Sets
	 *
	 * The `DocumentClient` offers a convenient way to create sets from
	 * JavaScript Arrays. The type of set is inferred from the first element
	 * in the array. DynamoDB supports string, number, and binary sets. To
	 * learn more about supported types see the
	 * [Amazon DynamoDB Data Model Documentation](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html)
	 * For more information see {AWS.DynamoDB.DocumentClient.createSet}
	 *
	 */
	AWS.DynamoDB.DocumentClient = AWS.util.inherit({

	  /**
	   * @api private
	   */
	  operations: {
	    batchGetItem: 'batchGet',
	    batchWriteItem: 'batchWrite',
	    putItem: 'put',
	    getItem: 'get',
	    deleteItem: 'delete',
	    updateItem: 'update',
	    scan: 'scan',
	    query: 'query'
	  },

	  /**
	   * Creates a DynamoDB document client with a set of configuration options.
	   *
	   * @option options params [map] An optional map of parameters to bind to every
	   *   request sent by this service object.
	   * @option options service [AWS.DynamoDB] An optional pre-configured instance
	   *  of the AWS.DynamoDB service object to use for requests. The object may
	   *  bound parameters used by the document client.
	   * @option options convertEmptyValues [Boolean] set to true if you would like
	   *  the document client to convert empty values (0-length strings, binary
	   *  buffers, and sets) to be converted to NULL types when persisting to
	   *  DynamoDB.
	   * @see AWS.DynamoDB.constructor
	   *
	   */
	  constructor: function DocumentClient(options) {
	    var self = this;
	    self.options = options || {};
	    self.configure(self.options);
	  },

	  /**
	   * @api private
	   */
	  configure: function configure(options) {
	    var self = this;
	    self.service = options.service;
	    self.bindServiceObject(options);
	    self.attrValue = options.attrValue =
	      self.service.api.operations.putItem.input.members.Item.value.shape;
	  },

	  /**
	   * @api private
	   */
	  bindServiceObject: function bindServiceObject(options) {
	    var self = this;
	    options = options || {};

	    if (!self.service) {
	      self.service = new AWS.DynamoDB(options);
	    } else {
	      var config = AWS.util.copy(self.service.config);
	      self.service = new self.service.constructor.__super__(config);
	      self.service.config.params =
	        AWS.util.merge(self.service.config.params || {}, options.params);
	    }
	  },

	  /**
	   * Returns the attributes of one or more items from one or more tables
	   * by delegating to `AWS.DynamoDB.batchGetItem()`.
	   *
	   * Supply the same parameters as {AWS.DynamoDB.batchGetItem} with
	   * `AttributeValue`s substituted by native JavaScript types.
	   *
	   * @see AWS.DynamoDB.batchGetItem
	   * @example Get items from multiple tables
	   *  var params = {
	   *    RequestItems: {
	   *      'Table-1': {
	   *        Keys: [
	   *          {
	   *             HashKey: 'haskey',
	   *             NumberRangeKey: 1
	   *          }
	   *        ]
	   *      },
	   *      'Table-2': {
	   *        Keys: [
	   *          { foo: 'bar' },
	   *        ]
	   *      }
	   *    }
	   *  };
	   *
	   *  var documentClient = new AWS.DynamoDB.DocumentClient();
	   *
	   *  documentClient.batchGet(params, function(err, data) {
	   *    if (err) console.log(err);
	   *    else console.log(data);
	   *  });
	   *
	   */
	  batchGet: function(params, callback) {
	    var self = this;
	    var request = self.service.batchGetItem(params);
	    self.setupRequest(request);
	    self.setupResponse(request);
	    if (typeof callback === 'function') {
	      request.send(callback);
	    }
	    return request;
	  },

	  /**
	   * Puts or deletes multiple items in one or more tables by delegating
	   * to `AWS.DynamoDB.batchWriteItem()`.
	   *
	   * Supply the same parameters as {AWS.DynamoDB.batchWriteItem} with
	   * `AttributeValue`s substituted by native JavaScript types.
	   *
	   * @see AWS.DynamoDB.batchWriteItem
	   * @example Write to and delete from a table
	   *  var params = {
	   *    RequestItems: {
	   *      'Table-1': [
	   *        {
	   *          DeleteRequest: {
	   *            Key: { HashKey: 'someKey' }
	   *          }
	   *        },
	   *        {
	   *          PutRequest: {
	   *            Item: {
	   *              HashKey: 'anotherKey',
	   *              NumAttribute: 1,
	   *              BoolAttribute: true,
	   *              ListAttribute: [1, 'two', false],
	   *              MapAttribute: { foo: 'bar' }
	   *            }
	   *          }
	   *        }
	   *      ]
	   *    }
	   *  };
	   *
	   *  var documentClient = new AWS.DynamoDB.DocumentClient();
	   *
	   *  documentClient.batchWrite(params, function(err, data) {
	   *    if (err) console.log(err);
	   *    else console.log(data);
	   *  });
	   *
	   */
	  batchWrite: function(params, callback) {
	    var self = this;
	    var request = self.service.batchWriteItem(params);
	    self.setupRequest(request);
	    self.setupResponse(request);
	    if (typeof callback === 'function') {
	      request.send(callback);
	    }
	    return request;
	  },

	  /**
	   * Deletes a single item in a table by primary key by delegating to
	   * `AWS.DynamoDB.deleteItem()`
	   *
	   * Supply the same parameters as {AWS.DynamoDB.deleteItem} with
	   * `AttributeValue`s substituted by native JavaScript types.
	   *
	   * @see AWS.DynamoDB.deleteItem
	   * @example Delete an item from a table
	   *  var params = {
	   *    TableName : 'Table',
	   *    Key: {
	   *      HashKey: 'hashkey',
	   *      NumberRangeKey: 1
	   *    }
	   *  };
	   *
	   *  var documentClient = new AWS.DynamoDB.DocumentClient();
	   *
	   *  documentClient.delete(params, function(err, data) {
	   *    if (err) console.log(err);
	   *    else console.log(data);
	   *  });
	   *
	   */
	  delete: function(params, callback) {
	    var self = this;
	    var request = self.service.deleteItem(params);
	    self.setupRequest(request);
	    self.setupResponse(request);
	    if (typeof callback === 'function') {
	      request.send(callback);
	    }
	    return request;
	  },

	  /**
	   * Returns a set of attributes for the item with the given primary key
	   * by delegating to `AWS.DynamoDB.getItem()`.
	   *
	   * Supply the same parameters as {AWS.DynamoDB.getItem} with
	   * `AttributeValue`s substituted by native JavaScript types.
	   *
	   * @see AWS.DynamoDB.getItem
	   * @example Get an item from a table
	   *  var params = {
	   *    TableName : 'Table',
	   *    Key: {
	   *      HashKey: 'hashkey'
	   *    }
	   *  };
	   *
	   *  var documentClient = new AWS.DynamoDB.DocumentClient();
	   *
	   *  documentClient.get(params, function(err, data) {
	   *    if (err) console.log(err);
	   *    else console.log(data);
	   *  });
	   *
	   */
	  get: function(params, callback) {
	    var self = this;
	    var request = self.service.getItem(params);
	    self.setupRequest(request);
	    self.setupResponse(request);
	    if (typeof callback === 'function') {
	      request.send(callback);
	    }
	    return request;
	  },

	  /**
	   * Creates a new item, or replaces an old item with a new item by
	   * delegating to `AWS.DynamoDB.putItem()`.
	   *
	   * Supply the same parameters as {AWS.DynamoDB.putItem} with
	   * `AttributeValue`s substituted by native JavaScript types.
	   *
	   * @see AWS.DynamoDB.putItem
	   * @example Create a new item in a table
	   *  var params = {
	   *    TableName : 'Table',
	   *    Item: {
	   *       HashKey: 'haskey',
	   *       NumAttribute: 1,
	   *       BoolAttribute: true,
	   *       ListAttribute: [1, 'two', false],
	   *       MapAttribute: { foo: 'bar'},
	   *       NullAttribute: null
	   *    }
	   *  };
	   *
	   *  var documentClient = new AWS.DynamoDB.DocumentClient();
	   *
	   *  documentClient.put(params, function(err, data) {
	   *    if (err) console.log(err);
	   *    else console.log(data);
	   *  });
	   *
	   */
	  put: function put(params, callback) {
	    var self = this;
	    var request = self.service.putItem(params);
	    self.setupRequest(request);
	    self.setupResponse(request);
	    if (typeof callback === 'function') {
	      request.send(callback);
	    }
	    return request;
	  },

	  /**
	   * Edits an existing item's attributes, or adds a new item to the table if
	   * it does not already exist by delegating to `AWS.DynamoDB.updateItem()`.
	   *
	   * Supply the same parameters as {AWS.DynamoDB.updateItem} with
	   * `AttributeValue`s substituted by native JavaScript types.
	   *
	   * @see AWS.DynamoDB.updateItem
	   * @example Update an item with expressions
	   *  var params = {
	   *    TableName: 'Table',
	   *    Key: { HashKey : 'hashkey' },
	   *    UpdateExpression: 'set #a = :x + :y',
	   *    ConditionExpression: '#a < :MAX',
	   *    ExpressionAttributeNames: {'#a' : 'Sum'},
	   *    ExpressionAttributeValues: {
	   *      ':x' : 20,
	   *      ':y' : 45,
	   *      ':MAX' : 100,
	   *    }
	   *  };
	   *
	   *  var documentClient = new AWS.DynamoDB.DocumentClient();
	   *
	   *  documentClient.update(params, function(err, data) {
	   *     if (err) console.log(err);
	   *     else console.log(data);
	   *  });
	   *
	   */
	  update: function(params, callback) {
	    var self = this;
	    var request = self.service.updateItem(params);
	    self.setupRequest(request);
	    self.setupResponse(request);
	    if (typeof callback === 'function') {
	      request.send(callback);
	    }
	    return request;
	  },

	  /**
	   * Returns one or more items and item attributes by accessing every item
	   * in a table or a secondary index.
	   *
	   * Supply the same parameters as {AWS.DynamoDB.scan} with
	   * `AttributeValue`s substituted by native JavaScript types.
	   *
	   * @see AWS.DynamoDB.scan
	   * @example Scan the table with a filter expression
	   *  var params = {
	   *    TableName : 'Table',
	   *    FilterExpression : 'Year = :this_year',
	   *    ExpressionAttributeValues : {':this_year' : 2015}
	   *  };
	   *
	   *  var documentClient = new AWS.DynamoDB.DocumentClient();
	   *
	   *  documentClient.scan(params, function(err, data) {
	   *     if (err) console.log(err);
	   *     else console.log(data);
	   *  });
	   *
	   */
	  scan: function(params, callback) {
	    var self = this;
	    var request = self.service.scan(params);
	    self.setupRequest(request);
	    self.setupResponse(request);
	    if (typeof callback === 'function') {
	      request.send(callback);
	    }
	    return request;
	  },

	   /**
	    * Directly access items from a table by primary key or a secondary index.
	    *
	    * Supply the same parameters as {AWS.DynamoDB.query} with
	    * `AttributeValue`s substituted by native JavaScript types.
	    *
	    * @see AWS.DynamoDB.query
	    * @example Query an index
	    *  var params = {
	    *    TableName: 'Table',
	    *    IndexName: 'Index',
	    *    KeyConditionExpression: 'HashKey = :hkey and RangeKey > :rkey',
	    *    ExpressionAttributeValues: {
	    *      ':hkey': 'key',
	    *      ':rkey': 2015
	    *    }
	    *  };
	    *
	    *  var documentClient = new AWS.DynamoDB.DocumentClient();
	    *
	    *  documentClient.query(params, function(err, data) {
	    *     if (err) console.log(err);
	    *     else console.log(data);
	    *  });
	    *
	    */
	  query: function(params, callback) {
	    var self = this;
	    var request = self.service.query(params);
	    self.setupRequest(request);
	    self.setupResponse(request);
	    if (typeof callback === 'function') {
	      request.send(callback);
	    }
	    return request;
	  },

	  /**
	   * Creates a set of elements inferring the type of set from
	   * the type of the first element. Amazon DynamoDB currently supports
	   * the number sets, string sets, and binary sets. For more information
	   * about DynamoDB data types see the documentation on the
	   * [Amazon DynamoDB Data Model](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModel.DataTypes).
	   *
	   * @param list [Array] Collection to represent your DynamoDB Set
	   * @param options [map]
	   *  * **validate** [Boolean] set to true if you want to validate the type
	   *    of each element in the set. Defaults to `false`.
	   * @example Creating a number set
	   *  var documentClient = new AWS.DynamoDB.DocumentClient();
	   *
	   *  var params = {
	   *    Item: {
	   *      hashkey: 'hashkey'
	   *      numbers: documentClient.createSet([1, 2, 3]);
	   *    }
	   *  };
	   *
	   *  documentClient.put(params, function(err, data) {
	   *    if (err) console.log(err);
	   *    else console.log(data);
	   *  });
	   *
	   */
	  createSet: function(list, options) {
	    options = options || {};
	    return new DynamoDBSet(list, options);
	  },

	  /**
	   * @api private
	   */
	  getTranslator: function() {
	    return new Translator(this.options);
	  },

	  /**
	   * @api private
	   */
	  setupRequest: function setupRequest(request) {
	    var self = this;
	    var translator = self.getTranslator();
	    var operation = request.operation;
	    var inputShape = request.service.api.operations[operation].input;
	    request._events.validate.unshift(function(req) {
	      req.rawParams = AWS.util.copy(req.params);
	      req.params = translator.translateInput(req.rawParams, inputShape);
	    });
	  },

	  /**
	   * @api private
	   */
	  setupResponse: function setupResponse(request) {
	    var self = this;
	    var translator = self.getTranslator();
	    var outputShape = self.service.api.operations[request.operation].output;
	    request.on('extractData', function(response) {
	      response.data = translator.translateOutput(response.data, outputShape);
	    });

	    var response = request.response;
	    response.nextPage = function(cb) {
	      var resp = this;
	      var req = resp.request;
	      var config;
	      var service = req.service;
	      var operation = req.operation;
	      try {
	        config = service.paginationConfig(operation, true);
	      } catch (e) { resp.error = e; }

	      if (!resp.hasNextPage()) {
	        if (cb) cb(resp.error, null);
	        else if (resp.error) throw resp.error;
	        return null;
	      }

	      var params = AWS.util.copy(req.rawParams);
	      if (!resp.nextPageTokens) {
	        return cb ? cb(null, null) : null;
	      } else {
	        var inputTokens = config.inputToken;
	        if (typeof inputTokens === 'string') inputTokens = [inputTokens];
	        for (var i = 0; i < inputTokens.length; i++) {
	          params[inputTokens[i]] = resp.nextPageTokens[i];
	        }
	        return self[operation](params, cb);
	      }
	    };
	  }

	});

	module.exports = AWS.DynamoDB.DocumentClient;


/***/ }),
/* 407 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(5).util;
	var convert = __webpack_require__(408);

	var Translator = function(options) {
	  options = options || {};
	  this.attrValue = options.attrValue;
	  this.convertEmptyValues = Boolean(options.convertEmptyValues);
	};

	Translator.prototype.translateInput = function(value, shape) {
	  this.mode = 'input';
	  return this.translate(value, shape);
	};

	Translator.prototype.translateOutput = function(value, shape) {
	  this.mode = 'output';
	  return this.translate(value, shape);
	};

	Translator.prototype.translate = function(value, shape) {
	  var self = this;
	  if (!shape || value === undefined) return undefined;

	  if (shape.shape === self.attrValue) {
	    return convert[self.mode](value, {convertEmptyValues: self.convertEmptyValues});
	  }
	  switch (shape.type) {
	    case 'structure': return self.translateStructure(value, shape);
	    case 'map': return self.translateMap(value, shape);
	    case 'list': return self.translateList(value, shape);
	    default: return self.translateScalar(value, shape);
	  }
	};

	Translator.prototype.translateStructure = function(structure, shape) {
	  var self = this;
	  if (structure == null) return undefined;

	  var struct = {};
	  util.each(structure, function(name, value) {
	    var memberShape = shape.members[name];
	    if (memberShape) {
	      var result = self.translate(value, memberShape);
	      if (result !== undefined) struct[name] = result;
	    }
	  });
	  return struct;
	};

	Translator.prototype.translateList = function(list, shape) {
	  var self = this;
	  if (list == null) return undefined;

	  var out = [];
	  util.arrayEach(list, function(value) {
	    var result = self.translate(value, shape.member);
	    if (result === undefined) out.push(null);
	    else out.push(result);
	  });
	  return out;
	};

	Translator.prototype.translateMap = function(map, shape) {
	  var self = this;
	  if (map == null) return undefined;

	  var out = {};
	  util.each(map, function(key, value) {
	    var result = self.translate(value, shape.value);
	    if (result === undefined) out[key] = null;
	    else out[key] = result;
	  });
	  return out;
	};

	Translator.prototype.translateScalar = function(value, shape) {
	  return shape.toType(value);
	};

	module.exports = Translator;


/***/ }),
/* 408 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var util = AWS.util;
	var typeOf = __webpack_require__(409).typeOf;
	var DynamoDBSet = __webpack_require__(410);

	AWS.DynamoDB.Converter = {
	  /**
	   * Convert a JavaScript value to its equivalent DynamoDB AttributeValue type
	   *
	   * @param data [any] The data to convert to a DynamoDB AttributeValue
	   * @param options [map]
	   * @option options convertEmptyValues [Boolean] Whether to automatically
	   *                                              convert empty strings, blobs,
	   *                                              and sets to `null`
	   * @return [map] An object in the Amazon DynamoDB AttributeValue format
	   *
	   * @see AWS.DynamoDB.Converter.marshall AWS.DynamoDB.Converter.marshall to
	   *    convert entire records (rather than individual attributes)
	   */
	  input: function convertInput(data, options) {
	    options = options || {};
	    var type = typeOf(data);
	    if (type === 'Object') {
	      return formatMap(data, options);
	    } else if (type === 'Array') {
	      return formatList(data, options);
	    } else if (type === 'Set') {
	      return formatSet(data, options);
	    } else if (type === 'String') {
	      if (data.length === 0 && options.convertEmptyValues) {
	        return convertInput(null);
	      }
	      return { S: data };
	    } else if (type === 'Number') {
	      return { N: data.toString() };
	    } else if (type === 'Binary') {
	      if (data.length === 0 && options.convertEmptyValues) {
	        return convertInput(null);
	      }
	      return { B: data };
	    } else if (type === 'Boolean') {
	      return { BOOL: data };
	    } else if (type === 'null') {
	      return { NULL: true };
	    } else if (type !== 'undefined' && type !== 'Function') {
	      // this value has a custom constructor
	      return formatMap(data, options);
	    }
	  },

	  /**
	   * Convert a JavaScript object into a DynamoDB record.
	   *
	   * @param data [any] The data to convert to a DynamoDB record
	   * @param options [map]
	   * @option options convertEmptyValues [Boolean] Whether to automatically
	   *                                              convert empty strings, blobs,
	   *                                              and sets to `null`
	   *
	   * @return [map] An object in the DynamoDB record format.
	   *
	   * @example Convert a JavaScript object into a DynamoDB record
	   *  var marshalled = AWS.DynamoDB.Converter.marshall({
	   *    string: 'foo',
	   *    list: ['fizz', 'buzz', 'pop'],
	   *    map: {
	   *      nestedMap: {
	   *        key: 'value',
	   *      }
	   *    },
	   *    number: 123,
	   *    nullValue: null,
	   *    boolValue: true,
	   *    stringSet: new DynamoDBSet(['foo', 'bar', 'baz'])
	   *  });
	   */
	  marshall: function marshallItem(data, options) {
	    return AWS.DynamoDB.Converter.input(data, options).M;
	  },

	  /**
	   * Convert a DynamoDB AttributeValue object to its equivalent JavaScript type.
	   *
	   * @param data [map] An object in the Amazon DynamoDB AttributeValue format
	   *
	   * @return [Object|Array|String|Number|Boolean|null]
	   *
	   * @see AWS.DynamoDB.Converter.unmarshall AWS.DynamoDB.Converter.unmarshall to
	   *    convert entire records (rather than individual attributes)
	   */
	  output: function convertOutput(data) {
	    var list, map, i;
	    for (var type in data) {
	      var values = data[type];
	      if (type === 'M') {
	        map = {};
	        for (var key in values) {
	          map[key] = convertOutput(values[key]);
	        }
	        return map;
	      } else if (type === 'L') {
	        list = [];
	        for (i = 0; i < values.length; i++) {
	          list.push(convertOutput(values[i]));
	        }
	        return list;
	      } else if (type === 'SS') {
	        list = [];
	        for (i = 0; i < values.length; i++) {
	          list.push(values[i] + '');
	        }
	        return new DynamoDBSet(list);
	      } else if (type === 'NS') {
	        list = [];
	        for (i = 0; i < values.length; i++) {
	          list.push(Number(values[i]));
	        }
	        return new DynamoDBSet(list);
	      } else if (type === 'BS') {
	        list = [];
	        for (i = 0; i < values.length; i++) {
	          list.push(new util.Buffer(values[i]));
	        }
	        return new DynamoDBSet(list);
	      } else if (type === 'S') {
	        return values + '';
	      } else if (type === 'N') {
	        return Number(values);
	      } else if (type === 'B') {
	        return new util.Buffer(values);
	      } else if (type === 'BOOL') {
	        return (values === 'true' || values === 'TRUE' || values === true);
	      } else if (type === 'NULL') {
	        return null;
	      }
	    }
	  },

	  /**
	   * Convert a DynamoDB record into a JavaScript object.
	   *
	   * @param data [any] The DynamoDB record
	   *
	   * @return [map] An object whose properties have been converted from
	   *    DynamoDB's AttributeValue format into their corresponding native
	   *    JavaScript types.
	   *
	   * @example Convert a record received from a DynamoDB stream
	   *  var unmarshalled = AWS.DynamoDB.Converter.unmarshall({
	   *    string: {S: 'foo'},
	   *    list: {L: [{S: 'fizz'}, {S: 'buzz'}, {S: 'pop'}]},
	   *    map: {
	   *      M: {
	   *        nestedMap: {
	   *          M: {
	   *            key: {S: 'value'}
	   *          }
	   *        }
	   *      }
	   *    },
	   *    number: {N: '123'},
	   *    nullValue: {NULL: true},
	   *    boolValue: {BOOL: true}
	   *  });
	   */
	  unmarshall: function unmarshall(data) {
	    return AWS.DynamoDB.Converter.output({M: data});
	  }
	};

	/**
	 * @api private
	 * @param data [Array]
	 * @param options [map]
	 */
	function formatList(data, options) {
	  var list = {L: []};
	  for (var i = 0; i < data.length; i++) {
	    list['L'].push(AWS.DynamoDB.Converter.input(data[i], options));
	  }
	  return list;
	}

	/**
	 * @api private
	 * @param data [map]
	 * @param options [map]
	 */
	function formatMap(data, options) {
	  var map = {M: {}};
	  for (var key in data) {
	    var formatted = AWS.DynamoDB.Converter.input(data[key], options);
	    if (formatted !== void 0) {
	      map['M'][key] = formatted;
	    }
	  }
	  return map;
	}

	/**
	 * @api private
	 */
	function formatSet(data, options) {
	  options = options || {};
	  var values = data.values;
	  if (options.convertEmptyValues) {
	    values = filterEmptySetValues(data);
	    if (values.length === 0) {
	      return AWS.DynamoDB.Converter.input(null);
	    }
	  }

	  var map = {};
	  switch (data.type) {
	    case 'String': map['SS'] = values; break;
	    case 'Binary': map['BS'] = values; break;
	    case 'Number': map['NS'] = values.map(function (value) {
	      return value.toString();
	    });
	  }
	  return map;
	}

	/**
	 * @api private
	 */
	function filterEmptySetValues(set) {
	    var nonEmptyValues = [];
	    var potentiallyEmptyTypes = {
	        String: true,
	        Binary: true,
	        Number: false
	    };
	    if (potentiallyEmptyTypes[set.type]) {
	        for (var i = 0; i < set.values.length; i++) {
	            if (set.values[i].length === 0) {
	                continue;
	            }
	            nonEmptyValues.push(set.values[i]);
	        }

	        return nonEmptyValues;
	    }

	    return set.values;
	}

	module.exports = AWS.DynamoDB.Converter;


/***/ }),
/* 409 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(5).util;

	function typeOf(data) {
	  if (data === null && typeof data === 'object') {
	    return 'null';
	  } else if (data !== undefined && isBinary(data)) {
	    return 'Binary';
	  } else if (data !== undefined && data.constructor) {
	    return util.typeName(data.constructor);
	  } else if (data !== undefined && typeof data === 'object') {
	    // this object is the result of Object.create(null), hence the absence of a
	    // defined constructor
	    return 'Object';
	  } else {
	    return 'undefined';
	  }
	}

	function isBinary(data) {
	  var types = [
	    'Buffer', 'File', 'Blob', 'ArrayBuffer', 'DataView',
	    'Int8Array', 'Uint8Array', 'Uint8ClampedArray',
	    'Int16Array', 'Uint16Array', 'Int32Array', 'Uint32Array',
	    'Float32Array', 'Float64Array'
	  ];
	  if (util.isNode()) {
	    var Stream = util.stream.Stream;
	    if (util.Buffer.isBuffer(data) || data instanceof Stream) {
	      return true;
	    }
	  }

	  for (var i = 0; i < types.length; i++) {
	    if (data !== undefined && data.constructor) {
	      if (util.isType(data, types[i])) return true;
	      if (util.typeName(data.constructor) === types[i]) return true;
	    }
	  }

	  return false;
	}

	module.exports = {
	  typeOf: typeOf,
	  isBinary: isBinary
	};


/***/ }),
/* 410 */
/***/ (function(module, exports, __webpack_require__) {

	var util = __webpack_require__(5).util;
	var typeOf = __webpack_require__(409).typeOf;

	/**
	 * @api private
	 */
	var DynamoDBSet = util.inherit({

	  constructor: function Set(list, options) {
	    options = options || {};
	    this.initialize(list, options.validate);
	  },

	  initialize: function(list, validate) {
	    var self = this;
	    self.values = [].concat(list);
	    self.detectType();
	    if (validate) {
	      self.validate();
	    }
	  },

	  detectType: function() {
	    var self = this;
	    var value = self.values[0];
	    if (typeOf(value) === 'String') {
	      self.type = 'String';
	    } else if (typeOf(value) === 'Number') {
	      self.type = 'Number';
	    } else if (typeOf(value) === 'Binary') {
	      self.type = 'Binary';
	    } else {
	      throw util.error(new Error(), {
	        code: 'InvalidSetType',
	        message: 'Sets can contain string, number, or binary values'
	      });
	    }
	  },

	  validate: function() {
	    var self = this;
	    var length = self.values.length;
	    var values = self.values;
	    for (var i = 0; i < length; i++) {
	      if (typeOf(values[i]) !== self.type) {
	        throw util.error(new Error(), {
	          code: 'InvalidType',
	          message: self.type + ' Set contains ' + typeOf(values[i]) + ' value'
	        });
	      }
	    }
	  }

	});

	module.exports = DynamoDBSet;


/***/ }),
/* 411 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2011-12-05",
			"endpointPrefix": "dynamodb",
			"jsonVersion": "1.0",
			"protocol": "json",
			"serviceAbbreviation": "DynamoDB",
			"serviceFullName": "Amazon DynamoDB",
			"signatureVersion": "v4",
			"targetPrefix": "DynamoDB_20111205",
			"uid": "dynamodb-2011-12-05"
		},
		"operations": {
			"BatchGetItem": {
				"input": {
					"type": "structure",
					"required": [
						"RequestItems"
					],
					"members": {
						"RequestItems": {
							"shape": "S2"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Responses": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"members": {
									"Items": {
										"shape": "Sk"
									},
									"ConsumedCapacityUnits": {
										"type": "double"
									}
								}
							}
						},
						"UnprocessedKeys": {
							"shape": "S2"
						}
					}
				}
			},
			"BatchWriteItem": {
				"input": {
					"type": "structure",
					"required": [
						"RequestItems"
					],
					"members": {
						"RequestItems": {
							"shape": "So"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Responses": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"members": {
									"ConsumedCapacityUnits": {
										"type": "double"
									}
								}
							}
						},
						"UnprocessedItems": {
							"shape": "So"
						}
					}
				}
			},
			"CreateTable": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"KeySchema",
						"ProvisionedThroughput"
					],
					"members": {
						"TableName": {},
						"KeySchema": {
							"shape": "Sy"
						},
						"ProvisionedThroughput": {
							"shape": "S12"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TableDescription": {
							"shape": "S15"
						}
					}
				}
			},
			"DeleteItem": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"Key"
					],
					"members": {
						"TableName": {},
						"Key": {
							"shape": "S6"
						},
						"Expected": {
							"shape": "S1b"
						},
						"ReturnValues": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "Sl"
						},
						"ConsumedCapacityUnits": {
							"type": "double"
						}
					}
				}
			},
			"DeleteTable": {
				"input": {
					"type": "structure",
					"required": [
						"TableName"
					],
					"members": {
						"TableName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TableDescription": {
							"shape": "S15"
						}
					}
				}
			},
			"DescribeTable": {
				"input": {
					"type": "structure",
					"required": [
						"TableName"
					],
					"members": {
						"TableName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Table": {
							"shape": "S15"
						}
					}
				}
			},
			"GetItem": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"Key"
					],
					"members": {
						"TableName": {},
						"Key": {
							"shape": "S6"
						},
						"AttributesToGet": {
							"shape": "Se"
						},
						"ConsistentRead": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Item": {
							"shape": "Sl"
						},
						"ConsumedCapacityUnits": {
							"type": "double"
						}
					}
				}
			},
			"ListTables": {
				"input": {
					"type": "structure",
					"members": {
						"ExclusiveStartTableName": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TableNames": {
							"type": "list",
							"member": {}
						},
						"LastEvaluatedTableName": {}
					}
				}
			},
			"PutItem": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"Item"
					],
					"members": {
						"TableName": {},
						"Item": {
							"shape": "Ss"
						},
						"Expected": {
							"shape": "S1b"
						},
						"ReturnValues": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "Sl"
						},
						"ConsumedCapacityUnits": {
							"type": "double"
						}
					}
				}
			},
			"Query": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"HashKeyValue"
					],
					"members": {
						"TableName": {},
						"AttributesToGet": {
							"shape": "Se"
						},
						"Limit": {
							"type": "integer"
						},
						"ConsistentRead": {
							"type": "boolean"
						},
						"Count": {
							"type": "boolean"
						},
						"HashKeyValue": {
							"shape": "S7"
						},
						"RangeKeyCondition": {
							"shape": "S1u"
						},
						"ScanIndexForward": {
							"type": "boolean"
						},
						"ExclusiveStartKey": {
							"shape": "S6"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Items": {
							"shape": "Sk"
						},
						"Count": {
							"type": "integer"
						},
						"LastEvaluatedKey": {
							"shape": "S6"
						},
						"ConsumedCapacityUnits": {
							"type": "double"
						}
					}
				}
			},
			"Scan": {
				"input": {
					"type": "structure",
					"required": [
						"TableName"
					],
					"members": {
						"TableName": {},
						"AttributesToGet": {
							"shape": "Se"
						},
						"Limit": {
							"type": "integer"
						},
						"Count": {
							"type": "boolean"
						},
						"ScanFilter": {
							"type": "map",
							"key": {},
							"value": {
								"shape": "S1u"
							}
						},
						"ExclusiveStartKey": {
							"shape": "S6"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Items": {
							"shape": "Sk"
						},
						"Count": {
							"type": "integer"
						},
						"ScannedCount": {
							"type": "integer"
						},
						"LastEvaluatedKey": {
							"shape": "S6"
						},
						"ConsumedCapacityUnits": {
							"type": "double"
						}
					}
				}
			},
			"UpdateItem": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"Key",
						"AttributeUpdates"
					],
					"members": {
						"TableName": {},
						"Key": {
							"shape": "S6"
						},
						"AttributeUpdates": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"members": {
									"Value": {
										"shape": "S7"
									},
									"Action": {}
								}
							}
						},
						"Expected": {
							"shape": "S1b"
						},
						"ReturnValues": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "Sl"
						},
						"ConsumedCapacityUnits": {
							"type": "double"
						}
					}
				}
			},
			"UpdateTable": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"ProvisionedThroughput"
					],
					"members": {
						"TableName": {},
						"ProvisionedThroughput": {
							"shape": "S12"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TableDescription": {
							"shape": "S15"
						}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "map",
				"key": {},
				"value": {
					"type": "structure",
					"required": [
						"Keys"
					],
					"members": {
						"Keys": {
							"type": "list",
							"member": {
								"shape": "S6"
							}
						},
						"AttributesToGet": {
							"shape": "Se"
						},
						"ConsistentRead": {
							"type": "boolean"
						}
					}
				}
			},
			"S6": {
				"type": "structure",
				"required": [
					"HashKeyElement"
				],
				"members": {
					"HashKeyElement": {
						"shape": "S7"
					},
					"RangeKeyElement": {
						"shape": "S7"
					}
				}
			},
			"S7": {
				"type": "structure",
				"members": {
					"S": {},
					"N": {},
					"B": {
						"type": "blob"
					},
					"SS": {
						"type": "list",
						"member": {}
					},
					"NS": {
						"type": "list",
						"member": {}
					},
					"BS": {
						"type": "list",
						"member": {
							"type": "blob"
						}
					}
				}
			},
			"Se": {
				"type": "list",
				"member": {}
			},
			"Sk": {
				"type": "list",
				"member": {
					"shape": "Sl"
				}
			},
			"Sl": {
				"type": "map",
				"key": {},
				"value": {
					"shape": "S7"
				}
			},
			"So": {
				"type": "map",
				"key": {},
				"value": {
					"type": "list",
					"member": {
						"type": "structure",
						"members": {
							"PutRequest": {
								"type": "structure",
								"required": [
									"Item"
								],
								"members": {
									"Item": {
										"shape": "Ss"
									}
								}
							},
							"DeleteRequest": {
								"type": "structure",
								"required": [
									"Key"
								],
								"members": {
									"Key": {
										"shape": "S6"
									}
								}
							}
						}
					}
				}
			},
			"Ss": {
				"type": "map",
				"key": {},
				"value": {
					"shape": "S7"
				}
			},
			"Sy": {
				"type": "structure",
				"required": [
					"HashKeyElement"
				],
				"members": {
					"HashKeyElement": {
						"shape": "Sz"
					},
					"RangeKeyElement": {
						"shape": "Sz"
					}
				}
			},
			"Sz": {
				"type": "structure",
				"required": [
					"AttributeName",
					"AttributeType"
				],
				"members": {
					"AttributeName": {},
					"AttributeType": {}
				}
			},
			"S12": {
				"type": "structure",
				"required": [
					"ReadCapacityUnits",
					"WriteCapacityUnits"
				],
				"members": {
					"ReadCapacityUnits": {
						"type": "long"
					},
					"WriteCapacityUnits": {
						"type": "long"
					}
				}
			},
			"S15": {
				"type": "structure",
				"members": {
					"TableName": {},
					"KeySchema": {
						"shape": "Sy"
					},
					"TableStatus": {},
					"CreationDateTime": {
						"type": "timestamp"
					},
					"ProvisionedThroughput": {
						"type": "structure",
						"members": {
							"LastIncreaseDateTime": {
								"type": "timestamp"
							},
							"LastDecreaseDateTime": {
								"type": "timestamp"
							},
							"NumberOfDecreasesToday": {
								"type": "long"
							},
							"ReadCapacityUnits": {
								"type": "long"
							},
							"WriteCapacityUnits": {
								"type": "long"
							}
						}
					},
					"TableSizeBytes": {
						"type": "long"
					},
					"ItemCount": {
						"type": "long"
					}
				}
			},
			"S1b": {
				"type": "map",
				"key": {},
				"value": {
					"type": "structure",
					"members": {
						"Value": {
							"shape": "S7"
						},
						"Exists": {
							"type": "boolean"
						}
					}
				}
			},
			"S1u": {
				"type": "structure",
				"required": [
					"ComparisonOperator"
				],
				"members": {
					"AttributeValueList": {
						"type": "list",
						"member": {
							"shape": "S7"
						}
					},
					"ComparisonOperator": {}
				}
			}
		}
	};

/***/ }),
/* 412 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"BatchGetItem": {
				"input_token": "RequestItems",
				"output_token": "UnprocessedKeys"
			},
			"ListTables": {
				"input_token": "ExclusiveStartTableName",
				"limit_key": "Limit",
				"output_token": "LastEvaluatedTableName",
				"result_key": "TableNames"
			},
			"Query": {
				"input_token": "ExclusiveStartKey",
				"limit_key": "Limit",
				"output_token": "LastEvaluatedKey",
				"result_key": "Items"
			},
			"Scan": {
				"input_token": "ExclusiveStartKey",
				"limit_key": "Limit",
				"output_token": "LastEvaluatedKey",
				"result_key": "Items"
			}
		}
	};

/***/ }),
/* 413 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"TableExists": {
				"delay": 20,
				"operation": "DescribeTable",
				"maxAttempts": 25,
				"acceptors": [
					{
						"expected": "ACTIVE",
						"matcher": "path",
						"state": "success",
						"argument": "Table.TableStatus"
					},
					{
						"expected": "ResourceNotFoundException",
						"matcher": "error",
						"state": "retry"
					}
				]
			},
			"TableNotExists": {
				"delay": 20,
				"operation": "DescribeTable",
				"maxAttempts": 25,
				"acceptors": [
					{
						"expected": "ResourceNotFoundException",
						"matcher": "error",
						"state": "success"
					}
				]
			}
		}
	};

/***/ }),
/* 414 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2012-08-10",
			"endpointPrefix": "dynamodb",
			"jsonVersion": "1.0",
			"protocol": "json",
			"serviceAbbreviation": "DynamoDB",
			"serviceFullName": "Amazon DynamoDB",
			"signatureVersion": "v4",
			"targetPrefix": "DynamoDB_20120810",
			"uid": "dynamodb-2012-08-10"
		},
		"operations": {
			"BatchGetItem": {
				"input": {
					"type": "structure",
					"required": [
						"RequestItems"
					],
					"members": {
						"RequestItems": {
							"shape": "S2"
						},
						"ReturnConsumedCapacity": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Responses": {
							"type": "map",
							"key": {},
							"value": {
								"shape": "Sr"
							}
						},
						"UnprocessedKeys": {
							"shape": "S2"
						},
						"ConsumedCapacity": {
							"shape": "St"
						}
					}
				}
			},
			"BatchWriteItem": {
				"input": {
					"type": "structure",
					"required": [
						"RequestItems"
					],
					"members": {
						"RequestItems": {
							"shape": "S10"
						},
						"ReturnConsumedCapacity": {},
						"ReturnItemCollectionMetrics": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UnprocessedItems": {
							"shape": "S10"
						},
						"ItemCollectionMetrics": {
							"type": "map",
							"key": {},
							"value": {
								"type": "list",
								"member": {
									"shape": "S1a"
								}
							}
						},
						"ConsumedCapacity": {
							"shape": "St"
						}
					}
				}
			},
			"CreateTable": {
				"input": {
					"type": "structure",
					"required": [
						"AttributeDefinitions",
						"TableName",
						"KeySchema",
						"ProvisionedThroughput"
					],
					"members": {
						"AttributeDefinitions": {
							"shape": "S1f"
						},
						"TableName": {},
						"KeySchema": {
							"shape": "S1j"
						},
						"LocalSecondaryIndexes": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"IndexName",
									"KeySchema",
									"Projection"
								],
								"members": {
									"IndexName": {},
									"KeySchema": {
										"shape": "S1j"
									},
									"Projection": {
										"shape": "S1o"
									}
								}
							}
						},
						"GlobalSecondaryIndexes": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"IndexName",
									"KeySchema",
									"Projection",
									"ProvisionedThroughput"
								],
								"members": {
									"IndexName": {},
									"KeySchema": {
										"shape": "S1j"
									},
									"Projection": {
										"shape": "S1o"
									},
									"ProvisionedThroughput": {
										"shape": "S1u"
									}
								}
							}
						},
						"ProvisionedThroughput": {
							"shape": "S1u"
						},
						"StreamSpecification": {
							"shape": "S1w"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TableDescription": {
							"shape": "S20"
						}
					}
				}
			},
			"DeleteItem": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"Key"
					],
					"members": {
						"TableName": {},
						"Key": {
							"shape": "S6"
						},
						"Expected": {
							"shape": "S2e"
						},
						"ConditionalOperator": {},
						"ReturnValues": {},
						"ReturnConsumedCapacity": {},
						"ReturnItemCollectionMetrics": {},
						"ConditionExpression": {},
						"ExpressionAttributeNames": {
							"shape": "Sm"
						},
						"ExpressionAttributeValues": {
							"shape": "S2m"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "Ss"
						},
						"ConsumedCapacity": {
							"shape": "Su"
						},
						"ItemCollectionMetrics": {
							"shape": "S1a"
						}
					}
				}
			},
			"DeleteTable": {
				"input": {
					"type": "structure",
					"required": [
						"TableName"
					],
					"members": {
						"TableName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TableDescription": {
							"shape": "S20"
						}
					}
				}
			},
			"DescribeLimits": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"AccountMaxReadCapacityUnits": {
							"type": "long"
						},
						"AccountMaxWriteCapacityUnits": {
							"type": "long"
						},
						"TableMaxReadCapacityUnits": {
							"type": "long"
						},
						"TableMaxWriteCapacityUnits": {
							"type": "long"
						}
					}
				}
			},
			"DescribeTable": {
				"input": {
					"type": "structure",
					"required": [
						"TableName"
					],
					"members": {
						"TableName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Table": {
							"shape": "S20"
						}
					}
				}
			},
			"DescribeTimeToLive": {
				"input": {
					"type": "structure",
					"required": [
						"TableName"
					],
					"members": {
						"TableName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TimeToLiveDescription": {
							"type": "structure",
							"members": {
								"TimeToLiveStatus": {},
								"AttributeName": {}
							}
						}
					}
				}
			},
			"GetItem": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"Key"
					],
					"members": {
						"TableName": {},
						"Key": {
							"shape": "S6"
						},
						"AttributesToGet": {
							"shape": "Sj"
						},
						"ConsistentRead": {
							"type": "boolean"
						},
						"ReturnConsumedCapacity": {},
						"ProjectionExpression": {},
						"ExpressionAttributeNames": {
							"shape": "Sm"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Item": {
							"shape": "Ss"
						},
						"ConsumedCapacity": {
							"shape": "Su"
						}
					}
				}
			},
			"ListTables": {
				"input": {
					"type": "structure",
					"members": {
						"ExclusiveStartTableName": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TableNames": {
							"type": "list",
							"member": {}
						},
						"LastEvaluatedTableName": {}
					}
				}
			},
			"ListTagsOfResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn"
					],
					"members": {
						"ResourceArn": {},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "S3a"
						},
						"NextToken": {}
					}
				}
			},
			"PutItem": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"Item"
					],
					"members": {
						"TableName": {},
						"Item": {
							"shape": "S14"
						},
						"Expected": {
							"shape": "S2e"
						},
						"ReturnValues": {},
						"ReturnConsumedCapacity": {},
						"ReturnItemCollectionMetrics": {},
						"ConditionalOperator": {},
						"ConditionExpression": {},
						"ExpressionAttributeNames": {
							"shape": "Sm"
						},
						"ExpressionAttributeValues": {
							"shape": "S2m"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "Ss"
						},
						"ConsumedCapacity": {
							"shape": "Su"
						},
						"ItemCollectionMetrics": {
							"shape": "S1a"
						}
					}
				}
			},
			"Query": {
				"input": {
					"type": "structure",
					"required": [
						"TableName"
					],
					"members": {
						"TableName": {},
						"IndexName": {},
						"Select": {},
						"AttributesToGet": {
							"shape": "Sj"
						},
						"Limit": {
							"type": "integer"
						},
						"ConsistentRead": {
							"type": "boolean"
						},
						"KeyConditions": {
							"type": "map",
							"key": {},
							"value": {
								"shape": "S3k"
							}
						},
						"QueryFilter": {
							"shape": "S3l"
						},
						"ConditionalOperator": {},
						"ScanIndexForward": {
							"type": "boolean"
						},
						"ExclusiveStartKey": {
							"shape": "S6"
						},
						"ReturnConsumedCapacity": {},
						"ProjectionExpression": {},
						"FilterExpression": {},
						"KeyConditionExpression": {},
						"ExpressionAttributeNames": {
							"shape": "Sm"
						},
						"ExpressionAttributeValues": {
							"shape": "S2m"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Items": {
							"shape": "Sr"
						},
						"Count": {
							"type": "integer"
						},
						"ScannedCount": {
							"type": "integer"
						},
						"LastEvaluatedKey": {
							"shape": "S6"
						},
						"ConsumedCapacity": {
							"shape": "Su"
						}
					}
				}
			},
			"Scan": {
				"input": {
					"type": "structure",
					"required": [
						"TableName"
					],
					"members": {
						"TableName": {},
						"IndexName": {},
						"AttributesToGet": {
							"shape": "Sj"
						},
						"Limit": {
							"type": "integer"
						},
						"Select": {},
						"ScanFilter": {
							"shape": "S3l"
						},
						"ConditionalOperator": {},
						"ExclusiveStartKey": {
							"shape": "S6"
						},
						"ReturnConsumedCapacity": {},
						"TotalSegments": {
							"type": "integer"
						},
						"Segment": {
							"type": "integer"
						},
						"ProjectionExpression": {},
						"FilterExpression": {},
						"ExpressionAttributeNames": {
							"shape": "Sm"
						},
						"ExpressionAttributeValues": {
							"shape": "S2m"
						},
						"ConsistentRead": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Items": {
							"shape": "Sr"
						},
						"Count": {
							"type": "integer"
						},
						"ScannedCount": {
							"type": "integer"
						},
						"LastEvaluatedKey": {
							"shape": "S6"
						},
						"ConsumedCapacity": {
							"shape": "Su"
						}
					}
				}
			},
			"TagResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn",
						"Tags"
					],
					"members": {
						"ResourceArn": {},
						"Tags": {
							"shape": "S3a"
						}
					}
				}
			},
			"UntagResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn",
						"TagKeys"
					],
					"members": {
						"ResourceArn": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"UpdateItem": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"Key"
					],
					"members": {
						"TableName": {},
						"Key": {
							"shape": "S6"
						},
						"AttributeUpdates": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"members": {
									"Value": {
										"shape": "S8"
									},
									"Action": {}
								}
							}
						},
						"Expected": {
							"shape": "S2e"
						},
						"ConditionalOperator": {},
						"ReturnValues": {},
						"ReturnConsumedCapacity": {},
						"ReturnItemCollectionMetrics": {},
						"UpdateExpression": {},
						"ConditionExpression": {},
						"ExpressionAttributeNames": {
							"shape": "Sm"
						},
						"ExpressionAttributeValues": {
							"shape": "S2m"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "Ss"
						},
						"ConsumedCapacity": {
							"shape": "Su"
						},
						"ItemCollectionMetrics": {
							"shape": "S1a"
						}
					}
				}
			},
			"UpdateTable": {
				"input": {
					"type": "structure",
					"required": [
						"TableName"
					],
					"members": {
						"AttributeDefinitions": {
							"shape": "S1f"
						},
						"TableName": {},
						"ProvisionedThroughput": {
							"shape": "S1u"
						},
						"GlobalSecondaryIndexUpdates": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Update": {
										"type": "structure",
										"required": [
											"IndexName",
											"ProvisionedThroughput"
										],
										"members": {
											"IndexName": {},
											"ProvisionedThroughput": {
												"shape": "S1u"
											}
										}
									},
									"Create": {
										"type": "structure",
										"required": [
											"IndexName",
											"KeySchema",
											"Projection",
											"ProvisionedThroughput"
										],
										"members": {
											"IndexName": {},
											"KeySchema": {
												"shape": "S1j"
											},
											"Projection": {
												"shape": "S1o"
											},
											"ProvisionedThroughput": {
												"shape": "S1u"
											}
										}
									},
									"Delete": {
										"type": "structure",
										"required": [
											"IndexName"
										],
										"members": {
											"IndexName": {}
										}
									}
								}
							}
						},
						"StreamSpecification": {
							"shape": "S1w"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TableDescription": {
							"shape": "S20"
						}
					}
				}
			},
			"UpdateTimeToLive": {
				"input": {
					"type": "structure",
					"required": [
						"TableName",
						"TimeToLiveSpecification"
					],
					"members": {
						"TableName": {},
						"TimeToLiveSpecification": {
							"shape": "S4a"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TimeToLiveSpecification": {
							"shape": "S4a"
						}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "map",
				"key": {},
				"value": {
					"type": "structure",
					"required": [
						"Keys"
					],
					"members": {
						"Keys": {
							"type": "list",
							"member": {
								"shape": "S6"
							}
						},
						"AttributesToGet": {
							"shape": "Sj"
						},
						"ConsistentRead": {
							"type": "boolean"
						},
						"ProjectionExpression": {},
						"ExpressionAttributeNames": {
							"shape": "Sm"
						}
					}
				}
			},
			"S6": {
				"type": "map",
				"key": {},
				"value": {
					"shape": "S8"
				}
			},
			"S8": {
				"type": "structure",
				"members": {
					"S": {},
					"N": {},
					"B": {
						"type": "blob"
					},
					"SS": {
						"type": "list",
						"member": {}
					},
					"NS": {
						"type": "list",
						"member": {}
					},
					"BS": {
						"type": "list",
						"member": {
							"type": "blob"
						}
					},
					"M": {
						"type": "map",
						"key": {},
						"value": {
							"shape": "S8"
						}
					},
					"L": {
						"type": "list",
						"member": {
							"shape": "S8"
						}
					},
					"NULL": {
						"type": "boolean"
					},
					"BOOL": {
						"type": "boolean"
					}
				}
			},
			"Sj": {
				"type": "list",
				"member": {}
			},
			"Sm": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"Sr": {
				"type": "list",
				"member": {
					"shape": "Ss"
				}
			},
			"Ss": {
				"type": "map",
				"key": {},
				"value": {
					"shape": "S8"
				}
			},
			"St": {
				"type": "list",
				"member": {
					"shape": "Su"
				}
			},
			"Su": {
				"type": "structure",
				"members": {
					"TableName": {},
					"CapacityUnits": {
						"type": "double"
					},
					"Table": {
						"shape": "Sw"
					},
					"LocalSecondaryIndexes": {
						"shape": "Sx"
					},
					"GlobalSecondaryIndexes": {
						"shape": "Sx"
					}
				}
			},
			"Sw": {
				"type": "structure",
				"members": {
					"CapacityUnits": {
						"type": "double"
					}
				}
			},
			"Sx": {
				"type": "map",
				"key": {},
				"value": {
					"shape": "Sw"
				}
			},
			"S10": {
				"type": "map",
				"key": {},
				"value": {
					"type": "list",
					"member": {
						"type": "structure",
						"members": {
							"PutRequest": {
								"type": "structure",
								"required": [
									"Item"
								],
								"members": {
									"Item": {
										"shape": "S14"
									}
								}
							},
							"DeleteRequest": {
								"type": "structure",
								"required": [
									"Key"
								],
								"members": {
									"Key": {
										"shape": "S6"
									}
								}
							}
						}
					}
				}
			},
			"S14": {
				"type": "map",
				"key": {},
				"value": {
					"shape": "S8"
				}
			},
			"S1a": {
				"type": "structure",
				"members": {
					"ItemCollectionKey": {
						"type": "map",
						"key": {},
						"value": {
							"shape": "S8"
						}
					},
					"SizeEstimateRangeGB": {
						"type": "list",
						"member": {
							"type": "double"
						}
					}
				}
			},
			"S1f": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"AttributeName",
						"AttributeType"
					],
					"members": {
						"AttributeName": {},
						"AttributeType": {}
					}
				}
			},
			"S1j": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"AttributeName",
						"KeyType"
					],
					"members": {
						"AttributeName": {},
						"KeyType": {}
					}
				}
			},
			"S1o": {
				"type": "structure",
				"members": {
					"ProjectionType": {},
					"NonKeyAttributes": {
						"type": "list",
						"member": {}
					}
				}
			},
			"S1u": {
				"type": "structure",
				"required": [
					"ReadCapacityUnits",
					"WriteCapacityUnits"
				],
				"members": {
					"ReadCapacityUnits": {
						"type": "long"
					},
					"WriteCapacityUnits": {
						"type": "long"
					}
				}
			},
			"S1w": {
				"type": "structure",
				"members": {
					"StreamEnabled": {
						"type": "boolean"
					},
					"StreamViewType": {}
				}
			},
			"S20": {
				"type": "structure",
				"members": {
					"AttributeDefinitions": {
						"shape": "S1f"
					},
					"TableName": {},
					"KeySchema": {
						"shape": "S1j"
					},
					"TableStatus": {},
					"CreationDateTime": {
						"type": "timestamp"
					},
					"ProvisionedThroughput": {
						"shape": "S23"
					},
					"TableSizeBytes": {
						"type": "long"
					},
					"ItemCount": {
						"type": "long"
					},
					"TableArn": {},
					"LocalSecondaryIndexes": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"IndexName": {},
								"KeySchema": {
									"shape": "S1j"
								},
								"Projection": {
									"shape": "S1o"
								},
								"IndexSizeBytes": {
									"type": "long"
								},
								"ItemCount": {
									"type": "long"
								},
								"IndexArn": {}
							}
						}
					},
					"GlobalSecondaryIndexes": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"IndexName": {},
								"KeySchema": {
									"shape": "S1j"
								},
								"Projection": {
									"shape": "S1o"
								},
								"IndexStatus": {},
								"Backfilling": {
									"type": "boolean"
								},
								"ProvisionedThroughput": {
									"shape": "S23"
								},
								"IndexSizeBytes": {
									"type": "long"
								},
								"ItemCount": {
									"type": "long"
								},
								"IndexArn": {}
							}
						}
					},
					"StreamSpecification": {
						"shape": "S1w"
					},
					"LatestStreamLabel": {},
					"LatestStreamArn": {}
				}
			},
			"S23": {
				"type": "structure",
				"members": {
					"LastIncreaseDateTime": {
						"type": "timestamp"
					},
					"LastDecreaseDateTime": {
						"type": "timestamp"
					},
					"NumberOfDecreasesToday": {
						"type": "long"
					},
					"ReadCapacityUnits": {
						"type": "long"
					},
					"WriteCapacityUnits": {
						"type": "long"
					}
				}
			},
			"S2e": {
				"type": "map",
				"key": {},
				"value": {
					"type": "structure",
					"members": {
						"Value": {
							"shape": "S8"
						},
						"Exists": {
							"type": "boolean"
						},
						"ComparisonOperator": {},
						"AttributeValueList": {
							"shape": "S2i"
						}
					}
				}
			},
			"S2i": {
				"type": "list",
				"member": {
					"shape": "S8"
				}
			},
			"S2m": {
				"type": "map",
				"key": {},
				"value": {
					"shape": "S8"
				}
			},
			"S3a": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key",
						"Value"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S3k": {
				"type": "structure",
				"required": [
					"ComparisonOperator"
				],
				"members": {
					"AttributeValueList": {
						"shape": "S2i"
					},
					"ComparisonOperator": {}
				}
			},
			"S3l": {
				"type": "map",
				"key": {},
				"value": {
					"shape": "S3k"
				}
			},
			"S4a": {
				"type": "structure",
				"required": [
					"Enabled",
					"AttributeName"
				],
				"members": {
					"Enabled": {
						"type": "boolean"
					},
					"AttributeName": {}
				}
			}
		}
	};

/***/ }),
/* 415 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"BatchGetItem": {
				"input_token": "RequestItems",
				"output_token": "UnprocessedKeys"
			},
			"ListTables": {
				"input_token": "ExclusiveStartTableName",
				"limit_key": "Limit",
				"output_token": "LastEvaluatedTableName",
				"result_key": "TableNames"
			},
			"Query": {
				"input_token": "ExclusiveStartKey",
				"limit_key": "Limit",
				"output_token": "LastEvaluatedKey",
				"result_key": "Items"
			},
			"Scan": {
				"input_token": "ExclusiveStartKey",
				"limit_key": "Limit",
				"output_token": "LastEvaluatedKey",
				"result_key": "Items"
			}
		}
	};

/***/ }),
/* 416 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"TableExists": {
				"delay": 20,
				"operation": "DescribeTable",
				"maxAttempts": 25,
				"acceptors": [
					{
						"expected": "ACTIVE",
						"matcher": "path",
						"state": "success",
						"argument": "Table.TableStatus"
					},
					{
						"expected": "ResourceNotFoundException",
						"matcher": "error",
						"state": "retry"
					}
				]
			},
			"TableNotExists": {
				"delay": 20,
				"operation": "DescribeTable",
				"maxAttempts": 25,
				"acceptors": [
					{
						"expected": "ResourceNotFoundException",
						"matcher": "error",
						"state": "success"
					}
				]
			}
		}
	};

/***/ }),
/* 417 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['dynamodbstreams'] = {};
	AWS.DynamoDBStreams = Service.defineService('dynamodbstreams', ['2012-08-10']);
	Object.defineProperty(apiLoader.services['dynamodbstreams'], '2012-08-10', {
	  get: function get() {
	    var model = __webpack_require__(418);
	    model.paginators = __webpack_require__(419).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.DynamoDBStreams;


/***/ }),
/* 418 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2012-08-10",
			"endpointPrefix": "streams.dynamodb",
			"jsonVersion": "1.0",
			"protocol": "json",
			"serviceFullName": "Amazon DynamoDB Streams",
			"signatureVersion": "v4",
			"signingName": "dynamodb",
			"targetPrefix": "DynamoDBStreams_20120810",
			"uid": "streams-dynamodb-2012-08-10"
		},
		"operations": {
			"DescribeStream": {
				"input": {
					"type": "structure",
					"required": [
						"StreamArn"
					],
					"members": {
						"StreamArn": {},
						"Limit": {
							"type": "integer"
						},
						"ExclusiveStartShardId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamDescription": {
							"type": "structure",
							"members": {
								"StreamArn": {},
								"StreamLabel": {},
								"StreamStatus": {},
								"StreamViewType": {},
								"CreationRequestDateTime": {
									"type": "timestamp"
								},
								"TableName": {},
								"KeySchema": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"AttributeName",
											"KeyType"
										],
										"members": {
											"AttributeName": {},
											"KeyType": {}
										}
									}
								},
								"Shards": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"ShardId": {},
											"SequenceNumberRange": {
												"type": "structure",
												"members": {
													"StartingSequenceNumber": {},
													"EndingSequenceNumber": {}
												}
											},
											"ParentShardId": {}
										}
									}
								},
								"LastEvaluatedShardId": {}
							}
						}
					}
				}
			},
			"GetRecords": {
				"input": {
					"type": "structure",
					"required": [
						"ShardIterator"
					],
					"members": {
						"ShardIterator": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Records": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"eventID": {},
									"eventName": {},
									"eventVersion": {},
									"eventSource": {},
									"awsRegion": {},
									"dynamodb": {
										"type": "structure",
										"members": {
											"ApproximateCreationDateTime": {
												"type": "timestamp"
											},
											"Keys": {
												"shape": "Sr"
											},
											"NewImage": {
												"shape": "Sr"
											},
											"OldImage": {
												"shape": "Sr"
											},
											"SequenceNumber": {},
											"SizeBytes": {
												"type": "long"
											},
											"StreamViewType": {}
										}
									},
									"userIdentity": {
										"type": "structure",
										"members": {
											"PrincipalId": {},
											"Type": {}
										}
									}
								}
							}
						},
						"NextShardIterator": {}
					}
				}
			},
			"GetShardIterator": {
				"input": {
					"type": "structure",
					"required": [
						"StreamArn",
						"ShardId",
						"ShardIteratorType"
					],
					"members": {
						"StreamArn": {},
						"ShardId": {},
						"ShardIteratorType": {},
						"SequenceNumber": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ShardIterator": {}
					}
				}
			},
			"ListStreams": {
				"input": {
					"type": "structure",
					"members": {
						"TableName": {},
						"Limit": {
							"type": "integer"
						},
						"ExclusiveStartStreamArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Streams": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"StreamArn": {},
									"TableName": {},
									"StreamLabel": {}
								}
							}
						},
						"LastEvaluatedStreamArn": {}
					}
				}
			}
		},
		"shapes": {
			"Sr": {
				"type": "map",
				"key": {},
				"value": {
					"shape": "St"
				}
			},
			"St": {
				"type": "structure",
				"members": {
					"S": {},
					"N": {},
					"B": {
						"type": "blob"
					},
					"SS": {
						"type": "list",
						"member": {}
					},
					"NS": {
						"type": "list",
						"member": {}
					},
					"BS": {
						"type": "list",
						"member": {
							"type": "blob"
						}
					},
					"M": {
						"type": "map",
						"key": {},
						"value": {
							"shape": "St"
						}
					},
					"L": {
						"type": "list",
						"member": {
							"shape": "St"
						}
					},
					"NULL": {
						"type": "boolean"
					},
					"BOOL": {
						"type": "boolean"
					}
				}
			}
		}
	};

/***/ }),
/* 419 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 420 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['ec2'] = {};
	AWS.EC2 = Service.defineService('ec2', ['2013-06-15*', '2013-10-15*', '2014-02-01*', '2014-05-01*', '2014-06-15*', '2014-09-01*', '2014-10-01*', '2015-03-01*', '2015-04-15*', '2015-10-01*', '2016-04-01*', '2016-09-15*', '2016-11-15']);
	__webpack_require__(421);
	Object.defineProperty(apiLoader.services['ec2'], '2016-11-15', {
	  get: function get() {
	    var model = __webpack_require__(422);
	    model.paginators = __webpack_require__(423).pagination;
	    model.waiters = __webpack_require__(424).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.EC2;


/***/ }),
/* 421 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	AWS.util.update(AWS.EC2.prototype, {
	  /**
	   * @api private
	   */
	  setupRequestListeners: function setupRequestListeners(request) {
	    request.removeListener('extractError', AWS.EventListeners.Query.EXTRACT_ERROR);
	    request.addListener('extractError', this.extractError);

	    if (request.operation === 'copySnapshot') {
	      request.onAsync('validate', this.buildCopySnapshotPresignedUrl);
	    }
	  },

	  /**
	   * @api private
	   */
	  buildCopySnapshotPresignedUrl: function buildCopySnapshotPresignedUrl(req, done) {
	    if (req.params.PresignedUrl || req._subRequest) {
	      return done();
	    }

	    req.params = AWS.util.copy(req.params);
	    req.params.DestinationRegion = req.service.config.region;

	    var config = AWS.util.copy(req.service.config);
	    delete config.endpoint;
	    config.region = req.params.SourceRegion;
	    var svc = new req.service.constructor(config);
	    var newReq = svc[req.operation](req.params);
	    newReq._subRequest = true;
	    newReq.presign(function(err, url) {
	      if (err) done(err);
	      else {
	        req.params.PresignedUrl = url;
	        done();
	      }
	    });
	  },

	  /**
	   * @api private
	   */
	  extractError: function extractError(resp) {
	    // EC2 nests the error code and message deeper than other AWS Query services.
	    var httpResponse = resp.httpResponse;
	    var data = new AWS.XML.Parser().parse(httpResponse.body.toString() || '');
	    if (data.Errors) {
	      resp.error = AWS.util.error(new Error(), {
	        code: data.Errors.Error.Code,
	        message: data.Errors.Error.Message
	      });
	    } else {
	      resp.error = AWS.util.error(new Error(), {
	        code: httpResponse.statusCode,
	        message: null
	      });
	    }
	    resp.error.requestId = data.RequestID || null;
	  }
	});


/***/ }),
/* 422 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-11-15",
			"endpointPrefix": "ec2",
			"protocol": "ec2",
			"serviceAbbreviation": "Amazon EC2",
			"serviceFullName": "Amazon Elastic Compute Cloud",
			"signatureVersion": "v4",
			"uid": "ec2-2016-11-15",
			"xmlNamespace": "http://ec2.amazonaws.com/doc/2016-11-15"
		},
		"operations": {
			"AcceptReservedInstancesExchangeQuote": {
				"input": {
					"type": "structure",
					"required": [
						"ReservedInstanceIds"
					],
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"ReservedInstanceIds": {
							"shape": "S3",
							"locationName": "ReservedInstanceId"
						},
						"TargetConfigurations": {
							"shape": "S5",
							"locationName": "TargetConfiguration"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ExchangeId": {
							"locationName": "exchangeId"
						}
					}
				}
			},
			"AcceptVpcPeeringConnection": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"VpcPeeringConnectionId": {
							"locationName": "vpcPeeringConnectionId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VpcPeeringConnection": {
							"shape": "Sb",
							"locationName": "vpcPeeringConnection"
						}
					}
				}
			},
			"AllocateAddress": {
				"input": {
					"type": "structure",
					"members": {
						"Domain": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PublicIp": {
							"locationName": "publicIp"
						},
						"AllocationId": {
							"locationName": "allocationId"
						},
						"Domain": {
							"locationName": "domain"
						}
					}
				}
			},
			"AllocateHosts": {
				"input": {
					"type": "structure",
					"required": [
						"AvailabilityZone",
						"InstanceType",
						"Quantity"
					],
					"members": {
						"AutoPlacement": {
							"locationName": "autoPlacement"
						},
						"AvailabilityZone": {
							"locationName": "availabilityZone"
						},
						"ClientToken": {
							"locationName": "clientToken"
						},
						"InstanceType": {
							"locationName": "instanceType"
						},
						"Quantity": {
							"locationName": "quantity",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HostIds": {
							"shape": "Sr",
							"locationName": "hostIdSet"
						}
					}
				}
			},
			"AssignIpv6Addresses": {
				"input": {
					"type": "structure",
					"required": [
						"NetworkInterfaceId"
					],
					"members": {
						"Ipv6AddressCount": {
							"locationName": "ipv6AddressCount",
							"type": "integer"
						},
						"Ipv6Addresses": {
							"shape": "St",
							"locationName": "ipv6Addresses"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AssignedIpv6Addresses": {
							"shape": "St",
							"locationName": "assignedIpv6Addresses"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						}
					}
				}
			},
			"AssignPrivateIpAddresses": {
				"input": {
					"type": "structure",
					"required": [
						"NetworkInterfaceId"
					],
					"members": {
						"AllowReassignment": {
							"locationName": "allowReassignment",
							"type": "boolean"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						},
						"PrivateIpAddresses": {
							"shape": "Sw",
							"locationName": "privateIpAddress"
						},
						"SecondaryPrivateIpAddressCount": {
							"locationName": "secondaryPrivateIpAddressCount",
							"type": "integer"
						}
					}
				}
			},
			"AssociateAddress": {
				"input": {
					"type": "structure",
					"members": {
						"AllocationId": {},
						"InstanceId": {},
						"PublicIp": {},
						"AllowReassociation": {
							"locationName": "allowReassociation",
							"type": "boolean"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						},
						"PrivateIpAddress": {
							"locationName": "privateIpAddress"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AssociationId": {
							"locationName": "associationId"
						}
					}
				}
			},
			"AssociateDhcpOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DhcpOptionsId",
						"VpcId"
					],
					"members": {
						"DhcpOptionsId": {},
						"VpcId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"AssociateIamInstanceProfile": {
				"input": {
					"type": "structure",
					"required": [
						"IamInstanceProfile",
						"InstanceId"
					],
					"members": {
						"IamInstanceProfile": {
							"shape": "S11"
						},
						"InstanceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IamInstanceProfileAssociation": {
							"shape": "S13",
							"locationName": "iamInstanceProfileAssociation"
						}
					}
				}
			},
			"AssociateRouteTable": {
				"input": {
					"type": "structure",
					"required": [
						"RouteTableId",
						"SubnetId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"RouteTableId": {
							"locationName": "routeTableId"
						},
						"SubnetId": {
							"locationName": "subnetId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AssociationId": {
							"locationName": "associationId"
						}
					}
				}
			},
			"AssociateSubnetCidrBlock": {
				"input": {
					"type": "structure",
					"required": [
						"Ipv6CidrBlock",
						"SubnetId"
					],
					"members": {
						"Ipv6CidrBlock": {
							"locationName": "ipv6CidrBlock"
						},
						"SubnetId": {
							"locationName": "subnetId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Ipv6CidrBlockAssociation": {
							"shape": "S1a",
							"locationName": "ipv6CidrBlockAssociation"
						},
						"SubnetId": {
							"locationName": "subnetId"
						}
					}
				}
			},
			"AssociateVpcCidrBlock": {
				"input": {
					"type": "structure",
					"required": [
						"VpcId"
					],
					"members": {
						"AmazonProvidedIpv6CidrBlock": {
							"locationName": "amazonProvidedIpv6CidrBlock",
							"type": "boolean"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Ipv6CidrBlockAssociation": {
							"shape": "S1f",
							"locationName": "ipv6CidrBlockAssociation"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				}
			},
			"AttachClassicLinkVpc": {
				"input": {
					"type": "structure",
					"required": [
						"Groups",
						"InstanceId",
						"VpcId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Groups": {
							"shape": "S1j",
							"locationName": "SecurityGroupId"
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"AttachInternetGateway": {
				"input": {
					"type": "structure",
					"required": [
						"InternetGatewayId",
						"VpcId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InternetGatewayId": {
							"locationName": "internetGatewayId"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				}
			},
			"AttachNetworkInterface": {
				"input": {
					"type": "structure",
					"required": [
						"DeviceIndex",
						"InstanceId",
						"NetworkInterfaceId"
					],
					"members": {
						"DeviceIndex": {
							"locationName": "deviceIndex",
							"type": "integer"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AttachmentId": {
							"locationName": "attachmentId"
						}
					}
				}
			},
			"AttachVolume": {
				"input": {
					"type": "structure",
					"required": [
						"Device",
						"InstanceId",
						"VolumeId"
					],
					"members": {
						"Device": {},
						"InstanceId": {},
						"VolumeId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"shape": "S1p"
				}
			},
			"AttachVpnGateway": {
				"input": {
					"type": "structure",
					"required": [
						"VpcId",
						"VpnGatewayId"
					],
					"members": {
						"VpcId": {},
						"VpnGatewayId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VpcAttachment": {
							"shape": "S1t",
							"locationName": "attachment"
						}
					}
				}
			},
			"AuthorizeSecurityGroupEgress": {
				"input": {
					"type": "structure",
					"required": [
						"GroupId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"GroupId": {
							"locationName": "groupId"
						},
						"IpPermissions": {
							"shape": "S1w",
							"locationName": "ipPermissions"
						},
						"CidrIp": {
							"locationName": "cidrIp"
						},
						"FromPort": {
							"locationName": "fromPort",
							"type": "integer"
						},
						"IpProtocol": {
							"locationName": "ipProtocol"
						},
						"ToPort": {
							"locationName": "toPort",
							"type": "integer"
						},
						"SourceSecurityGroupName": {
							"locationName": "sourceSecurityGroupName"
						},
						"SourceSecurityGroupOwnerId": {
							"locationName": "sourceSecurityGroupOwnerId"
						}
					}
				}
			},
			"AuthorizeSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"members": {
						"CidrIp": {},
						"FromPort": {
							"type": "integer"
						},
						"GroupId": {},
						"GroupName": {},
						"IpPermissions": {
							"shape": "S1w"
						},
						"IpProtocol": {},
						"SourceSecurityGroupName": {},
						"SourceSecurityGroupOwnerId": {},
						"ToPort": {
							"type": "integer"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"BundleInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId",
						"Storage"
					],
					"members": {
						"InstanceId": {},
						"Storage": {
							"shape": "S28"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BundleTask": {
							"shape": "S2c",
							"locationName": "bundleInstanceTask"
						}
					}
				}
			},
			"CancelBundleTask": {
				"input": {
					"type": "structure",
					"required": [
						"BundleId"
					],
					"members": {
						"BundleId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BundleTask": {
							"shape": "S2c",
							"locationName": "bundleInstanceTask"
						}
					}
				}
			},
			"CancelConversionTask": {
				"input": {
					"type": "structure",
					"required": [
						"ConversionTaskId"
					],
					"members": {
						"ConversionTaskId": {
							"locationName": "conversionTaskId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"ReasonMessage": {
							"locationName": "reasonMessage"
						}
					}
				}
			},
			"CancelExportTask": {
				"input": {
					"type": "structure",
					"required": [
						"ExportTaskId"
					],
					"members": {
						"ExportTaskId": {
							"locationName": "exportTaskId"
						}
					}
				}
			},
			"CancelImportTask": {
				"input": {
					"type": "structure",
					"members": {
						"CancelReason": {},
						"DryRun": {
							"type": "boolean"
						},
						"ImportTaskId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ImportTaskId": {
							"locationName": "importTaskId"
						},
						"PreviousState": {
							"locationName": "previousState"
						},
						"State": {
							"locationName": "state"
						}
					}
				}
			},
			"CancelReservedInstancesListing": {
				"input": {
					"type": "structure",
					"required": [
						"ReservedInstancesListingId"
					],
					"members": {
						"ReservedInstancesListingId": {
							"locationName": "reservedInstancesListingId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReservedInstancesListings": {
							"shape": "S2n",
							"locationName": "reservedInstancesListingsSet"
						}
					}
				}
			},
			"CancelSpotFleetRequests": {
				"input": {
					"type": "structure",
					"required": [
						"SpotFleetRequestIds",
						"TerminateInstances"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"SpotFleetRequestIds": {
							"shape": "S2z",
							"locationName": "spotFleetRequestId"
						},
						"TerminateInstances": {
							"locationName": "terminateInstances",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SuccessfulFleetRequests": {
							"locationName": "successfulFleetRequestSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"required": [
									"CurrentSpotFleetRequestState",
									"PreviousSpotFleetRequestState",
									"SpotFleetRequestId"
								],
								"members": {
									"CurrentSpotFleetRequestState": {
										"locationName": "currentSpotFleetRequestState"
									},
									"PreviousSpotFleetRequestState": {
										"locationName": "previousSpotFleetRequestState"
									},
									"SpotFleetRequestId": {
										"locationName": "spotFleetRequestId"
									}
								}
							}
						},
						"UnsuccessfulFleetRequests": {
							"locationName": "unsuccessfulFleetRequestSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"required": [
									"Error",
									"SpotFleetRequestId"
								],
								"members": {
									"Error": {
										"locationName": "error",
										"type": "structure",
										"required": [
											"Code",
											"Message"
										],
										"members": {
											"Code": {
												"locationName": "code"
											},
											"Message": {
												"locationName": "message"
											}
										}
									},
									"SpotFleetRequestId": {
										"locationName": "spotFleetRequestId"
									}
								}
							}
						}
					}
				}
			},
			"CancelSpotInstanceRequests": {
				"input": {
					"type": "structure",
					"required": [
						"SpotInstanceRequestIds"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"SpotInstanceRequestIds": {
							"shape": "S39",
							"locationName": "SpotInstanceRequestId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CancelledSpotInstanceRequests": {
							"locationName": "spotInstanceRequestSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"SpotInstanceRequestId": {
										"locationName": "spotInstanceRequestId"
									},
									"State": {
										"locationName": "state"
									}
								}
							}
						}
					}
				}
			},
			"ConfirmProductInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId",
						"ProductCode"
					],
					"members": {
						"InstanceId": {},
						"ProductCode": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"OwnerId": {
							"locationName": "ownerId"
						},
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"CopyImage": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"SourceImageId",
						"SourceRegion"
					],
					"members": {
						"ClientToken": {},
						"Description": {},
						"Encrypted": {
							"locationName": "encrypted",
							"type": "boolean"
						},
						"KmsKeyId": {
							"locationName": "kmsKeyId"
						},
						"Name": {},
						"SourceImageId": {},
						"SourceRegion": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ImageId": {
							"locationName": "imageId"
						}
					}
				}
			},
			"CopySnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SourceRegion",
						"SourceSnapshotId"
					],
					"members": {
						"Description": {},
						"DestinationRegion": {
							"locationName": "destinationRegion"
						},
						"Encrypted": {
							"locationName": "encrypted",
							"type": "boolean"
						},
						"KmsKeyId": {
							"locationName": "kmsKeyId"
						},
						"PresignedUrl": {
							"locationName": "presignedUrl"
						},
						"SourceRegion": {},
						"SourceSnapshotId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SnapshotId": {
							"locationName": "snapshotId"
						}
					}
				}
			},
			"CreateCustomerGateway": {
				"input": {
					"type": "structure",
					"required": [
						"BgpAsn",
						"PublicIp",
						"Type"
					],
					"members": {
						"BgpAsn": {
							"type": "integer"
						},
						"PublicIp": {
							"locationName": "IpAddress"
						},
						"Type": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CustomerGateway": {
							"shape": "S3n",
							"locationName": "customerGateway"
						}
					}
				}
			},
			"CreateDhcpOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DhcpConfigurations"
					],
					"members": {
						"DhcpConfigurations": {
							"locationName": "dhcpConfiguration",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Key": {
										"locationName": "key"
									},
									"Values": {
										"shape": "S2z",
										"locationName": "Value"
									}
								}
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DhcpOptions": {
							"shape": "S3s",
							"locationName": "dhcpOptions"
						}
					}
				}
			},
			"CreateEgressOnlyInternetGateway": {
				"input": {
					"type": "structure",
					"required": [
						"VpcId"
					],
					"members": {
						"ClientToken": {},
						"DryRun": {
							"type": "boolean"
						},
						"VpcId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClientToken": {
							"locationName": "clientToken"
						},
						"EgressOnlyInternetGateway": {
							"shape": "S3z",
							"locationName": "egressOnlyInternetGateway"
						}
					}
				}
			},
			"CreateFlowLogs": {
				"input": {
					"type": "structure",
					"required": [
						"DeliverLogsPermissionArn",
						"LogGroupName",
						"ResourceIds",
						"ResourceType",
						"TrafficType"
					],
					"members": {
						"ClientToken": {},
						"DeliverLogsPermissionArn": {},
						"LogGroupName": {},
						"ResourceIds": {
							"shape": "S2z",
							"locationName": "ResourceId"
						},
						"ResourceType": {},
						"TrafficType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClientToken": {
							"locationName": "clientToken"
						},
						"FlowLogIds": {
							"shape": "S2z",
							"locationName": "flowLogIdSet"
						},
						"Unsuccessful": {
							"shape": "S47",
							"locationName": "unsuccessful"
						}
					}
				}
			},
			"CreateFpgaImage": {
				"input": {
					"type": "structure",
					"required": [
						"InputStorageLocation"
					],
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"InputStorageLocation": {
							"shape": "S4b"
						},
						"LogsStorageLocation": {
							"shape": "S4b"
						},
						"Description": {},
						"Name": {},
						"ClientToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FpgaImageId": {
							"locationName": "fpgaImageId"
						},
						"FpgaImageGlobalId": {
							"locationName": "fpgaImageGlobalId"
						}
					}
				}
			},
			"CreateImage": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId",
						"Name"
					],
					"members": {
						"BlockDeviceMappings": {
							"shape": "S4e",
							"locationName": "blockDeviceMapping"
						},
						"Description": {
							"locationName": "description"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"Name": {
							"locationName": "name"
						},
						"NoReboot": {
							"locationName": "noReboot",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ImageId": {
							"locationName": "imageId"
						}
					}
				}
			},
			"CreateInstanceExportTask": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"Description": {
							"locationName": "description"
						},
						"ExportToS3Task": {
							"locationName": "exportToS3",
							"type": "structure",
							"members": {
								"ContainerFormat": {
									"locationName": "containerFormat"
								},
								"DiskImageFormat": {
									"locationName": "diskImageFormat"
								},
								"S3Bucket": {
									"locationName": "s3Bucket"
								},
								"S3Prefix": {
									"locationName": "s3Prefix"
								}
							}
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"TargetEnvironment": {
							"locationName": "targetEnvironment"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ExportTask": {
							"shape": "S4p",
							"locationName": "exportTask"
						}
					}
				}
			},
			"CreateInternetGateway": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InternetGateway": {
							"shape": "S4v",
							"locationName": "internetGateway"
						}
					}
				}
			},
			"CreateKeyPair": {
				"input": {
					"type": "structure",
					"required": [
						"KeyName"
					],
					"members": {
						"KeyName": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"KeyFingerprint": {
							"locationName": "keyFingerprint"
						},
						"KeyMaterial": {
							"locationName": "keyMaterial"
						},
						"KeyName": {
							"locationName": "keyName"
						}
					}
				}
			},
			"CreateNatGateway": {
				"input": {
					"type": "structure",
					"required": [
						"AllocationId",
						"SubnetId"
					],
					"members": {
						"AllocationId": {},
						"ClientToken": {},
						"SubnetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClientToken": {
							"locationName": "clientToken"
						},
						"NatGateway": {
							"shape": "S50",
							"locationName": "natGateway"
						}
					}
				}
			},
			"CreateNetworkAcl": {
				"input": {
					"type": "structure",
					"required": [
						"VpcId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NetworkAcl": {
							"shape": "S57",
							"locationName": "networkAcl"
						}
					}
				}
			},
			"CreateNetworkAclEntry": {
				"input": {
					"type": "structure",
					"required": [
						"Egress",
						"NetworkAclId",
						"Protocol",
						"RuleAction",
						"RuleNumber"
					],
					"members": {
						"CidrBlock": {
							"locationName": "cidrBlock"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Egress": {
							"locationName": "egress",
							"type": "boolean"
						},
						"IcmpTypeCode": {
							"shape": "S5c",
							"locationName": "Icmp"
						},
						"Ipv6CidrBlock": {
							"locationName": "ipv6CidrBlock"
						},
						"NetworkAclId": {
							"locationName": "networkAclId"
						},
						"PortRange": {
							"shape": "S5d",
							"locationName": "portRange"
						},
						"Protocol": {
							"locationName": "protocol"
						},
						"RuleAction": {
							"locationName": "ruleAction"
						},
						"RuleNumber": {
							"locationName": "ruleNumber",
							"type": "integer"
						}
					}
				}
			},
			"CreateNetworkInterface": {
				"input": {
					"type": "structure",
					"required": [
						"SubnetId"
					],
					"members": {
						"Description": {
							"locationName": "description"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Groups": {
							"shape": "S5h",
							"locationName": "SecurityGroupId"
						},
						"Ipv6AddressCount": {
							"locationName": "ipv6AddressCount",
							"type": "integer"
						},
						"Ipv6Addresses": {
							"shape": "S5i",
							"locationName": "ipv6Addresses"
						},
						"PrivateIpAddress": {
							"locationName": "privateIpAddress"
						},
						"PrivateIpAddresses": {
							"shape": "S5k",
							"locationName": "privateIpAddresses"
						},
						"SecondaryPrivateIpAddressCount": {
							"locationName": "secondaryPrivateIpAddressCount",
							"type": "integer"
						},
						"SubnetId": {
							"locationName": "subnetId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NetworkInterface": {
							"shape": "S5n",
							"locationName": "networkInterface"
						}
					}
				}
			},
			"CreatePlacementGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"Strategy"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"GroupName": {
							"locationName": "groupName"
						},
						"Strategy": {
							"locationName": "strategy"
						}
					}
				}
			},
			"CreateReservedInstancesListing": {
				"input": {
					"type": "structure",
					"required": [
						"ClientToken",
						"InstanceCount",
						"PriceSchedules",
						"ReservedInstancesId"
					],
					"members": {
						"ClientToken": {
							"locationName": "clientToken"
						},
						"InstanceCount": {
							"locationName": "instanceCount",
							"type": "integer"
						},
						"PriceSchedules": {
							"locationName": "priceSchedules",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"CurrencyCode": {
										"locationName": "currencyCode"
									},
									"Price": {
										"locationName": "price",
										"type": "double"
									},
									"Term": {
										"locationName": "term",
										"type": "long"
									}
								}
							}
						},
						"ReservedInstancesId": {
							"locationName": "reservedInstancesId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReservedInstancesListings": {
							"shape": "S2n",
							"locationName": "reservedInstancesListingsSet"
						}
					}
				}
			},
			"CreateRoute": {
				"input": {
					"type": "structure",
					"required": [
						"RouteTableId"
					],
					"members": {
						"DestinationCidrBlock": {
							"locationName": "destinationCidrBlock"
						},
						"DestinationIpv6CidrBlock": {
							"locationName": "destinationIpv6CidrBlock"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"EgressOnlyInternetGatewayId": {
							"locationName": "egressOnlyInternetGatewayId"
						},
						"GatewayId": {
							"locationName": "gatewayId"
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"NatGatewayId": {
							"locationName": "natGatewayId"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						},
						"RouteTableId": {
							"locationName": "routeTableId"
						},
						"VpcPeeringConnectionId": {
							"locationName": "vpcPeeringConnectionId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"CreateRouteTable": {
				"input": {
					"type": "structure",
					"required": [
						"VpcId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RouteTable": {
							"shape": "S68",
							"locationName": "routeTable"
						}
					}
				}
			},
			"CreateSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"Description",
						"GroupName"
					],
					"members": {
						"Description": {
							"locationName": "GroupDescription"
						},
						"GroupName": {},
						"VpcId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GroupId": {
							"locationName": "groupId"
						}
					}
				}
			},
			"CreateSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeId"
					],
					"members": {
						"Description": {},
						"VolumeId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"shape": "S6k"
				}
			},
			"CreateSpotDatafeedSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"locationName": "bucket"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Prefix": {
							"locationName": "prefix"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SpotDatafeedSubscription": {
							"shape": "S6o",
							"locationName": "spotDatafeedSubscription"
						}
					}
				}
			},
			"CreateSubnet": {
				"input": {
					"type": "structure",
					"required": [
						"CidrBlock",
						"VpcId"
					],
					"members": {
						"AvailabilityZone": {},
						"CidrBlock": {},
						"Ipv6CidrBlock": {},
						"VpcId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Subnet": {
							"shape": "S6t",
							"locationName": "subnet"
						}
					}
				}
			},
			"CreateTags": {
				"input": {
					"type": "structure",
					"required": [
						"Resources",
						"Tags"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Resources": {
							"shape": "S6x",
							"locationName": "ResourceId"
						},
						"Tags": {
							"shape": "Sj",
							"locationName": "Tag"
						}
					}
				}
			},
			"CreateVolume": {
				"input": {
					"type": "structure",
					"required": [
						"AvailabilityZone"
					],
					"members": {
						"AvailabilityZone": {},
						"Encrypted": {
							"locationName": "encrypted",
							"type": "boolean"
						},
						"Iops": {
							"type": "integer"
						},
						"KmsKeyId": {},
						"Size": {
							"type": "integer"
						},
						"SnapshotId": {},
						"VolumeType": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"TagSpecifications": {
							"shape": "S6z",
							"locationName": "TagSpecification"
						}
					}
				},
				"output": {
					"shape": "S72"
				}
			},
			"CreateVpc": {
				"input": {
					"type": "structure",
					"required": [
						"CidrBlock"
					],
					"members": {
						"CidrBlock": {},
						"AmazonProvidedIpv6CidrBlock": {
							"locationName": "amazonProvidedIpv6CidrBlock",
							"type": "boolean"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InstanceTenancy": {
							"locationName": "instanceTenancy"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Vpc": {
							"shape": "S78",
							"locationName": "vpc"
						}
					}
				}
			},
			"CreateVpcEndpoint": {
				"input": {
					"type": "structure",
					"required": [
						"ServiceName",
						"VpcId"
					],
					"members": {
						"ClientToken": {},
						"DryRun": {
							"type": "boolean"
						},
						"PolicyDocument": {},
						"RouteTableIds": {
							"shape": "S2z",
							"locationName": "RouteTableId"
						},
						"ServiceName": {},
						"VpcId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClientToken": {
							"locationName": "clientToken"
						},
						"VpcEndpoint": {
							"shape": "S7d",
							"locationName": "vpcEndpoint"
						}
					}
				}
			},
			"CreateVpcPeeringConnection": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"PeerOwnerId": {
							"locationName": "peerOwnerId"
						},
						"PeerVpcId": {
							"locationName": "peerVpcId"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VpcPeeringConnection": {
							"shape": "Sb",
							"locationName": "vpcPeeringConnection"
						}
					}
				}
			},
			"CreateVpnConnection": {
				"input": {
					"type": "structure",
					"required": [
						"CustomerGatewayId",
						"Type",
						"VpnGatewayId"
					],
					"members": {
						"CustomerGatewayId": {},
						"Type": {},
						"VpnGatewayId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Options": {
							"locationName": "options",
							"type": "structure",
							"members": {
								"StaticRoutesOnly": {
									"locationName": "staticRoutesOnly",
									"type": "boolean"
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VpnConnection": {
							"shape": "S7k",
							"locationName": "vpnConnection"
						}
					}
				}
			},
			"CreateVpnConnectionRoute": {
				"input": {
					"type": "structure",
					"required": [
						"DestinationCidrBlock",
						"VpnConnectionId"
					],
					"members": {
						"DestinationCidrBlock": {},
						"VpnConnectionId": {}
					}
				}
			},
			"CreateVpnGateway": {
				"input": {
					"type": "structure",
					"required": [
						"Type"
					],
					"members": {
						"AvailabilityZone": {},
						"Type": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VpnGateway": {
							"shape": "S7w",
							"locationName": "vpnGateway"
						}
					}
				}
			},
			"DeleteCustomerGateway": {
				"input": {
					"type": "structure",
					"required": [
						"CustomerGatewayId"
					],
					"members": {
						"CustomerGatewayId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteDhcpOptions": {
				"input": {
					"type": "structure",
					"required": [
						"DhcpOptionsId"
					],
					"members": {
						"DhcpOptionsId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteEgressOnlyInternetGateway": {
				"input": {
					"type": "structure",
					"required": [
						"EgressOnlyInternetGatewayId"
					],
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"EgressOnlyInternetGatewayId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReturnCode": {
							"locationName": "returnCode",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteFlowLogs": {
				"input": {
					"type": "structure",
					"required": [
						"FlowLogIds"
					],
					"members": {
						"FlowLogIds": {
							"shape": "S2z",
							"locationName": "FlowLogId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Unsuccessful": {
							"shape": "S47",
							"locationName": "unsuccessful"
						}
					}
				}
			},
			"DeleteInternetGateway": {
				"input": {
					"type": "structure",
					"required": [
						"InternetGatewayId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InternetGatewayId": {
							"locationName": "internetGatewayId"
						}
					}
				}
			},
			"DeleteKeyPair": {
				"input": {
					"type": "structure",
					"required": [
						"KeyName"
					],
					"members": {
						"KeyName": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteNatGateway": {
				"input": {
					"type": "structure",
					"required": [
						"NatGatewayId"
					],
					"members": {
						"NatGatewayId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NatGatewayId": {
							"locationName": "natGatewayId"
						}
					}
				}
			},
			"DeleteNetworkAcl": {
				"input": {
					"type": "structure",
					"required": [
						"NetworkAclId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"NetworkAclId": {
							"locationName": "networkAclId"
						}
					}
				}
			},
			"DeleteNetworkAclEntry": {
				"input": {
					"type": "structure",
					"required": [
						"Egress",
						"NetworkAclId",
						"RuleNumber"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Egress": {
							"locationName": "egress",
							"type": "boolean"
						},
						"NetworkAclId": {
							"locationName": "networkAclId"
						},
						"RuleNumber": {
							"locationName": "ruleNumber",
							"type": "integer"
						}
					}
				}
			},
			"DeleteNetworkInterface": {
				"input": {
					"type": "structure",
					"required": [
						"NetworkInterfaceId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						}
					}
				}
			},
			"DeletePlacementGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"GroupName": {
							"locationName": "groupName"
						}
					}
				}
			},
			"DeleteRoute": {
				"input": {
					"type": "structure",
					"required": [
						"RouteTableId"
					],
					"members": {
						"DestinationCidrBlock": {
							"locationName": "destinationCidrBlock"
						},
						"DestinationIpv6CidrBlock": {
							"locationName": "destinationIpv6CidrBlock"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"RouteTableId": {
							"locationName": "routeTableId"
						}
					}
				}
			},
			"DeleteRouteTable": {
				"input": {
					"type": "structure",
					"required": [
						"RouteTableId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"RouteTableId": {
							"locationName": "routeTableId"
						}
					}
				}
			},
			"DeleteSecurityGroup": {
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {},
						"GroupName": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotId"
					],
					"members": {
						"SnapshotId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteSpotDatafeedSubscription": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteSubnet": {
				"input": {
					"type": "structure",
					"required": [
						"SubnetId"
					],
					"members": {
						"SubnetId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteTags": {
				"input": {
					"type": "structure",
					"required": [
						"Resources"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Resources": {
							"shape": "S6x",
							"locationName": "resourceId"
						},
						"Tags": {
							"shape": "Sj",
							"locationName": "tag"
						}
					}
				}
			},
			"DeleteVolume": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeId"
					],
					"members": {
						"VolumeId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteVpc": {
				"input": {
					"type": "structure",
					"required": [
						"VpcId"
					],
					"members": {
						"VpcId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteVpcEndpoints": {
				"input": {
					"type": "structure",
					"required": [
						"VpcEndpointIds"
					],
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"VpcEndpointIds": {
							"shape": "S2z",
							"locationName": "VpcEndpointId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Unsuccessful": {
							"shape": "S47",
							"locationName": "unsuccessful"
						}
					}
				}
			},
			"DeleteVpcPeeringConnection": {
				"input": {
					"type": "structure",
					"required": [
						"VpcPeeringConnectionId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"VpcPeeringConnectionId": {
							"locationName": "vpcPeeringConnectionId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteVpnConnection": {
				"input": {
					"type": "structure",
					"required": [
						"VpnConnectionId"
					],
					"members": {
						"VpnConnectionId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DeleteVpnConnectionRoute": {
				"input": {
					"type": "structure",
					"required": [
						"DestinationCidrBlock",
						"VpnConnectionId"
					],
					"members": {
						"DestinationCidrBlock": {},
						"VpnConnectionId": {}
					}
				}
			},
			"DeleteVpnGateway": {
				"input": {
					"type": "structure",
					"required": [
						"VpnGatewayId"
					],
					"members": {
						"VpnGatewayId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DeregisterImage": {
				"input": {
					"type": "structure",
					"required": [
						"ImageId"
					],
					"members": {
						"ImageId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DescribeAccountAttributes": {
				"input": {
					"type": "structure",
					"members": {
						"AttributeNames": {
							"locationName": "attributeName",
							"type": "list",
							"member": {
								"locationName": "attributeName"
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AccountAttributes": {
							"locationName": "accountAttributeSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"AttributeName": {
										"locationName": "attributeName"
									},
									"AttributeValues": {
										"locationName": "attributeValueSet",
										"type": "list",
										"member": {
											"locationName": "item",
											"type": "structure",
											"members": {
												"AttributeValue": {
													"locationName": "attributeValue"
												}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeAddresses": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"PublicIps": {
							"locationName": "PublicIp",
							"type": "list",
							"member": {
								"locationName": "PublicIp"
							}
						},
						"AllocationIds": {
							"locationName": "AllocationId",
							"type": "list",
							"member": {
								"locationName": "AllocationId"
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Addresses": {
							"locationName": "addressesSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"InstanceId": {
										"locationName": "instanceId"
									},
									"PublicIp": {
										"locationName": "publicIp"
									},
									"AllocationId": {
										"locationName": "allocationId"
									},
									"AssociationId": {
										"locationName": "associationId"
									},
									"Domain": {
										"locationName": "domain"
									},
									"NetworkInterfaceId": {
										"locationName": "networkInterfaceId"
									},
									"NetworkInterfaceOwnerId": {
										"locationName": "networkInterfaceOwnerId"
									},
									"PrivateIpAddress": {
										"locationName": "privateIpAddress"
									}
								}
							}
						}
					}
				}
			},
			"DescribeAvailabilityZones": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"ZoneNames": {
							"locationName": "ZoneName",
							"type": "list",
							"member": {
								"locationName": "ZoneName"
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AvailabilityZones": {
							"locationName": "availabilityZoneInfo",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"State": {
										"locationName": "zoneState"
									},
									"Messages": {
										"locationName": "messageSet",
										"type": "list",
										"member": {
											"locationName": "item",
											"type": "structure",
											"members": {
												"Message": {
													"locationName": "message"
												}
											}
										}
									},
									"RegionName": {
										"locationName": "regionName"
									},
									"ZoneName": {
										"locationName": "zoneName"
									}
								}
							}
						}
					}
				}
			},
			"DescribeBundleTasks": {
				"input": {
					"type": "structure",
					"members": {
						"BundleIds": {
							"locationName": "BundleId",
							"type": "list",
							"member": {
								"locationName": "BundleId"
							}
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BundleTasks": {
							"locationName": "bundleInstanceTasksSet",
							"type": "list",
							"member": {
								"shape": "S2c",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeClassicLinkInstances": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InstanceIds": {
							"shape": "S9m",
							"locationName": "InstanceId"
						},
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Instances": {
							"locationName": "instancesSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Groups": {
										"shape": "S5q",
										"locationName": "groupSet"
									},
									"InstanceId": {
										"locationName": "instanceId"
									},
									"Tags": {
										"shape": "Sj",
										"locationName": "tagSet"
									},
									"VpcId": {
										"locationName": "vpcId"
									}
								}
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeConversionTasks": {
				"input": {
					"type": "structure",
					"members": {
						"ConversionTaskIds": {
							"locationName": "conversionTaskId",
							"type": "list",
							"member": {
								"locationName": "item"
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConversionTasks": {
							"locationName": "conversionTasks",
							"type": "list",
							"member": {
								"shape": "S9u",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeCustomerGateways": {
				"input": {
					"type": "structure",
					"members": {
						"CustomerGatewayIds": {
							"locationName": "CustomerGatewayId",
							"type": "list",
							"member": {
								"locationName": "CustomerGatewayId"
							}
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CustomerGateways": {
							"locationName": "customerGatewaySet",
							"type": "list",
							"member": {
								"shape": "S3n",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeDhcpOptions": {
				"input": {
					"type": "structure",
					"members": {
						"DhcpOptionsIds": {
							"locationName": "DhcpOptionsId",
							"type": "list",
							"member": {
								"locationName": "DhcpOptionsId"
							}
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DhcpOptions": {
							"locationName": "dhcpOptionsSet",
							"type": "list",
							"member": {
								"shape": "S3s",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeEgressOnlyInternetGateways": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"EgressOnlyInternetGatewayIds": {
							"locationName": "EgressOnlyInternetGatewayId",
							"type": "list",
							"member": {
								"locationName": "item"
							}
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EgressOnlyInternetGateways": {
							"locationName": "egressOnlyInternetGatewaySet",
							"type": "list",
							"member": {
								"shape": "S3z",
								"locationName": "item"
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeExportTasks": {
				"input": {
					"type": "structure",
					"members": {
						"ExportTaskIds": {
							"locationName": "exportTaskId",
							"type": "list",
							"member": {
								"locationName": "ExportTaskId"
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ExportTasks": {
							"locationName": "exportTaskSet",
							"type": "list",
							"member": {
								"shape": "S4p",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeFlowLogs": {
				"input": {
					"type": "structure",
					"members": {
						"Filter": {
							"shape": "S92"
						},
						"FlowLogIds": {
							"shape": "S2z",
							"locationName": "FlowLogId"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FlowLogs": {
							"locationName": "flowLogSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"CreationTime": {
										"locationName": "creationTime",
										"type": "timestamp"
									},
									"DeliverLogsErrorMessage": {
										"locationName": "deliverLogsErrorMessage"
									},
									"DeliverLogsPermissionArn": {
										"locationName": "deliverLogsPermissionArn"
									},
									"DeliverLogsStatus": {
										"locationName": "deliverLogsStatus"
									},
									"FlowLogId": {
										"locationName": "flowLogId"
									},
									"FlowLogStatus": {
										"locationName": "flowLogStatus"
									},
									"LogGroupName": {
										"locationName": "logGroupName"
									},
									"ResourceId": {
										"locationName": "resourceId"
									},
									"TrafficType": {
										"locationName": "trafficType"
									}
								}
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeFpgaImages": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"FpgaImageIds": {
							"locationName": "FpgaImageId",
							"type": "list",
							"member": {
								"locationName": "item"
							}
						},
						"Owners": {
							"shape": "Sap",
							"locationName": "Owner"
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FpgaImages": {
							"locationName": "fpgaImageSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"FpgaImageId": {
										"locationName": "fpgaImageId"
									},
									"FpgaImageGlobalId": {
										"locationName": "fpgaImageGlobalId"
									},
									"Name": {
										"locationName": "name"
									},
									"Description": {
										"locationName": "description"
									},
									"ShellVersion": {
										"locationName": "shellVersion"
									},
									"PciId": {
										"locationName": "pciId",
										"type": "structure",
										"members": {
											"DeviceId": {},
											"VendorId": {},
											"SubsystemId": {},
											"SubsystemVendorId": {}
										}
									},
									"State": {
										"locationName": "state",
										"type": "structure",
										"members": {
											"Code": {
												"locationName": "code"
											},
											"Message": {
												"locationName": "message"
											}
										}
									},
									"CreateTime": {
										"locationName": "createTime",
										"type": "timestamp"
									},
									"UpdateTime": {
										"locationName": "updateTime",
										"type": "timestamp"
									},
									"OwnerId": {
										"locationName": "ownerId"
									},
									"OwnerAlias": {
										"locationName": "ownerAlias"
									},
									"ProductCodes": {
										"shape": "Say",
										"locationName": "productCodes"
									},
									"Tags": {
										"shape": "Sj",
										"locationName": "tags"
									}
								}
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeHostReservationOfferings": {
				"input": {
					"type": "structure",
					"members": {
						"Filter": {
							"shape": "S92"
						},
						"MaxDuration": {
							"type": "integer"
						},
						"MaxResults": {
							"type": "integer"
						},
						"MinDuration": {
							"type": "integer"
						},
						"NextToken": {},
						"OfferingId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"OfferingSet": {
							"locationName": "offeringSet",
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"CurrencyCode": {
										"locationName": "currencyCode"
									},
									"Duration": {
										"locationName": "duration",
										"type": "integer"
									},
									"HourlyPrice": {
										"locationName": "hourlyPrice"
									},
									"InstanceFamily": {
										"locationName": "instanceFamily"
									},
									"OfferingId": {
										"locationName": "offeringId"
									},
									"PaymentOption": {
										"locationName": "paymentOption"
									},
									"UpfrontPrice": {
										"locationName": "upfrontPrice"
									}
								}
							}
						}
					}
				}
			},
			"DescribeHostReservations": {
				"input": {
					"type": "structure",
					"members": {
						"Filter": {
							"shape": "S92"
						},
						"HostReservationIdSet": {
							"type": "list",
							"member": {
								"locationName": "item"
							}
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HostReservationSet": {
							"locationName": "hostReservationSet",
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Count": {
										"locationName": "count",
										"type": "integer"
									},
									"CurrencyCode": {
										"locationName": "currencyCode"
									},
									"Duration": {
										"locationName": "duration",
										"type": "integer"
									},
									"End": {
										"locationName": "end",
										"type": "timestamp"
									},
									"HostIdSet": {
										"shape": "Sbb",
										"locationName": "hostIdSet"
									},
									"HostReservationId": {
										"locationName": "hostReservationId"
									},
									"HourlyPrice": {
										"locationName": "hourlyPrice"
									},
									"InstanceFamily": {
										"locationName": "instanceFamily"
									},
									"OfferingId": {
										"locationName": "offeringId"
									},
									"PaymentOption": {
										"locationName": "paymentOption"
									},
									"Start": {
										"locationName": "start",
										"type": "timestamp"
									},
									"State": {
										"locationName": "state"
									},
									"UpfrontPrice": {
										"locationName": "upfrontPrice"
									}
								}
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeHosts": {
				"input": {
					"type": "structure",
					"members": {
						"Filter": {
							"shape": "S92",
							"locationName": "filter"
						},
						"HostIds": {
							"shape": "Sbe",
							"locationName": "hostId"
						},
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Hosts": {
							"locationName": "hostSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"AutoPlacement": {
										"locationName": "autoPlacement"
									},
									"AvailabilityZone": {
										"locationName": "availabilityZone"
									},
									"AvailableCapacity": {
										"locationName": "availableCapacity",
										"type": "structure",
										"members": {
											"AvailableInstanceCapacity": {
												"locationName": "availableInstanceCapacity",
												"type": "list",
												"member": {
													"locationName": "item",
													"type": "structure",
													"members": {
														"AvailableCapacity": {
															"locationName": "availableCapacity",
															"type": "integer"
														},
														"InstanceType": {
															"locationName": "instanceType"
														},
														"TotalCapacity": {
															"locationName": "totalCapacity",
															"type": "integer"
														}
													}
												}
											},
											"AvailableVCpus": {
												"locationName": "availableVCpus",
												"type": "integer"
											}
										}
									},
									"ClientToken": {
										"locationName": "clientToken"
									},
									"HostId": {
										"locationName": "hostId"
									},
									"HostProperties": {
										"locationName": "hostProperties",
										"type": "structure",
										"members": {
											"Cores": {
												"locationName": "cores",
												"type": "integer"
											},
											"InstanceType": {
												"locationName": "instanceType"
											},
											"Sockets": {
												"locationName": "sockets",
												"type": "integer"
											},
											"TotalVCpus": {
												"locationName": "totalVCpus",
												"type": "integer"
											}
										}
									},
									"HostReservationId": {
										"locationName": "hostReservationId"
									},
									"Instances": {
										"locationName": "instances",
										"type": "list",
										"member": {
											"locationName": "item",
											"type": "structure",
											"members": {
												"InstanceId": {
													"locationName": "instanceId"
												},
												"InstanceType": {
													"locationName": "instanceType"
												}
											}
										}
									},
									"State": {
										"locationName": "state"
									}
								}
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeIamInstanceProfileAssociations": {
				"input": {
					"type": "structure",
					"members": {
						"AssociationIds": {
							"locationName": "AssociationId",
							"type": "list",
							"member": {
								"locationName": "AssociationId"
							}
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IamInstanceProfileAssociations": {
							"locationName": "iamInstanceProfileAssociationSet",
							"type": "list",
							"member": {
								"shape": "S13",
								"locationName": "item"
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeIdFormat": {
				"input": {
					"type": "structure",
					"members": {
						"Resource": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Statuses": {
							"shape": "Sbv",
							"locationName": "statusSet"
						}
					}
				}
			},
			"DescribeIdentityIdFormat": {
				"input": {
					"type": "structure",
					"required": [
						"PrincipalArn"
					],
					"members": {
						"PrincipalArn": {
							"locationName": "principalArn"
						},
						"Resource": {
							"locationName": "resource"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Statuses": {
							"shape": "Sbv",
							"locationName": "statusSet"
						}
					}
				}
			},
			"DescribeImageAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"Attribute",
						"ImageId"
					],
					"members": {
						"Attribute": {},
						"ImageId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BlockDeviceMappings": {
							"shape": "Sc2",
							"locationName": "blockDeviceMapping"
						},
						"ImageId": {
							"locationName": "imageId"
						},
						"LaunchPermissions": {
							"shape": "Sc3",
							"locationName": "launchPermission"
						},
						"ProductCodes": {
							"shape": "Say",
							"locationName": "productCodes"
						},
						"Description": {
							"shape": "S3w",
							"locationName": "description"
						},
						"KernelId": {
							"shape": "S3w",
							"locationName": "kernel"
						},
						"RamdiskId": {
							"shape": "S3w",
							"locationName": "ramdisk"
						},
						"SriovNetSupport": {
							"shape": "S3w",
							"locationName": "sriovNetSupport"
						}
					}
				}
			},
			"DescribeImages": {
				"input": {
					"type": "structure",
					"members": {
						"ExecutableUsers": {
							"locationName": "ExecutableBy",
							"type": "list",
							"member": {
								"locationName": "ExecutableBy"
							}
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"ImageIds": {
							"locationName": "ImageId",
							"type": "list",
							"member": {
								"locationName": "ImageId"
							}
						},
						"Owners": {
							"shape": "Sap",
							"locationName": "Owner"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Images": {
							"locationName": "imagesSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Architecture": {
										"locationName": "architecture"
									},
									"CreationDate": {
										"locationName": "creationDate"
									},
									"ImageId": {
										"locationName": "imageId"
									},
									"ImageLocation": {
										"locationName": "imageLocation"
									},
									"ImageType": {
										"locationName": "imageType"
									},
									"Public": {
										"locationName": "isPublic",
										"type": "boolean"
									},
									"KernelId": {
										"locationName": "kernelId"
									},
									"OwnerId": {
										"locationName": "imageOwnerId"
									},
									"Platform": {
										"locationName": "platform"
									},
									"ProductCodes": {
										"shape": "Say",
										"locationName": "productCodes"
									},
									"RamdiskId": {
										"locationName": "ramdiskId"
									},
									"State": {
										"locationName": "imageState"
									},
									"BlockDeviceMappings": {
										"shape": "Sc2",
										"locationName": "blockDeviceMapping"
									},
									"Description": {
										"locationName": "description"
									},
									"EnaSupport": {
										"locationName": "enaSupport",
										"type": "boolean"
									},
									"Hypervisor": {
										"locationName": "hypervisor"
									},
									"ImageOwnerAlias": {
										"locationName": "imageOwnerAlias"
									},
									"Name": {
										"locationName": "name"
									},
									"RootDeviceName": {
										"locationName": "rootDeviceName"
									},
									"RootDeviceType": {
										"locationName": "rootDeviceType"
									},
									"SriovNetSupport": {
										"locationName": "sriovNetSupport"
									},
									"StateReason": {
										"shape": "Sch",
										"locationName": "stateReason"
									},
									"Tags": {
										"shape": "Sj",
										"locationName": "tagSet"
									},
									"VirtualizationType": {
										"locationName": "virtualizationType"
									}
								}
							}
						}
					}
				}
			},
			"DescribeImportImageTasks": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S92"
						},
						"ImportTaskIds": {
							"shape": "Sck",
							"locationName": "ImportTaskId"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ImportImageTasks": {
							"locationName": "importImageTaskSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Architecture": {
										"locationName": "architecture"
									},
									"Description": {
										"locationName": "description"
									},
									"Hypervisor": {
										"locationName": "hypervisor"
									},
									"ImageId": {
										"locationName": "imageId"
									},
									"ImportTaskId": {
										"locationName": "importTaskId"
									},
									"LicenseType": {
										"locationName": "licenseType"
									},
									"Platform": {
										"locationName": "platform"
									},
									"Progress": {
										"locationName": "progress"
									},
									"SnapshotDetails": {
										"shape": "Sco",
										"locationName": "snapshotDetailSet"
									},
									"Status": {
										"locationName": "status"
									},
									"StatusMessage": {
										"locationName": "statusMessage"
									}
								}
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeImportSnapshotTasks": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S92"
						},
						"ImportTaskIds": {
							"shape": "Sck",
							"locationName": "ImportTaskId"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ImportSnapshotTasks": {
							"locationName": "importSnapshotTaskSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Description": {
										"locationName": "description"
									},
									"ImportTaskId": {
										"locationName": "importTaskId"
									},
									"SnapshotTaskDetail": {
										"shape": "Scv",
										"locationName": "snapshotTaskDetail"
									}
								}
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeInstanceAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"Attribute",
						"InstanceId"
					],
					"members": {
						"Attribute": {
							"locationName": "attribute"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InstanceId": {
							"locationName": "instanceId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Groups": {
							"shape": "S5q",
							"locationName": "groupSet"
						},
						"BlockDeviceMappings": {
							"shape": "Scz",
							"locationName": "blockDeviceMapping"
						},
						"DisableApiTermination": {
							"shape": "Sd2",
							"locationName": "disableApiTermination"
						},
						"EnaSupport": {
							"shape": "Sd2",
							"locationName": "enaSupport"
						},
						"EbsOptimized": {
							"shape": "Sd2",
							"locationName": "ebsOptimized"
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"InstanceInitiatedShutdownBehavior": {
							"shape": "S3w",
							"locationName": "instanceInitiatedShutdownBehavior"
						},
						"InstanceType": {
							"shape": "S3w",
							"locationName": "instanceType"
						},
						"KernelId": {
							"shape": "S3w",
							"locationName": "kernel"
						},
						"ProductCodes": {
							"shape": "Say",
							"locationName": "productCodes"
						},
						"RamdiskId": {
							"shape": "S3w",
							"locationName": "ramdisk"
						},
						"RootDeviceName": {
							"shape": "S3w",
							"locationName": "rootDeviceName"
						},
						"SourceDestCheck": {
							"shape": "Sd2",
							"locationName": "sourceDestCheck"
						},
						"SriovNetSupport": {
							"shape": "S3w",
							"locationName": "sriovNetSupport"
						},
						"UserData": {
							"shape": "S3w",
							"locationName": "userData"
						}
					}
				}
			},
			"DescribeInstanceStatus": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"InstanceIds": {
							"shape": "S9m",
							"locationName": "InstanceId"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"IncludeAllInstances": {
							"locationName": "includeAllInstances",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceStatuses": {
							"locationName": "instanceStatusSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"AvailabilityZone": {
										"locationName": "availabilityZone"
									},
									"Events": {
										"locationName": "eventsSet",
										"type": "list",
										"member": {
											"locationName": "item",
											"type": "structure",
											"members": {
												"Code": {
													"locationName": "code"
												},
												"Description": {
													"locationName": "description"
												},
												"NotAfter": {
													"locationName": "notAfter",
													"type": "timestamp"
												},
												"NotBefore": {
													"locationName": "notBefore",
													"type": "timestamp"
												}
											}
										}
									},
									"InstanceId": {
										"locationName": "instanceId"
									},
									"InstanceState": {
										"shape": "Sda",
										"locationName": "instanceState"
									},
									"InstanceStatus": {
										"shape": "Sdc",
										"locationName": "instanceStatus"
									},
									"SystemStatus": {
										"shape": "Sdc",
										"locationName": "systemStatus"
									}
								}
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeInstances": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"InstanceIds": {
							"shape": "S9m",
							"locationName": "InstanceId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Reservations": {
							"locationName": "reservationSet",
							"type": "list",
							"member": {
								"shape": "Sdl",
								"locationName": "item"
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeInternetGateways": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InternetGatewayIds": {
							"shape": "S2z",
							"locationName": "internetGatewayId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InternetGateways": {
							"locationName": "internetGatewaySet",
							"type": "list",
							"member": {
								"shape": "S4v",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeKeyPairs": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"KeyNames": {
							"locationName": "KeyName",
							"type": "list",
							"member": {
								"locationName": "KeyName"
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"KeyPairs": {
							"locationName": "keySet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"KeyFingerprint": {
										"locationName": "keyFingerprint"
									},
									"KeyName": {
										"locationName": "keyName"
									}
								}
							}
						}
					}
				}
			},
			"DescribeMovingAddresses": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						},
						"PublicIps": {
							"shape": "S2z",
							"locationName": "publicIp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"MovingAddressStatuses": {
							"locationName": "movingAddressStatusSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"MoveStatus": {
										"locationName": "moveStatus"
									},
									"PublicIp": {
										"locationName": "publicIp"
									}
								}
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeNatGateways": {
				"input": {
					"type": "structure",
					"members": {
						"Filter": {
							"shape": "S92"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NatGatewayIds": {
							"shape": "S2z",
							"locationName": "NatGatewayId"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NatGateways": {
							"locationName": "natGatewaySet",
							"type": "list",
							"member": {
								"shape": "S50",
								"locationName": "item"
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeNetworkAcls": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"NetworkAclIds": {
							"shape": "S2z",
							"locationName": "NetworkAclId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NetworkAcls": {
							"locationName": "networkAclSet",
							"type": "list",
							"member": {
								"shape": "S57",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeNetworkInterfaceAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"NetworkInterfaceId"
					],
					"members": {
						"Attribute": {
							"locationName": "attribute"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attachment": {
							"shape": "S5p",
							"locationName": "attachment"
						},
						"Description": {
							"shape": "S3w",
							"locationName": "description"
						},
						"Groups": {
							"shape": "S5q",
							"locationName": "groupSet"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						},
						"SourceDestCheck": {
							"shape": "Sd2",
							"locationName": "sourceDestCheck"
						}
					}
				}
			},
			"DescribeNetworkInterfaces": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"NetworkInterfaceIds": {
							"locationName": "NetworkInterfaceId",
							"type": "list",
							"member": {
								"locationName": "item"
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NetworkInterfaces": {
							"locationName": "networkInterfaceSet",
							"type": "list",
							"member": {
								"shape": "S5n",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribePlacementGroups": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"GroupNames": {
							"locationName": "groupName",
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PlacementGroups": {
							"locationName": "placementGroupSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"GroupName": {
										"locationName": "groupName"
									},
									"State": {
										"locationName": "state"
									},
									"Strategy": {
										"locationName": "strategy"
									}
								}
							}
						}
					}
				}
			},
			"DescribePrefixLists": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {},
						"PrefixListIds": {
							"shape": "S2z",
							"locationName": "PrefixListId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"PrefixLists": {
							"locationName": "prefixListSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Cidrs": {
										"shape": "S2z",
										"locationName": "cidrSet"
									},
									"PrefixListId": {
										"locationName": "prefixListId"
									},
									"PrefixListName": {
										"locationName": "prefixListName"
									}
								}
							}
						}
					}
				}
			},
			"DescribeRegions": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"RegionNames": {
							"locationName": "RegionName",
							"type": "list",
							"member": {
								"locationName": "RegionName"
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Regions": {
							"locationName": "regionInfo",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Endpoint": {
										"locationName": "regionEndpoint"
									},
									"RegionName": {
										"locationName": "regionName"
									}
								}
							}
						}
					}
				}
			},
			"DescribeReservedInstances": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"OfferingClass": {},
						"ReservedInstancesIds": {
							"shape": "Sf6",
							"locationName": "ReservedInstancesId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"OfferingType": {
							"locationName": "offeringType"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReservedInstances": {
							"locationName": "reservedInstancesSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"AvailabilityZone": {
										"locationName": "availabilityZone"
									},
									"Duration": {
										"locationName": "duration",
										"type": "long"
									},
									"End": {
										"locationName": "end",
										"type": "timestamp"
									},
									"FixedPrice": {
										"locationName": "fixedPrice",
										"type": "float"
									},
									"InstanceCount": {
										"locationName": "instanceCount",
										"type": "integer"
									},
									"InstanceType": {
										"locationName": "instanceType"
									},
									"ProductDescription": {
										"locationName": "productDescription"
									},
									"ReservedInstancesId": {
										"locationName": "reservedInstancesId"
									},
									"Start": {
										"locationName": "start",
										"type": "timestamp"
									},
									"State": {
										"locationName": "state"
									},
									"UsagePrice": {
										"locationName": "usagePrice",
										"type": "float"
									},
									"CurrencyCode": {
										"locationName": "currencyCode"
									},
									"InstanceTenancy": {
										"locationName": "instanceTenancy"
									},
									"OfferingClass": {
										"locationName": "offeringClass"
									},
									"OfferingType": {
										"locationName": "offeringType"
									},
									"RecurringCharges": {
										"shape": "Sfe",
										"locationName": "recurringCharges"
									},
									"Scope": {
										"locationName": "scope"
									},
									"Tags": {
										"shape": "Sj",
										"locationName": "tagSet"
									}
								}
							}
						}
					}
				}
			},
			"DescribeReservedInstancesListings": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"ReservedInstancesId": {
							"locationName": "reservedInstancesId"
						},
						"ReservedInstancesListingId": {
							"locationName": "reservedInstancesListingId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReservedInstancesListings": {
							"shape": "S2n",
							"locationName": "reservedInstancesListingsSet"
						}
					}
				}
			},
			"DescribeReservedInstancesModifications": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"ReservedInstancesModificationIds": {
							"locationName": "ReservedInstancesModificationId",
							"type": "list",
							"member": {
								"locationName": "ReservedInstancesModificationId"
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"ReservedInstancesModifications": {
							"locationName": "reservedInstancesModificationsSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"ClientToken": {
										"locationName": "clientToken"
									},
									"CreateDate": {
										"locationName": "createDate",
										"type": "timestamp"
									},
									"EffectiveDate": {
										"locationName": "effectiveDate",
										"type": "timestamp"
									},
									"ModificationResults": {
										"locationName": "modificationResultSet",
										"type": "list",
										"member": {
											"locationName": "item",
											"type": "structure",
											"members": {
												"ReservedInstancesId": {
													"locationName": "reservedInstancesId"
												},
												"TargetConfiguration": {
													"shape": "Sfr",
													"locationName": "targetConfiguration"
												}
											}
										}
									},
									"ReservedInstancesIds": {
										"locationName": "reservedInstancesSet",
										"type": "list",
										"member": {
											"locationName": "item",
											"type": "structure",
											"members": {
												"ReservedInstancesId": {
													"locationName": "reservedInstancesId"
												}
											}
										}
									},
									"ReservedInstancesModificationId": {
										"locationName": "reservedInstancesModificationId"
									},
									"Status": {
										"locationName": "status"
									},
									"StatusMessage": {
										"locationName": "statusMessage"
									},
									"UpdateDate": {
										"locationName": "updateDate",
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeReservedInstancesOfferings": {
				"input": {
					"type": "structure",
					"members": {
						"AvailabilityZone": {},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"IncludeMarketplace": {
							"type": "boolean"
						},
						"InstanceType": {},
						"MaxDuration": {
							"type": "long"
						},
						"MaxInstanceCount": {
							"type": "integer"
						},
						"MinDuration": {
							"type": "long"
						},
						"OfferingClass": {},
						"ProductDescription": {},
						"ReservedInstancesOfferingIds": {
							"locationName": "ReservedInstancesOfferingId",
							"type": "list",
							"member": {}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InstanceTenancy": {
							"locationName": "instanceTenancy"
						},
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						},
						"OfferingType": {
							"locationName": "offeringType"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReservedInstancesOfferings": {
							"locationName": "reservedInstancesOfferingsSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"AvailabilityZone": {
										"locationName": "availabilityZone"
									},
									"Duration": {
										"locationName": "duration",
										"type": "long"
									},
									"FixedPrice": {
										"locationName": "fixedPrice",
										"type": "float"
									},
									"InstanceType": {
										"locationName": "instanceType"
									},
									"ProductDescription": {
										"locationName": "productDescription"
									},
									"ReservedInstancesOfferingId": {
										"locationName": "reservedInstancesOfferingId"
									},
									"UsagePrice": {
										"locationName": "usagePrice",
										"type": "float"
									},
									"CurrencyCode": {
										"locationName": "currencyCode"
									},
									"InstanceTenancy": {
										"locationName": "instanceTenancy"
									},
									"Marketplace": {
										"locationName": "marketplace",
										"type": "boolean"
									},
									"OfferingClass": {
										"locationName": "offeringClass"
									},
									"OfferingType": {
										"locationName": "offeringType"
									},
									"PricingDetails": {
										"locationName": "pricingDetailsSet",
										"type": "list",
										"member": {
											"locationName": "item",
											"type": "structure",
											"members": {
												"Count": {
													"locationName": "count",
													"type": "integer"
												},
												"Price": {
													"locationName": "price",
													"type": "double"
												}
											}
										}
									},
									"RecurringCharges": {
										"shape": "Sfe",
										"locationName": "recurringCharges"
									},
									"Scope": {
										"locationName": "scope"
									}
								}
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeRouteTables": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"RouteTableIds": {
							"shape": "S2z",
							"locationName": "RouteTableId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RouteTables": {
							"locationName": "routeTableSet",
							"type": "list",
							"member": {
								"shape": "S68",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeScheduledInstanceAvailability": {
				"input": {
					"type": "structure",
					"required": [
						"FirstSlotStartTimeRange",
						"Recurrence"
					],
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"FirstSlotStartTimeRange": {
							"type": "structure",
							"required": [
								"EarliestTime",
								"LatestTime"
							],
							"members": {
								"EarliestTime": {
									"type": "timestamp"
								},
								"LatestTime": {
									"type": "timestamp"
								}
							}
						},
						"MaxResults": {
							"type": "integer"
						},
						"MaxSlotDurationInHours": {
							"type": "integer"
						},
						"MinSlotDurationInHours": {
							"type": "integer"
						},
						"NextToken": {},
						"Recurrence": {
							"type": "structure",
							"members": {
								"Frequency": {},
								"Interval": {
									"type": "integer"
								},
								"OccurrenceDays": {
									"locationName": "OccurrenceDay",
									"type": "list",
									"member": {
										"locationName": "OccurenceDay",
										"type": "integer"
									}
								},
								"OccurrenceRelativeToEnd": {
									"type": "boolean"
								},
								"OccurrenceUnit": {}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"ScheduledInstanceAvailabilitySet": {
							"locationName": "scheduledInstanceAvailabilitySet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"AvailabilityZone": {
										"locationName": "availabilityZone"
									},
									"AvailableInstanceCount": {
										"locationName": "availableInstanceCount",
										"type": "integer"
									},
									"FirstSlotStartTime": {
										"locationName": "firstSlotStartTime",
										"type": "timestamp"
									},
									"HourlyPrice": {
										"locationName": "hourlyPrice"
									},
									"InstanceType": {
										"locationName": "instanceType"
									},
									"MaxTermDurationInDays": {
										"locationName": "maxTermDurationInDays",
										"type": "integer"
									},
									"MinTermDurationInDays": {
										"locationName": "minTermDurationInDays",
										"type": "integer"
									},
									"NetworkPlatform": {
										"locationName": "networkPlatform"
									},
									"Platform": {
										"locationName": "platform"
									},
									"PurchaseToken": {
										"locationName": "purchaseToken"
									},
									"Recurrence": {
										"shape": "Sgb",
										"locationName": "recurrence"
									},
									"SlotDurationInHours": {
										"locationName": "slotDurationInHours",
										"type": "integer"
									},
									"TotalScheduledInstanceHours": {
										"locationName": "totalScheduledInstanceHours",
										"type": "integer"
									}
								}
							}
						}
					}
				}
			},
			"DescribeScheduledInstances": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {},
						"ScheduledInstanceIds": {
							"locationName": "ScheduledInstanceId",
							"type": "list",
							"member": {
								"locationName": "ScheduledInstanceId"
							}
						},
						"SlotStartTimeRange": {
							"type": "structure",
							"members": {
								"EarliestTime": {
									"type": "timestamp"
								},
								"LatestTime": {
									"type": "timestamp"
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"ScheduledInstanceSet": {
							"locationName": "scheduledInstanceSet",
							"type": "list",
							"member": {
								"shape": "Sgi",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeSecurityGroupReferences": {
				"input": {
					"type": "structure",
					"required": [
						"GroupId"
					],
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"GroupId": {
							"type": "list",
							"member": {
								"locationName": "item"
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SecurityGroupReferenceSet": {
							"locationName": "securityGroupReferenceSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"required": [
									"GroupId",
									"ReferencingVpcId"
								],
								"members": {
									"GroupId": {
										"locationName": "groupId"
									},
									"ReferencingVpcId": {
										"locationName": "referencingVpcId"
									},
									"VpcPeeringConnectionId": {
										"locationName": "vpcPeeringConnectionId"
									}
								}
							}
						}
					}
				}
			},
			"DescribeSecurityGroups": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"GroupIds": {
							"shape": "S1j",
							"locationName": "GroupId"
						},
						"GroupNames": {
							"shape": "Sgp",
							"locationName": "GroupName"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SecurityGroups": {
							"locationName": "securityGroupInfo",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Description": {
										"locationName": "groupDescription"
									},
									"GroupName": {
										"locationName": "groupName"
									},
									"IpPermissions": {
										"shape": "S1w",
										"locationName": "ipPermissions"
									},
									"OwnerId": {
										"locationName": "ownerId"
									},
									"GroupId": {
										"locationName": "groupId"
									},
									"IpPermissionsEgress": {
										"shape": "S1w",
										"locationName": "ipPermissionsEgress"
									},
									"Tags": {
										"shape": "Sj",
										"locationName": "tagSet"
									},
									"VpcId": {
										"locationName": "vpcId"
									}
								}
							}
						}
					}
				}
			},
			"DescribeSnapshotAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"Attribute",
						"SnapshotId"
					],
					"members": {
						"Attribute": {},
						"SnapshotId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CreateVolumePermissions": {
							"shape": "Sgw",
							"locationName": "createVolumePermission"
						},
						"ProductCodes": {
							"shape": "Say",
							"locationName": "productCodes"
						},
						"SnapshotId": {
							"locationName": "snapshotId"
						}
					}
				}
			},
			"DescribeSnapshots": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {},
						"OwnerIds": {
							"shape": "Sap",
							"locationName": "Owner"
						},
						"RestorableByUserIds": {
							"locationName": "RestorableBy",
							"type": "list",
							"member": {}
						},
						"SnapshotIds": {
							"locationName": "SnapshotId",
							"type": "list",
							"member": {
								"locationName": "SnapshotId"
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Snapshots": {
							"locationName": "snapshotSet",
							"type": "list",
							"member": {
								"shape": "S6k",
								"locationName": "item"
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeSpotDatafeedSubscription": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SpotDatafeedSubscription": {
							"shape": "S6o",
							"locationName": "spotDatafeedSubscription"
						}
					}
				}
			},
			"DescribeSpotFleetInstances": {
				"input": {
					"type": "structure",
					"required": [
						"SpotFleetRequestId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						},
						"SpotFleetRequestId": {
							"locationName": "spotFleetRequestId"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ActiveInstances",
						"SpotFleetRequestId"
					],
					"members": {
						"ActiveInstances": {
							"locationName": "activeInstanceSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"InstanceId": {
										"locationName": "instanceId"
									},
									"InstanceType": {
										"locationName": "instanceType"
									},
									"SpotInstanceRequestId": {
										"locationName": "spotInstanceRequestId"
									},
									"InstanceHealth": {
										"locationName": "instanceHealth"
									}
								}
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						},
						"SpotFleetRequestId": {
							"locationName": "spotFleetRequestId"
						}
					}
				}
			},
			"DescribeSpotFleetRequestHistory": {
				"input": {
					"type": "structure",
					"required": [
						"SpotFleetRequestId",
						"StartTime"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"EventType": {
							"locationName": "eventType"
						},
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						},
						"SpotFleetRequestId": {
							"locationName": "spotFleetRequestId"
						},
						"StartTime": {
							"locationName": "startTime",
							"type": "timestamp"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HistoryRecords",
						"LastEvaluatedTime",
						"SpotFleetRequestId",
						"StartTime"
					],
					"members": {
						"HistoryRecords": {
							"locationName": "historyRecordSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"required": [
									"EventInformation",
									"EventType",
									"Timestamp"
								],
								"members": {
									"EventInformation": {
										"locationName": "eventInformation",
										"type": "structure",
										"members": {
											"EventDescription": {
												"locationName": "eventDescription"
											},
											"EventSubType": {
												"locationName": "eventSubType"
											},
											"InstanceId": {
												"locationName": "instanceId"
											}
										}
									},
									"EventType": {
										"locationName": "eventType"
									},
									"Timestamp": {
										"locationName": "timestamp",
										"type": "timestamp"
									}
								}
							}
						},
						"LastEvaluatedTime": {
							"locationName": "lastEvaluatedTime",
							"type": "timestamp"
						},
						"NextToken": {
							"locationName": "nextToken"
						},
						"SpotFleetRequestId": {
							"locationName": "spotFleetRequestId"
						},
						"StartTime": {
							"locationName": "startTime",
							"type": "timestamp"
						}
					}
				}
			},
			"DescribeSpotFleetRequests": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						},
						"SpotFleetRequestIds": {
							"shape": "S2z",
							"locationName": "spotFleetRequestId"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"SpotFleetRequestConfigs"
					],
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"SpotFleetRequestConfigs": {
							"locationName": "spotFleetRequestConfigSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"required": [
									"CreateTime",
									"SpotFleetRequestConfig",
									"SpotFleetRequestId",
									"SpotFleetRequestState"
								],
								"members": {
									"ActivityStatus": {
										"locationName": "activityStatus"
									},
									"CreateTime": {
										"locationName": "createTime",
										"type": "timestamp"
									},
									"SpotFleetRequestConfig": {
										"shape": "Shl",
										"locationName": "spotFleetRequestConfig"
									},
									"SpotFleetRequestId": {
										"locationName": "spotFleetRequestId"
									},
									"SpotFleetRequestState": {
										"locationName": "spotFleetRequestState"
									}
								}
							}
						}
					}
				}
			},
			"DescribeSpotInstanceRequests": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"SpotInstanceRequestIds": {
							"shape": "S39",
							"locationName": "SpotInstanceRequestId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SpotInstanceRequests": {
							"shape": "Shx",
							"locationName": "spotInstanceRequestSet"
						}
					}
				}
			},
			"DescribeSpotPriceHistory": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"AvailabilityZone": {
							"locationName": "availabilityZone"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"EndTime": {
							"locationName": "endTime",
							"type": "timestamp"
						},
						"InstanceTypes": {
							"locationName": "InstanceType",
							"type": "list",
							"member": {}
						},
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						},
						"ProductDescriptions": {
							"locationName": "ProductDescription",
							"type": "list",
							"member": {}
						},
						"StartTime": {
							"locationName": "startTime",
							"type": "timestamp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"SpotPriceHistory": {
							"locationName": "spotPriceHistorySet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"AvailabilityZone": {
										"locationName": "availabilityZone"
									},
									"InstanceType": {
										"locationName": "instanceType"
									},
									"ProductDescription": {
										"locationName": "productDescription"
									},
									"SpotPrice": {
										"locationName": "spotPrice"
									},
									"Timestamp": {
										"locationName": "timestamp",
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeStaleSecurityGroups": {
				"input": {
					"type": "structure",
					"required": [
						"VpcId"
					],
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {},
						"VpcId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"StaleSecurityGroupSet": {
							"locationName": "staleSecurityGroupSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"required": [
									"GroupId"
								],
								"members": {
									"Description": {
										"locationName": "description"
									},
									"GroupId": {
										"locationName": "groupId"
									},
									"GroupName": {
										"locationName": "groupName"
									},
									"StaleIpPermissions": {
										"shape": "Sie",
										"locationName": "staleIpPermissions"
									},
									"StaleIpPermissionsEgress": {
										"shape": "Sie",
										"locationName": "staleIpPermissionsEgress"
									},
									"VpcId": {
										"locationName": "vpcId"
									}
								}
							}
						}
					}
				}
			},
			"DescribeSubnets": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"SubnetIds": {
							"locationName": "SubnetId",
							"type": "list",
							"member": {
								"locationName": "SubnetId"
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Subnets": {
							"locationName": "subnetSet",
							"type": "list",
							"member": {
								"shape": "S6t",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeTags": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"Tags": {
							"locationName": "tagSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Key": {
										"locationName": "key"
									},
									"ResourceId": {
										"locationName": "resourceId"
									},
									"ResourceType": {
										"locationName": "resourceType"
									},
									"Value": {
										"locationName": "value"
									}
								}
							}
						}
					}
				}
			},
			"DescribeVolumeAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeId"
					],
					"members": {
						"Attribute": {},
						"VolumeId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AutoEnableIO": {
							"shape": "Sd2",
							"locationName": "autoEnableIO"
						},
						"ProductCodes": {
							"shape": "Say",
							"locationName": "productCodes"
						},
						"VolumeId": {
							"locationName": "volumeId"
						}
					}
				}
			},
			"DescribeVolumeStatus": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {},
						"VolumeIds": {
							"shape": "Siv",
							"locationName": "VolumeId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"VolumeStatuses": {
							"locationName": "volumeStatusSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Actions": {
										"locationName": "actionsSet",
										"type": "list",
										"member": {
											"locationName": "item",
											"type": "structure",
											"members": {
												"Code": {
													"locationName": "code"
												},
												"Description": {
													"locationName": "description"
												},
												"EventId": {
													"locationName": "eventId"
												},
												"EventType": {
													"locationName": "eventType"
												}
											}
										}
									},
									"AvailabilityZone": {
										"locationName": "availabilityZone"
									},
									"Events": {
										"locationName": "eventsSet",
										"type": "list",
										"member": {
											"locationName": "item",
											"type": "structure",
											"members": {
												"Description": {
													"locationName": "description"
												},
												"EventId": {
													"locationName": "eventId"
												},
												"EventType": {
													"locationName": "eventType"
												},
												"NotAfter": {
													"locationName": "notAfter",
													"type": "timestamp"
												},
												"NotBefore": {
													"locationName": "notBefore",
													"type": "timestamp"
												}
											}
										}
									},
									"VolumeId": {
										"locationName": "volumeId"
									},
									"VolumeStatus": {
										"locationName": "volumeStatus",
										"type": "structure",
										"members": {
											"Details": {
												"locationName": "details",
												"type": "list",
												"member": {
													"locationName": "item",
													"type": "structure",
													"members": {
														"Name": {
															"locationName": "name"
														},
														"Status": {
															"locationName": "status"
														}
													}
												}
											},
											"Status": {
												"locationName": "status"
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeVolumes": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"VolumeIds": {
							"shape": "Siv",
							"locationName": "VolumeId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Volumes": {
							"locationName": "volumeSet",
							"type": "list",
							"member": {
								"shape": "S72",
								"locationName": "item"
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeVolumesModifications": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"VolumeIds": {
							"shape": "Siv",
							"locationName": "VolumeId"
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VolumesModifications": {
							"locationName": "volumeModificationSet",
							"type": "list",
							"member": {
								"shape": "Sje",
								"locationName": "item"
							}
						},
						"NextToken": {
							"locationName": "nextToken"
						}
					}
				}
			},
			"DescribeVpcAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"Attribute",
						"VpcId"
					],
					"members": {
						"Attribute": {},
						"VpcId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VpcId": {
							"locationName": "vpcId"
						},
						"EnableDnsHostnames": {
							"shape": "Sd2",
							"locationName": "enableDnsHostnames"
						},
						"EnableDnsSupport": {
							"shape": "Sd2",
							"locationName": "enableDnsSupport"
						}
					}
				}
			},
			"DescribeVpcClassicLink": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"VpcIds": {
							"shape": "Sjk",
							"locationName": "VpcId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Vpcs": {
							"locationName": "vpcSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"ClassicLinkEnabled": {
										"locationName": "classicLinkEnabled",
										"type": "boolean"
									},
									"Tags": {
										"shape": "Sj",
										"locationName": "tagSet"
									},
									"VpcId": {
										"locationName": "vpcId"
									}
								}
							}
						}
					}
				}
			},
			"DescribeVpcClassicLinkDnsSupport": {
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"locationName": "nextToken"
						},
						"VpcIds": {
							"shape": "Sjk"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"Vpcs": {
							"locationName": "vpcs",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"ClassicLinkDnsSupported": {
										"locationName": "classicLinkDnsSupported",
										"type": "boolean"
									},
									"VpcId": {
										"locationName": "vpcId"
									}
								}
							}
						}
					}
				}
			},
			"DescribeVpcEndpointServices": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"ServiceNames": {
							"shape": "S2z",
							"locationName": "serviceNameSet"
						}
					}
				}
			},
			"DescribeVpcEndpoints": {
				"input": {
					"type": "structure",
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {},
						"VpcEndpointIds": {
							"shape": "S2z",
							"locationName": "VpcEndpointId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {
							"locationName": "nextToken"
						},
						"VpcEndpoints": {
							"locationName": "vpcEndpointSet",
							"type": "list",
							"member": {
								"shape": "S7d",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeVpcPeeringConnections": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"VpcPeeringConnectionIds": {
							"shape": "S2z",
							"locationName": "VpcPeeringConnectionId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VpcPeeringConnections": {
							"locationName": "vpcPeeringConnectionSet",
							"type": "list",
							"member": {
								"shape": "Sb",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeVpcs": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"VpcIds": {
							"locationName": "VpcId",
							"type": "list",
							"member": {
								"locationName": "VpcId"
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Vpcs": {
							"locationName": "vpcSet",
							"type": "list",
							"member": {
								"shape": "S78",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeVpnConnections": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"VpnConnectionIds": {
							"locationName": "VpnConnectionId",
							"type": "list",
							"member": {
								"locationName": "VpnConnectionId"
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VpnConnections": {
							"locationName": "vpnConnectionSet",
							"type": "list",
							"member": {
								"shape": "S7k",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DescribeVpnGateways": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S92",
							"locationName": "Filter"
						},
						"VpnGatewayIds": {
							"locationName": "VpnGatewayId",
							"type": "list",
							"member": {
								"locationName": "VpnGatewayId"
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VpnGateways": {
							"locationName": "vpnGatewaySet",
							"type": "list",
							"member": {
								"shape": "S7w",
								"locationName": "item"
							}
						}
					}
				}
			},
			"DetachClassicLinkVpc": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId",
						"VpcId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"DetachInternetGateway": {
				"input": {
					"type": "structure",
					"required": [
						"InternetGatewayId",
						"VpcId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InternetGatewayId": {
							"locationName": "internetGatewayId"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				}
			},
			"DetachNetworkInterface": {
				"input": {
					"type": "structure",
					"required": [
						"AttachmentId"
					],
					"members": {
						"AttachmentId": {
							"locationName": "attachmentId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Force": {
							"locationName": "force",
							"type": "boolean"
						}
					}
				}
			},
			"DetachVolume": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeId"
					],
					"members": {
						"Device": {},
						"Force": {
							"type": "boolean"
						},
						"InstanceId": {},
						"VolumeId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"shape": "S1p"
				}
			},
			"DetachVpnGateway": {
				"input": {
					"type": "structure",
					"required": [
						"VpcId",
						"VpnGatewayId"
					],
					"members": {
						"VpcId": {},
						"VpnGatewayId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DisableVgwRoutePropagation": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayId",
						"RouteTableId"
					],
					"members": {
						"GatewayId": {},
						"RouteTableId": {}
					}
				}
			},
			"DisableVpcClassicLink": {
				"input": {
					"type": "structure",
					"required": [
						"VpcId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"DisableVpcClassicLinkDnsSupport": {
				"input": {
					"type": "structure",
					"members": {
						"VpcId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"DisassociateAddress": {
				"input": {
					"type": "structure",
					"members": {
						"AssociationId": {},
						"PublicIp": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DisassociateIamInstanceProfile": {
				"input": {
					"type": "structure",
					"required": [
						"AssociationId"
					],
					"members": {
						"AssociationId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IamInstanceProfileAssociation": {
							"shape": "S13",
							"locationName": "iamInstanceProfileAssociation"
						}
					}
				}
			},
			"DisassociateRouteTable": {
				"input": {
					"type": "structure",
					"required": [
						"AssociationId"
					],
					"members": {
						"AssociationId": {
							"locationName": "associationId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"DisassociateSubnetCidrBlock": {
				"input": {
					"type": "structure",
					"required": [
						"AssociationId"
					],
					"members": {
						"AssociationId": {
							"locationName": "associationId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Ipv6CidrBlockAssociation": {
							"shape": "S1a",
							"locationName": "ipv6CidrBlockAssociation"
						},
						"SubnetId": {
							"locationName": "subnetId"
						}
					}
				}
			},
			"DisassociateVpcCidrBlock": {
				"input": {
					"type": "structure",
					"required": [
						"AssociationId"
					],
					"members": {
						"AssociationId": {
							"locationName": "associationId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Ipv6CidrBlockAssociation": {
							"shape": "S1f",
							"locationName": "ipv6CidrBlockAssociation"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				}
			},
			"EnableVgwRoutePropagation": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayId",
						"RouteTableId"
					],
					"members": {
						"GatewayId": {},
						"RouteTableId": {}
					}
				}
			},
			"EnableVolumeIO": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"VolumeId": {
							"locationName": "volumeId"
						}
					}
				}
			},
			"EnableVpcClassicLink": {
				"input": {
					"type": "structure",
					"required": [
						"VpcId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"EnableVpcClassicLinkDnsSupport": {
				"input": {
					"type": "structure",
					"members": {
						"VpcId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"GetConsoleOutput": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceId": {
							"locationName": "instanceId"
						},
						"Output": {
							"locationName": "output"
						},
						"Timestamp": {
							"locationName": "timestamp",
							"type": "timestamp"
						}
					}
				}
			},
			"GetConsoleScreenshot": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"InstanceId": {},
						"WakeUp": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ImageData": {
							"locationName": "imageData"
						},
						"InstanceId": {
							"locationName": "instanceId"
						}
					}
				}
			},
			"GetHostReservationPurchasePreview": {
				"input": {
					"type": "structure",
					"required": [
						"HostIdSet",
						"OfferingId"
					],
					"members": {
						"HostIdSet": {
							"shape": "Sl6"
						},
						"OfferingId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CurrencyCode": {
							"locationName": "currencyCode"
						},
						"Purchase": {
							"shape": "Sl8",
							"locationName": "purchase"
						},
						"TotalHourlyPrice": {
							"locationName": "totalHourlyPrice"
						},
						"TotalUpfrontPrice": {
							"locationName": "totalUpfrontPrice"
						}
					}
				}
			},
			"GetPasswordData": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceId": {
							"locationName": "instanceId"
						},
						"PasswordData": {
							"locationName": "passwordData"
						},
						"Timestamp": {
							"locationName": "timestamp",
							"type": "timestamp"
						}
					}
				}
			},
			"GetReservedInstancesExchangeQuote": {
				"input": {
					"type": "structure",
					"required": [
						"ReservedInstanceIds"
					],
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"ReservedInstanceIds": {
							"shape": "S3",
							"locationName": "ReservedInstanceId"
						},
						"TargetConfigurations": {
							"shape": "S5",
							"locationName": "TargetConfiguration"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CurrencyCode": {
							"locationName": "currencyCode"
						},
						"IsValidExchange": {
							"locationName": "isValidExchange",
							"type": "boolean"
						},
						"OutputReservedInstancesWillExpireAt": {
							"locationName": "outputReservedInstancesWillExpireAt",
							"type": "timestamp"
						},
						"PaymentDue": {
							"locationName": "paymentDue"
						},
						"ReservedInstanceValueRollup": {
							"shape": "Sle",
							"locationName": "reservedInstanceValueRollup"
						},
						"ReservedInstanceValueSet": {
							"locationName": "reservedInstanceValueSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"ReservationValue": {
										"shape": "Sle",
										"locationName": "reservationValue"
									},
									"ReservedInstanceId": {
										"locationName": "reservedInstanceId"
									}
								}
							}
						},
						"TargetConfigurationValueRollup": {
							"shape": "Sle",
							"locationName": "targetConfigurationValueRollup"
						},
						"TargetConfigurationValueSet": {
							"locationName": "targetConfigurationValueSet",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"ReservationValue": {
										"shape": "Sle",
										"locationName": "reservationValue"
									},
									"TargetConfiguration": {
										"locationName": "targetConfiguration",
										"type": "structure",
										"members": {
											"InstanceCount": {
												"locationName": "instanceCount",
												"type": "integer"
											},
											"OfferingId": {
												"locationName": "offeringId"
											}
										}
									}
								}
							}
						},
						"ValidationFailureReason": {
							"locationName": "validationFailureReason"
						}
					}
				}
			},
			"ImportImage": {
				"input": {
					"type": "structure",
					"members": {
						"Architecture": {},
						"ClientData": {
							"shape": "Sll"
						},
						"ClientToken": {},
						"Description": {},
						"DiskContainers": {
							"locationName": "DiskContainer",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Description": {},
									"DeviceName": {},
									"Format": {},
									"SnapshotId": {},
									"Url": {},
									"UserBucket": {
										"shape": "Slo"
									}
								}
							}
						},
						"DryRun": {
							"type": "boolean"
						},
						"Hypervisor": {},
						"LicenseType": {},
						"Platform": {},
						"RoleName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Architecture": {
							"locationName": "architecture"
						},
						"Description": {
							"locationName": "description"
						},
						"Hypervisor": {
							"locationName": "hypervisor"
						},
						"ImageId": {
							"locationName": "imageId"
						},
						"ImportTaskId": {
							"locationName": "importTaskId"
						},
						"LicenseType": {
							"locationName": "licenseType"
						},
						"Platform": {
							"locationName": "platform"
						},
						"Progress": {
							"locationName": "progress"
						},
						"SnapshotDetails": {
							"shape": "Sco",
							"locationName": "snapshotDetailSet"
						},
						"Status": {
							"locationName": "status"
						},
						"StatusMessage": {
							"locationName": "statusMessage"
						}
					}
				}
			},
			"ImportInstance": {
				"input": {
					"type": "structure",
					"required": [
						"Platform"
					],
					"members": {
						"Description": {
							"locationName": "description"
						},
						"DiskImages": {
							"locationName": "diskImage",
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Description": {},
									"Image": {
										"shape": "Slt"
									},
									"Volume": {
										"shape": "Slu"
									}
								}
							}
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"LaunchSpecification": {
							"locationName": "launchSpecification",
							"type": "structure",
							"members": {
								"AdditionalInfo": {
									"locationName": "additionalInfo"
								},
								"Architecture": {
									"locationName": "architecture"
								},
								"GroupIds": {
									"shape": "S5h",
									"locationName": "GroupId"
								},
								"GroupNames": {
									"shape": "Slw",
									"locationName": "GroupName"
								},
								"InstanceInitiatedShutdownBehavior": {
									"locationName": "instanceInitiatedShutdownBehavior"
								},
								"InstanceType": {
									"locationName": "instanceType"
								},
								"Monitoring": {
									"locationName": "monitoring",
									"type": "boolean"
								},
								"Placement": {
									"shape": "Sdr",
									"locationName": "placement"
								},
								"PrivateIpAddress": {
									"locationName": "privateIpAddress"
								},
								"SubnetId": {
									"locationName": "subnetId"
								},
								"UserData": {
									"locationName": "userData",
									"type": "structure",
									"members": {
										"Data": {
											"locationName": "data"
										}
									}
								}
							}
						},
						"Platform": {
							"locationName": "platform"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConversionTask": {
							"shape": "S9u",
							"locationName": "conversionTask"
						}
					}
				}
			},
			"ImportKeyPair": {
				"input": {
					"type": "structure",
					"required": [
						"KeyName",
						"PublicKeyMaterial"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"KeyName": {
							"locationName": "keyName"
						},
						"PublicKeyMaterial": {
							"locationName": "publicKeyMaterial",
							"type": "blob"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"KeyFingerprint": {
							"locationName": "keyFingerprint"
						},
						"KeyName": {
							"locationName": "keyName"
						}
					}
				}
			},
			"ImportSnapshot": {
				"input": {
					"type": "structure",
					"members": {
						"ClientData": {
							"shape": "Sll"
						},
						"ClientToken": {},
						"Description": {},
						"DiskContainer": {
							"type": "structure",
							"members": {
								"Description": {},
								"Format": {},
								"Url": {},
								"UserBucket": {
									"shape": "Slo"
								}
							}
						},
						"DryRun": {
							"type": "boolean"
						},
						"RoleName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Description": {
							"locationName": "description"
						},
						"ImportTaskId": {
							"locationName": "importTaskId"
						},
						"SnapshotTaskDetail": {
							"shape": "Scv",
							"locationName": "snapshotTaskDetail"
						}
					}
				}
			},
			"ImportVolume": {
				"input": {
					"type": "structure",
					"required": [
						"AvailabilityZone",
						"Image",
						"Volume"
					],
					"members": {
						"AvailabilityZone": {
							"locationName": "availabilityZone"
						},
						"Description": {
							"locationName": "description"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Image": {
							"shape": "Slt",
							"locationName": "image"
						},
						"Volume": {
							"shape": "Slu",
							"locationName": "volume"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConversionTask": {
							"shape": "S9u",
							"locationName": "conversionTask"
						}
					}
				}
			},
			"ModifyHosts": {
				"input": {
					"type": "structure",
					"required": [
						"AutoPlacement",
						"HostIds"
					],
					"members": {
						"AutoPlacement": {
							"locationName": "autoPlacement"
						},
						"HostIds": {
							"shape": "Sbe",
							"locationName": "hostId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Successful": {
							"shape": "Sr",
							"locationName": "successful"
						},
						"Unsuccessful": {
							"shape": "Sm9",
							"locationName": "unsuccessful"
						}
					}
				}
			},
			"ModifyIdFormat": {
				"input": {
					"type": "structure",
					"required": [
						"Resource",
						"UseLongIds"
					],
					"members": {
						"Resource": {},
						"UseLongIds": {
							"type": "boolean"
						}
					}
				}
			},
			"ModifyIdentityIdFormat": {
				"input": {
					"type": "structure",
					"required": [
						"PrincipalArn",
						"Resource",
						"UseLongIds"
					],
					"members": {
						"PrincipalArn": {
							"locationName": "principalArn"
						},
						"Resource": {
							"locationName": "resource"
						},
						"UseLongIds": {
							"locationName": "useLongIds",
							"type": "boolean"
						}
					}
				}
			},
			"ModifyImageAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"ImageId"
					],
					"members": {
						"Attribute": {},
						"Description": {
							"shape": "S3w"
						},
						"ImageId": {},
						"LaunchPermission": {
							"type": "structure",
							"members": {
								"Add": {
									"shape": "Sc3"
								},
								"Remove": {
									"shape": "Sc3"
								}
							}
						},
						"OperationType": {},
						"ProductCodes": {
							"locationName": "ProductCode",
							"type": "list",
							"member": {
								"locationName": "ProductCode"
							}
						},
						"UserGroups": {
							"locationName": "UserGroup",
							"type": "list",
							"member": {
								"locationName": "UserGroup"
							}
						},
						"UserIds": {
							"shape": "Smh",
							"locationName": "UserId"
						},
						"Value": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"ModifyInstanceAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"SourceDestCheck": {
							"shape": "Sd2"
						},
						"Attribute": {
							"locationName": "attribute"
						},
						"BlockDeviceMappings": {
							"locationName": "blockDeviceMapping",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"DeviceName": {
										"locationName": "deviceName"
									},
									"Ebs": {
										"locationName": "ebs",
										"type": "structure",
										"members": {
											"DeleteOnTermination": {
												"locationName": "deleteOnTermination",
												"type": "boolean"
											},
											"VolumeId": {
												"locationName": "volumeId"
											}
										}
									},
									"NoDevice": {
										"locationName": "noDevice"
									},
									"VirtualName": {
										"locationName": "virtualName"
									}
								}
							}
						},
						"DisableApiTermination": {
							"shape": "Sd2",
							"locationName": "disableApiTermination"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"EbsOptimized": {
							"shape": "Sd2",
							"locationName": "ebsOptimized"
						},
						"EnaSupport": {
							"shape": "Sd2",
							"locationName": "enaSupport"
						},
						"Groups": {
							"shape": "S1j",
							"locationName": "GroupId"
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"InstanceInitiatedShutdownBehavior": {
							"shape": "S3w",
							"locationName": "instanceInitiatedShutdownBehavior"
						},
						"InstanceType": {
							"shape": "S3w",
							"locationName": "instanceType"
						},
						"Kernel": {
							"shape": "S3w",
							"locationName": "kernel"
						},
						"Ramdisk": {
							"shape": "S3w",
							"locationName": "ramdisk"
						},
						"SriovNetSupport": {
							"shape": "S3w",
							"locationName": "sriovNetSupport"
						},
						"UserData": {
							"locationName": "userData",
							"type": "structure",
							"members": {
								"Value": {
									"locationName": "value",
									"type": "blob"
								}
							}
						},
						"Value": {
							"locationName": "value"
						}
					}
				}
			},
			"ModifyInstancePlacement": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"Affinity": {
							"locationName": "affinity"
						},
						"HostId": {
							"locationName": "hostId"
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"Tenancy": {
							"locationName": "tenancy"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"ModifyNetworkInterfaceAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"NetworkInterfaceId"
					],
					"members": {
						"Attachment": {
							"locationName": "attachment",
							"type": "structure",
							"members": {
								"AttachmentId": {
									"locationName": "attachmentId"
								},
								"DeleteOnTermination": {
									"locationName": "deleteOnTermination",
									"type": "boolean"
								}
							}
						},
						"Description": {
							"shape": "S3w",
							"locationName": "description"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Groups": {
							"shape": "S5h",
							"locationName": "SecurityGroupId"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						},
						"SourceDestCheck": {
							"shape": "Sd2",
							"locationName": "sourceDestCheck"
						}
					}
				}
			},
			"ModifyReservedInstances": {
				"input": {
					"type": "structure",
					"required": [
						"ReservedInstancesIds",
						"TargetConfigurations"
					],
					"members": {
						"ReservedInstancesIds": {
							"shape": "Sf6",
							"locationName": "ReservedInstancesId"
						},
						"ClientToken": {
							"locationName": "clientToken"
						},
						"TargetConfigurations": {
							"locationName": "ReservedInstancesConfigurationSetItemType",
							"type": "list",
							"member": {
								"shape": "Sfr",
								"locationName": "item"
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReservedInstancesModificationId": {
							"locationName": "reservedInstancesModificationId"
						}
					}
				}
			},
			"ModifySnapshotAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotId"
					],
					"members": {
						"Attribute": {},
						"CreateVolumePermission": {
							"type": "structure",
							"members": {
								"Add": {
									"shape": "Sgw"
								},
								"Remove": {
									"shape": "Sgw"
								}
							}
						},
						"GroupNames": {
							"shape": "Sgp",
							"locationName": "UserGroup"
						},
						"OperationType": {},
						"SnapshotId": {},
						"UserIds": {
							"shape": "Smh",
							"locationName": "UserId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"ModifySpotFleetRequest": {
				"input": {
					"type": "structure",
					"required": [
						"SpotFleetRequestId"
					],
					"members": {
						"ExcessCapacityTerminationPolicy": {
							"locationName": "excessCapacityTerminationPolicy"
						},
						"SpotFleetRequestId": {
							"locationName": "spotFleetRequestId"
						},
						"TargetCapacity": {
							"locationName": "targetCapacity",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"ModifySubnetAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"SubnetId"
					],
					"members": {
						"AssignIpv6AddressOnCreation": {
							"shape": "Sd2"
						},
						"MapPublicIpOnLaunch": {
							"shape": "Sd2"
						},
						"SubnetId": {
							"locationName": "subnetId"
						}
					}
				}
			},
			"ModifyVolume": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeId"
					],
					"members": {
						"DryRun": {
							"type": "boolean"
						},
						"VolumeId": {},
						"Size": {
							"type": "integer"
						},
						"VolumeType": {},
						"Iops": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VolumeModification": {
							"shape": "Sje",
							"locationName": "volumeModification"
						}
					}
				}
			},
			"ModifyVolumeAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeId"
					],
					"members": {
						"AutoEnableIO": {
							"shape": "Sd2"
						},
						"VolumeId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"ModifyVpcAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"VpcId"
					],
					"members": {
						"EnableDnsHostnames": {
							"shape": "Sd2"
						},
						"EnableDnsSupport": {
							"shape": "Sd2"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				}
			},
			"ModifyVpcEndpoint": {
				"input": {
					"type": "structure",
					"required": [
						"VpcEndpointId"
					],
					"members": {
						"AddRouteTableIds": {
							"shape": "S2z",
							"locationName": "AddRouteTableId"
						},
						"DryRun": {
							"type": "boolean"
						},
						"PolicyDocument": {},
						"RemoveRouteTableIds": {
							"shape": "S2z",
							"locationName": "RemoveRouteTableId"
						},
						"ResetPolicy": {
							"type": "boolean"
						},
						"VpcEndpointId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"ModifyVpcPeeringConnectionOptions": {
				"input": {
					"type": "structure",
					"required": [
						"VpcPeeringConnectionId"
					],
					"members": {
						"AccepterPeeringConnectionOptions": {
							"shape": "Sn8"
						},
						"DryRun": {
							"type": "boolean"
						},
						"RequesterPeeringConnectionOptions": {
							"shape": "Sn8"
						},
						"VpcPeeringConnectionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AccepterPeeringConnectionOptions": {
							"shape": "Sna",
							"locationName": "accepterPeeringConnectionOptions"
						},
						"RequesterPeeringConnectionOptions": {
							"shape": "Sna",
							"locationName": "requesterPeeringConnectionOptions"
						}
					}
				}
			},
			"MonitorInstances": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceIds"
					],
					"members": {
						"InstanceIds": {
							"shape": "S9m",
							"locationName": "InstanceId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceMonitorings": {
							"shape": "Snd",
							"locationName": "instancesSet"
						}
					}
				}
			},
			"MoveAddressToVpc": {
				"input": {
					"type": "structure",
					"required": [
						"PublicIp"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"PublicIp": {
							"locationName": "publicIp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AllocationId": {
							"locationName": "allocationId"
						},
						"Status": {
							"locationName": "status"
						}
					}
				}
			},
			"PurchaseHostReservation": {
				"input": {
					"type": "structure",
					"required": [
						"HostIdSet",
						"OfferingId"
					],
					"members": {
						"ClientToken": {},
						"CurrencyCode": {},
						"HostIdSet": {
							"shape": "Sl6"
						},
						"LimitPrice": {},
						"OfferingId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClientToken": {
							"locationName": "clientToken"
						},
						"CurrencyCode": {
							"locationName": "currencyCode"
						},
						"Purchase": {
							"shape": "Sl8",
							"locationName": "purchase"
						},
						"TotalHourlyPrice": {
							"locationName": "totalHourlyPrice"
						},
						"TotalUpfrontPrice": {
							"locationName": "totalUpfrontPrice"
						}
					}
				}
			},
			"PurchaseReservedInstancesOffering": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceCount",
						"ReservedInstancesOfferingId"
					],
					"members": {
						"InstanceCount": {
							"type": "integer"
						},
						"ReservedInstancesOfferingId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"LimitPrice": {
							"locationName": "limitPrice",
							"type": "structure",
							"members": {
								"Amount": {
									"locationName": "amount",
									"type": "double"
								},
								"CurrencyCode": {
									"locationName": "currencyCode"
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReservedInstancesId": {
							"locationName": "reservedInstancesId"
						}
					}
				}
			},
			"PurchaseScheduledInstances": {
				"input": {
					"type": "structure",
					"required": [
						"PurchaseRequests"
					],
					"members": {
						"ClientToken": {
							"idempotencyToken": true
						},
						"DryRun": {
							"type": "boolean"
						},
						"PurchaseRequests": {
							"locationName": "PurchaseRequest",
							"type": "list",
							"member": {
								"locationName": "PurchaseRequest",
								"type": "structure",
								"required": [
									"InstanceCount",
									"PurchaseToken"
								],
								"members": {
									"InstanceCount": {
										"type": "integer"
									},
									"PurchaseToken": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ScheduledInstanceSet": {
							"locationName": "scheduledInstanceSet",
							"type": "list",
							"member": {
								"shape": "Sgi",
								"locationName": "item"
							}
						}
					}
				}
			},
			"RebootInstances": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceIds"
					],
					"members": {
						"InstanceIds": {
							"shape": "S9m",
							"locationName": "InstanceId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"RegisterImage": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"ImageLocation": {},
						"Architecture": {
							"locationName": "architecture"
						},
						"BlockDeviceMappings": {
							"shape": "S4e",
							"locationName": "BlockDeviceMapping"
						},
						"Description": {
							"locationName": "description"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"EnaSupport": {
							"locationName": "enaSupport",
							"type": "boolean"
						},
						"KernelId": {
							"locationName": "kernelId"
						},
						"Name": {
							"locationName": "name"
						},
						"BillingProducts": {
							"locationName": "BillingProduct",
							"type": "list",
							"member": {
								"locationName": "item"
							}
						},
						"RamdiskId": {
							"locationName": "ramdiskId"
						},
						"RootDeviceName": {
							"locationName": "rootDeviceName"
						},
						"SriovNetSupport": {
							"locationName": "sriovNetSupport"
						},
						"VirtualizationType": {
							"locationName": "virtualizationType"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ImageId": {
							"locationName": "imageId"
						}
					}
				}
			},
			"RejectVpcPeeringConnection": {
				"input": {
					"type": "structure",
					"required": [
						"VpcPeeringConnectionId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"VpcPeeringConnectionId": {
							"locationName": "vpcPeeringConnectionId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Return": {
							"locationName": "return",
							"type": "boolean"
						}
					}
				}
			},
			"ReleaseAddress": {
				"input": {
					"type": "structure",
					"members": {
						"AllocationId": {},
						"PublicIp": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"ReleaseHosts": {
				"input": {
					"type": "structure",
					"required": [
						"HostIds"
					],
					"members": {
						"HostIds": {
							"shape": "Sbe",
							"locationName": "hostId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Successful": {
							"shape": "Sr",
							"locationName": "successful"
						},
						"Unsuccessful": {
							"shape": "Sm9",
							"locationName": "unsuccessful"
						}
					}
				}
			},
			"ReplaceIamInstanceProfileAssociation": {
				"input": {
					"type": "structure",
					"required": [
						"IamInstanceProfile",
						"AssociationId"
					],
					"members": {
						"IamInstanceProfile": {
							"shape": "S11"
						},
						"AssociationId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IamInstanceProfileAssociation": {
							"shape": "S13",
							"locationName": "iamInstanceProfileAssociation"
						}
					}
				}
			},
			"ReplaceNetworkAclAssociation": {
				"input": {
					"type": "structure",
					"required": [
						"AssociationId",
						"NetworkAclId"
					],
					"members": {
						"AssociationId": {
							"locationName": "associationId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"NetworkAclId": {
							"locationName": "networkAclId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NewAssociationId": {
							"locationName": "newAssociationId"
						}
					}
				}
			},
			"ReplaceNetworkAclEntry": {
				"input": {
					"type": "structure",
					"required": [
						"Egress",
						"NetworkAclId",
						"Protocol",
						"RuleAction",
						"RuleNumber"
					],
					"members": {
						"CidrBlock": {
							"locationName": "cidrBlock"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Egress": {
							"locationName": "egress",
							"type": "boolean"
						},
						"IcmpTypeCode": {
							"shape": "S5c",
							"locationName": "Icmp"
						},
						"Ipv6CidrBlock": {
							"locationName": "ipv6CidrBlock"
						},
						"NetworkAclId": {
							"locationName": "networkAclId"
						},
						"PortRange": {
							"shape": "S5d",
							"locationName": "portRange"
						},
						"Protocol": {
							"locationName": "protocol"
						},
						"RuleAction": {
							"locationName": "ruleAction"
						},
						"RuleNumber": {
							"locationName": "ruleNumber",
							"type": "integer"
						}
					}
				}
			},
			"ReplaceRoute": {
				"input": {
					"type": "structure",
					"required": [
						"RouteTableId"
					],
					"members": {
						"DestinationCidrBlock": {
							"locationName": "destinationCidrBlock"
						},
						"DestinationIpv6CidrBlock": {
							"locationName": "destinationIpv6CidrBlock"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"EgressOnlyInternetGatewayId": {
							"locationName": "egressOnlyInternetGatewayId"
						},
						"GatewayId": {
							"locationName": "gatewayId"
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"NatGatewayId": {
							"locationName": "natGatewayId"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						},
						"RouteTableId": {
							"locationName": "routeTableId"
						},
						"VpcPeeringConnectionId": {
							"locationName": "vpcPeeringConnectionId"
						}
					}
				}
			},
			"ReplaceRouteTableAssociation": {
				"input": {
					"type": "structure",
					"required": [
						"AssociationId",
						"RouteTableId"
					],
					"members": {
						"AssociationId": {
							"locationName": "associationId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"RouteTableId": {
							"locationName": "routeTableId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NewAssociationId": {
							"locationName": "newAssociationId"
						}
					}
				}
			},
			"ReportInstanceStatus": {
				"input": {
					"type": "structure",
					"required": [
						"Instances",
						"ReasonCodes",
						"Status"
					],
					"members": {
						"Description": {
							"locationName": "description"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"EndTime": {
							"locationName": "endTime",
							"type": "timestamp"
						},
						"Instances": {
							"shape": "S9m",
							"locationName": "instanceId"
						},
						"ReasonCodes": {
							"locationName": "reasonCode",
							"type": "list",
							"member": {
								"locationName": "item"
							}
						},
						"StartTime": {
							"locationName": "startTime",
							"type": "timestamp"
						},
						"Status": {
							"locationName": "status"
						}
					}
				}
			},
			"RequestSpotFleet": {
				"input": {
					"type": "structure",
					"required": [
						"SpotFleetRequestConfig"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"SpotFleetRequestConfig": {
							"shape": "Shl",
							"locationName": "spotFleetRequestConfig"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"SpotFleetRequestId"
					],
					"members": {
						"SpotFleetRequestId": {
							"locationName": "spotFleetRequestId"
						}
					}
				}
			},
			"RequestSpotInstances": {
				"input": {
					"type": "structure",
					"required": [
						"SpotPrice"
					],
					"members": {
						"AvailabilityZoneGroup": {
							"locationName": "availabilityZoneGroup"
						},
						"BlockDurationMinutes": {
							"locationName": "blockDurationMinutes",
							"type": "integer"
						},
						"ClientToken": {
							"locationName": "clientToken"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InstanceCount": {
							"locationName": "instanceCount",
							"type": "integer"
						},
						"LaunchGroup": {
							"locationName": "launchGroup"
						},
						"LaunchSpecification": {
							"type": "structure",
							"members": {
								"SecurityGroupIds": {
									"shape": "S2z",
									"locationName": "SecurityGroupId"
								},
								"SecurityGroups": {
									"shape": "S2z",
									"locationName": "SecurityGroup"
								},
								"AddressingType": {
									"locationName": "addressingType"
								},
								"BlockDeviceMappings": {
									"shape": "Sc2",
									"locationName": "blockDeviceMapping"
								},
								"EbsOptimized": {
									"locationName": "ebsOptimized",
									"type": "boolean"
								},
								"IamInstanceProfile": {
									"shape": "S11",
									"locationName": "iamInstanceProfile"
								},
								"ImageId": {
									"locationName": "imageId"
								},
								"InstanceType": {
									"locationName": "instanceType"
								},
								"KernelId": {
									"locationName": "kernelId"
								},
								"KeyName": {
									"locationName": "keyName"
								},
								"Monitoring": {
									"shape": "Si0",
									"locationName": "monitoring"
								},
								"NetworkInterfaces": {
									"shape": "Shr",
									"locationName": "NetworkInterface"
								},
								"Placement": {
									"shape": "Sht",
									"locationName": "placement"
								},
								"RamdiskId": {
									"locationName": "ramdiskId"
								},
								"SubnetId": {
									"locationName": "subnetId"
								},
								"UserData": {
									"locationName": "userData"
								}
							}
						},
						"SpotPrice": {
							"locationName": "spotPrice"
						},
						"Type": {
							"locationName": "type"
						},
						"ValidFrom": {
							"locationName": "validFrom",
							"type": "timestamp"
						},
						"ValidUntil": {
							"locationName": "validUntil",
							"type": "timestamp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SpotInstanceRequests": {
							"shape": "Shx",
							"locationName": "spotInstanceRequestSet"
						}
					}
				}
			},
			"ResetImageAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"Attribute",
						"ImageId"
					],
					"members": {
						"Attribute": {},
						"ImageId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"ResetInstanceAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"Attribute",
						"InstanceId"
					],
					"members": {
						"Attribute": {
							"locationName": "attribute"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"InstanceId": {
							"locationName": "instanceId"
						}
					}
				}
			},
			"ResetNetworkInterfaceAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"NetworkInterfaceId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						},
						"SourceDestCheck": {
							"locationName": "sourceDestCheck"
						}
					}
				}
			},
			"ResetSnapshotAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"Attribute",
						"SnapshotId"
					],
					"members": {
						"Attribute": {},
						"SnapshotId": {},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"RestoreAddressToClassic": {
				"input": {
					"type": "structure",
					"required": [
						"PublicIp"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"PublicIp": {
							"locationName": "publicIp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PublicIp": {
							"locationName": "publicIp"
						},
						"Status": {
							"locationName": "status"
						}
					}
				}
			},
			"RevokeSecurityGroupEgress": {
				"input": {
					"type": "structure",
					"required": [
						"GroupId"
					],
					"members": {
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"GroupId": {
							"locationName": "groupId"
						},
						"IpPermissions": {
							"shape": "S1w",
							"locationName": "ipPermissions"
						},
						"CidrIp": {
							"locationName": "cidrIp"
						},
						"FromPort": {
							"locationName": "fromPort",
							"type": "integer"
						},
						"IpProtocol": {
							"locationName": "ipProtocol"
						},
						"ToPort": {
							"locationName": "toPort",
							"type": "integer"
						},
						"SourceSecurityGroupName": {
							"locationName": "sourceSecurityGroupName"
						},
						"SourceSecurityGroupOwnerId": {
							"locationName": "sourceSecurityGroupOwnerId"
						}
					}
				}
			},
			"RevokeSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"members": {
						"CidrIp": {},
						"FromPort": {
							"type": "integer"
						},
						"GroupId": {},
						"GroupName": {},
						"IpPermissions": {
							"shape": "S1w"
						},
						"IpProtocol": {},
						"SourceSecurityGroupName": {},
						"SourceSecurityGroupOwnerId": {},
						"ToPort": {
							"type": "integer"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				}
			},
			"RunInstances": {
				"input": {
					"type": "structure",
					"required": [
						"ImageId",
						"MaxCount",
						"MinCount"
					],
					"members": {
						"BlockDeviceMappings": {
							"shape": "S4e",
							"locationName": "BlockDeviceMapping"
						},
						"ImageId": {},
						"InstanceType": {},
						"Ipv6AddressCount": {
							"type": "integer"
						},
						"Ipv6Addresses": {
							"shape": "S5i",
							"locationName": "Ipv6Address"
						},
						"KernelId": {},
						"KeyName": {},
						"MaxCount": {
							"type": "integer"
						},
						"MinCount": {
							"type": "integer"
						},
						"Monitoring": {
							"shape": "Si0"
						},
						"Placement": {
							"shape": "Sdr"
						},
						"RamdiskId": {},
						"SecurityGroupIds": {
							"shape": "S5h",
							"locationName": "SecurityGroupId"
						},
						"SecurityGroups": {
							"shape": "Slw",
							"locationName": "SecurityGroup"
						},
						"SubnetId": {},
						"UserData": {},
						"AdditionalInfo": {
							"locationName": "additionalInfo"
						},
						"ClientToken": {
							"locationName": "clientToken"
						},
						"DisableApiTermination": {
							"locationName": "disableApiTermination",
							"type": "boolean"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"EbsOptimized": {
							"locationName": "ebsOptimized",
							"type": "boolean"
						},
						"IamInstanceProfile": {
							"shape": "S11",
							"locationName": "iamInstanceProfile"
						},
						"InstanceInitiatedShutdownBehavior": {
							"locationName": "instanceInitiatedShutdownBehavior"
						},
						"NetworkInterfaces": {
							"shape": "Shr",
							"locationName": "networkInterface"
						},
						"PrivateIpAddress": {
							"locationName": "privateIpAddress"
						},
						"TagSpecifications": {
							"shape": "S6z",
							"locationName": "TagSpecification"
						}
					}
				},
				"output": {
					"shape": "Sdl"
				}
			},
			"RunScheduledInstances": {
				"input": {
					"type": "structure",
					"required": [
						"LaunchSpecification",
						"ScheduledInstanceId"
					],
					"members": {
						"ClientToken": {
							"idempotencyToken": true
						},
						"DryRun": {
							"type": "boolean"
						},
						"InstanceCount": {
							"type": "integer"
						},
						"LaunchSpecification": {
							"type": "structure",
							"required": [
								"ImageId"
							],
							"members": {
								"BlockDeviceMappings": {
									"locationName": "BlockDeviceMapping",
									"type": "list",
									"member": {
										"locationName": "BlockDeviceMapping",
										"type": "structure",
										"members": {
											"DeviceName": {},
											"Ebs": {
												"type": "structure",
												"members": {
													"DeleteOnTermination": {
														"type": "boolean"
													},
													"Encrypted": {
														"type": "boolean"
													},
													"Iops": {
														"type": "integer"
													},
													"SnapshotId": {},
													"VolumeSize": {
														"type": "integer"
													},
													"VolumeType": {}
												}
											},
											"NoDevice": {},
											"VirtualName": {}
										}
									}
								},
								"EbsOptimized": {
									"type": "boolean"
								},
								"IamInstanceProfile": {
									"type": "structure",
									"members": {
										"Arn": {},
										"Name": {}
									}
								},
								"ImageId": {},
								"InstanceType": {},
								"KernelId": {},
								"KeyName": {},
								"Monitoring": {
									"type": "structure",
									"members": {
										"Enabled": {
											"type": "boolean"
										}
									}
								},
								"NetworkInterfaces": {
									"locationName": "NetworkInterface",
									"type": "list",
									"member": {
										"locationName": "NetworkInterface",
										"type": "structure",
										"members": {
											"AssociatePublicIpAddress": {
												"type": "boolean"
											},
											"DeleteOnTermination": {
												"type": "boolean"
											},
											"Description": {},
											"DeviceIndex": {
												"type": "integer"
											},
											"Groups": {
												"shape": "Sp1",
												"locationName": "Group"
											},
											"Ipv6AddressCount": {
												"type": "integer"
											},
											"Ipv6Addresses": {
												"locationName": "Ipv6Address",
												"type": "list",
												"member": {
													"locationName": "Ipv6Address",
													"type": "structure",
													"members": {
														"Ipv6Address": {}
													}
												}
											},
											"NetworkInterfaceId": {},
											"PrivateIpAddress": {},
											"PrivateIpAddressConfigs": {
												"locationName": "PrivateIpAddressConfig",
												"type": "list",
												"member": {
													"locationName": "PrivateIpAddressConfigSet",
													"type": "structure",
													"members": {
														"Primary": {
															"type": "boolean"
														},
														"PrivateIpAddress": {}
													}
												}
											},
											"SecondaryPrivateIpAddressCount": {
												"type": "integer"
											},
											"SubnetId": {}
										}
									}
								},
								"Placement": {
									"type": "structure",
									"members": {
										"AvailabilityZone": {},
										"GroupName": {}
									}
								},
								"RamdiskId": {},
								"SecurityGroupIds": {
									"shape": "Sp1",
									"locationName": "SecurityGroupId"
								},
								"SubnetId": {},
								"UserData": {}
							}
						},
						"ScheduledInstanceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceIdSet": {
							"locationName": "instanceIdSet",
							"type": "list",
							"member": {
								"locationName": "item"
							}
						}
					}
				}
			},
			"StartInstances": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceIds"
					],
					"members": {
						"InstanceIds": {
							"shape": "S9m",
							"locationName": "InstanceId"
						},
						"AdditionalInfo": {
							"locationName": "additionalInfo"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StartingInstances": {
							"shape": "Spc",
							"locationName": "instancesSet"
						}
					}
				}
			},
			"StopInstances": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceIds"
					],
					"members": {
						"InstanceIds": {
							"shape": "S9m",
							"locationName": "InstanceId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						},
						"Force": {
							"locationName": "force",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StoppingInstances": {
							"shape": "Spc",
							"locationName": "instancesSet"
						}
					}
				}
			},
			"TerminateInstances": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceIds"
					],
					"members": {
						"InstanceIds": {
							"shape": "S9m",
							"locationName": "InstanceId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TerminatingInstances": {
							"shape": "Spc",
							"locationName": "instancesSet"
						}
					}
				}
			},
			"UnassignIpv6Addresses": {
				"input": {
					"type": "structure",
					"required": [
						"Ipv6Addresses",
						"NetworkInterfaceId"
					],
					"members": {
						"Ipv6Addresses": {
							"shape": "St",
							"locationName": "ipv6Addresses"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						},
						"UnassignedIpv6Addresses": {
							"shape": "St",
							"locationName": "unassignedIpv6Addresses"
						}
					}
				}
			},
			"UnassignPrivateIpAddresses": {
				"input": {
					"type": "structure",
					"required": [
						"NetworkInterfaceId",
						"PrivateIpAddresses"
					],
					"members": {
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						},
						"PrivateIpAddresses": {
							"shape": "Sw",
							"locationName": "privateIpAddress"
						}
					}
				}
			},
			"UnmonitorInstances": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceIds"
					],
					"members": {
						"InstanceIds": {
							"shape": "S9m",
							"locationName": "InstanceId"
						},
						"DryRun": {
							"locationName": "dryRun",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceMonitorings": {
							"shape": "Snd",
							"locationName": "instancesSet"
						}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {
					"locationName": "ReservedInstanceId"
				}
			},
			"S5": {
				"type": "list",
				"member": {
					"locationName": "TargetConfigurationRequest",
					"type": "structure",
					"required": [
						"OfferingId"
					],
					"members": {
						"InstanceCount": {
							"type": "integer"
						},
						"OfferingId": {}
					}
				}
			},
			"Sb": {
				"type": "structure",
				"members": {
					"AccepterVpcInfo": {
						"shape": "Sc",
						"locationName": "accepterVpcInfo"
					},
					"ExpirationTime": {
						"locationName": "expirationTime",
						"type": "timestamp"
					},
					"RequesterVpcInfo": {
						"shape": "Sc",
						"locationName": "requesterVpcInfo"
					},
					"Status": {
						"locationName": "status",
						"type": "structure",
						"members": {
							"Code": {
								"locationName": "code"
							},
							"Message": {
								"locationName": "message"
							}
						}
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					},
					"VpcPeeringConnectionId": {
						"locationName": "vpcPeeringConnectionId"
					}
				}
			},
			"Sc": {
				"type": "structure",
				"members": {
					"CidrBlock": {
						"locationName": "cidrBlock"
					},
					"Ipv6CidrBlockSet": {
						"locationName": "ipv6CidrBlockSet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"Ipv6CidrBlock": {
									"locationName": "ipv6CidrBlock"
								}
							}
						}
					},
					"OwnerId": {
						"locationName": "ownerId"
					},
					"PeeringOptions": {
						"locationName": "peeringOptions",
						"type": "structure",
						"members": {
							"AllowDnsResolutionFromRemoteVpc": {
								"locationName": "allowDnsResolutionFromRemoteVpc",
								"type": "boolean"
							},
							"AllowEgressFromLocalClassicLinkToRemoteVpc": {
								"locationName": "allowEgressFromLocalClassicLinkToRemoteVpc",
								"type": "boolean"
							},
							"AllowEgressFromLocalVpcToRemoteClassicLink": {
								"locationName": "allowEgressFromLocalVpcToRemoteClassicLink",
								"type": "boolean"
							}
						}
					},
					"VpcId": {
						"locationName": "vpcId"
					}
				}
			},
			"Sj": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"Key": {
							"locationName": "key"
						},
						"Value": {
							"locationName": "value"
						}
					}
				}
			},
			"Sr": {
				"type": "list",
				"member": {
					"locationName": "item"
				}
			},
			"St": {
				"type": "list",
				"member": {
					"locationName": "item"
				}
			},
			"Sw": {
				"type": "list",
				"member": {
					"locationName": "PrivateIpAddress"
				}
			},
			"S11": {
				"type": "structure",
				"members": {
					"Arn": {
						"locationName": "arn"
					},
					"Name": {
						"locationName": "name"
					}
				}
			},
			"S13": {
				"type": "structure",
				"members": {
					"AssociationId": {
						"locationName": "associationId"
					},
					"InstanceId": {
						"locationName": "instanceId"
					},
					"IamInstanceProfile": {
						"shape": "S14",
						"locationName": "iamInstanceProfile"
					},
					"State": {
						"locationName": "state"
					},
					"Timestamp": {
						"locationName": "timestamp",
						"type": "timestamp"
					}
				}
			},
			"S14": {
				"type": "structure",
				"members": {
					"Arn": {
						"locationName": "arn"
					},
					"Id": {
						"locationName": "id"
					}
				}
			},
			"S1a": {
				"type": "structure",
				"members": {
					"AssociationId": {
						"locationName": "associationId"
					},
					"Ipv6CidrBlock": {
						"locationName": "ipv6CidrBlock"
					},
					"Ipv6CidrBlockState": {
						"locationName": "ipv6CidrBlockState",
						"type": "structure",
						"members": {
							"State": {
								"locationName": "state"
							},
							"StatusMessage": {
								"locationName": "statusMessage"
							}
						}
					}
				}
			},
			"S1f": {
				"type": "structure",
				"members": {
					"AssociationId": {
						"locationName": "associationId"
					},
					"Ipv6CidrBlock": {
						"locationName": "ipv6CidrBlock"
					},
					"Ipv6CidrBlockState": {
						"locationName": "ipv6CidrBlockState",
						"type": "structure",
						"members": {
							"State": {
								"locationName": "state"
							},
							"StatusMessage": {
								"locationName": "statusMessage"
							}
						}
					}
				}
			},
			"S1j": {
				"type": "list",
				"member": {
					"locationName": "groupId"
				}
			},
			"S1p": {
				"type": "structure",
				"members": {
					"AttachTime": {
						"locationName": "attachTime",
						"type": "timestamp"
					},
					"Device": {
						"locationName": "device"
					},
					"InstanceId": {
						"locationName": "instanceId"
					},
					"State": {
						"locationName": "status"
					},
					"VolumeId": {
						"locationName": "volumeId"
					},
					"DeleteOnTermination": {
						"locationName": "deleteOnTermination",
						"type": "boolean"
					}
				}
			},
			"S1t": {
				"type": "structure",
				"members": {
					"State": {
						"locationName": "state"
					},
					"VpcId": {
						"locationName": "vpcId"
					}
				}
			},
			"S1w": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"FromPort": {
							"locationName": "fromPort",
							"type": "integer"
						},
						"IpProtocol": {
							"locationName": "ipProtocol"
						},
						"IpRanges": {
							"locationName": "ipRanges",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"CidrIp": {
										"locationName": "cidrIp"
									}
								}
							}
						},
						"Ipv6Ranges": {
							"locationName": "ipv6Ranges",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"CidrIpv6": {
										"locationName": "cidrIpv6"
									}
								}
							}
						},
						"PrefixListIds": {
							"locationName": "prefixListIds",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"PrefixListId": {
										"locationName": "prefixListId"
									}
								}
							}
						},
						"ToPort": {
							"locationName": "toPort",
							"type": "integer"
						},
						"UserIdGroupPairs": {
							"locationName": "groups",
							"type": "list",
							"member": {
								"shape": "S25",
								"locationName": "item"
							}
						}
					}
				}
			},
			"S25": {
				"type": "structure",
				"members": {
					"GroupId": {
						"locationName": "groupId"
					},
					"GroupName": {
						"locationName": "groupName"
					},
					"PeeringStatus": {
						"locationName": "peeringStatus"
					},
					"UserId": {
						"locationName": "userId"
					},
					"VpcId": {
						"locationName": "vpcId"
					},
					"VpcPeeringConnectionId": {
						"locationName": "vpcPeeringConnectionId"
					}
				}
			},
			"S28": {
				"type": "structure",
				"members": {
					"S3": {
						"type": "structure",
						"members": {
							"AWSAccessKeyId": {},
							"Bucket": {
								"locationName": "bucket"
							},
							"Prefix": {
								"locationName": "prefix"
							},
							"UploadPolicy": {
								"locationName": "uploadPolicy",
								"type": "blob"
							},
							"UploadPolicySignature": {
								"locationName": "uploadPolicySignature"
							}
						}
					}
				}
			},
			"S2c": {
				"type": "structure",
				"members": {
					"BundleId": {
						"locationName": "bundleId"
					},
					"BundleTaskError": {
						"locationName": "error",
						"type": "structure",
						"members": {
							"Code": {
								"locationName": "code"
							},
							"Message": {
								"locationName": "message"
							}
						}
					},
					"InstanceId": {
						"locationName": "instanceId"
					},
					"Progress": {
						"locationName": "progress"
					},
					"StartTime": {
						"locationName": "startTime",
						"type": "timestamp"
					},
					"State": {
						"locationName": "state"
					},
					"Storage": {
						"shape": "S28",
						"locationName": "storage"
					},
					"UpdateTime": {
						"locationName": "updateTime",
						"type": "timestamp"
					}
				}
			},
			"S2n": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"ClientToken": {
							"locationName": "clientToken"
						},
						"CreateDate": {
							"locationName": "createDate",
							"type": "timestamp"
						},
						"InstanceCounts": {
							"locationName": "instanceCounts",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"InstanceCount": {
										"locationName": "instanceCount",
										"type": "integer"
									},
									"State": {
										"locationName": "state"
									}
								}
							}
						},
						"PriceSchedules": {
							"locationName": "priceSchedules",
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"Active": {
										"locationName": "active",
										"type": "boolean"
									},
									"CurrencyCode": {
										"locationName": "currencyCode"
									},
									"Price": {
										"locationName": "price",
										"type": "double"
									},
									"Term": {
										"locationName": "term",
										"type": "long"
									}
								}
							}
						},
						"ReservedInstancesId": {
							"locationName": "reservedInstancesId"
						},
						"ReservedInstancesListingId": {
							"locationName": "reservedInstancesListingId"
						},
						"Status": {
							"locationName": "status"
						},
						"StatusMessage": {
							"locationName": "statusMessage"
						},
						"Tags": {
							"shape": "Sj",
							"locationName": "tagSet"
						},
						"UpdateDate": {
							"locationName": "updateDate",
							"type": "timestamp"
						}
					}
				}
			},
			"S2z": {
				"type": "list",
				"member": {
					"locationName": "item"
				}
			},
			"S39": {
				"type": "list",
				"member": {
					"locationName": "SpotInstanceRequestId"
				}
			},
			"S3n": {
				"type": "structure",
				"members": {
					"BgpAsn": {
						"locationName": "bgpAsn"
					},
					"CustomerGatewayId": {
						"locationName": "customerGatewayId"
					},
					"IpAddress": {
						"locationName": "ipAddress"
					},
					"State": {
						"locationName": "state"
					},
					"Type": {
						"locationName": "type"
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					}
				}
			},
			"S3s": {
				"type": "structure",
				"members": {
					"DhcpConfigurations": {
						"locationName": "dhcpConfigurationSet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"Key": {
									"locationName": "key"
								},
								"Values": {
									"locationName": "valueSet",
									"type": "list",
									"member": {
										"shape": "S3w",
										"locationName": "item"
									}
								}
							}
						}
					},
					"DhcpOptionsId": {
						"locationName": "dhcpOptionsId"
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					}
				}
			},
			"S3w": {
				"type": "structure",
				"members": {
					"Value": {
						"locationName": "value"
					}
				}
			},
			"S3z": {
				"type": "structure",
				"members": {
					"Attachments": {
						"shape": "S40",
						"locationName": "attachmentSet"
					},
					"EgressOnlyInternetGatewayId": {
						"locationName": "egressOnlyInternetGatewayId"
					}
				}
			},
			"S40": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"State": {
							"locationName": "state"
						},
						"VpcId": {
							"locationName": "vpcId"
						}
					}
				}
			},
			"S47": {
				"type": "list",
				"member": {
					"shape": "S48",
					"locationName": "item"
				}
			},
			"S48": {
				"type": "structure",
				"required": [
					"Error"
				],
				"members": {
					"Error": {
						"locationName": "error",
						"type": "structure",
						"required": [
							"Code",
							"Message"
						],
						"members": {
							"Code": {
								"locationName": "code"
							},
							"Message": {
								"locationName": "message"
							}
						}
					},
					"ResourceId": {
						"locationName": "resourceId"
					}
				}
			},
			"S4b": {
				"type": "structure",
				"members": {
					"Bucket": {},
					"Key": {}
				}
			},
			"S4e": {
				"type": "list",
				"member": {
					"shape": "S4f",
					"locationName": "BlockDeviceMapping"
				}
			},
			"S4f": {
				"type": "structure",
				"members": {
					"DeviceName": {
						"locationName": "deviceName"
					},
					"VirtualName": {
						"locationName": "virtualName"
					},
					"Ebs": {
						"locationName": "ebs",
						"type": "structure",
						"members": {
							"Encrypted": {
								"locationName": "encrypted",
								"type": "boolean"
							},
							"DeleteOnTermination": {
								"locationName": "deleteOnTermination",
								"type": "boolean"
							},
							"Iops": {
								"locationName": "iops",
								"type": "integer"
							},
							"SnapshotId": {
								"locationName": "snapshotId"
							},
							"VolumeSize": {
								"locationName": "volumeSize",
								"type": "integer"
							},
							"VolumeType": {
								"locationName": "volumeType"
							}
						}
					},
					"NoDevice": {
						"locationName": "noDevice"
					}
				}
			},
			"S4p": {
				"type": "structure",
				"members": {
					"Description": {
						"locationName": "description"
					},
					"ExportTaskId": {
						"locationName": "exportTaskId"
					},
					"ExportToS3Task": {
						"locationName": "exportToS3",
						"type": "structure",
						"members": {
							"ContainerFormat": {
								"locationName": "containerFormat"
							},
							"DiskImageFormat": {
								"locationName": "diskImageFormat"
							},
							"S3Bucket": {
								"locationName": "s3Bucket"
							},
							"S3Key": {
								"locationName": "s3Key"
							}
						}
					},
					"InstanceExportDetails": {
						"locationName": "instanceExport",
						"type": "structure",
						"members": {
							"InstanceId": {
								"locationName": "instanceId"
							},
							"TargetEnvironment": {
								"locationName": "targetEnvironment"
							}
						}
					},
					"State": {
						"locationName": "state"
					},
					"StatusMessage": {
						"locationName": "statusMessage"
					}
				}
			},
			"S4v": {
				"type": "structure",
				"members": {
					"Attachments": {
						"shape": "S40",
						"locationName": "attachmentSet"
					},
					"InternetGatewayId": {
						"locationName": "internetGatewayId"
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					}
				}
			},
			"S50": {
				"type": "structure",
				"members": {
					"CreateTime": {
						"locationName": "createTime",
						"type": "timestamp"
					},
					"DeleteTime": {
						"locationName": "deleteTime",
						"type": "timestamp"
					},
					"FailureCode": {
						"locationName": "failureCode"
					},
					"FailureMessage": {
						"locationName": "failureMessage"
					},
					"NatGatewayAddresses": {
						"locationName": "natGatewayAddressSet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"AllocationId": {
									"locationName": "allocationId"
								},
								"NetworkInterfaceId": {
									"locationName": "networkInterfaceId"
								},
								"PrivateIp": {
									"locationName": "privateIp"
								},
								"PublicIp": {
									"locationName": "publicIp"
								}
							}
						}
					},
					"NatGatewayId": {
						"locationName": "natGatewayId"
					},
					"ProvisionedBandwidth": {
						"locationName": "provisionedBandwidth",
						"type": "structure",
						"members": {
							"ProvisionTime": {
								"locationName": "provisionTime",
								"type": "timestamp"
							},
							"Provisioned": {
								"locationName": "provisioned"
							},
							"RequestTime": {
								"locationName": "requestTime",
								"type": "timestamp"
							},
							"Requested": {
								"locationName": "requested"
							},
							"Status": {
								"locationName": "status"
							}
						}
					},
					"State": {
						"locationName": "state"
					},
					"SubnetId": {
						"locationName": "subnetId"
					},
					"VpcId": {
						"locationName": "vpcId"
					}
				}
			},
			"S57": {
				"type": "structure",
				"members": {
					"Associations": {
						"locationName": "associationSet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"NetworkAclAssociationId": {
									"locationName": "networkAclAssociationId"
								},
								"NetworkAclId": {
									"locationName": "networkAclId"
								},
								"SubnetId": {
									"locationName": "subnetId"
								}
							}
						}
					},
					"Entries": {
						"locationName": "entrySet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"CidrBlock": {
									"locationName": "cidrBlock"
								},
								"Egress": {
									"locationName": "egress",
									"type": "boolean"
								},
								"IcmpTypeCode": {
									"shape": "S5c",
									"locationName": "icmpTypeCode"
								},
								"Ipv6CidrBlock": {
									"locationName": "ipv6CidrBlock"
								},
								"PortRange": {
									"shape": "S5d",
									"locationName": "portRange"
								},
								"Protocol": {
									"locationName": "protocol"
								},
								"RuleAction": {
									"locationName": "ruleAction"
								},
								"RuleNumber": {
									"locationName": "ruleNumber",
									"type": "integer"
								}
							}
						}
					},
					"IsDefault": {
						"locationName": "default",
						"type": "boolean"
					},
					"NetworkAclId": {
						"locationName": "networkAclId"
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					},
					"VpcId": {
						"locationName": "vpcId"
					}
				}
			},
			"S5c": {
				"type": "structure",
				"members": {
					"Code": {
						"locationName": "code",
						"type": "integer"
					},
					"Type": {
						"locationName": "type",
						"type": "integer"
					}
				}
			},
			"S5d": {
				"type": "structure",
				"members": {
					"From": {
						"locationName": "from",
						"type": "integer"
					},
					"To": {
						"locationName": "to",
						"type": "integer"
					}
				}
			},
			"S5h": {
				"type": "list",
				"member": {
					"locationName": "SecurityGroupId"
				}
			},
			"S5i": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"Ipv6Address": {
							"locationName": "ipv6Address"
						}
					}
				}
			},
			"S5k": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"required": [
						"PrivateIpAddress"
					],
					"members": {
						"Primary": {
							"locationName": "primary",
							"type": "boolean"
						},
						"PrivateIpAddress": {
							"locationName": "privateIpAddress"
						}
					}
				}
			},
			"S5n": {
				"type": "structure",
				"members": {
					"Association": {
						"shape": "S5o",
						"locationName": "association"
					},
					"Attachment": {
						"shape": "S5p",
						"locationName": "attachment"
					},
					"AvailabilityZone": {
						"locationName": "availabilityZone"
					},
					"Description": {
						"locationName": "description"
					},
					"Groups": {
						"shape": "S5q",
						"locationName": "groupSet"
					},
					"InterfaceType": {
						"locationName": "interfaceType"
					},
					"Ipv6Addresses": {
						"locationName": "ipv6AddressesSet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"Ipv6Address": {
									"locationName": "ipv6Address"
								}
							}
						}
					},
					"MacAddress": {
						"locationName": "macAddress"
					},
					"NetworkInterfaceId": {
						"locationName": "networkInterfaceId"
					},
					"OwnerId": {
						"locationName": "ownerId"
					},
					"PrivateDnsName": {
						"locationName": "privateDnsName"
					},
					"PrivateIpAddress": {
						"locationName": "privateIpAddress"
					},
					"PrivateIpAddresses": {
						"locationName": "privateIpAddressesSet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"Association": {
									"shape": "S5o",
									"locationName": "association"
								},
								"Primary": {
									"locationName": "primary",
									"type": "boolean"
								},
								"PrivateDnsName": {
									"locationName": "privateDnsName"
								},
								"PrivateIpAddress": {
									"locationName": "privateIpAddress"
								}
							}
						}
					},
					"RequesterId": {
						"locationName": "requesterId"
					},
					"RequesterManaged": {
						"locationName": "requesterManaged",
						"type": "boolean"
					},
					"SourceDestCheck": {
						"locationName": "sourceDestCheck",
						"type": "boolean"
					},
					"Status": {
						"locationName": "status"
					},
					"SubnetId": {
						"locationName": "subnetId"
					},
					"TagSet": {
						"shape": "Sj",
						"locationName": "tagSet"
					},
					"VpcId": {
						"locationName": "vpcId"
					}
				}
			},
			"S5o": {
				"type": "structure",
				"members": {
					"AllocationId": {
						"locationName": "allocationId"
					},
					"AssociationId": {
						"locationName": "associationId"
					},
					"IpOwnerId": {
						"locationName": "ipOwnerId"
					},
					"PublicDnsName": {
						"locationName": "publicDnsName"
					},
					"PublicIp": {
						"locationName": "publicIp"
					}
				}
			},
			"S5p": {
				"type": "structure",
				"members": {
					"AttachTime": {
						"locationName": "attachTime",
						"type": "timestamp"
					},
					"AttachmentId": {
						"locationName": "attachmentId"
					},
					"DeleteOnTermination": {
						"locationName": "deleteOnTermination",
						"type": "boolean"
					},
					"DeviceIndex": {
						"locationName": "deviceIndex",
						"type": "integer"
					},
					"InstanceId": {
						"locationName": "instanceId"
					},
					"InstanceOwnerId": {
						"locationName": "instanceOwnerId"
					},
					"Status": {
						"locationName": "status"
					}
				}
			},
			"S5q": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"GroupName": {
							"locationName": "groupName"
						},
						"GroupId": {
							"locationName": "groupId"
						}
					}
				}
			},
			"S68": {
				"type": "structure",
				"members": {
					"Associations": {
						"locationName": "associationSet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"Main": {
									"locationName": "main",
									"type": "boolean"
								},
								"RouteTableAssociationId": {
									"locationName": "routeTableAssociationId"
								},
								"RouteTableId": {
									"locationName": "routeTableId"
								},
								"SubnetId": {
									"locationName": "subnetId"
								}
							}
						}
					},
					"PropagatingVgws": {
						"locationName": "propagatingVgwSet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"GatewayId": {
									"locationName": "gatewayId"
								}
							}
						}
					},
					"RouteTableId": {
						"locationName": "routeTableId"
					},
					"Routes": {
						"locationName": "routeSet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"DestinationCidrBlock": {
									"locationName": "destinationCidrBlock"
								},
								"DestinationIpv6CidrBlock": {
									"locationName": "destinationIpv6CidrBlock"
								},
								"DestinationPrefixListId": {
									"locationName": "destinationPrefixListId"
								},
								"EgressOnlyInternetGatewayId": {
									"locationName": "egressOnlyInternetGatewayId"
								},
								"GatewayId": {
									"locationName": "gatewayId"
								},
								"InstanceId": {
									"locationName": "instanceId"
								},
								"InstanceOwnerId": {
									"locationName": "instanceOwnerId"
								},
								"NatGatewayId": {
									"locationName": "natGatewayId"
								},
								"NetworkInterfaceId": {
									"locationName": "networkInterfaceId"
								},
								"Origin": {
									"locationName": "origin"
								},
								"State": {
									"locationName": "state"
								},
								"VpcPeeringConnectionId": {
									"locationName": "vpcPeeringConnectionId"
								}
							}
						}
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					},
					"VpcId": {
						"locationName": "vpcId"
					}
				}
			},
			"S6k": {
				"type": "structure",
				"members": {
					"DataEncryptionKeyId": {
						"locationName": "dataEncryptionKeyId"
					},
					"Description": {
						"locationName": "description"
					},
					"Encrypted": {
						"locationName": "encrypted",
						"type": "boolean"
					},
					"KmsKeyId": {
						"locationName": "kmsKeyId"
					},
					"OwnerId": {
						"locationName": "ownerId"
					},
					"Progress": {
						"locationName": "progress"
					},
					"SnapshotId": {
						"locationName": "snapshotId"
					},
					"StartTime": {
						"locationName": "startTime",
						"type": "timestamp"
					},
					"State": {
						"locationName": "status"
					},
					"StateMessage": {
						"locationName": "statusMessage"
					},
					"VolumeId": {
						"locationName": "volumeId"
					},
					"VolumeSize": {
						"locationName": "volumeSize",
						"type": "integer"
					},
					"OwnerAlias": {
						"locationName": "ownerAlias"
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					}
				}
			},
			"S6o": {
				"type": "structure",
				"members": {
					"Bucket": {
						"locationName": "bucket"
					},
					"Fault": {
						"shape": "S6p",
						"locationName": "fault"
					},
					"OwnerId": {
						"locationName": "ownerId"
					},
					"Prefix": {
						"locationName": "prefix"
					},
					"State": {
						"locationName": "state"
					}
				}
			},
			"S6p": {
				"type": "structure",
				"members": {
					"Code": {
						"locationName": "code"
					},
					"Message": {
						"locationName": "message"
					}
				}
			},
			"S6t": {
				"type": "structure",
				"members": {
					"AvailabilityZone": {
						"locationName": "availabilityZone"
					},
					"AvailableIpAddressCount": {
						"locationName": "availableIpAddressCount",
						"type": "integer"
					},
					"CidrBlock": {
						"locationName": "cidrBlock"
					},
					"DefaultForAz": {
						"locationName": "defaultForAz",
						"type": "boolean"
					},
					"MapPublicIpOnLaunch": {
						"locationName": "mapPublicIpOnLaunch",
						"type": "boolean"
					},
					"State": {
						"locationName": "state"
					},
					"SubnetId": {
						"locationName": "subnetId"
					},
					"VpcId": {
						"locationName": "vpcId"
					},
					"AssignIpv6AddressOnCreation": {
						"locationName": "assignIpv6AddressOnCreation",
						"type": "boolean"
					},
					"Ipv6CidrBlockAssociationSet": {
						"locationName": "ipv6CidrBlockAssociationSet",
						"type": "list",
						"member": {
							"shape": "S1a",
							"locationName": "item"
						}
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					}
				}
			},
			"S6x": {
				"type": "list",
				"member": {}
			},
			"S6z": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"ResourceType": {
							"locationName": "resourceType"
						},
						"Tags": {
							"shape": "Sj",
							"locationName": "Tag"
						}
					}
				}
			},
			"S72": {
				"type": "structure",
				"members": {
					"Attachments": {
						"locationName": "attachmentSet",
						"type": "list",
						"member": {
							"shape": "S1p",
							"locationName": "item"
						}
					},
					"AvailabilityZone": {
						"locationName": "availabilityZone"
					},
					"CreateTime": {
						"locationName": "createTime",
						"type": "timestamp"
					},
					"Encrypted": {
						"locationName": "encrypted",
						"type": "boolean"
					},
					"KmsKeyId": {
						"locationName": "kmsKeyId"
					},
					"Size": {
						"locationName": "size",
						"type": "integer"
					},
					"SnapshotId": {
						"locationName": "snapshotId"
					},
					"State": {
						"locationName": "status"
					},
					"VolumeId": {
						"locationName": "volumeId"
					},
					"Iops": {
						"locationName": "iops",
						"type": "integer"
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					},
					"VolumeType": {
						"locationName": "volumeType"
					}
				}
			},
			"S78": {
				"type": "structure",
				"members": {
					"CidrBlock": {
						"locationName": "cidrBlock"
					},
					"DhcpOptionsId": {
						"locationName": "dhcpOptionsId"
					},
					"State": {
						"locationName": "state"
					},
					"VpcId": {
						"locationName": "vpcId"
					},
					"InstanceTenancy": {
						"locationName": "instanceTenancy"
					},
					"Ipv6CidrBlockAssociationSet": {
						"locationName": "ipv6CidrBlockAssociationSet",
						"type": "list",
						"member": {
							"shape": "S1f",
							"locationName": "item"
						}
					},
					"IsDefault": {
						"locationName": "isDefault",
						"type": "boolean"
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					}
				}
			},
			"S7d": {
				"type": "structure",
				"members": {
					"CreationTimestamp": {
						"locationName": "creationTimestamp",
						"type": "timestamp"
					},
					"PolicyDocument": {
						"locationName": "policyDocument"
					},
					"RouteTableIds": {
						"shape": "S2z",
						"locationName": "routeTableIdSet"
					},
					"ServiceName": {
						"locationName": "serviceName"
					},
					"State": {
						"locationName": "state"
					},
					"VpcEndpointId": {
						"locationName": "vpcEndpointId"
					},
					"VpcId": {
						"locationName": "vpcId"
					}
				}
			},
			"S7k": {
				"type": "structure",
				"members": {
					"CustomerGatewayConfiguration": {
						"locationName": "customerGatewayConfiguration"
					},
					"CustomerGatewayId": {
						"locationName": "customerGatewayId"
					},
					"State": {
						"locationName": "state"
					},
					"Type": {
						"locationName": "type"
					},
					"VpnConnectionId": {
						"locationName": "vpnConnectionId"
					},
					"VpnGatewayId": {
						"locationName": "vpnGatewayId"
					},
					"Options": {
						"locationName": "options",
						"type": "structure",
						"members": {
							"StaticRoutesOnly": {
								"locationName": "staticRoutesOnly",
								"type": "boolean"
							}
						}
					},
					"Routes": {
						"locationName": "routes",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"DestinationCidrBlock": {
									"locationName": "destinationCidrBlock"
								},
								"Source": {
									"locationName": "source"
								},
								"State": {
									"locationName": "state"
								}
							}
						}
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					},
					"VgwTelemetry": {
						"locationName": "vgwTelemetry",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"AcceptedRouteCount": {
									"locationName": "acceptedRouteCount",
									"type": "integer"
								},
								"LastStatusChange": {
									"locationName": "lastStatusChange",
									"type": "timestamp"
								},
								"OutsideIpAddress": {
									"locationName": "outsideIpAddress"
								},
								"Status": {
									"locationName": "status"
								},
								"StatusMessage": {
									"locationName": "statusMessage"
								}
							}
						}
					}
				}
			},
			"S7w": {
				"type": "structure",
				"members": {
					"AvailabilityZone": {
						"locationName": "availabilityZone"
					},
					"State": {
						"locationName": "state"
					},
					"Type": {
						"locationName": "type"
					},
					"VpcAttachments": {
						"locationName": "attachments",
						"type": "list",
						"member": {
							"shape": "S1t",
							"locationName": "item"
						}
					},
					"VpnGatewayId": {
						"locationName": "vpnGatewayId"
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					}
				}
			},
			"S92": {
				"type": "list",
				"member": {
					"locationName": "Filter",
					"type": "structure",
					"members": {
						"Name": {},
						"Values": {
							"shape": "S2z",
							"locationName": "Value"
						}
					}
				}
			},
			"S9m": {
				"type": "list",
				"member": {
					"locationName": "InstanceId"
				}
			},
			"S9u": {
				"type": "structure",
				"required": [
					"ConversionTaskId",
					"State"
				],
				"members": {
					"ConversionTaskId": {
						"locationName": "conversionTaskId"
					},
					"ExpirationTime": {
						"locationName": "expirationTime"
					},
					"ImportInstance": {
						"locationName": "importInstance",
						"type": "structure",
						"required": [
							"Volumes"
						],
						"members": {
							"Description": {
								"locationName": "description"
							},
							"InstanceId": {
								"locationName": "instanceId"
							},
							"Platform": {
								"locationName": "platform"
							},
							"Volumes": {
								"locationName": "volumes",
								"type": "list",
								"member": {
									"locationName": "item",
									"type": "structure",
									"required": [
										"AvailabilityZone",
										"BytesConverted",
										"Image",
										"Status",
										"Volume"
									],
									"members": {
										"AvailabilityZone": {
											"locationName": "availabilityZone"
										},
										"BytesConverted": {
											"locationName": "bytesConverted",
											"type": "long"
										},
										"Description": {
											"locationName": "description"
										},
										"Image": {
											"shape": "S9z",
											"locationName": "image"
										},
										"Status": {
											"locationName": "status"
										},
										"StatusMessage": {
											"locationName": "statusMessage"
										},
										"Volume": {
											"shape": "Sa0",
											"locationName": "volume"
										}
									}
								}
							}
						}
					},
					"ImportVolume": {
						"locationName": "importVolume",
						"type": "structure",
						"required": [
							"AvailabilityZone",
							"BytesConverted",
							"Image",
							"Volume"
						],
						"members": {
							"AvailabilityZone": {
								"locationName": "availabilityZone"
							},
							"BytesConverted": {
								"locationName": "bytesConverted",
								"type": "long"
							},
							"Description": {
								"locationName": "description"
							},
							"Image": {
								"shape": "S9z",
								"locationName": "image"
							},
							"Volume": {
								"shape": "Sa0",
								"locationName": "volume"
							}
						}
					},
					"State": {
						"locationName": "state"
					},
					"StatusMessage": {
						"locationName": "statusMessage"
					},
					"Tags": {
						"shape": "Sj",
						"locationName": "tagSet"
					}
				}
			},
			"S9z": {
				"type": "structure",
				"required": [
					"Format",
					"ImportManifestUrl",
					"Size"
				],
				"members": {
					"Checksum": {
						"locationName": "checksum"
					},
					"Format": {
						"locationName": "format"
					},
					"ImportManifestUrl": {
						"locationName": "importManifestUrl"
					},
					"Size": {
						"locationName": "size",
						"type": "long"
					}
				}
			},
			"Sa0": {
				"type": "structure",
				"required": [
					"Id"
				],
				"members": {
					"Id": {
						"locationName": "id"
					},
					"Size": {
						"locationName": "size",
						"type": "long"
					}
				}
			},
			"Sap": {
				"type": "list",
				"member": {
					"locationName": "Owner"
				}
			},
			"Say": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"ProductCodeId": {
							"locationName": "productCode"
						},
						"ProductCodeType": {
							"locationName": "type"
						}
					}
				}
			},
			"Sbb": {
				"type": "list",
				"member": {
					"locationName": "item"
				}
			},
			"Sbe": {
				"type": "list",
				"member": {
					"locationName": "item"
				}
			},
			"Sbv": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"Deadline": {
							"locationName": "deadline",
							"type": "timestamp"
						},
						"Resource": {
							"locationName": "resource"
						},
						"UseLongIds": {
							"locationName": "useLongIds",
							"type": "boolean"
						}
					}
				}
			},
			"Sc2": {
				"type": "list",
				"member": {
					"shape": "S4f",
					"locationName": "item"
				}
			},
			"Sc3": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"Group": {
							"locationName": "group"
						},
						"UserId": {
							"locationName": "userId"
						}
					}
				}
			},
			"Sch": {
				"type": "structure",
				"members": {
					"Code": {
						"locationName": "code"
					},
					"Message": {
						"locationName": "message"
					}
				}
			},
			"Sck": {
				"type": "list",
				"member": {
					"locationName": "ImportTaskId"
				}
			},
			"Sco": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"Description": {
							"locationName": "description"
						},
						"DeviceName": {
							"locationName": "deviceName"
						},
						"DiskImageSize": {
							"locationName": "diskImageSize",
							"type": "double"
						},
						"Format": {
							"locationName": "format"
						},
						"Progress": {
							"locationName": "progress"
						},
						"SnapshotId": {
							"locationName": "snapshotId"
						},
						"Status": {
							"locationName": "status"
						},
						"StatusMessage": {
							"locationName": "statusMessage"
						},
						"Url": {
							"locationName": "url"
						},
						"UserBucket": {
							"shape": "Scq",
							"locationName": "userBucket"
						}
					}
				}
			},
			"Scq": {
				"type": "structure",
				"members": {
					"S3Bucket": {
						"locationName": "s3Bucket"
					},
					"S3Key": {
						"locationName": "s3Key"
					}
				}
			},
			"Scv": {
				"type": "structure",
				"members": {
					"Description": {
						"locationName": "description"
					},
					"DiskImageSize": {
						"locationName": "diskImageSize",
						"type": "double"
					},
					"Format": {
						"locationName": "format"
					},
					"Progress": {
						"locationName": "progress"
					},
					"SnapshotId": {
						"locationName": "snapshotId"
					},
					"Status": {
						"locationName": "status"
					},
					"StatusMessage": {
						"locationName": "statusMessage"
					},
					"Url": {
						"locationName": "url"
					},
					"UserBucket": {
						"shape": "Scq",
						"locationName": "userBucket"
					}
				}
			},
			"Scz": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"DeviceName": {
							"locationName": "deviceName"
						},
						"Ebs": {
							"locationName": "ebs",
							"type": "structure",
							"members": {
								"AttachTime": {
									"locationName": "attachTime",
									"type": "timestamp"
								},
								"DeleteOnTermination": {
									"locationName": "deleteOnTermination",
									"type": "boolean"
								},
								"Status": {
									"locationName": "status"
								},
								"VolumeId": {
									"locationName": "volumeId"
								}
							}
						}
					}
				}
			},
			"Sd2": {
				"type": "structure",
				"members": {
					"Value": {
						"locationName": "value",
						"type": "boolean"
					}
				}
			},
			"Sda": {
				"type": "structure",
				"members": {
					"Code": {
						"locationName": "code",
						"type": "integer"
					},
					"Name": {
						"locationName": "name"
					}
				}
			},
			"Sdc": {
				"type": "structure",
				"members": {
					"Details": {
						"locationName": "details",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"ImpairedSince": {
									"locationName": "impairedSince",
									"type": "timestamp"
								},
								"Name": {
									"locationName": "name"
								},
								"Status": {
									"locationName": "status"
								}
							}
						}
					},
					"Status": {
						"locationName": "status"
					}
				}
			},
			"Sdl": {
				"type": "structure",
				"members": {
					"Groups": {
						"shape": "S5q",
						"locationName": "groupSet"
					},
					"Instances": {
						"locationName": "instancesSet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"AmiLaunchIndex": {
									"locationName": "amiLaunchIndex",
									"type": "integer"
								},
								"ImageId": {
									"locationName": "imageId"
								},
								"InstanceId": {
									"locationName": "instanceId"
								},
								"InstanceType": {
									"locationName": "instanceType"
								},
								"KernelId": {
									"locationName": "kernelId"
								},
								"KeyName": {
									"locationName": "keyName"
								},
								"LaunchTime": {
									"locationName": "launchTime",
									"type": "timestamp"
								},
								"Monitoring": {
									"shape": "Sdp",
									"locationName": "monitoring"
								},
								"Placement": {
									"shape": "Sdr",
									"locationName": "placement"
								},
								"Platform": {
									"locationName": "platform"
								},
								"PrivateDnsName": {
									"locationName": "privateDnsName"
								},
								"PrivateIpAddress": {
									"locationName": "privateIpAddress"
								},
								"ProductCodes": {
									"shape": "Say",
									"locationName": "productCodes"
								},
								"PublicDnsName": {
									"locationName": "dnsName"
								},
								"PublicIpAddress": {
									"locationName": "ipAddress"
								},
								"RamdiskId": {
									"locationName": "ramdiskId"
								},
								"State": {
									"shape": "Sda",
									"locationName": "instanceState"
								},
								"StateTransitionReason": {
									"locationName": "reason"
								},
								"SubnetId": {
									"locationName": "subnetId"
								},
								"VpcId": {
									"locationName": "vpcId"
								},
								"Architecture": {
									"locationName": "architecture"
								},
								"BlockDeviceMappings": {
									"shape": "Scz",
									"locationName": "blockDeviceMapping"
								},
								"ClientToken": {
									"locationName": "clientToken"
								},
								"EbsOptimized": {
									"locationName": "ebsOptimized",
									"type": "boolean"
								},
								"EnaSupport": {
									"locationName": "enaSupport",
									"type": "boolean"
								},
								"Hypervisor": {
									"locationName": "hypervisor"
								},
								"IamInstanceProfile": {
									"shape": "S14",
									"locationName": "iamInstanceProfile"
								},
								"InstanceLifecycle": {
									"locationName": "instanceLifecycle"
								},
								"NetworkInterfaces": {
									"locationName": "networkInterfaceSet",
									"type": "list",
									"member": {
										"locationName": "item",
										"type": "structure",
										"members": {
											"Association": {
												"shape": "Sdv",
												"locationName": "association"
											},
											"Attachment": {
												"locationName": "attachment",
												"type": "structure",
												"members": {
													"AttachTime": {
														"locationName": "attachTime",
														"type": "timestamp"
													},
													"AttachmentId": {
														"locationName": "attachmentId"
													},
													"DeleteOnTermination": {
														"locationName": "deleteOnTermination",
														"type": "boolean"
													},
													"DeviceIndex": {
														"locationName": "deviceIndex",
														"type": "integer"
													},
													"Status": {
														"locationName": "status"
													}
												}
											},
											"Description": {
												"locationName": "description"
											},
											"Groups": {
												"shape": "S5q",
												"locationName": "groupSet"
											},
											"Ipv6Addresses": {
												"shape": "S5i",
												"locationName": "ipv6AddressesSet"
											},
											"MacAddress": {
												"locationName": "macAddress"
											},
											"NetworkInterfaceId": {
												"locationName": "networkInterfaceId"
											},
											"OwnerId": {
												"locationName": "ownerId"
											},
											"PrivateDnsName": {
												"locationName": "privateDnsName"
											},
											"PrivateIpAddress": {
												"locationName": "privateIpAddress"
											},
											"PrivateIpAddresses": {
												"locationName": "privateIpAddressesSet",
												"type": "list",
												"member": {
													"locationName": "item",
													"type": "structure",
													"members": {
														"Association": {
															"shape": "Sdv",
															"locationName": "association"
														},
														"Primary": {
															"locationName": "primary",
															"type": "boolean"
														},
														"PrivateDnsName": {
															"locationName": "privateDnsName"
														},
														"PrivateIpAddress": {
															"locationName": "privateIpAddress"
														}
													}
												}
											},
											"SourceDestCheck": {
												"locationName": "sourceDestCheck",
												"type": "boolean"
											},
											"Status": {
												"locationName": "status"
											},
											"SubnetId": {
												"locationName": "subnetId"
											},
											"VpcId": {
												"locationName": "vpcId"
											}
										}
									}
								},
								"RootDeviceName": {
									"locationName": "rootDeviceName"
								},
								"RootDeviceType": {
									"locationName": "rootDeviceType"
								},
								"SecurityGroups": {
									"shape": "S5q",
									"locationName": "groupSet"
								},
								"SourceDestCheck": {
									"locationName": "sourceDestCheck",
									"type": "boolean"
								},
								"SpotInstanceRequestId": {
									"locationName": "spotInstanceRequestId"
								},
								"SriovNetSupport": {
									"locationName": "sriovNetSupport"
								},
								"StateReason": {
									"shape": "Sch",
									"locationName": "stateReason"
								},
								"Tags": {
									"shape": "Sj",
									"locationName": "tagSet"
								},
								"VirtualizationType": {
									"locationName": "virtualizationType"
								}
							}
						}
					},
					"OwnerId": {
						"locationName": "ownerId"
					},
					"RequesterId": {
						"locationName": "requesterId"
					},
					"ReservationId": {
						"locationName": "reservationId"
					}
				}
			},
			"Sdp": {
				"type": "structure",
				"members": {
					"State": {
						"locationName": "state"
					}
				}
			},
			"Sdr": {
				"type": "structure",
				"members": {
					"AvailabilityZone": {
						"locationName": "availabilityZone"
					},
					"Affinity": {
						"locationName": "affinity"
					},
					"GroupName": {
						"locationName": "groupName"
					},
					"HostId": {
						"locationName": "hostId"
					},
					"Tenancy": {
						"locationName": "tenancy"
					},
					"SpreadDomain": {
						"locationName": "spreadDomain"
					}
				}
			},
			"Sdv": {
				"type": "structure",
				"members": {
					"IpOwnerId": {
						"locationName": "ipOwnerId"
					},
					"PublicDnsName": {
						"locationName": "publicDnsName"
					},
					"PublicIp": {
						"locationName": "publicIp"
					}
				}
			},
			"Sf6": {
				"type": "list",
				"member": {
					"locationName": "ReservedInstancesId"
				}
			},
			"Sfe": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"Amount": {
							"locationName": "amount",
							"type": "double"
						},
						"Frequency": {
							"locationName": "frequency"
						}
					}
				}
			},
			"Sfr": {
				"type": "structure",
				"members": {
					"AvailabilityZone": {
						"locationName": "availabilityZone"
					},
					"InstanceCount": {
						"locationName": "instanceCount",
						"type": "integer"
					},
					"InstanceType": {
						"locationName": "instanceType"
					},
					"Platform": {
						"locationName": "platform"
					},
					"Scope": {
						"locationName": "scope"
					}
				}
			},
			"Sgb": {
				"type": "structure",
				"members": {
					"Frequency": {
						"locationName": "frequency"
					},
					"Interval": {
						"locationName": "interval",
						"type": "integer"
					},
					"OccurrenceDaySet": {
						"locationName": "occurrenceDaySet",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "integer"
						}
					},
					"OccurrenceRelativeToEnd": {
						"locationName": "occurrenceRelativeToEnd",
						"type": "boolean"
					},
					"OccurrenceUnit": {
						"locationName": "occurrenceUnit"
					}
				}
			},
			"Sgi": {
				"type": "structure",
				"members": {
					"AvailabilityZone": {
						"locationName": "availabilityZone"
					},
					"CreateDate": {
						"locationName": "createDate",
						"type": "timestamp"
					},
					"HourlyPrice": {
						"locationName": "hourlyPrice"
					},
					"InstanceCount": {
						"locationName": "instanceCount",
						"type": "integer"
					},
					"InstanceType": {
						"locationName": "instanceType"
					},
					"NetworkPlatform": {
						"locationName": "networkPlatform"
					},
					"NextSlotStartTime": {
						"locationName": "nextSlotStartTime",
						"type": "timestamp"
					},
					"Platform": {
						"locationName": "platform"
					},
					"PreviousSlotEndTime": {
						"locationName": "previousSlotEndTime",
						"type": "timestamp"
					},
					"Recurrence": {
						"shape": "Sgb",
						"locationName": "recurrence"
					},
					"ScheduledInstanceId": {
						"locationName": "scheduledInstanceId"
					},
					"SlotDurationInHours": {
						"locationName": "slotDurationInHours",
						"type": "integer"
					},
					"TermEndDate": {
						"locationName": "termEndDate",
						"type": "timestamp"
					},
					"TermStartDate": {
						"locationName": "termStartDate",
						"type": "timestamp"
					},
					"TotalScheduledInstanceHours": {
						"locationName": "totalScheduledInstanceHours",
						"type": "integer"
					}
				}
			},
			"Sgp": {
				"type": "list",
				"member": {
					"locationName": "GroupName"
				}
			},
			"Sgw": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"Group": {
							"locationName": "group"
						},
						"UserId": {
							"locationName": "userId"
						}
					}
				}
			},
			"Shl": {
				"type": "structure",
				"required": [
					"IamFleetRole",
					"LaunchSpecifications",
					"SpotPrice",
					"TargetCapacity"
				],
				"members": {
					"AllocationStrategy": {
						"locationName": "allocationStrategy"
					},
					"ClientToken": {
						"locationName": "clientToken"
					},
					"ExcessCapacityTerminationPolicy": {
						"locationName": "excessCapacityTerminationPolicy"
					},
					"FulfilledCapacity": {
						"locationName": "fulfilledCapacity",
						"type": "double"
					},
					"IamFleetRole": {
						"locationName": "iamFleetRole"
					},
					"LaunchSpecifications": {
						"locationName": "launchSpecifications",
						"type": "list",
						"member": {
							"locationName": "item",
							"type": "structure",
							"members": {
								"SecurityGroups": {
									"shape": "S5q",
									"locationName": "groupSet"
								},
								"AddressingType": {
									"locationName": "addressingType"
								},
								"BlockDeviceMappings": {
									"shape": "Sc2",
									"locationName": "blockDeviceMapping"
								},
								"EbsOptimized": {
									"locationName": "ebsOptimized",
									"type": "boolean"
								},
								"IamInstanceProfile": {
									"shape": "S11",
									"locationName": "iamInstanceProfile"
								},
								"ImageId": {
									"locationName": "imageId"
								},
								"InstanceType": {
									"locationName": "instanceType"
								},
								"KernelId": {
									"locationName": "kernelId"
								},
								"KeyName": {
									"locationName": "keyName"
								},
								"Monitoring": {
									"locationName": "monitoring",
									"type": "structure",
									"members": {
										"Enabled": {
											"locationName": "enabled",
											"type": "boolean"
										}
									}
								},
								"NetworkInterfaces": {
									"shape": "Shr",
									"locationName": "networkInterfaceSet"
								},
								"Placement": {
									"shape": "Sht",
									"locationName": "placement"
								},
								"RamdiskId": {
									"locationName": "ramdiskId"
								},
								"SpotPrice": {
									"locationName": "spotPrice"
								},
								"SubnetId": {
									"locationName": "subnetId"
								},
								"UserData": {
									"locationName": "userData"
								},
								"WeightedCapacity": {
									"locationName": "weightedCapacity",
									"type": "double"
								}
							}
						}
					},
					"SpotPrice": {
						"locationName": "spotPrice"
					},
					"TargetCapacity": {
						"locationName": "targetCapacity",
						"type": "integer"
					},
					"TerminateInstancesWithExpiration": {
						"locationName": "terminateInstancesWithExpiration",
						"type": "boolean"
					},
					"Type": {
						"locationName": "type"
					},
					"ValidFrom": {
						"locationName": "validFrom",
						"type": "timestamp"
					},
					"ValidUntil": {
						"locationName": "validUntil",
						"type": "timestamp"
					},
					"ReplaceUnhealthyInstances": {
						"locationName": "replaceUnhealthyInstances",
						"type": "boolean"
					}
				}
			},
			"Shr": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"AssociatePublicIpAddress": {
							"locationName": "associatePublicIpAddress",
							"type": "boolean"
						},
						"DeleteOnTermination": {
							"locationName": "deleteOnTermination",
							"type": "boolean"
						},
						"Description": {
							"locationName": "description"
						},
						"DeviceIndex": {
							"locationName": "deviceIndex",
							"type": "integer"
						},
						"Groups": {
							"shape": "S5h",
							"locationName": "SecurityGroupId"
						},
						"Ipv6AddressCount": {
							"locationName": "ipv6AddressCount",
							"type": "integer"
						},
						"Ipv6Addresses": {
							"shape": "S5i",
							"locationName": "ipv6AddressesSet",
							"queryName": "Ipv6Addresses"
						},
						"NetworkInterfaceId": {
							"locationName": "networkInterfaceId"
						},
						"PrivateIpAddress": {
							"locationName": "privateIpAddress"
						},
						"PrivateIpAddresses": {
							"shape": "S5k",
							"locationName": "privateIpAddressesSet",
							"queryName": "PrivateIpAddresses"
						},
						"SecondaryPrivateIpAddressCount": {
							"locationName": "secondaryPrivateIpAddressCount",
							"type": "integer"
						},
						"SubnetId": {
							"locationName": "subnetId"
						}
					}
				}
			},
			"Sht": {
				"type": "structure",
				"members": {
					"AvailabilityZone": {
						"locationName": "availabilityZone"
					},
					"GroupName": {
						"locationName": "groupName"
					},
					"Tenancy": {
						"locationName": "tenancy"
					}
				}
			},
			"Shx": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"ActualBlockHourlyPrice": {
							"locationName": "actualBlockHourlyPrice"
						},
						"AvailabilityZoneGroup": {
							"locationName": "availabilityZoneGroup"
						},
						"BlockDurationMinutes": {
							"locationName": "blockDurationMinutes",
							"type": "integer"
						},
						"CreateTime": {
							"locationName": "createTime",
							"type": "timestamp"
						},
						"Fault": {
							"shape": "S6p",
							"locationName": "fault"
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"LaunchGroup": {
							"locationName": "launchGroup"
						},
						"LaunchSpecification": {
							"locationName": "launchSpecification",
							"type": "structure",
							"members": {
								"UserData": {
									"locationName": "userData"
								},
								"SecurityGroups": {
									"shape": "S5q",
									"locationName": "groupSet"
								},
								"AddressingType": {
									"locationName": "addressingType"
								},
								"BlockDeviceMappings": {
									"shape": "Sc2",
									"locationName": "blockDeviceMapping"
								},
								"EbsOptimized": {
									"locationName": "ebsOptimized",
									"type": "boolean"
								},
								"IamInstanceProfile": {
									"shape": "S11",
									"locationName": "iamInstanceProfile"
								},
								"ImageId": {
									"locationName": "imageId"
								},
								"InstanceType": {
									"locationName": "instanceType"
								},
								"KernelId": {
									"locationName": "kernelId"
								},
								"KeyName": {
									"locationName": "keyName"
								},
								"NetworkInterfaces": {
									"shape": "Shr",
									"locationName": "networkInterfaceSet"
								},
								"Placement": {
									"shape": "Sht",
									"locationName": "placement"
								},
								"RamdiskId": {
									"locationName": "ramdiskId"
								},
								"SubnetId": {
									"locationName": "subnetId"
								},
								"Monitoring": {
									"shape": "Si0",
									"locationName": "monitoring"
								}
							}
						},
						"LaunchedAvailabilityZone": {
							"locationName": "launchedAvailabilityZone"
						},
						"ProductDescription": {
							"locationName": "productDescription"
						},
						"SpotInstanceRequestId": {
							"locationName": "spotInstanceRequestId"
						},
						"SpotPrice": {
							"locationName": "spotPrice"
						},
						"State": {
							"locationName": "state"
						},
						"Status": {
							"locationName": "status",
							"type": "structure",
							"members": {
								"Code": {
									"locationName": "code"
								},
								"Message": {
									"locationName": "message"
								},
								"UpdateTime": {
									"locationName": "updateTime",
									"type": "timestamp"
								}
							}
						},
						"Tags": {
							"shape": "Sj",
							"locationName": "tagSet"
						},
						"Type": {
							"locationName": "type"
						},
						"ValidFrom": {
							"locationName": "validFrom",
							"type": "timestamp"
						},
						"ValidUntil": {
							"locationName": "validUntil",
							"type": "timestamp"
						}
					}
				}
			},
			"Si0": {
				"type": "structure",
				"required": [
					"Enabled"
				],
				"members": {
					"Enabled": {
						"locationName": "enabled",
						"type": "boolean"
					}
				}
			},
			"Sie": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"FromPort": {
							"locationName": "fromPort",
							"type": "integer"
						},
						"IpProtocol": {
							"locationName": "ipProtocol"
						},
						"IpRanges": {
							"locationName": "ipRanges",
							"type": "list",
							"member": {
								"locationName": "item"
							}
						},
						"PrefixListIds": {
							"locationName": "prefixListIds",
							"type": "list",
							"member": {
								"locationName": "item"
							}
						},
						"ToPort": {
							"locationName": "toPort",
							"type": "integer"
						},
						"UserIdGroupPairs": {
							"locationName": "groups",
							"type": "list",
							"member": {
								"shape": "S25",
								"locationName": "item"
							}
						}
					}
				}
			},
			"Siv": {
				"type": "list",
				"member": {
					"locationName": "VolumeId"
				}
			},
			"Sje": {
				"type": "structure",
				"members": {
					"VolumeId": {
						"locationName": "volumeId"
					},
					"ModificationState": {
						"locationName": "modificationState"
					},
					"StatusMessage": {
						"locationName": "statusMessage"
					},
					"TargetSize": {
						"locationName": "targetSize",
						"type": "integer"
					},
					"TargetIops": {
						"locationName": "targetIops",
						"type": "integer"
					},
					"TargetVolumeType": {
						"locationName": "targetVolumeType"
					},
					"OriginalSize": {
						"locationName": "originalSize",
						"type": "integer"
					},
					"OriginalIops": {
						"locationName": "originalIops",
						"type": "integer"
					},
					"OriginalVolumeType": {
						"locationName": "originalVolumeType"
					},
					"Progress": {
						"locationName": "progress",
						"type": "long"
					},
					"StartTime": {
						"locationName": "startTime",
						"type": "timestamp"
					},
					"EndTime": {
						"locationName": "endTime",
						"type": "timestamp"
					}
				}
			},
			"Sjk": {
				"type": "list",
				"member": {
					"locationName": "VpcId"
				}
			},
			"Sl6": {
				"type": "list",
				"member": {
					"locationName": "item"
				}
			},
			"Sl8": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"CurrencyCode": {
							"locationName": "currencyCode"
						},
						"Duration": {
							"locationName": "duration",
							"type": "integer"
						},
						"HostIdSet": {
							"shape": "Sbb",
							"locationName": "hostIdSet"
						},
						"HostReservationId": {
							"locationName": "hostReservationId"
						},
						"HourlyPrice": {
							"locationName": "hourlyPrice"
						},
						"InstanceFamily": {
							"locationName": "instanceFamily"
						},
						"PaymentOption": {
							"locationName": "paymentOption"
						},
						"UpfrontPrice": {
							"locationName": "upfrontPrice"
						}
					}
				}
			},
			"Sle": {
				"type": "structure",
				"members": {
					"HourlyPrice": {
						"locationName": "hourlyPrice"
					},
					"RemainingTotalValue": {
						"locationName": "remainingTotalValue"
					},
					"RemainingUpfrontValue": {
						"locationName": "remainingUpfrontValue"
					}
				}
			},
			"Sll": {
				"type": "structure",
				"members": {
					"Comment": {},
					"UploadEnd": {
						"type": "timestamp"
					},
					"UploadSize": {
						"type": "double"
					},
					"UploadStart": {
						"type": "timestamp"
					}
				}
			},
			"Slo": {
				"type": "structure",
				"members": {
					"S3Bucket": {},
					"S3Key": {}
				}
			},
			"Slt": {
				"type": "structure",
				"required": [
					"Bytes",
					"Format",
					"ImportManifestUrl"
				],
				"members": {
					"Bytes": {
						"locationName": "bytes",
						"type": "long"
					},
					"Format": {
						"locationName": "format"
					},
					"ImportManifestUrl": {
						"locationName": "importManifestUrl"
					}
				}
			},
			"Slu": {
				"type": "structure",
				"required": [
					"Size"
				],
				"members": {
					"Size": {
						"locationName": "size",
						"type": "long"
					}
				}
			},
			"Slw": {
				"type": "list",
				"member": {
					"locationName": "SecurityGroup"
				}
			},
			"Sm9": {
				"type": "list",
				"member": {
					"shape": "S48",
					"locationName": "item"
				}
			},
			"Smh": {
				"type": "list",
				"member": {
					"locationName": "UserId"
				}
			},
			"Sn8": {
				"type": "structure",
				"members": {
					"AllowDnsResolutionFromRemoteVpc": {
						"type": "boolean"
					},
					"AllowEgressFromLocalClassicLinkToRemoteVpc": {
						"type": "boolean"
					},
					"AllowEgressFromLocalVpcToRemoteClassicLink": {
						"type": "boolean"
					}
				}
			},
			"Sna": {
				"type": "structure",
				"members": {
					"AllowDnsResolutionFromRemoteVpc": {
						"locationName": "allowDnsResolutionFromRemoteVpc",
						"type": "boolean"
					},
					"AllowEgressFromLocalClassicLinkToRemoteVpc": {
						"locationName": "allowEgressFromLocalClassicLinkToRemoteVpc",
						"type": "boolean"
					},
					"AllowEgressFromLocalVpcToRemoteClassicLink": {
						"locationName": "allowEgressFromLocalVpcToRemoteClassicLink",
						"type": "boolean"
					}
				}
			},
			"Snd": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"InstanceId": {
							"locationName": "instanceId"
						},
						"Monitoring": {
							"shape": "Sdp",
							"locationName": "monitoring"
						}
					}
				}
			},
			"Sp1": {
				"type": "list",
				"member": {
					"locationName": "SecurityGroupId"
				}
			},
			"Spc": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"CurrentState": {
							"shape": "Sda",
							"locationName": "currentState"
						},
						"InstanceId": {
							"locationName": "instanceId"
						},
						"PreviousState": {
							"shape": "Sda",
							"locationName": "previousState"
						}
					}
				}
			}
		}
	};

/***/ }),
/* 423 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeAccountAttributes": {
				"result_key": "AccountAttributes"
			},
			"DescribeAddresses": {
				"result_key": "Addresses"
			},
			"DescribeAvailabilityZones": {
				"result_key": "AvailabilityZones"
			},
			"DescribeBundleTasks": {
				"result_key": "BundleTasks"
			},
			"DescribeConversionTasks": {
				"result_key": "ConversionTasks"
			},
			"DescribeCustomerGateways": {
				"result_key": "CustomerGateways"
			},
			"DescribeDhcpOptions": {
				"result_key": "DhcpOptions"
			},
			"DescribeExportTasks": {
				"result_key": "ExportTasks"
			},
			"DescribeImages": {
				"result_key": "Images"
			},
			"DescribeInstanceStatus": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "InstanceStatuses"
			},
			"DescribeInstances": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "Reservations"
			},
			"DescribeInternetGateways": {
				"result_key": "InternetGateways"
			},
			"DescribeKeyPairs": {
				"result_key": "KeyPairs"
			},
			"DescribeNatGateways": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "NatGateways"
			},
			"DescribeNetworkAcls": {
				"result_key": "NetworkAcls"
			},
			"DescribeNetworkInterfaces": {
				"result_key": "NetworkInterfaces"
			},
			"DescribePlacementGroups": {
				"result_key": "PlacementGroups"
			},
			"DescribeRegions": {
				"result_key": "Regions"
			},
			"DescribeReservedInstances": {
				"result_key": "ReservedInstances"
			},
			"DescribeReservedInstancesListings": {
				"result_key": "ReservedInstancesListings"
			},
			"DescribeReservedInstancesModifications": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "ReservedInstancesModifications"
			},
			"DescribeReservedInstancesOfferings": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "ReservedInstancesOfferings"
			},
			"DescribeRouteTables": {
				"result_key": "RouteTables"
			},
			"DescribeSecurityGroups": {
				"result_key": "SecurityGroups"
			},
			"DescribeSnapshots": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "Snapshots"
			},
			"DescribeSpotFleetRequests": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "SpotFleetRequestConfigs"
			},
			"DescribeSpotInstanceRequests": {
				"result_key": "SpotInstanceRequests"
			},
			"DescribeSpotPriceHistory": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "SpotPriceHistory"
			},
			"DescribeSubnets": {
				"result_key": "Subnets"
			},
			"DescribeTags": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "Tags"
			},
			"DescribeVolumeStatus": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "VolumeStatuses"
			},
			"DescribeVolumes": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "Volumes"
			},
			"DescribeVpcPeeringConnections": {
				"result_key": "VpcPeeringConnections"
			},
			"DescribeVpcs": {
				"result_key": "Vpcs"
			},
			"DescribeVpnConnections": {
				"result_key": "VpnConnections"
			},
			"DescribeVpnGateways": {
				"result_key": "VpnGateways"
			}
		}
	};

/***/ }),
/* 424 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"InstanceExists": {
				"delay": 5,
				"maxAttempts": 40,
				"operation": "DescribeInstances",
				"acceptors": [
					{
						"matcher": "path",
						"expected": true,
						"argument": "length(Reservations[]) > `0`",
						"state": "success"
					},
					{
						"matcher": "error",
						"expected": "InvalidInstanceID.NotFound",
						"state": "retry"
					}
				]
			},
			"BundleTaskComplete": {
				"delay": 15,
				"operation": "DescribeBundleTasks",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "complete",
						"matcher": "pathAll",
						"state": "success",
						"argument": "BundleTasks[].State"
					},
					{
						"expected": "failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "BundleTasks[].State"
					}
				]
			},
			"ConversionTaskCancelled": {
				"delay": 15,
				"operation": "DescribeConversionTasks",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "cancelled",
						"matcher": "pathAll",
						"state": "success",
						"argument": "ConversionTasks[].State"
					}
				]
			},
			"ConversionTaskCompleted": {
				"delay": 15,
				"operation": "DescribeConversionTasks",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "completed",
						"matcher": "pathAll",
						"state": "success",
						"argument": "ConversionTasks[].State"
					},
					{
						"expected": "cancelled",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "ConversionTasks[].State"
					},
					{
						"expected": "cancelling",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "ConversionTasks[].State"
					}
				]
			},
			"ConversionTaskDeleted": {
				"delay": 15,
				"operation": "DescribeConversionTasks",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "deleted",
						"matcher": "pathAll",
						"state": "success",
						"argument": "ConversionTasks[].State"
					}
				]
			},
			"CustomerGatewayAvailable": {
				"delay": 15,
				"operation": "DescribeCustomerGateways",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "available",
						"matcher": "pathAll",
						"state": "success",
						"argument": "CustomerGateways[].State"
					},
					{
						"expected": "deleted",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "CustomerGateways[].State"
					},
					{
						"expected": "deleting",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "CustomerGateways[].State"
					}
				]
			},
			"ExportTaskCancelled": {
				"delay": 15,
				"operation": "DescribeExportTasks",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "cancelled",
						"matcher": "pathAll",
						"state": "success",
						"argument": "ExportTasks[].State"
					}
				]
			},
			"ExportTaskCompleted": {
				"delay": 15,
				"operation": "DescribeExportTasks",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "completed",
						"matcher": "pathAll",
						"state": "success",
						"argument": "ExportTasks[].State"
					}
				]
			},
			"ImageExists": {
				"operation": "DescribeImages",
				"maxAttempts": 40,
				"delay": 15,
				"acceptors": [
					{
						"matcher": "path",
						"expected": true,
						"argument": "length(Images[]) > `0`",
						"state": "success"
					},
					{
						"matcher": "error",
						"expected": "InvalidAMIID.NotFound",
						"state": "retry"
					}
				]
			},
			"ImageAvailable": {
				"operation": "DescribeImages",
				"maxAttempts": 40,
				"delay": 15,
				"acceptors": [
					{
						"state": "success",
						"matcher": "pathAll",
						"argument": "Images[].State",
						"expected": "available"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "Images[].State",
						"expected": "failed"
					}
				]
			},
			"InstanceRunning": {
				"delay": 15,
				"operation": "DescribeInstances",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "running",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Reservations[].Instances[].State.Name"
					},
					{
						"expected": "shutting-down",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Reservations[].Instances[].State.Name"
					},
					{
						"expected": "terminated",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Reservations[].Instances[].State.Name"
					},
					{
						"expected": "stopping",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Reservations[].Instances[].State.Name"
					},
					{
						"matcher": "error",
						"expected": "InvalidInstanceID.NotFound",
						"state": "retry"
					}
				]
			},
			"InstanceStatusOk": {
				"operation": "DescribeInstanceStatus",
				"maxAttempts": 40,
				"delay": 15,
				"acceptors": [
					{
						"state": "success",
						"matcher": "pathAll",
						"argument": "InstanceStatuses[].InstanceStatus.Status",
						"expected": "ok"
					},
					{
						"matcher": "error",
						"expected": "InvalidInstanceID.NotFound",
						"state": "retry"
					}
				]
			},
			"InstanceStopped": {
				"delay": 15,
				"operation": "DescribeInstances",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "stopped",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Reservations[].Instances[].State.Name"
					},
					{
						"expected": "pending",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Reservations[].Instances[].State.Name"
					},
					{
						"expected": "terminated",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Reservations[].Instances[].State.Name"
					}
				]
			},
			"InstanceTerminated": {
				"delay": 15,
				"operation": "DescribeInstances",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "terminated",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Reservations[].Instances[].State.Name"
					},
					{
						"expected": "pending",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Reservations[].Instances[].State.Name"
					},
					{
						"expected": "stopping",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Reservations[].Instances[].State.Name"
					}
				]
			},
			"KeyPairExists": {
				"operation": "DescribeKeyPairs",
				"delay": 5,
				"maxAttempts": 6,
				"acceptors": [
					{
						"expected": true,
						"matcher": "path",
						"state": "success",
						"argument": "length(KeyPairs[].KeyName) > `0`"
					},
					{
						"expected": "InvalidKeyPair.NotFound",
						"matcher": "error",
						"state": "retry"
					}
				]
			},
			"NatGatewayAvailable": {
				"operation": "DescribeNatGateways",
				"delay": 15,
				"maxAttempts": 40,
				"acceptors": [
					{
						"state": "success",
						"matcher": "pathAll",
						"argument": "NatGateways[].State",
						"expected": "available"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "NatGateways[].State",
						"expected": "failed"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "NatGateways[].State",
						"expected": "deleting"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "NatGateways[].State",
						"expected": "deleted"
					},
					{
						"state": "retry",
						"matcher": "error",
						"expected": "NatGatewayNotFound"
					}
				]
			},
			"NetworkInterfaceAvailable": {
				"operation": "DescribeNetworkInterfaces",
				"delay": 20,
				"maxAttempts": 10,
				"acceptors": [
					{
						"expected": "available",
						"matcher": "pathAll",
						"state": "success",
						"argument": "NetworkInterfaces[].Status"
					},
					{
						"expected": "InvalidNetworkInterfaceID.NotFound",
						"matcher": "error",
						"state": "failure"
					}
				]
			},
			"PasswordDataAvailable": {
				"operation": "GetPasswordData",
				"maxAttempts": 40,
				"delay": 15,
				"acceptors": [
					{
						"state": "success",
						"matcher": "path",
						"argument": "length(PasswordData) > `0`",
						"expected": true
					}
				]
			},
			"SnapshotCompleted": {
				"delay": 15,
				"operation": "DescribeSnapshots",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "completed",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Snapshots[].State"
					}
				]
			},
			"SpotInstanceRequestFulfilled": {
				"operation": "DescribeSpotInstanceRequests",
				"maxAttempts": 40,
				"delay": 15,
				"acceptors": [
					{
						"state": "success",
						"matcher": "pathAll",
						"argument": "SpotInstanceRequests[].Status.Code",
						"expected": "fulfilled"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "SpotInstanceRequests[].Status.Code",
						"expected": "schedule-expired"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "SpotInstanceRequests[].Status.Code",
						"expected": "canceled-before-fulfillment"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "SpotInstanceRequests[].Status.Code",
						"expected": "bad-parameters"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "SpotInstanceRequests[].Status.Code",
						"expected": "system-error"
					}
				]
			},
			"SubnetAvailable": {
				"delay": 15,
				"operation": "DescribeSubnets",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "available",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Subnets[].State"
					}
				]
			},
			"SystemStatusOk": {
				"operation": "DescribeInstanceStatus",
				"maxAttempts": 40,
				"delay": 15,
				"acceptors": [
					{
						"state": "success",
						"matcher": "pathAll",
						"argument": "InstanceStatuses[].SystemStatus.Status",
						"expected": "ok"
					}
				]
			},
			"VolumeAvailable": {
				"delay": 15,
				"operation": "DescribeVolumes",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "available",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Volumes[].State"
					},
					{
						"expected": "deleted",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Volumes[].State"
					}
				]
			},
			"VolumeDeleted": {
				"delay": 15,
				"operation": "DescribeVolumes",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "deleted",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Volumes[].State"
					},
					{
						"matcher": "error",
						"expected": "InvalidVolume.NotFound",
						"state": "success"
					}
				]
			},
			"VolumeInUse": {
				"delay": 15,
				"operation": "DescribeVolumes",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "in-use",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Volumes[].State"
					},
					{
						"expected": "deleted",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Volumes[].State"
					}
				]
			},
			"VpcAvailable": {
				"delay": 15,
				"operation": "DescribeVpcs",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "available",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Vpcs[].State"
					}
				]
			},
			"VpcExists": {
				"operation": "DescribeVpcs",
				"delay": 1,
				"maxAttempts": 5,
				"acceptors": [
					{
						"matcher": "status",
						"expected": 200,
						"state": "success"
					},
					{
						"matcher": "error",
						"expected": "InvalidVpcID.NotFound",
						"state": "retry"
					}
				]
			},
			"VpnConnectionAvailable": {
				"delay": 15,
				"operation": "DescribeVpnConnections",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "available",
						"matcher": "pathAll",
						"state": "success",
						"argument": "VpnConnections[].State"
					},
					{
						"expected": "deleting",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "VpnConnections[].State"
					},
					{
						"expected": "deleted",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "VpnConnections[].State"
					}
				]
			},
			"VpnConnectionDeleted": {
				"delay": 15,
				"operation": "DescribeVpnConnections",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "deleted",
						"matcher": "pathAll",
						"state": "success",
						"argument": "VpnConnections[].State"
					},
					{
						"expected": "pending",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "VpnConnections[].State"
					}
				]
			},
			"VpcPeeringConnectionExists": {
				"delay": 15,
				"operation": "DescribeVpcPeeringConnections",
				"maxAttempts": 40,
				"acceptors": [
					{
						"matcher": "status",
						"expected": 200,
						"state": "success"
					},
					{
						"matcher": "error",
						"expected": "InvalidVpcPeeringConnectionID.NotFound",
						"state": "retry"
					}
				]
			},
			"VpcPeeringConnectionDeleted": {
				"delay": 15,
				"operation": "DescribeVpcPeeringConnections",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "deleted",
						"matcher": "pathAll",
						"state": "success",
						"argument": "VpcPeeringConnections[].Status.Code"
					},
					{
						"matcher": "error",
						"expected": "InvalidVpcPeeringConnectionID.NotFound",
						"state": "success"
					}
				]
			}
		}
	};

/***/ }),
/* 425 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['ecr'] = {};
	AWS.ECR = Service.defineService('ecr', ['2015-09-21']);
	Object.defineProperty(apiLoader.services['ecr'], '2015-09-21', {
	  get: function get() {
	    var model = __webpack_require__(426);
	    model.paginators = __webpack_require__(427).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ECR;


/***/ }),
/* 426 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"uid": "ecr-2015-09-21",
			"apiVersion": "2015-09-21",
			"endpointPrefix": "ecr",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Amazon ECR",
			"serviceFullName": "Amazon EC2 Container Registry",
			"signatureVersion": "v4",
			"targetPrefix": "AmazonEC2ContainerRegistry_V20150921"
		},
		"operations": {
			"BatchCheckLayerAvailability": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"layerDigests"
					],
					"members": {
						"registryId": {},
						"repositoryName": {},
						"layerDigests": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"layers": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"layerDigest": {},
									"layerAvailability": {},
									"layerSize": {
										"type": "long"
									},
									"mediaType": {}
								}
							}
						},
						"failures": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"layerDigest": {},
									"failureCode": {},
									"failureReason": {}
								}
							}
						}
					}
				}
			},
			"BatchDeleteImage": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"imageIds"
					],
					"members": {
						"registryId": {},
						"repositoryName": {},
						"imageIds": {
							"shape": "Si"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"imageIds": {
							"shape": "Si"
						},
						"failures": {
							"shape": "Sn"
						}
					}
				}
			},
			"BatchGetImage": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"imageIds"
					],
					"members": {
						"registryId": {},
						"repositoryName": {},
						"imageIds": {
							"shape": "Si"
						},
						"acceptedMediaTypes": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"images": {
							"type": "list",
							"member": {
								"shape": "Sv"
							}
						},
						"failures": {
							"shape": "Sn"
						}
					}
				}
			},
			"CompleteLayerUpload": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"uploadId",
						"layerDigests"
					],
					"members": {
						"registryId": {},
						"repositoryName": {},
						"uploadId": {},
						"layerDigests": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"registryId": {},
						"repositoryName": {},
						"uploadId": {},
						"layerDigest": {}
					}
				}
			},
			"CreateRepository": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"repositoryName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"repository": {
							"shape": "S13"
						}
					}
				}
			},
			"DeleteRepository": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"registryId": {},
						"repositoryName": {},
						"force": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"repository": {
							"shape": "S13"
						}
					}
				}
			},
			"DeleteRepositoryPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"registryId": {},
						"repositoryName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"registryId": {},
						"repositoryName": {},
						"policyText": {}
					}
				}
			},
			"DescribeImages": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"registryId": {},
						"repositoryName": {},
						"imageIds": {
							"shape": "Si"
						},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						},
						"filter": {
							"type": "structure",
							"members": {
								"tagStatus": {}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"imageDetails": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"registryId": {},
									"repositoryName": {},
									"imageDigest": {},
									"imageTags": {
										"type": "list",
										"member": {}
									},
									"imageSizeInBytes": {
										"type": "long"
									},
									"imagePushedAt": {
										"type": "timestamp"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"DescribeRepositories": {
				"input": {
					"type": "structure",
					"members": {
						"registryId": {},
						"repositoryNames": {
							"type": "list",
							"member": {}
						},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"repositories": {
							"type": "list",
							"member": {
								"shape": "S13"
							}
						},
						"nextToken": {}
					}
				}
			},
			"GetAuthorizationToken": {
				"input": {
					"type": "structure",
					"members": {
						"registryIds": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"authorizationData": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"authorizationToken": {},
									"expiresAt": {
										"type": "timestamp"
									},
									"proxyEndpoint": {}
								}
							}
						}
					}
				}
			},
			"GetDownloadUrlForLayer": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"layerDigest"
					],
					"members": {
						"registryId": {},
						"repositoryName": {},
						"layerDigest": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"downloadUrl": {},
						"layerDigest": {}
					}
				}
			},
			"GetRepositoryPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"registryId": {},
						"repositoryName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"registryId": {},
						"repositoryName": {},
						"policyText": {}
					}
				}
			},
			"InitiateLayerUpload": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"registryId": {},
						"repositoryName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"uploadId": {},
						"partSize": {
							"type": "long"
						}
					}
				}
			},
			"ListImages": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName"
					],
					"members": {
						"registryId": {},
						"repositoryName": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						},
						"filter": {
							"type": "structure",
							"members": {
								"tagStatus": {}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"imageIds": {
							"shape": "Si"
						},
						"nextToken": {}
					}
				}
			},
			"PutImage": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"imageManifest"
					],
					"members": {
						"registryId": {},
						"repositoryName": {},
						"imageManifest": {},
						"imageTag": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"image": {
							"shape": "Sv"
						}
					}
				}
			},
			"SetRepositoryPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"policyText"
					],
					"members": {
						"registryId": {},
						"repositoryName": {},
						"policyText": {},
						"force": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"registryId": {},
						"repositoryName": {},
						"policyText": {}
					}
				}
			},
			"UploadLayerPart": {
				"input": {
					"type": "structure",
					"required": [
						"repositoryName",
						"uploadId",
						"partFirstByte",
						"partLastByte",
						"layerPartBlob"
					],
					"members": {
						"registryId": {},
						"repositoryName": {},
						"uploadId": {},
						"partFirstByte": {
							"type": "long"
						},
						"partLastByte": {
							"type": "long"
						},
						"layerPartBlob": {
							"type": "blob"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"registryId": {},
						"repositoryName": {},
						"uploadId": {},
						"lastByteReceived": {
							"type": "long"
						}
					}
				}
			}
		},
		"shapes": {
			"Si": {
				"type": "list",
				"member": {
					"shape": "Sj"
				}
			},
			"Sj": {
				"type": "structure",
				"members": {
					"imageDigest": {},
					"imageTag": {}
				}
			},
			"Sn": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"imageId": {
							"shape": "Sj"
						},
						"failureCode": {},
						"failureReason": {}
					}
				}
			},
			"Sv": {
				"type": "structure",
				"members": {
					"registryId": {},
					"repositoryName": {},
					"imageId": {
						"shape": "Sj"
					},
					"imageManifest": {}
				}
			},
			"S13": {
				"type": "structure",
				"members": {
					"repositoryArn": {},
					"registryId": {},
					"repositoryName": {},
					"repositoryUri": {},
					"createdAt": {
						"type": "timestamp"
					}
				}
			}
		}
	};

/***/ }),
/* 427 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListImages": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "imageIds"
			},
			"DescribeImages": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "imageDetails"
			},
			"DescribeRepositories": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "repositories"
			}
		}
	};

/***/ }),
/* 428 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['ecs'] = {};
	AWS.ECS = Service.defineService('ecs', ['2014-11-13']);
	Object.defineProperty(apiLoader.services['ecs'], '2014-11-13', {
	  get: function get() {
	    var model = __webpack_require__(429);
	    model.paginators = __webpack_require__(430).pagination;
	    model.waiters = __webpack_require__(431).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ECS;


/***/ }),
/* 429 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-11-13",
			"endpointPrefix": "ecs",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Amazon ECS",
			"serviceFullName": "Amazon EC2 Container Service",
			"signatureVersion": "v4",
			"targetPrefix": "AmazonEC2ContainerServiceV20141113",
			"uid": "ecs-2014-11-13"
		},
		"operations": {
			"CreateCluster": {
				"input": {
					"type": "structure",
					"members": {
						"clusterName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"cluster": {
							"shape": "S4"
						}
					}
				}
			},
			"CreateService": {
				"input": {
					"type": "structure",
					"required": [
						"serviceName",
						"taskDefinition",
						"desiredCount"
					],
					"members": {
						"cluster": {},
						"serviceName": {},
						"taskDefinition": {},
						"loadBalancers": {
							"shape": "S7"
						},
						"desiredCount": {
							"type": "integer"
						},
						"clientToken": {},
						"role": {},
						"deploymentConfiguration": {
							"shape": "Sa"
						},
						"placementConstraints": {
							"shape": "Sb"
						},
						"placementStrategy": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"service": {
							"shape": "Si"
						}
					}
				}
			},
			"DeleteAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"attributes"
					],
					"members": {
						"cluster": {},
						"attributes": {
							"shape": "Sp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"attributes": {
							"shape": "Sp"
						}
					}
				}
			},
			"DeleteCluster": {
				"input": {
					"type": "structure",
					"required": [
						"cluster"
					],
					"members": {
						"cluster": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"cluster": {
							"shape": "S4"
						}
					}
				}
			},
			"DeleteService": {
				"input": {
					"type": "structure",
					"required": [
						"service"
					],
					"members": {
						"cluster": {},
						"service": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"service": {
							"shape": "Si"
						}
					}
				}
			},
			"DeregisterContainerInstance": {
				"input": {
					"type": "structure",
					"required": [
						"containerInstance"
					],
					"members": {
						"cluster": {},
						"containerInstance": {},
						"force": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"containerInstance": {
							"shape": "S10"
						}
					}
				}
			},
			"DeregisterTaskDefinition": {
				"input": {
					"type": "structure",
					"required": [
						"taskDefinition"
					],
					"members": {
						"taskDefinition": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"taskDefinition": {
							"shape": "S1b"
						}
					}
				}
			},
			"DescribeClusters": {
				"input": {
					"type": "structure",
					"members": {
						"clusters": {
							"shape": "S16"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"clusters": {
							"type": "list",
							"member": {
								"shape": "S4"
							}
						},
						"failures": {
							"shape": "S28"
						}
					}
				}
			},
			"DescribeContainerInstances": {
				"input": {
					"type": "structure",
					"required": [
						"containerInstances"
					],
					"members": {
						"cluster": {},
						"containerInstances": {
							"shape": "S16"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"containerInstances": {
							"shape": "S2c"
						},
						"failures": {
							"shape": "S28"
						}
					}
				}
			},
			"DescribeServices": {
				"input": {
					"type": "structure",
					"required": [
						"services"
					],
					"members": {
						"cluster": {},
						"services": {
							"shape": "S16"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"services": {
							"type": "list",
							"member": {
								"shape": "Si"
							}
						},
						"failures": {
							"shape": "S28"
						}
					}
				}
			},
			"DescribeTaskDefinition": {
				"input": {
					"type": "structure",
					"required": [
						"taskDefinition"
					],
					"members": {
						"taskDefinition": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"taskDefinition": {
							"shape": "S1b"
						}
					}
				}
			},
			"DescribeTasks": {
				"input": {
					"type": "structure",
					"required": [
						"tasks"
					],
					"members": {
						"cluster": {},
						"tasks": {
							"shape": "S16"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"tasks": {
							"shape": "S2k"
						},
						"failures": {
							"shape": "S28"
						}
					}
				}
			},
			"DiscoverPollEndpoint": {
				"input": {
					"type": "structure",
					"members": {
						"containerInstance": {},
						"cluster": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"endpoint": {},
						"telemetryEndpoint": {}
					}
				}
			},
			"ListAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"targetType"
					],
					"members": {
						"cluster": {},
						"targetType": {},
						"attributeName": {},
						"attributeValue": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"attributes": {
							"shape": "Sp"
						},
						"nextToken": {}
					}
				}
			},
			"ListClusters": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"clusterArns": {
							"shape": "S16"
						},
						"nextToken": {}
					}
				}
			},
			"ListContainerInstances": {
				"input": {
					"type": "structure",
					"members": {
						"cluster": {},
						"filter": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						},
						"status": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"containerInstanceArns": {
							"shape": "S16"
						},
						"nextToken": {}
					}
				}
			},
			"ListServices": {
				"input": {
					"type": "structure",
					"members": {
						"cluster": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"serviceArns": {
							"shape": "S16"
						},
						"nextToken": {}
					}
				}
			},
			"ListTaskDefinitionFamilies": {
				"input": {
					"type": "structure",
					"members": {
						"familyPrefix": {},
						"status": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"families": {
							"shape": "S16"
						},
						"nextToken": {}
					}
				}
			},
			"ListTaskDefinitions": {
				"input": {
					"type": "structure",
					"members": {
						"familyPrefix": {},
						"status": {},
						"sort": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"taskDefinitionArns": {
							"shape": "S16"
						},
						"nextToken": {}
					}
				}
			},
			"ListTasks": {
				"input": {
					"type": "structure",
					"members": {
						"cluster": {},
						"containerInstance": {},
						"family": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						},
						"startedBy": {},
						"serviceName": {},
						"desiredStatus": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"taskArns": {
							"shape": "S16"
						},
						"nextToken": {}
					}
				}
			},
			"PutAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"attributes"
					],
					"members": {
						"cluster": {},
						"attributes": {
							"shape": "Sp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"attributes": {
							"shape": "Sp"
						}
					}
				}
			},
			"RegisterContainerInstance": {
				"input": {
					"type": "structure",
					"members": {
						"cluster": {},
						"instanceIdentityDocument": {},
						"instanceIdentityDocumentSignature": {},
						"totalResources": {
							"shape": "S13"
						},
						"versionInfo": {
							"shape": "S12"
						},
						"containerInstanceArn": {},
						"attributes": {
							"shape": "Sp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"containerInstance": {
							"shape": "S10"
						}
					}
				}
			},
			"RegisterTaskDefinition": {
				"input": {
					"type": "structure",
					"required": [
						"family",
						"containerDefinitions"
					],
					"members": {
						"family": {},
						"taskRoleArn": {},
						"networkMode": {},
						"containerDefinitions": {
							"shape": "S1c"
						},
						"volumes": {
							"shape": "S1x"
						},
						"placementConstraints": {
							"shape": "S22"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"taskDefinition": {
							"shape": "S1b"
						}
					}
				}
			},
			"RunTask": {
				"input": {
					"type": "structure",
					"required": [
						"taskDefinition"
					],
					"members": {
						"cluster": {},
						"taskDefinition": {},
						"overrides": {
							"shape": "S2m"
						},
						"count": {
							"type": "integer"
						},
						"startedBy": {},
						"group": {},
						"placementConstraints": {
							"shape": "Sb"
						},
						"placementStrategy": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"tasks": {
							"shape": "S2k"
						},
						"failures": {
							"shape": "S28"
						}
					}
				}
			},
			"StartTask": {
				"input": {
					"type": "structure",
					"required": [
						"taskDefinition",
						"containerInstances"
					],
					"members": {
						"cluster": {},
						"taskDefinition": {},
						"overrides": {
							"shape": "S2m"
						},
						"containerInstances": {
							"shape": "S16"
						},
						"startedBy": {},
						"group": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"tasks": {
							"shape": "S2k"
						},
						"failures": {
							"shape": "S28"
						}
					}
				}
			},
			"StopTask": {
				"input": {
					"type": "structure",
					"required": [
						"task"
					],
					"members": {
						"cluster": {},
						"task": {},
						"reason": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"task": {
							"shape": "S2l"
						}
					}
				}
			},
			"SubmitContainerStateChange": {
				"input": {
					"type": "structure",
					"members": {
						"cluster": {},
						"task": {},
						"containerName": {},
						"status": {},
						"exitCode": {
							"type": "integer"
						},
						"reason": {},
						"networkBindings": {
							"shape": "S2r"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"acknowledgment": {}
					}
				}
			},
			"SubmitTaskStateChange": {
				"input": {
					"type": "structure",
					"members": {
						"cluster": {},
						"task": {},
						"status": {},
						"reason": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"acknowledgment": {}
					}
				}
			},
			"UpdateContainerAgent": {
				"input": {
					"type": "structure",
					"required": [
						"containerInstance"
					],
					"members": {
						"cluster": {},
						"containerInstance": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"containerInstance": {
							"shape": "S10"
						}
					}
				}
			},
			"UpdateContainerInstancesState": {
				"input": {
					"type": "structure",
					"required": [
						"containerInstances",
						"status"
					],
					"members": {
						"cluster": {},
						"containerInstances": {
							"shape": "S16"
						},
						"status": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"containerInstances": {
							"shape": "S2c"
						},
						"failures": {
							"shape": "S28"
						}
					}
				}
			},
			"UpdateService": {
				"input": {
					"type": "structure",
					"required": [
						"service"
					],
					"members": {
						"cluster": {},
						"service": {},
						"desiredCount": {
							"type": "integer"
						},
						"taskDefinition": {},
						"deploymentConfiguration": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"service": {
							"shape": "Si"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"members": {
					"clusterArn": {},
					"clusterName": {},
					"status": {},
					"registeredContainerInstancesCount": {
						"type": "integer"
					},
					"runningTasksCount": {
						"type": "integer"
					},
					"pendingTasksCount": {
						"type": "integer"
					},
					"activeServicesCount": {
						"type": "integer"
					}
				}
			},
			"S7": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"targetGroupArn": {},
						"loadBalancerName": {},
						"containerName": {},
						"containerPort": {
							"type": "integer"
						}
					}
				}
			},
			"Sa": {
				"type": "structure",
				"members": {
					"maximumPercent": {
						"type": "integer"
					},
					"minimumHealthyPercent": {
						"type": "integer"
					}
				}
			},
			"Sb": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"type": {},
						"expression": {}
					}
				}
			},
			"Se": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"type": {},
						"field": {}
					}
				}
			},
			"Si": {
				"type": "structure",
				"members": {
					"serviceArn": {},
					"serviceName": {},
					"clusterArn": {},
					"loadBalancers": {
						"shape": "S7"
					},
					"status": {},
					"desiredCount": {
						"type": "integer"
					},
					"runningCount": {
						"type": "integer"
					},
					"pendingCount": {
						"type": "integer"
					},
					"taskDefinition": {},
					"deploymentConfiguration": {
						"shape": "Sa"
					},
					"deployments": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"id": {},
								"status": {},
								"taskDefinition": {},
								"desiredCount": {
									"type": "integer"
								},
								"pendingCount": {
									"type": "integer"
								},
								"runningCount": {
									"type": "integer"
								},
								"createdAt": {
									"type": "timestamp"
								},
								"updatedAt": {
									"type": "timestamp"
								}
							}
						}
					},
					"roleArn": {},
					"events": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"id": {},
								"createdAt": {
									"type": "timestamp"
								},
								"message": {}
							}
						}
					},
					"createdAt": {
						"type": "timestamp"
					},
					"placementConstraints": {
						"shape": "Sb"
					},
					"placementStrategy": {
						"shape": "Se"
					}
				}
			},
			"Sp": {
				"type": "list",
				"member": {
					"shape": "Sq"
				}
			},
			"Sq": {
				"type": "structure",
				"required": [
					"name"
				],
				"members": {
					"name": {},
					"value": {},
					"targetType": {},
					"targetId": {}
				}
			},
			"S10": {
				"type": "structure",
				"members": {
					"containerInstanceArn": {},
					"ec2InstanceId": {},
					"version": {
						"type": "long"
					},
					"versionInfo": {
						"shape": "S12"
					},
					"remainingResources": {
						"shape": "S13"
					},
					"registeredResources": {
						"shape": "S13"
					},
					"status": {},
					"agentConnected": {
						"type": "boolean"
					},
					"runningTasksCount": {
						"type": "integer"
					},
					"pendingTasksCount": {
						"type": "integer"
					},
					"agentUpdateStatus": {},
					"attributes": {
						"shape": "Sp"
					},
					"registeredAt": {
						"type": "timestamp"
					}
				}
			},
			"S12": {
				"type": "structure",
				"members": {
					"agentVersion": {},
					"agentHash": {},
					"dockerVersion": {}
				}
			},
			"S13": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"name": {},
						"type": {},
						"doubleValue": {
							"type": "double"
						},
						"longValue": {
							"type": "long"
						},
						"integerValue": {
							"type": "integer"
						},
						"stringSetValue": {
							"shape": "S16"
						}
					}
				}
			},
			"S16": {
				"type": "list",
				"member": {}
			},
			"S1b": {
				"type": "structure",
				"members": {
					"taskDefinitionArn": {},
					"containerDefinitions": {
						"shape": "S1c"
					},
					"family": {},
					"taskRoleArn": {},
					"networkMode": {},
					"revision": {
						"type": "integer"
					},
					"volumes": {
						"shape": "S1x"
					},
					"status": {},
					"requiresAttributes": {
						"type": "list",
						"member": {
							"shape": "Sq"
						}
					},
					"placementConstraints": {
						"shape": "S22"
					}
				}
			},
			"S1c": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"name": {},
						"image": {},
						"cpu": {
							"type": "integer"
						},
						"memory": {
							"type": "integer"
						},
						"memoryReservation": {
							"type": "integer"
						},
						"links": {
							"shape": "S16"
						},
						"portMappings": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"containerPort": {
										"type": "integer"
									},
									"hostPort": {
										"type": "integer"
									},
									"protocol": {}
								}
							}
						},
						"essential": {
							"type": "boolean"
						},
						"entryPoint": {
							"shape": "S16"
						},
						"command": {
							"shape": "S16"
						},
						"environment": {
							"shape": "S1h"
						},
						"mountPoints": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"sourceVolume": {},
									"containerPath": {},
									"readOnly": {
										"type": "boolean"
									}
								}
							}
						},
						"volumesFrom": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"sourceContainer": {},
									"readOnly": {
										"type": "boolean"
									}
								}
							}
						},
						"hostname": {},
						"user": {},
						"workingDirectory": {},
						"disableNetworking": {
							"type": "boolean"
						},
						"privileged": {
							"type": "boolean"
						},
						"readonlyRootFilesystem": {
							"type": "boolean"
						},
						"dnsServers": {
							"shape": "S16"
						},
						"dnsSearchDomains": {
							"shape": "S16"
						},
						"extraHosts": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"hostname",
									"ipAddress"
								],
								"members": {
									"hostname": {},
									"ipAddress": {}
								}
							}
						},
						"dockerSecurityOptions": {
							"shape": "S16"
						},
						"dockerLabels": {
							"type": "map",
							"key": {},
							"value": {}
						},
						"ulimits": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"name",
									"softLimit",
									"hardLimit"
								],
								"members": {
									"name": {},
									"softLimit": {
										"type": "integer"
									},
									"hardLimit": {
										"type": "integer"
									}
								}
							}
						},
						"logConfiguration": {
							"type": "structure",
							"required": [
								"logDriver"
							],
							"members": {
								"logDriver": {},
								"options": {
									"type": "map",
									"key": {},
									"value": {}
								}
							}
						}
					}
				}
			},
			"S1h": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"name": {},
						"value": {}
					}
				}
			},
			"S1x": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"name": {},
						"host": {
							"type": "structure",
							"members": {
								"sourcePath": {}
							}
						}
					}
				}
			},
			"S22": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"type": {},
						"expression": {}
					}
				}
			},
			"S28": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"arn": {},
						"reason": {}
					}
				}
			},
			"S2c": {
				"type": "list",
				"member": {
					"shape": "S10"
				}
			},
			"S2k": {
				"type": "list",
				"member": {
					"shape": "S2l"
				}
			},
			"S2l": {
				"type": "structure",
				"members": {
					"taskArn": {},
					"clusterArn": {},
					"taskDefinitionArn": {},
					"containerInstanceArn": {},
					"overrides": {
						"shape": "S2m"
					},
					"lastStatus": {},
					"desiredStatus": {},
					"containers": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"containerArn": {},
								"taskArn": {},
								"name": {},
								"lastStatus": {},
								"exitCode": {
									"type": "integer"
								},
								"reason": {},
								"networkBindings": {
									"shape": "S2r"
								}
							}
						}
					},
					"startedBy": {},
					"version": {
						"type": "long"
					},
					"stoppedReason": {},
					"createdAt": {
						"type": "timestamp"
					},
					"startedAt": {
						"type": "timestamp"
					},
					"stoppedAt": {
						"type": "timestamp"
					},
					"group": {}
				}
			},
			"S2m": {
				"type": "structure",
				"members": {
					"containerOverrides": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"name": {},
								"command": {
									"shape": "S16"
								},
								"environment": {
									"shape": "S1h"
								},
								"cpu": {
									"type": "integer"
								},
								"memory": {
									"type": "integer"
								},
								"memoryReservation": {
									"type": "integer"
								}
							}
						}
					},
					"taskRoleArn": {}
				}
			},
			"S2r": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"bindIP": {},
						"containerPort": {
							"type": "integer"
						},
						"hostPort": {
							"type": "integer"
						},
						"protocol": {}
					}
				}
			}
		}
	};

/***/ }),
/* 430 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListClusters": {
				"input_token": "nextToken",
				"limit_key": "maxResults",
				"output_token": "nextToken",
				"result_key": "clusterArns"
			},
			"ListContainerInstances": {
				"input_token": "nextToken",
				"limit_key": "maxResults",
				"output_token": "nextToken",
				"result_key": "containerInstanceArns"
			},
			"ListServices": {
				"input_token": "nextToken",
				"limit_key": "maxResults",
				"output_token": "nextToken",
				"result_key": "serviceArns"
			},
			"ListTaskDefinitionFamilies": {
				"input_token": "nextToken",
				"limit_key": "maxResults",
				"output_token": "nextToken",
				"result_key": "families"
			},
			"ListTaskDefinitions": {
				"input_token": "nextToken",
				"limit_key": "maxResults",
				"output_token": "nextToken",
				"result_key": "taskDefinitionArns"
			},
			"ListTasks": {
				"input_token": "nextToken",
				"limit_key": "maxResults",
				"output_token": "nextToken",
				"result_key": "taskArns"
			}
		}
	};

/***/ }),
/* 431 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"TasksRunning": {
				"delay": 6,
				"operation": "DescribeTasks",
				"maxAttempts": 100,
				"acceptors": [
					{
						"expected": "STOPPED",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "tasks[].lastStatus"
					},
					{
						"expected": "MISSING",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "failures[].reason"
					},
					{
						"expected": "RUNNING",
						"matcher": "pathAll",
						"state": "success",
						"argument": "tasks[].lastStatus"
					}
				]
			},
			"TasksStopped": {
				"delay": 6,
				"operation": "DescribeTasks",
				"maxAttempts": 100,
				"acceptors": [
					{
						"expected": "STOPPED",
						"matcher": "pathAll",
						"state": "success",
						"argument": "tasks[].lastStatus"
					}
				]
			},
			"ServicesStable": {
				"delay": 15,
				"operation": "DescribeServices",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "MISSING",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "failures[].reason"
					},
					{
						"expected": "DRAINING",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "services[].status"
					},
					{
						"expected": "INACTIVE",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "services[].status"
					},
					{
						"expected": true,
						"matcher": "path",
						"state": "success",
						"argument": "length(services[?!(length(deployments) == `1` && runningCount == desiredCount)]) == `0`"
					}
				]
			},
			"ServicesInactive": {
				"delay": 15,
				"operation": "DescribeServices",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "MISSING",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "failures[].reason"
					},
					{
						"expected": "INACTIVE",
						"matcher": "pathAny",
						"state": "success",
						"argument": "services[].status"
					}
				]
			}
		}
	};

/***/ }),
/* 432 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['efs'] = {};
	AWS.EFS = Service.defineService('efs', ['2015-02-01']);
	Object.defineProperty(apiLoader.services['efs'], '2015-02-01', {
	  get: function get() {
	    var model = __webpack_require__(433);
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.EFS;


/***/ }),
/* 433 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-02-01",
			"endpointPrefix": "elasticfilesystem",
			"protocol": "rest-json",
			"serviceAbbreviation": "EFS",
			"serviceFullName": "Amazon Elastic File System",
			"signatureVersion": "v4",
			"uid": "elasticfilesystem-2015-02-01"
		},
		"operations": {
			"CreateFileSystem": {
				"http": {
					"requestUri": "/2015-02-01/file-systems",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"CreationToken"
					],
					"members": {
						"CreationToken": {},
						"PerformanceMode": {}
					}
				},
				"output": {
					"shape": "S4"
				}
			},
			"CreateMountTarget": {
				"http": {
					"requestUri": "/2015-02-01/mount-targets",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FileSystemId",
						"SubnetId"
					],
					"members": {
						"FileSystemId": {},
						"SubnetId": {},
						"IpAddress": {},
						"SecurityGroups": {
							"shape": "Sg"
						}
					}
				},
				"output": {
					"shape": "Si"
				}
			},
			"CreateTags": {
				"http": {
					"requestUri": "/2015-02-01/create-tags/{FileSystemId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"FileSystemId",
						"Tags"
					],
					"members": {
						"FileSystemId": {
							"location": "uri",
							"locationName": "FileSystemId"
						},
						"Tags": {
							"shape": "Sm"
						}
					}
				}
			},
			"DeleteFileSystem": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2015-02-01/file-systems/{FileSystemId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"FileSystemId"
					],
					"members": {
						"FileSystemId": {
							"location": "uri",
							"locationName": "FileSystemId"
						}
					}
				}
			},
			"DeleteMountTarget": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2015-02-01/mount-targets/{MountTargetId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"MountTargetId"
					],
					"members": {
						"MountTargetId": {
							"location": "uri",
							"locationName": "MountTargetId"
						}
					}
				}
			},
			"DeleteTags": {
				"http": {
					"requestUri": "/2015-02-01/delete-tags/{FileSystemId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"FileSystemId",
						"TagKeys"
					],
					"members": {
						"FileSystemId": {
							"location": "uri",
							"locationName": "FileSystemId"
						},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"DescribeFileSystems": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-02-01/file-systems",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems",
							"type": "integer"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"CreationToken": {
							"location": "querystring",
							"locationName": "CreationToken"
						},
						"FileSystemId": {
							"location": "querystring",
							"locationName": "FileSystemId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"FileSystems": {
							"type": "list",
							"member": {
								"shape": "S4"
							}
						},
						"NextMarker": {}
					}
				}
			},
			"DescribeMountTargetSecurityGroups": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-02-01/mount-targets/{MountTargetId}/security-groups",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"MountTargetId"
					],
					"members": {
						"MountTargetId": {
							"location": "uri",
							"locationName": "MountTargetId"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"SecurityGroups"
					],
					"members": {
						"SecurityGroups": {
							"shape": "Sg"
						}
					}
				}
			},
			"DescribeMountTargets": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-02-01/mount-targets",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems",
							"type": "integer"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"FileSystemId": {
							"location": "querystring",
							"locationName": "FileSystemId"
						},
						"MountTargetId": {
							"location": "querystring",
							"locationName": "MountTargetId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"MountTargets": {
							"type": "list",
							"member": {
								"shape": "Si"
							}
						},
						"NextMarker": {}
					}
				}
			},
			"DescribeTags": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-02-01/tags/{FileSystemId}/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FileSystemId"
					],
					"members": {
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems",
							"type": "integer"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"FileSystemId": {
							"location": "uri",
							"locationName": "FileSystemId"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Tags"
					],
					"members": {
						"Marker": {},
						"Tags": {
							"shape": "Sm"
						},
						"NextMarker": {}
					}
				}
			},
			"ModifyMountTargetSecurityGroups": {
				"http": {
					"method": "PUT",
					"requestUri": "/2015-02-01/mount-targets/{MountTargetId}/security-groups",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"MountTargetId"
					],
					"members": {
						"MountTargetId": {
							"location": "uri",
							"locationName": "MountTargetId"
						},
						"SecurityGroups": {
							"shape": "Sg"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"required": [
					"OwnerId",
					"CreationToken",
					"FileSystemId",
					"CreationTime",
					"LifeCycleState",
					"NumberOfMountTargets",
					"SizeInBytes",
					"PerformanceMode"
				],
				"members": {
					"OwnerId": {},
					"CreationToken": {},
					"FileSystemId": {},
					"CreationTime": {
						"type": "timestamp"
					},
					"LifeCycleState": {},
					"Name": {},
					"NumberOfMountTargets": {
						"type": "integer"
					},
					"SizeInBytes": {
						"type": "structure",
						"required": [
							"Value"
						],
						"members": {
							"Value": {
								"type": "long"
							},
							"Timestamp": {
								"type": "timestamp"
							}
						}
					},
					"PerformanceMode": {}
				}
			},
			"Sg": {
				"type": "list",
				"member": {}
			},
			"Si": {
				"type": "structure",
				"required": [
					"MountTargetId",
					"FileSystemId",
					"SubnetId",
					"LifeCycleState"
				],
				"members": {
					"OwnerId": {},
					"MountTargetId": {},
					"FileSystemId": {},
					"SubnetId": {},
					"LifeCycleState": {},
					"IpAddress": {},
					"NetworkInterfaceId": {}
				}
			},
			"Sm": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key",
						"Value"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			}
		}
	};

/***/ }),
/* 434 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['elasticache'] = {};
	AWS.ElastiCache = Service.defineService('elasticache', ['2012-11-15*', '2014-03-24*', '2014-07-15*', '2014-09-30*', '2015-02-02']);
	Object.defineProperty(apiLoader.services['elasticache'], '2015-02-02', {
	  get: function get() {
	    var model = __webpack_require__(435);
	    model.paginators = __webpack_require__(436).pagination;
	    model.waiters = __webpack_require__(437).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ElastiCache;


/***/ }),
/* 435 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-02-02",
			"endpointPrefix": "elasticache",
			"protocol": "query",
			"serviceFullName": "Amazon ElastiCache",
			"signatureVersion": "v4",
			"uid": "elasticache-2015-02-02",
			"xmlNamespace": "http://elasticache.amazonaws.com/doc/2015-02-02/"
		},
		"operations": {
			"AddTagsToResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"Tags"
					],
					"members": {
						"ResourceName": {},
						"Tags": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"shape": "S5",
					"resultWrapper": "AddTagsToResourceResult"
				}
			},
			"AuthorizeCacheSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"CacheSecurityGroupName",
						"EC2SecurityGroupName",
						"EC2SecurityGroupOwnerId"
					],
					"members": {
						"CacheSecurityGroupName": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "AuthorizeCacheSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"CacheSecurityGroup": {
							"shape": "S8"
						}
					}
				}
			},
			"CopySnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SourceSnapshotName",
						"TargetSnapshotName"
					],
					"members": {
						"SourceSnapshotName": {},
						"TargetSnapshotName": {},
						"TargetBucket": {}
					}
				},
				"output": {
					"resultWrapper": "CopySnapshotResult",
					"type": "structure",
					"members": {
						"Snapshot": {
							"shape": "Sd"
						}
					}
				}
			},
			"CreateCacheCluster": {
				"input": {
					"type": "structure",
					"required": [
						"CacheClusterId"
					],
					"members": {
						"CacheClusterId": {},
						"ReplicationGroupId": {},
						"AZMode": {},
						"PreferredAvailabilityZone": {},
						"PreferredAvailabilityZones": {
							"shape": "So"
						},
						"NumCacheNodes": {
							"type": "integer"
						},
						"CacheNodeType": {},
						"Engine": {},
						"EngineVersion": {},
						"CacheParameterGroupName": {},
						"CacheSubnetGroupName": {},
						"CacheSecurityGroupNames": {
							"shape": "Sp"
						},
						"SecurityGroupIds": {
							"shape": "Sq"
						},
						"Tags": {
							"shape": "S3"
						},
						"SnapshotArns": {
							"shape": "Sr"
						},
						"SnapshotName": {},
						"PreferredMaintenanceWindow": {},
						"Port": {
							"type": "integer"
						},
						"NotificationTopicArn": {},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"SnapshotRetentionLimit": {
							"type": "integer"
						},
						"SnapshotWindow": {},
						"AuthToken": {}
					}
				},
				"output": {
					"resultWrapper": "CreateCacheClusterResult",
					"type": "structure",
					"members": {
						"CacheCluster": {
							"shape": "Su"
						}
					}
				}
			},
			"CreateCacheParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"CacheParameterGroupName",
						"CacheParameterGroupFamily",
						"Description"
					],
					"members": {
						"CacheParameterGroupName": {},
						"CacheParameterGroupFamily": {},
						"Description": {}
					}
				},
				"output": {
					"resultWrapper": "CreateCacheParameterGroupResult",
					"type": "structure",
					"members": {
						"CacheParameterGroup": {
							"shape": "S19"
						}
					}
				}
			},
			"CreateCacheSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"CacheSecurityGroupName",
						"Description"
					],
					"members": {
						"CacheSecurityGroupName": {},
						"Description": {}
					}
				},
				"output": {
					"resultWrapper": "CreateCacheSecurityGroupResult",
					"type": "structure",
					"members": {
						"CacheSecurityGroup": {
							"shape": "S8"
						}
					}
				}
			},
			"CreateCacheSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"CacheSubnetGroupName",
						"CacheSubnetGroupDescription",
						"SubnetIds"
					],
					"members": {
						"CacheSubnetGroupName": {},
						"CacheSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S1d"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateCacheSubnetGroupResult",
					"type": "structure",
					"members": {
						"CacheSubnetGroup": {
							"shape": "S1f"
						}
					}
				}
			},
			"CreateReplicationGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationGroupId",
						"ReplicationGroupDescription"
					],
					"members": {
						"ReplicationGroupId": {},
						"ReplicationGroupDescription": {},
						"PrimaryClusterId": {},
						"AutomaticFailoverEnabled": {
							"type": "boolean"
						},
						"NumCacheClusters": {
							"type": "integer"
						},
						"PreferredCacheClusterAZs": {
							"shape": "Sl"
						},
						"NumNodeGroups": {
							"type": "integer"
						},
						"ReplicasPerNodeGroup": {
							"type": "integer"
						},
						"NodeGroupConfiguration": {
							"type": "list",
							"member": {
								"shape": "Sk",
								"locationName": "NodeGroupConfiguration"
							}
						},
						"CacheNodeType": {},
						"Engine": {},
						"EngineVersion": {},
						"CacheParameterGroupName": {},
						"CacheSubnetGroupName": {},
						"CacheSecurityGroupNames": {
							"shape": "Sp"
						},
						"SecurityGroupIds": {
							"shape": "Sq"
						},
						"Tags": {
							"shape": "S3"
						},
						"SnapshotArns": {
							"shape": "Sr"
						},
						"SnapshotName": {},
						"PreferredMaintenanceWindow": {},
						"Port": {
							"type": "integer"
						},
						"NotificationTopicArn": {},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"SnapshotRetentionLimit": {
							"type": "integer"
						},
						"SnapshotWindow": {},
						"AuthToken": {}
					}
				},
				"output": {
					"resultWrapper": "CreateReplicationGroupResult",
					"type": "structure",
					"members": {
						"ReplicationGroup": {
							"shape": "S1m"
						}
					}
				}
			},
			"CreateSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotName"
					],
					"members": {
						"ReplicationGroupId": {},
						"CacheClusterId": {},
						"SnapshotName": {}
					}
				},
				"output": {
					"resultWrapper": "CreateSnapshotResult",
					"type": "structure",
					"members": {
						"Snapshot": {
							"shape": "Sd"
						}
					}
				}
			},
			"DeleteCacheCluster": {
				"input": {
					"type": "structure",
					"required": [
						"CacheClusterId"
					],
					"members": {
						"CacheClusterId": {},
						"FinalSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteCacheClusterResult",
					"type": "structure",
					"members": {
						"CacheCluster": {
							"shape": "Su"
						}
					}
				}
			},
			"DeleteCacheParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"CacheParameterGroupName"
					],
					"members": {
						"CacheParameterGroupName": {}
					}
				}
			},
			"DeleteCacheSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"CacheSecurityGroupName"
					],
					"members": {
						"CacheSecurityGroupName": {}
					}
				}
			},
			"DeleteCacheSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"CacheSubnetGroupName"
					],
					"members": {
						"CacheSubnetGroupName": {}
					}
				}
			},
			"DeleteReplicationGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationGroupId"
					],
					"members": {
						"ReplicationGroupId": {},
						"RetainPrimaryCluster": {
							"type": "boolean"
						},
						"FinalSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteReplicationGroupResult",
					"type": "structure",
					"members": {
						"ReplicationGroup": {
							"shape": "S1m"
						}
					}
				}
			},
			"DeleteSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotName"
					],
					"members": {
						"SnapshotName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteSnapshotResult",
					"type": "structure",
					"members": {
						"Snapshot": {
							"shape": "Sd"
						}
					}
				}
			},
			"DescribeCacheClusters": {
				"input": {
					"type": "structure",
					"members": {
						"CacheClusterId": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"ShowCacheNodeInfo": {
							"type": "boolean"
						},
						"ShowCacheClustersNotInReplicationGroups": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeCacheClustersResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"CacheClusters": {
							"type": "list",
							"member": {
								"shape": "Su",
								"locationName": "CacheCluster"
							}
						}
					}
				}
			},
			"DescribeCacheEngineVersions": {
				"input": {
					"type": "structure",
					"members": {
						"Engine": {},
						"EngineVersion": {},
						"CacheParameterGroupFamily": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"DefaultOnly": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeCacheEngineVersionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"CacheEngineVersions": {
							"type": "list",
							"member": {
								"locationName": "CacheEngineVersion",
								"type": "structure",
								"members": {
									"Engine": {},
									"EngineVersion": {},
									"CacheParameterGroupFamily": {},
									"CacheEngineDescription": {},
									"CacheEngineVersionDescription": {}
								}
							}
						}
					}
				}
			},
			"DescribeCacheParameterGroups": {
				"input": {
					"type": "structure",
					"members": {
						"CacheParameterGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeCacheParameterGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"CacheParameterGroups": {
							"type": "list",
							"member": {
								"shape": "S19",
								"locationName": "CacheParameterGroup"
							}
						}
					}
				}
			},
			"DescribeCacheParameters": {
				"input": {
					"type": "structure",
					"required": [
						"CacheParameterGroupName"
					],
					"members": {
						"CacheParameterGroupName": {},
						"Source": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeCacheParametersResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"Parameters": {
							"shape": "S2h"
						},
						"CacheNodeTypeSpecificParameters": {
							"shape": "S2k"
						}
					}
				}
			},
			"DescribeCacheSecurityGroups": {
				"input": {
					"type": "structure",
					"members": {
						"CacheSecurityGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeCacheSecurityGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"CacheSecurityGroups": {
							"type": "list",
							"member": {
								"shape": "S8",
								"locationName": "CacheSecurityGroup"
							}
						}
					}
				}
			},
			"DescribeCacheSubnetGroups": {
				"input": {
					"type": "structure",
					"members": {
						"CacheSubnetGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeCacheSubnetGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"CacheSubnetGroups": {
							"type": "list",
							"member": {
								"shape": "S1f",
								"locationName": "CacheSubnetGroup"
							}
						}
					}
				}
			},
			"DescribeEngineDefaultParameters": {
				"input": {
					"type": "structure",
					"required": [
						"CacheParameterGroupFamily"
					],
					"members": {
						"CacheParameterGroupFamily": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEngineDefaultParametersResult",
					"type": "structure",
					"members": {
						"EngineDefaults": {
							"type": "structure",
							"members": {
								"CacheParameterGroupFamily": {},
								"Marker": {},
								"Parameters": {
									"shape": "S2h"
								},
								"CacheNodeTypeSpecificParameters": {
									"shape": "S2k"
								}
							},
							"wrapper": true
						}
					}
				}
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"members": {
						"SourceIdentifier": {},
						"SourceType": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Duration": {
							"type": "integer"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"Events": {
							"type": "list",
							"member": {
								"locationName": "Event",
								"type": "structure",
								"members": {
									"SourceIdentifier": {},
									"SourceType": {},
									"Message": {},
									"Date": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeReplicationGroups": {
				"input": {
					"type": "structure",
					"members": {
						"ReplicationGroupId": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReplicationGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReplicationGroups": {
							"type": "list",
							"member": {
								"shape": "S1m",
								"locationName": "ReplicationGroup"
							}
						}
					}
				}
			},
			"DescribeReservedCacheNodes": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedCacheNodeId": {},
						"ReservedCacheNodesOfferingId": {},
						"CacheNodeType": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedCacheNodesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedCacheNodes": {
							"type": "list",
							"member": {
								"shape": "S38",
								"locationName": "ReservedCacheNode"
							}
						}
					}
				}
			},
			"DescribeReservedCacheNodesOfferings": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedCacheNodesOfferingId": {},
						"CacheNodeType": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedCacheNodesOfferingsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedCacheNodesOfferings": {
							"type": "list",
							"member": {
								"locationName": "ReservedCacheNodesOffering",
								"type": "structure",
								"members": {
									"ReservedCacheNodesOfferingId": {},
									"CacheNodeType": {},
									"Duration": {
										"type": "integer"
									},
									"FixedPrice": {
										"type": "double"
									},
									"UsagePrice": {
										"type": "double"
									},
									"ProductDescription": {},
									"OfferingType": {},
									"RecurringCharges": {
										"shape": "S3a"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DescribeSnapshots": {
				"input": {
					"type": "structure",
					"members": {
						"ReplicationGroupId": {},
						"CacheClusterId": {},
						"SnapshotName": {},
						"SnapshotSource": {},
						"Marker": {},
						"MaxRecords": {
							"type": "integer"
						},
						"ShowNodeGroupConfig": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeSnapshotsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"Snapshots": {
							"type": "list",
							"member": {
								"shape": "Sd",
								"locationName": "Snapshot"
							}
						}
					}
				}
			},
			"ListAllowedNodeTypeModifications": {
				"input": {
					"type": "structure",
					"members": {
						"CacheClusterId": {},
						"ReplicationGroupId": {}
					}
				},
				"output": {
					"resultWrapper": "ListAllowedNodeTypeModificationsResult",
					"type": "structure",
					"members": {
						"ScaleUpModifications": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName"
					],
					"members": {
						"ResourceName": {}
					}
				},
				"output": {
					"shape": "S5",
					"resultWrapper": "ListTagsForResourceResult"
				}
			},
			"ModifyCacheCluster": {
				"input": {
					"type": "structure",
					"required": [
						"CacheClusterId"
					],
					"members": {
						"CacheClusterId": {},
						"NumCacheNodes": {
							"type": "integer"
						},
						"CacheNodeIdsToRemove": {
							"shape": "Sy"
						},
						"AZMode": {},
						"NewAvailabilityZones": {
							"shape": "So"
						},
						"CacheSecurityGroupNames": {
							"shape": "Sp"
						},
						"SecurityGroupIds": {
							"shape": "Sq"
						},
						"PreferredMaintenanceWindow": {},
						"NotificationTopicArn": {},
						"CacheParameterGroupName": {},
						"NotificationTopicStatus": {},
						"ApplyImmediately": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"SnapshotRetentionLimit": {
							"type": "integer"
						},
						"SnapshotWindow": {},
						"CacheNodeType": {}
					}
				},
				"output": {
					"resultWrapper": "ModifyCacheClusterResult",
					"type": "structure",
					"members": {
						"CacheCluster": {
							"shape": "Su"
						}
					}
				}
			},
			"ModifyCacheParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"CacheParameterGroupName",
						"ParameterNameValues"
					],
					"members": {
						"CacheParameterGroupName": {},
						"ParameterNameValues": {
							"shape": "S3q"
						}
					}
				},
				"output": {
					"shape": "S3s",
					"resultWrapper": "ModifyCacheParameterGroupResult"
				}
			},
			"ModifyCacheSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"CacheSubnetGroupName"
					],
					"members": {
						"CacheSubnetGroupName": {},
						"CacheSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S1d"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyCacheSubnetGroupResult",
					"type": "structure",
					"members": {
						"CacheSubnetGroup": {
							"shape": "S1f"
						}
					}
				}
			},
			"ModifyReplicationGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationGroupId"
					],
					"members": {
						"ReplicationGroupId": {},
						"ReplicationGroupDescription": {},
						"PrimaryClusterId": {},
						"SnapshottingClusterId": {},
						"AutomaticFailoverEnabled": {
							"type": "boolean"
						},
						"CacheSecurityGroupNames": {
							"shape": "Sp"
						},
						"SecurityGroupIds": {
							"shape": "Sq"
						},
						"PreferredMaintenanceWindow": {},
						"NotificationTopicArn": {},
						"CacheParameterGroupName": {},
						"NotificationTopicStatus": {},
						"ApplyImmediately": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"SnapshotRetentionLimit": {
							"type": "integer"
						},
						"SnapshotWindow": {},
						"CacheNodeType": {},
						"NodeGroupId": {}
					}
				},
				"output": {
					"resultWrapper": "ModifyReplicationGroupResult",
					"type": "structure",
					"members": {
						"ReplicationGroup": {
							"shape": "S1m"
						}
					}
				}
			},
			"PurchaseReservedCacheNodesOffering": {
				"input": {
					"type": "structure",
					"required": [
						"ReservedCacheNodesOfferingId"
					],
					"members": {
						"ReservedCacheNodesOfferingId": {},
						"ReservedCacheNodeId": {},
						"CacheNodeCount": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "PurchaseReservedCacheNodesOfferingResult",
					"type": "structure",
					"members": {
						"ReservedCacheNode": {
							"shape": "S38"
						}
					}
				}
			},
			"RebootCacheCluster": {
				"input": {
					"type": "structure",
					"required": [
						"CacheClusterId",
						"CacheNodeIdsToReboot"
					],
					"members": {
						"CacheClusterId": {},
						"CacheNodeIdsToReboot": {
							"shape": "Sy"
						}
					}
				},
				"output": {
					"resultWrapper": "RebootCacheClusterResult",
					"type": "structure",
					"members": {
						"CacheCluster": {
							"shape": "Su"
						}
					}
				}
			},
			"RemoveTagsFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"TagKeys"
					],
					"members": {
						"ResourceName": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"shape": "S5",
					"resultWrapper": "RemoveTagsFromResourceResult"
				}
			},
			"ResetCacheParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"CacheParameterGroupName"
					],
					"members": {
						"CacheParameterGroupName": {},
						"ResetAllParameters": {
							"type": "boolean"
						},
						"ParameterNameValues": {
							"shape": "S3q"
						}
					}
				},
				"output": {
					"shape": "S3s",
					"resultWrapper": "ResetCacheParameterGroupResult"
				}
			},
			"RevokeCacheSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"CacheSecurityGroupName",
						"EC2SecurityGroupName",
						"EC2SecurityGroupOwnerId"
					],
					"members": {
						"CacheSecurityGroupName": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "RevokeCacheSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"CacheSecurityGroup": {
							"shape": "S8"
						}
					}
				}
			},
			"TestFailover": {
				"input": {
					"type": "structure",
					"required": [
						"ReplicationGroupId",
						"NodeGroupId"
					],
					"members": {
						"ReplicationGroupId": {},
						"NodeGroupId": {}
					}
				},
				"output": {
					"resultWrapper": "TestFailoverResult",
					"type": "structure",
					"members": {
						"ReplicationGroup": {
							"shape": "S1m"
						}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {
					"locationName": "Tag",
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S5": {
				"type": "structure",
				"members": {
					"TagList": {
						"shape": "S3"
					}
				}
			},
			"S8": {
				"type": "structure",
				"members": {
					"OwnerId": {},
					"CacheSecurityGroupName": {},
					"Description": {},
					"EC2SecurityGroups": {
						"type": "list",
						"member": {
							"locationName": "EC2SecurityGroup",
							"type": "structure",
							"members": {
								"Status": {},
								"EC2SecurityGroupName": {},
								"EC2SecurityGroupOwnerId": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"Sd": {
				"type": "structure",
				"members": {
					"SnapshotName": {},
					"ReplicationGroupId": {},
					"ReplicationGroupDescription": {},
					"CacheClusterId": {},
					"SnapshotStatus": {},
					"SnapshotSource": {},
					"CacheNodeType": {},
					"Engine": {},
					"EngineVersion": {},
					"NumCacheNodes": {
						"type": "integer"
					},
					"PreferredAvailabilityZone": {},
					"CacheClusterCreateTime": {
						"type": "timestamp"
					},
					"PreferredMaintenanceWindow": {},
					"TopicArn": {},
					"Port": {
						"type": "integer"
					},
					"CacheParameterGroupName": {},
					"CacheSubnetGroupName": {},
					"VpcId": {},
					"AutoMinorVersionUpgrade": {
						"type": "boolean"
					},
					"SnapshotRetentionLimit": {
						"type": "integer"
					},
					"SnapshotWindow": {},
					"NumNodeGroups": {
						"type": "integer"
					},
					"AutomaticFailover": {},
					"NodeSnapshots": {
						"type": "list",
						"member": {
							"locationName": "NodeSnapshot",
							"type": "structure",
							"members": {
								"CacheClusterId": {},
								"NodeGroupId": {},
								"CacheNodeId": {},
								"NodeGroupConfiguration": {
									"shape": "Sk"
								},
								"CacheSize": {},
								"CacheNodeCreateTime": {
									"type": "timestamp"
								},
								"SnapshotCreateTime": {
									"type": "timestamp"
								}
							},
							"wrapper": true
						}
					}
				},
				"wrapper": true
			},
			"Sk": {
				"type": "structure",
				"members": {
					"Slots": {},
					"ReplicaCount": {
						"type": "integer"
					},
					"PrimaryAvailabilityZone": {},
					"ReplicaAvailabilityZones": {
						"shape": "Sl"
					}
				}
			},
			"Sl": {
				"type": "list",
				"member": {
					"locationName": "AvailabilityZone"
				}
			},
			"So": {
				"type": "list",
				"member": {
					"locationName": "PreferredAvailabilityZone"
				}
			},
			"Sp": {
				"type": "list",
				"member": {
					"locationName": "CacheSecurityGroupName"
				}
			},
			"Sq": {
				"type": "list",
				"member": {
					"locationName": "SecurityGroupId"
				}
			},
			"Sr": {
				"type": "list",
				"member": {
					"locationName": "SnapshotArn"
				}
			},
			"Su": {
				"type": "structure",
				"members": {
					"CacheClusterId": {},
					"ConfigurationEndpoint": {
						"shape": "Sv"
					},
					"ClientDownloadLandingPage": {},
					"CacheNodeType": {},
					"Engine": {},
					"EngineVersion": {},
					"CacheClusterStatus": {},
					"NumCacheNodes": {
						"type": "integer"
					},
					"PreferredAvailabilityZone": {},
					"CacheClusterCreateTime": {
						"type": "timestamp"
					},
					"PreferredMaintenanceWindow": {},
					"PendingModifiedValues": {
						"type": "structure",
						"members": {
							"NumCacheNodes": {
								"type": "integer"
							},
							"CacheNodeIdsToRemove": {
								"shape": "Sy"
							},
							"EngineVersion": {},
							"CacheNodeType": {}
						}
					},
					"NotificationConfiguration": {
						"type": "structure",
						"members": {
							"TopicArn": {},
							"TopicStatus": {}
						}
					},
					"CacheSecurityGroups": {
						"type": "list",
						"member": {
							"locationName": "CacheSecurityGroup",
							"type": "structure",
							"members": {
								"CacheSecurityGroupName": {},
								"Status": {}
							}
						}
					},
					"CacheParameterGroup": {
						"type": "structure",
						"members": {
							"CacheParameterGroupName": {},
							"ParameterApplyStatus": {},
							"CacheNodeIdsToReboot": {
								"shape": "Sy"
							}
						}
					},
					"CacheSubnetGroupName": {},
					"CacheNodes": {
						"type": "list",
						"member": {
							"locationName": "CacheNode",
							"type": "structure",
							"members": {
								"CacheNodeId": {},
								"CacheNodeStatus": {},
								"CacheNodeCreateTime": {
									"type": "timestamp"
								},
								"Endpoint": {
									"shape": "Sv"
								},
								"ParameterGroupStatus": {},
								"SourceCacheNodeId": {},
								"CustomerAvailabilityZone": {}
							}
						}
					},
					"AutoMinorVersionUpgrade": {
						"type": "boolean"
					},
					"SecurityGroups": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"SecurityGroupId": {},
								"Status": {}
							}
						}
					},
					"ReplicationGroupId": {},
					"SnapshotRetentionLimit": {
						"type": "integer"
					},
					"SnapshotWindow": {}
				},
				"wrapper": true
			},
			"Sv": {
				"type": "structure",
				"members": {
					"Address": {},
					"Port": {
						"type": "integer"
					}
				}
			},
			"Sy": {
				"type": "list",
				"member": {
					"locationName": "CacheNodeId"
				}
			},
			"S19": {
				"type": "structure",
				"members": {
					"CacheParameterGroupName": {},
					"CacheParameterGroupFamily": {},
					"Description": {}
				},
				"wrapper": true
			},
			"S1d": {
				"type": "list",
				"member": {
					"locationName": "SubnetIdentifier"
				}
			},
			"S1f": {
				"type": "structure",
				"members": {
					"CacheSubnetGroupName": {},
					"CacheSubnetGroupDescription": {},
					"VpcId": {},
					"Subnets": {
						"type": "list",
						"member": {
							"locationName": "Subnet",
							"type": "structure",
							"members": {
								"SubnetIdentifier": {},
								"SubnetAvailabilityZone": {
									"type": "structure",
									"members": {
										"Name": {}
									},
									"wrapper": true
								}
							}
						}
					}
				},
				"wrapper": true
			},
			"S1m": {
				"type": "structure",
				"members": {
					"ReplicationGroupId": {},
					"Description": {},
					"Status": {},
					"PendingModifiedValues": {
						"type": "structure",
						"members": {
							"PrimaryClusterId": {},
							"AutomaticFailoverStatus": {}
						}
					},
					"MemberClusters": {
						"type": "list",
						"member": {
							"locationName": "ClusterId"
						}
					},
					"NodeGroups": {
						"type": "list",
						"member": {
							"locationName": "NodeGroup",
							"type": "structure",
							"members": {
								"NodeGroupId": {},
								"Status": {},
								"PrimaryEndpoint": {
									"shape": "Sv"
								},
								"Slots": {},
								"NodeGroupMembers": {
									"type": "list",
									"member": {
										"locationName": "NodeGroupMember",
										"type": "structure",
										"members": {
											"CacheClusterId": {},
											"CacheNodeId": {},
											"ReadEndpoint": {
												"shape": "Sv"
											},
											"PreferredAvailabilityZone": {},
											"CurrentRole": {}
										}
									}
								}
							}
						}
					},
					"SnapshottingClusterId": {},
					"AutomaticFailover": {},
					"ConfigurationEndpoint": {
						"shape": "Sv"
					},
					"SnapshotRetentionLimit": {
						"type": "integer"
					},
					"SnapshotWindow": {},
					"ClusterEnabled": {
						"type": "boolean"
					},
					"CacheNodeType": {}
				},
				"wrapper": true
			},
			"S2h": {
				"type": "list",
				"member": {
					"locationName": "Parameter",
					"type": "structure",
					"members": {
						"ParameterName": {},
						"ParameterValue": {},
						"Description": {},
						"Source": {},
						"DataType": {},
						"AllowedValues": {},
						"IsModifiable": {
							"type": "boolean"
						},
						"MinimumEngineVersion": {},
						"ChangeType": {}
					}
				}
			},
			"S2k": {
				"type": "list",
				"member": {
					"locationName": "CacheNodeTypeSpecificParameter",
					"type": "structure",
					"members": {
						"ParameterName": {},
						"Description": {},
						"Source": {},
						"DataType": {},
						"AllowedValues": {},
						"IsModifiable": {
							"type": "boolean"
						},
						"MinimumEngineVersion": {},
						"CacheNodeTypeSpecificValues": {
							"type": "list",
							"member": {
								"locationName": "CacheNodeTypeSpecificValue",
								"type": "structure",
								"members": {
									"CacheNodeType": {},
									"Value": {}
								}
							}
						},
						"ChangeType": {}
					}
				}
			},
			"S38": {
				"type": "structure",
				"members": {
					"ReservedCacheNodeId": {},
					"ReservedCacheNodesOfferingId": {},
					"CacheNodeType": {},
					"StartTime": {
						"type": "timestamp"
					},
					"Duration": {
						"type": "integer"
					},
					"FixedPrice": {
						"type": "double"
					},
					"UsagePrice": {
						"type": "double"
					},
					"CacheNodeCount": {
						"type": "integer"
					},
					"ProductDescription": {},
					"OfferingType": {},
					"State": {},
					"RecurringCharges": {
						"shape": "S3a"
					}
				},
				"wrapper": true
			},
			"S3a": {
				"type": "list",
				"member": {
					"locationName": "RecurringCharge",
					"type": "structure",
					"members": {
						"RecurringChargeAmount": {
							"type": "double"
						},
						"RecurringChargeFrequency": {}
					},
					"wrapper": true
				}
			},
			"S3q": {
				"type": "list",
				"member": {
					"locationName": "ParameterNameValue",
					"type": "structure",
					"members": {
						"ParameterName": {},
						"ParameterValue": {}
					}
				}
			},
			"S3s": {
				"type": "structure",
				"members": {
					"CacheParameterGroupName": {}
				}
			}
		}
	};

/***/ }),
/* 436 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeCacheClusters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "CacheClusters"
			},
			"DescribeCacheEngineVersions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "CacheEngineVersions"
			},
			"DescribeCacheParameterGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "CacheParameterGroups"
			},
			"DescribeCacheParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Parameters"
			},
			"DescribeCacheSecurityGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "CacheSecurityGroups"
			},
			"DescribeCacheSubnetGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "CacheSubnetGroups"
			},
			"DescribeEngineDefaultParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "EngineDefaults.Marker",
				"result_key": "EngineDefaults.Parameters"
			},
			"DescribeEvents": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Events"
			},
			"DescribeReplicationGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReplicationGroups"
			},
			"DescribeReservedCacheNodes": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedCacheNodes"
			},
			"DescribeReservedCacheNodesOfferings": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedCacheNodesOfferings"
			},
			"DescribeSnapshots": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Snapshots"
			}
		}
	};

/***/ }),
/* 437 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"CacheClusterAvailable": {
				"acceptors": [
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "available",
						"matcher": "pathAll",
						"state": "success"
					},
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "deleted",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "deleting",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "incompatible-network",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "restore-failed",
						"matcher": "pathAny",
						"state": "failure"
					}
				],
				"delay": 15,
				"description": "Wait until ElastiCache cluster is available.",
				"maxAttempts": 40,
				"operation": "DescribeCacheClusters"
			},
			"CacheClusterDeleted": {
				"acceptors": [
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "deleted",
						"matcher": "pathAll",
						"state": "success"
					},
					{
						"expected": "CacheClusterNotFound",
						"matcher": "error",
						"state": "success"
					},
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "available",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "creating",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "incompatible-network",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "modifying",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "restore-failed",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"argument": "CacheClusters[].CacheClusterStatus",
						"expected": "snapshotting",
						"matcher": "pathAny",
						"state": "failure"
					}
				],
				"delay": 15,
				"description": "Wait until ElastiCache cluster is deleted.",
				"maxAttempts": 40,
				"operation": "DescribeCacheClusters"
			},
			"ReplicationGroupAvailable": {
				"acceptors": [
					{
						"argument": "ReplicationGroups[].Status",
						"expected": "available",
						"matcher": "pathAll",
						"state": "success"
					},
					{
						"argument": "ReplicationGroups[].Status",
						"expected": "deleted",
						"matcher": "pathAny",
						"state": "failure"
					}
				],
				"delay": 15,
				"description": "Wait until ElastiCache replication group is available.",
				"maxAttempts": 40,
				"operation": "DescribeReplicationGroups"
			},
			"ReplicationGroupDeleted": {
				"acceptors": [
					{
						"argument": "ReplicationGroups[].Status",
						"expected": "deleted",
						"matcher": "pathAll",
						"state": "success"
					},
					{
						"argument": "ReplicationGroups[].Status",
						"expected": "available",
						"matcher": "pathAny",
						"state": "failure"
					},
					{
						"expected": "ReplicationGroupNotFoundFault",
						"matcher": "error",
						"state": "success"
					}
				],
				"delay": 15,
				"description": "Wait until ElastiCache replication group is deleted.",
				"maxAttempts": 40,
				"operation": "DescribeReplicationGroups"
			}
		}
	};

/***/ }),
/* 438 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['elasticbeanstalk'] = {};
	AWS.ElasticBeanstalk = Service.defineService('elasticbeanstalk', ['2010-12-01']);
	Object.defineProperty(apiLoader.services['elasticbeanstalk'], '2010-12-01', {
	  get: function get() {
	    var model = __webpack_require__(439);
	    model.paginators = __webpack_require__(440).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ElasticBeanstalk;


/***/ }),
/* 439 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2010-12-01",
			"endpointPrefix": "elasticbeanstalk",
			"protocol": "query",
			"serviceAbbreviation": "Elastic Beanstalk",
			"serviceFullName": "AWS Elastic Beanstalk",
			"signatureVersion": "v4",
			"uid": "elasticbeanstalk-2010-12-01",
			"xmlNamespace": "http://elasticbeanstalk.amazonaws.com/docs/2010-12-01/"
		},
		"operations": {
			"AbortEnvironmentUpdate": {
				"input": {
					"type": "structure",
					"members": {
						"EnvironmentId": {},
						"EnvironmentName": {}
					}
				}
			},
			"ApplyEnvironmentManagedAction": {
				"input": {
					"type": "structure",
					"required": [
						"ActionId"
					],
					"members": {
						"EnvironmentName": {},
						"EnvironmentId": {},
						"ActionId": {}
					}
				},
				"output": {
					"resultWrapper": "ApplyEnvironmentManagedActionResult",
					"type": "structure",
					"members": {
						"ActionId": {},
						"ActionDescription": {},
						"ActionType": {},
						"Status": {}
					}
				}
			},
			"CheckDNSAvailability": {
				"input": {
					"type": "structure",
					"required": [
						"CNAMEPrefix"
					],
					"members": {
						"CNAMEPrefix": {}
					}
				},
				"output": {
					"resultWrapper": "CheckDNSAvailabilityResult",
					"type": "structure",
					"members": {
						"Available": {
							"type": "boolean"
						},
						"FullyQualifiedCNAME": {}
					}
				}
			},
			"ComposeEnvironments": {
				"input": {
					"type": "structure",
					"members": {
						"ApplicationName": {},
						"GroupName": {},
						"VersionLabels": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"shape": "Si",
					"resultWrapper": "ComposeEnvironmentsResult"
				}
			},
			"CreateApplication": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName"
					],
					"members": {
						"ApplicationName": {},
						"Description": {},
						"ResourceLifecycleConfig": {
							"shape": "S15"
						}
					}
				},
				"output": {
					"shape": "S1b",
					"resultWrapper": "CreateApplicationResult"
				}
			},
			"CreateApplicationVersion": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"VersionLabel"
					],
					"members": {
						"ApplicationName": {},
						"VersionLabel": {},
						"Description": {},
						"SourceBuildInformation": {
							"shape": "S1g"
						},
						"SourceBundle": {
							"shape": "S1k"
						},
						"BuildConfiguration": {
							"type": "structure",
							"required": [
								"CodeBuildServiceRole",
								"Image"
							],
							"members": {
								"ArtifactName": {},
								"CodeBuildServiceRole": {},
								"ComputeType": {},
								"Image": {},
								"TimeoutInMinutes": {
									"type": "integer"
								}
							}
						},
						"AutoCreateApplication": {
							"type": "boolean"
						},
						"Process": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"shape": "S1s",
					"resultWrapper": "CreateApplicationVersionResult"
				}
			},
			"CreateConfigurationTemplate": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"TemplateName"
					],
					"members": {
						"ApplicationName": {},
						"TemplateName": {},
						"SolutionStackName": {},
						"PlatformArn": {},
						"SourceConfiguration": {
							"type": "structure",
							"members": {
								"ApplicationName": {},
								"TemplateName": {}
							}
						},
						"EnvironmentId": {},
						"Description": {},
						"OptionSettings": {
							"shape": "S1x"
						}
					}
				},
				"output": {
					"shape": "S23",
					"resultWrapper": "CreateConfigurationTemplateResult"
				}
			},
			"CreateEnvironment": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName"
					],
					"members": {
						"ApplicationName": {},
						"EnvironmentName": {},
						"GroupName": {},
						"Description": {},
						"CNAMEPrefix": {},
						"Tier": {
							"shape": "S11"
						},
						"Tags": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Key": {},
									"Value": {}
								}
							}
						},
						"VersionLabel": {},
						"TemplateName": {},
						"SolutionStackName": {},
						"PlatformArn": {},
						"OptionSettings": {
							"shape": "S1x"
						},
						"OptionsToRemove": {
							"shape": "S2a"
						}
					}
				},
				"output": {
					"shape": "Sk",
					"resultWrapper": "CreateEnvironmentResult"
				}
			},
			"CreatePlatformVersion": {
				"input": {
					"type": "structure",
					"required": [
						"PlatformName",
						"PlatformVersion",
						"PlatformDefinitionBundle"
					],
					"members": {
						"PlatformName": {},
						"PlatformVersion": {},
						"PlatformDefinitionBundle": {
							"shape": "S1k"
						},
						"EnvironmentName": {},
						"OptionSettings": {
							"shape": "S1x"
						}
					}
				},
				"output": {
					"resultWrapper": "CreatePlatformVersionResult",
					"type": "structure",
					"members": {
						"PlatformSummary": {
							"shape": "S2g"
						},
						"Builder": {
							"type": "structure",
							"members": {
								"ARN": {}
							}
						}
					}
				}
			},
			"CreateStorageLocation": {
				"output": {
					"resultWrapper": "CreateStorageLocationResult",
					"type": "structure",
					"members": {
						"S3Bucket": {}
					}
				}
			},
			"DeleteApplication": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName"
					],
					"members": {
						"ApplicationName": {},
						"TerminateEnvByForce": {
							"type": "boolean"
						}
					}
				}
			},
			"DeleteApplicationVersion": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"VersionLabel"
					],
					"members": {
						"ApplicationName": {},
						"VersionLabel": {},
						"DeleteSourceBundle": {
							"type": "boolean"
						}
					}
				}
			},
			"DeleteConfigurationTemplate": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"TemplateName"
					],
					"members": {
						"ApplicationName": {},
						"TemplateName": {}
					}
				}
			},
			"DeleteEnvironmentConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"EnvironmentName"
					],
					"members": {
						"ApplicationName": {},
						"EnvironmentName": {}
					}
				}
			},
			"DeletePlatformVersion": {
				"input": {
					"type": "structure",
					"members": {
						"PlatformArn": {}
					}
				},
				"output": {
					"resultWrapper": "DeletePlatformVersionResult",
					"type": "structure",
					"members": {
						"PlatformSummary": {
							"shape": "S2g"
						}
					}
				}
			},
			"DescribeApplicationVersions": {
				"input": {
					"type": "structure",
					"members": {
						"ApplicationName": {},
						"VersionLabels": {
							"shape": "S1d"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeApplicationVersionsResult",
					"type": "structure",
					"members": {
						"ApplicationVersions": {
							"type": "list",
							"member": {
								"shape": "S1t"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeApplications": {
				"input": {
					"type": "structure",
					"members": {
						"ApplicationNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeApplicationsResult",
					"type": "structure",
					"members": {
						"Applications": {
							"type": "list",
							"member": {
								"shape": "S1c"
							}
						}
					}
				}
			},
			"DescribeConfigurationOptions": {
				"input": {
					"type": "structure",
					"members": {
						"ApplicationName": {},
						"TemplateName": {},
						"EnvironmentName": {},
						"SolutionStackName": {},
						"PlatformArn": {},
						"Options": {
							"shape": "S2a"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeConfigurationOptionsResult",
					"type": "structure",
					"members": {
						"SolutionStackName": {},
						"PlatformArn": {},
						"Options": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Namespace": {},
									"Name": {},
									"DefaultValue": {},
									"ChangeSeverity": {},
									"UserDefined": {
										"type": "boolean"
									},
									"ValueType": {},
									"ValueOptions": {
										"type": "list",
										"member": {}
									},
									"MinValue": {
										"type": "integer"
									},
									"MaxValue": {
										"type": "integer"
									},
									"MaxLength": {
										"type": "integer"
									},
									"Regex": {
										"type": "structure",
										"members": {
											"Pattern": {},
											"Label": {}
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeConfigurationSettings": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName"
					],
					"members": {
						"ApplicationName": {},
						"TemplateName": {},
						"EnvironmentName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeConfigurationSettingsResult",
					"type": "structure",
					"members": {
						"ConfigurationSettings": {
							"type": "list",
							"member": {
								"shape": "S23"
							}
						}
					}
				}
			},
			"DescribeEnvironmentHealth": {
				"input": {
					"type": "structure",
					"members": {
						"EnvironmentName": {},
						"EnvironmentId": {},
						"AttributeNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeEnvironmentHealthResult",
					"type": "structure",
					"members": {
						"EnvironmentName": {},
						"HealthStatus": {},
						"Status": {},
						"Color": {},
						"Causes": {
							"shape": "S3x"
						},
						"ApplicationMetrics": {
							"shape": "S3z"
						},
						"InstancesHealth": {
							"type": "structure",
							"members": {
								"NoData": {
									"type": "integer"
								},
								"Unknown": {
									"type": "integer"
								},
								"Pending": {
									"type": "integer"
								},
								"Ok": {
									"type": "integer"
								},
								"Info": {
									"type": "integer"
								},
								"Warning": {
									"type": "integer"
								},
								"Degraded": {
									"type": "integer"
								},
								"Severe": {
									"type": "integer"
								}
							}
						},
						"RefreshedAt": {
							"type": "timestamp"
						}
					}
				}
			},
			"DescribeEnvironmentManagedActionHistory": {
				"input": {
					"type": "structure",
					"members": {
						"EnvironmentId": {},
						"EnvironmentName": {},
						"NextToken": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeEnvironmentManagedActionHistoryResult",
					"type": "structure",
					"members": {
						"ManagedActionHistoryItems": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ActionId": {},
									"ActionType": {},
									"ActionDescription": {},
									"FailureType": {},
									"Status": {},
									"FailureDescription": {},
									"ExecutedTime": {
										"type": "timestamp"
									},
									"FinishedTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeEnvironmentManagedActions": {
				"input": {
					"type": "structure",
					"members": {
						"EnvironmentName": {},
						"EnvironmentId": {},
						"Status": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEnvironmentManagedActionsResult",
					"type": "structure",
					"members": {
						"ManagedActions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ActionId": {},
									"ActionDescription": {},
									"ActionType": {},
									"Status": {},
									"WindowStartTime": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeEnvironmentResources": {
				"input": {
					"type": "structure",
					"members": {
						"EnvironmentId": {},
						"EnvironmentName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEnvironmentResourcesResult",
					"type": "structure",
					"members": {
						"EnvironmentResources": {
							"type": "structure",
							"members": {
								"EnvironmentName": {},
								"AutoScalingGroups": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Name": {}
										}
									}
								},
								"Instances": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Id": {}
										}
									}
								},
								"LaunchConfigurations": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Name": {}
										}
									}
								},
								"LoadBalancers": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Name": {}
										}
									}
								},
								"Triggers": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Name": {}
										}
									}
								},
								"Queues": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Name": {},
											"URL": {}
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeEnvironments": {
				"input": {
					"type": "structure",
					"members": {
						"ApplicationName": {},
						"VersionLabel": {},
						"EnvironmentIds": {
							"type": "list",
							"member": {}
						},
						"EnvironmentNames": {
							"type": "list",
							"member": {}
						},
						"IncludeDeleted": {
							"type": "boolean"
						},
						"IncludedDeletedBackTo": {
							"type": "timestamp"
						}
					}
				},
				"output": {
					"shape": "Si",
					"resultWrapper": "DescribeEnvironmentsResult"
				}
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"members": {
						"ApplicationName": {},
						"VersionLabel": {},
						"TemplateName": {},
						"EnvironmentId": {},
						"EnvironmentName": {},
						"PlatformArn": {},
						"RequestId": {},
						"Severity": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventsResult",
					"type": "structure",
					"members": {
						"Events": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"EventDate": {
										"type": "timestamp"
									},
									"Message": {},
									"ApplicationName": {},
									"VersionLabel": {},
									"TemplateName": {},
									"EnvironmentName": {},
									"PlatformArn": {},
									"RequestId": {},
									"Severity": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeInstancesHealth": {
				"input": {
					"type": "structure",
					"members": {
						"EnvironmentName": {},
						"EnvironmentId": {},
						"AttributeNames": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeInstancesHealthResult",
					"type": "structure",
					"members": {
						"InstanceHealthList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"InstanceId": {},
									"HealthStatus": {},
									"Color": {},
									"Causes": {
										"shape": "S3x"
									},
									"LaunchedAt": {
										"type": "timestamp"
									},
									"ApplicationMetrics": {
										"shape": "S3z"
									},
									"System": {
										"type": "structure",
										"members": {
											"CPUUtilization": {
												"type": "structure",
												"members": {
													"User": {
														"type": "double"
													},
													"Nice": {
														"type": "double"
													},
													"System": {
														"type": "double"
													},
													"Idle": {
														"type": "double"
													},
													"IOWait": {
														"type": "double"
													},
													"IRQ": {
														"type": "double"
													},
													"SoftIRQ": {
														"type": "double"
													}
												}
											},
											"LoadAverage": {
												"type": "list",
												"member": {
													"type": "double"
												}
											}
										}
									},
									"Deployment": {
										"type": "structure",
										"members": {
											"VersionLabel": {},
											"DeploymentId": {
												"type": "long"
											},
											"Status": {},
											"DeploymentTime": {
												"type": "timestamp"
											}
										}
									},
									"AvailabilityZone": {},
									"InstanceType": {}
								}
							}
						},
						"RefreshedAt": {
							"type": "timestamp"
						},
						"NextToken": {}
					}
				}
			},
			"DescribePlatformVersion": {
				"input": {
					"type": "structure",
					"members": {
						"PlatformArn": {}
					}
				},
				"output": {
					"resultWrapper": "DescribePlatformVersionResult",
					"type": "structure",
					"members": {
						"PlatformDescription": {
							"type": "structure",
							"members": {
								"PlatformArn": {},
								"PlatformOwner": {},
								"PlatformName": {},
								"PlatformVersion": {},
								"SolutionStackName": {},
								"PlatformStatus": {},
								"DateCreated": {
									"type": "timestamp"
								},
								"DateUpdated": {
									"type": "timestamp"
								},
								"PlatformCategory": {},
								"Description": {},
								"Maintainer": {},
								"OperatingSystemName": {},
								"OperatingSystemVersion": {},
								"ProgrammingLanguages": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Name": {},
											"Version": {}
										}
									}
								},
								"Frameworks": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Name": {},
											"Version": {}
										}
									}
								},
								"CustomAmiList": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"VirtualizationType": {},
											"ImageId": {}
										}
									}
								},
								"SupportedTierList": {
									"shape": "S2m"
								},
								"SupportedAddonList": {
									"shape": "S2o"
								}
							}
						}
					}
				}
			},
			"ListAvailableSolutionStacks": {
				"output": {
					"resultWrapper": "ListAvailableSolutionStacksResult",
					"type": "structure",
					"members": {
						"SolutionStacks": {
							"type": "list",
							"member": {}
						},
						"SolutionStackDetails": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"SolutionStackName": {},
									"PermittedFileTypes": {
										"type": "list",
										"member": {}
									}
								}
							}
						}
					}
				}
			},
			"ListPlatformVersions": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Type": {},
									"Operator": {},
									"Values": {
										"type": "list",
										"member": {}
									}
								}
							}
						},
						"MaxRecords": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListPlatformVersionsResult",
					"type": "structure",
					"members": {
						"PlatformSummaryList": {
							"type": "list",
							"member": {
								"shape": "S2g"
							}
						},
						"NextToken": {}
					}
				}
			},
			"RebuildEnvironment": {
				"input": {
					"type": "structure",
					"members": {
						"EnvironmentId": {},
						"EnvironmentName": {}
					}
				}
			},
			"RequestEnvironmentInfo": {
				"input": {
					"type": "structure",
					"required": [
						"InfoType"
					],
					"members": {
						"EnvironmentId": {},
						"EnvironmentName": {},
						"InfoType": {}
					}
				}
			},
			"RestartAppServer": {
				"input": {
					"type": "structure",
					"members": {
						"EnvironmentId": {},
						"EnvironmentName": {}
					}
				}
			},
			"RetrieveEnvironmentInfo": {
				"input": {
					"type": "structure",
					"required": [
						"InfoType"
					],
					"members": {
						"EnvironmentId": {},
						"EnvironmentName": {},
						"InfoType": {}
					}
				},
				"output": {
					"resultWrapper": "RetrieveEnvironmentInfoResult",
					"type": "structure",
					"members": {
						"EnvironmentInfo": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"InfoType": {},
									"Ec2InstanceId": {},
									"SampleTimestamp": {
										"type": "timestamp"
									},
									"Message": {}
								}
							}
						}
					}
				}
			},
			"SwapEnvironmentCNAMEs": {
				"input": {
					"type": "structure",
					"members": {
						"SourceEnvironmentId": {},
						"SourceEnvironmentName": {},
						"DestinationEnvironmentId": {},
						"DestinationEnvironmentName": {}
					}
				}
			},
			"TerminateEnvironment": {
				"input": {
					"type": "structure",
					"members": {
						"EnvironmentId": {},
						"EnvironmentName": {},
						"TerminateResources": {
							"type": "boolean"
						},
						"ForceTerminate": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"shape": "Sk",
					"resultWrapper": "TerminateEnvironmentResult"
				}
			},
			"UpdateApplication": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName"
					],
					"members": {
						"ApplicationName": {},
						"Description": {}
					}
				},
				"output": {
					"shape": "S1b",
					"resultWrapper": "UpdateApplicationResult"
				}
			},
			"UpdateApplicationResourceLifecycle": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"ResourceLifecycleConfig"
					],
					"members": {
						"ApplicationName": {},
						"ResourceLifecycleConfig": {
							"shape": "S15"
						}
					}
				},
				"output": {
					"resultWrapper": "UpdateApplicationResourceLifecycleResult",
					"type": "structure",
					"members": {
						"ApplicationName": {},
						"ResourceLifecycleConfig": {
							"shape": "S15"
						}
					}
				}
			},
			"UpdateApplicationVersion": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"VersionLabel"
					],
					"members": {
						"ApplicationName": {},
						"VersionLabel": {},
						"Description": {}
					}
				},
				"output": {
					"shape": "S1s",
					"resultWrapper": "UpdateApplicationVersionResult"
				}
			},
			"UpdateConfigurationTemplate": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"TemplateName"
					],
					"members": {
						"ApplicationName": {},
						"TemplateName": {},
						"Description": {},
						"OptionSettings": {
							"shape": "S1x"
						},
						"OptionsToRemove": {
							"shape": "S2a"
						}
					}
				},
				"output": {
					"shape": "S23",
					"resultWrapper": "UpdateConfigurationTemplateResult"
				}
			},
			"UpdateEnvironment": {
				"input": {
					"type": "structure",
					"members": {
						"ApplicationName": {},
						"EnvironmentId": {},
						"EnvironmentName": {},
						"GroupName": {},
						"Description": {},
						"Tier": {
							"shape": "S11"
						},
						"VersionLabel": {},
						"TemplateName": {},
						"SolutionStackName": {},
						"PlatformArn": {},
						"OptionSettings": {
							"shape": "S1x"
						},
						"OptionsToRemove": {
							"shape": "S2a"
						}
					}
				},
				"output": {
					"shape": "Sk",
					"resultWrapper": "UpdateEnvironmentResult"
				}
			},
			"ValidateConfigurationSettings": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"OptionSettings"
					],
					"members": {
						"ApplicationName": {},
						"TemplateName": {},
						"EnvironmentName": {},
						"OptionSettings": {
							"shape": "S1x"
						}
					}
				},
				"output": {
					"resultWrapper": "ValidateConfigurationSettingsResult",
					"type": "structure",
					"members": {
						"Messages": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Message": {},
									"Severity": {},
									"Namespace": {},
									"OptionName": {}
								}
							}
						}
					}
				}
			}
		},
		"shapes": {
			"Si": {
				"type": "structure",
				"members": {
					"Environments": {
						"type": "list",
						"member": {
							"shape": "Sk"
						}
					}
				}
			},
			"Sk": {
				"type": "structure",
				"members": {
					"EnvironmentName": {},
					"EnvironmentId": {},
					"ApplicationName": {},
					"VersionLabel": {},
					"SolutionStackName": {},
					"PlatformArn": {},
					"TemplateName": {},
					"Description": {},
					"EndpointURL": {},
					"CNAME": {},
					"DateCreated": {
						"type": "timestamp"
					},
					"DateUpdated": {
						"type": "timestamp"
					},
					"Status": {},
					"AbortableOperationInProgress": {
						"type": "boolean"
					},
					"Health": {},
					"HealthStatus": {},
					"Resources": {
						"type": "structure",
						"members": {
							"LoadBalancer": {
								"type": "structure",
								"members": {
									"LoadBalancerName": {},
									"Domain": {},
									"Listeners": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"Protocol": {},
												"Port": {
													"type": "integer"
												}
											}
										}
									}
								}
							}
						}
					},
					"Tier": {
						"shape": "S11"
					},
					"EnvironmentLinks": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"LinkName": {},
								"EnvironmentName": {}
							}
						}
					}
				}
			},
			"S11": {
				"type": "structure",
				"members": {
					"Name": {},
					"Type": {},
					"Version": {}
				}
			},
			"S15": {
				"type": "structure",
				"members": {
					"ServiceRole": {},
					"VersionLifecycleConfig": {
						"type": "structure",
						"members": {
							"MaxCountRule": {
								"type": "structure",
								"required": [
									"Enabled"
								],
								"members": {
									"Enabled": {
										"type": "boolean"
									},
									"MaxCount": {
										"type": "integer"
									},
									"DeleteSourceFromS3": {
										"type": "boolean"
									}
								}
							},
							"MaxAgeRule": {
								"type": "structure",
								"required": [
									"Enabled"
								],
								"members": {
									"Enabled": {
										"type": "boolean"
									},
									"MaxAgeInDays": {
										"type": "integer"
									},
									"DeleteSourceFromS3": {
										"type": "boolean"
									}
								}
							}
						}
					}
				}
			},
			"S1b": {
				"type": "structure",
				"members": {
					"Application": {
						"shape": "S1c"
					}
				}
			},
			"S1c": {
				"type": "structure",
				"members": {
					"ApplicationName": {},
					"Description": {},
					"DateCreated": {
						"type": "timestamp"
					},
					"DateUpdated": {
						"type": "timestamp"
					},
					"Versions": {
						"shape": "S1d"
					},
					"ConfigurationTemplates": {
						"type": "list",
						"member": {}
					},
					"ResourceLifecycleConfig": {
						"shape": "S15"
					}
				}
			},
			"S1d": {
				"type": "list",
				"member": {}
			},
			"S1g": {
				"type": "structure",
				"required": [
					"SourceType",
					"SourceRepository",
					"SourceLocation"
				],
				"members": {
					"SourceType": {},
					"SourceRepository": {},
					"SourceLocation": {}
				}
			},
			"S1k": {
				"type": "structure",
				"members": {
					"S3Bucket": {},
					"S3Key": {}
				}
			},
			"S1s": {
				"type": "structure",
				"members": {
					"ApplicationVersion": {
						"shape": "S1t"
					}
				}
			},
			"S1t": {
				"type": "structure",
				"members": {
					"ApplicationName": {},
					"Description": {},
					"VersionLabel": {},
					"SourceBuildInformation": {
						"shape": "S1g"
					},
					"BuildArn": {},
					"SourceBundle": {
						"shape": "S1k"
					},
					"DateCreated": {
						"type": "timestamp"
					},
					"DateUpdated": {
						"type": "timestamp"
					},
					"Status": {}
				}
			},
			"S1x": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ResourceName": {},
						"Namespace": {},
						"OptionName": {},
						"Value": {}
					}
				}
			},
			"S23": {
				"type": "structure",
				"members": {
					"SolutionStackName": {},
					"PlatformArn": {},
					"ApplicationName": {},
					"TemplateName": {},
					"Description": {},
					"EnvironmentName": {},
					"DeploymentStatus": {},
					"DateCreated": {
						"type": "timestamp"
					},
					"DateUpdated": {
						"type": "timestamp"
					},
					"OptionSettings": {
						"shape": "S1x"
					}
				}
			},
			"S2a": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ResourceName": {},
						"Namespace": {},
						"OptionName": {}
					}
				}
			},
			"S2g": {
				"type": "structure",
				"members": {
					"PlatformArn": {},
					"PlatformOwner": {},
					"PlatformStatus": {},
					"PlatformCategory": {},
					"OperatingSystemName": {},
					"OperatingSystemVersion": {},
					"SupportedTierList": {
						"shape": "S2m"
					},
					"SupportedAddonList": {
						"shape": "S2o"
					}
				}
			},
			"S2m": {
				"type": "list",
				"member": {}
			},
			"S2o": {
				"type": "list",
				"member": {}
			},
			"S3x": {
				"type": "list",
				"member": {}
			},
			"S3z": {
				"type": "structure",
				"members": {
					"Duration": {
						"type": "integer"
					},
					"RequestCount": {
						"type": "integer"
					},
					"StatusCodes": {
						"type": "structure",
						"members": {
							"Status2xx": {
								"type": "integer"
							},
							"Status3xx": {
								"type": "integer"
							},
							"Status4xx": {
								"type": "integer"
							},
							"Status5xx": {
								"type": "integer"
							}
						}
					},
					"Latency": {
						"type": "structure",
						"members": {
							"P999": {
								"type": "double"
							},
							"P99": {
								"type": "double"
							},
							"P95": {
								"type": "double"
							},
							"P90": {
								"type": "double"
							},
							"P85": {
								"type": "double"
							},
							"P75": {
								"type": "double"
							},
							"P50": {
								"type": "double"
							},
							"P10": {
								"type": "double"
							}
						}
					}
				}
			}
		}
	};

/***/ }),
/* 440 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeApplicationVersions": {
				"result_key": "ApplicationVersions"
			},
			"DescribeApplications": {
				"result_key": "Applications"
			},
			"DescribeConfigurationOptions": {
				"result_key": "Options"
			},
			"DescribeEnvironments": {
				"result_key": "Environments"
			},
			"DescribeEvents": {
				"input_token": "NextToken",
				"limit_key": "MaxRecords",
				"output_token": "NextToken",
				"result_key": "Events"
			},
			"ListAvailableSolutionStacks": {
				"result_key": "SolutionStacks"
			}
		}
	};

/***/ }),
/* 441 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['elb'] = {};
	AWS.ELB = Service.defineService('elb', ['2012-06-01']);
	Object.defineProperty(apiLoader.services['elb'], '2012-06-01', {
	  get: function get() {
	    var model = __webpack_require__(442);
	    model.paginators = __webpack_require__(443).pagination;
	    model.waiters = __webpack_require__(444).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ELB;


/***/ }),
/* 442 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2012-06-01",
			"endpointPrefix": "elasticloadbalancing",
			"protocol": "query",
			"serviceFullName": "Elastic Load Balancing",
			"signatureVersion": "v4",
			"uid": "elasticloadbalancing-2012-06-01",
			"xmlNamespace": "http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/"
		},
		"operations": {
			"AddTags": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerNames",
						"Tags"
					],
					"members": {
						"LoadBalancerNames": {
							"shape": "S2"
						},
						"Tags": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"resultWrapper": "AddTagsResult",
					"type": "structure",
					"members": {}
				}
			},
			"ApplySecurityGroupsToLoadBalancer": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"SecurityGroups"
					],
					"members": {
						"LoadBalancerName": {},
						"SecurityGroups": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "ApplySecurityGroupsToLoadBalancerResult",
					"type": "structure",
					"members": {
						"SecurityGroups": {
							"shape": "Sa"
						}
					}
				}
			},
			"AttachLoadBalancerToSubnets": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"Subnets"
					],
					"members": {
						"LoadBalancerName": {},
						"Subnets": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"resultWrapper": "AttachLoadBalancerToSubnetsResult",
					"type": "structure",
					"members": {
						"Subnets": {
							"shape": "Se"
						}
					}
				}
			},
			"ConfigureHealthCheck": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"HealthCheck"
					],
					"members": {
						"LoadBalancerName": {},
						"HealthCheck": {
							"shape": "Si"
						}
					}
				},
				"output": {
					"resultWrapper": "ConfigureHealthCheckResult",
					"type": "structure",
					"members": {
						"HealthCheck": {
							"shape": "Si"
						}
					}
				}
			},
			"CreateAppCookieStickinessPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"PolicyName",
						"CookieName"
					],
					"members": {
						"LoadBalancerName": {},
						"PolicyName": {},
						"CookieName": {}
					}
				},
				"output": {
					"resultWrapper": "CreateAppCookieStickinessPolicyResult",
					"type": "structure",
					"members": {}
				}
			},
			"CreateLBCookieStickinessPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"PolicyName"
					],
					"members": {
						"LoadBalancerName": {},
						"PolicyName": {},
						"CookieExpirationPeriod": {
							"type": "long"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateLBCookieStickinessPolicyResult",
					"type": "structure",
					"members": {}
				}
			},
			"CreateLoadBalancer": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"Listeners"
					],
					"members": {
						"LoadBalancerName": {},
						"Listeners": {
							"shape": "Sx"
						},
						"AvailabilityZones": {
							"shape": "S13"
						},
						"Subnets": {
							"shape": "Se"
						},
						"SecurityGroups": {
							"shape": "Sa"
						},
						"Scheme": {},
						"Tags": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateLoadBalancerResult",
					"type": "structure",
					"members": {
						"DNSName": {}
					}
				}
			},
			"CreateLoadBalancerListeners": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"Listeners"
					],
					"members": {
						"LoadBalancerName": {},
						"Listeners": {
							"shape": "Sx"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateLoadBalancerListenersResult",
					"type": "structure",
					"members": {}
				}
			},
			"CreateLoadBalancerPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"PolicyName",
						"PolicyTypeName"
					],
					"members": {
						"LoadBalancerName": {},
						"PolicyName": {},
						"PolicyTypeName": {},
						"PolicyAttributes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AttributeName": {},
									"AttributeValue": {}
								}
							}
						}
					}
				},
				"output": {
					"resultWrapper": "CreateLoadBalancerPolicyResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteLoadBalancer": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName"
					],
					"members": {
						"LoadBalancerName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteLoadBalancerResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteLoadBalancerListeners": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"LoadBalancerPorts"
					],
					"members": {
						"LoadBalancerName": {},
						"LoadBalancerPorts": {
							"type": "list",
							"member": {
								"type": "integer"
							}
						}
					}
				},
				"output": {
					"resultWrapper": "DeleteLoadBalancerListenersResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteLoadBalancerPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"PolicyName"
					],
					"members": {
						"LoadBalancerName": {},
						"PolicyName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteLoadBalancerPolicyResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeregisterInstancesFromLoadBalancer": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"Instances"
					],
					"members": {
						"LoadBalancerName": {},
						"Instances": {
							"shape": "S1p"
						}
					}
				},
				"output": {
					"resultWrapper": "DeregisterInstancesFromLoadBalancerResult",
					"type": "structure",
					"members": {
						"Instances": {
							"shape": "S1p"
						}
					}
				}
			},
			"DescribeAccountLimits": {
				"input": {
					"type": "structure",
					"members": {
						"Marker": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeAccountLimitsResult",
					"type": "structure",
					"members": {
						"Limits": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"Max": {}
								}
							}
						},
						"NextMarker": {}
					}
				}
			},
			"DescribeInstanceHealth": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName"
					],
					"members": {
						"LoadBalancerName": {},
						"Instances": {
							"shape": "S1p"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeInstanceHealthResult",
					"type": "structure",
					"members": {
						"InstanceStates": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"InstanceId": {},
									"State": {},
									"ReasonCode": {},
									"Description": {}
								}
							}
						}
					}
				}
			},
			"DescribeLoadBalancerAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName"
					],
					"members": {
						"LoadBalancerName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeLoadBalancerAttributesResult",
					"type": "structure",
					"members": {
						"LoadBalancerAttributes": {
							"shape": "S2a"
						}
					}
				}
			},
			"DescribeLoadBalancerPolicies": {
				"input": {
					"type": "structure",
					"members": {
						"LoadBalancerName": {},
						"PolicyNames": {
							"shape": "S2s"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeLoadBalancerPoliciesResult",
					"type": "structure",
					"members": {
						"PolicyDescriptions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"PolicyName": {},
									"PolicyTypeName": {},
									"PolicyAttributeDescriptions": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"AttributeName": {},
												"AttributeValue": {}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeLoadBalancerPolicyTypes": {
				"input": {
					"type": "structure",
					"members": {
						"PolicyTypeNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeLoadBalancerPolicyTypesResult",
					"type": "structure",
					"members": {
						"PolicyTypeDescriptions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"PolicyTypeName": {},
									"Description": {},
									"PolicyAttributeTypeDescriptions": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"AttributeName": {},
												"AttributeType": {},
												"Description": {},
												"DefaultValue": {},
												"Cardinality": {}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeLoadBalancers": {
				"input": {
					"type": "structure",
					"members": {
						"LoadBalancerNames": {
							"shape": "S2"
						},
						"Marker": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeLoadBalancersResult",
					"type": "structure",
					"members": {
						"LoadBalancerDescriptions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"LoadBalancerName": {},
									"DNSName": {},
									"CanonicalHostedZoneName": {},
									"CanonicalHostedZoneNameID": {},
									"ListenerDescriptions": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"Listener": {
													"shape": "Sy"
												},
												"PolicyNames": {
													"shape": "S2s"
												}
											}
										}
									},
									"Policies": {
										"type": "structure",
										"members": {
											"AppCookieStickinessPolicies": {
												"type": "list",
												"member": {
													"type": "structure",
													"members": {
														"PolicyName": {},
														"CookieName": {}
													}
												}
											},
											"LBCookieStickinessPolicies": {
												"type": "list",
												"member": {
													"type": "structure",
													"members": {
														"PolicyName": {},
														"CookieExpirationPeriod": {
															"type": "long"
														}
													}
												}
											},
											"OtherPolicies": {
												"shape": "S2s"
											}
										}
									},
									"BackendServerDescriptions": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"InstancePort": {
													"type": "integer"
												},
												"PolicyNames": {
													"shape": "S2s"
												}
											}
										}
									},
									"AvailabilityZones": {
										"shape": "S13"
									},
									"Subnets": {
										"shape": "Se"
									},
									"VPCId": {},
									"Instances": {
										"shape": "S1p"
									},
									"HealthCheck": {
										"shape": "Si"
									},
									"SourceSecurityGroup": {
										"type": "structure",
										"members": {
											"OwnerAlias": {},
											"GroupName": {}
										}
									},
									"SecurityGroups": {
										"shape": "Sa"
									},
									"CreatedTime": {
										"type": "timestamp"
									},
									"Scheme": {}
								}
							}
						},
						"NextMarker": {}
					}
				}
			},
			"DescribeTags": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerNames"
					],
					"members": {
						"LoadBalancerNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeTagsResult",
					"type": "structure",
					"members": {
						"TagDescriptions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"LoadBalancerName": {},
									"Tags": {
										"shape": "S4"
									}
								}
							}
						}
					}
				}
			},
			"DetachLoadBalancerFromSubnets": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"Subnets"
					],
					"members": {
						"LoadBalancerName": {},
						"Subnets": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"resultWrapper": "DetachLoadBalancerFromSubnetsResult",
					"type": "structure",
					"members": {
						"Subnets": {
							"shape": "Se"
						}
					}
				}
			},
			"DisableAvailabilityZonesForLoadBalancer": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"AvailabilityZones"
					],
					"members": {
						"LoadBalancerName": {},
						"AvailabilityZones": {
							"shape": "S13"
						}
					}
				},
				"output": {
					"resultWrapper": "DisableAvailabilityZonesForLoadBalancerResult",
					"type": "structure",
					"members": {
						"AvailabilityZones": {
							"shape": "S13"
						}
					}
				}
			},
			"EnableAvailabilityZonesForLoadBalancer": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"AvailabilityZones"
					],
					"members": {
						"LoadBalancerName": {},
						"AvailabilityZones": {
							"shape": "S13"
						}
					}
				},
				"output": {
					"resultWrapper": "EnableAvailabilityZonesForLoadBalancerResult",
					"type": "structure",
					"members": {
						"AvailabilityZones": {
							"shape": "S13"
						}
					}
				}
			},
			"ModifyLoadBalancerAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"LoadBalancerAttributes"
					],
					"members": {
						"LoadBalancerName": {},
						"LoadBalancerAttributes": {
							"shape": "S2a"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyLoadBalancerAttributesResult",
					"type": "structure",
					"members": {
						"LoadBalancerName": {},
						"LoadBalancerAttributes": {
							"shape": "S2a"
						}
					}
				}
			},
			"RegisterInstancesWithLoadBalancer": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"Instances"
					],
					"members": {
						"LoadBalancerName": {},
						"Instances": {
							"shape": "S1p"
						}
					}
				},
				"output": {
					"resultWrapper": "RegisterInstancesWithLoadBalancerResult",
					"type": "structure",
					"members": {
						"Instances": {
							"shape": "S1p"
						}
					}
				}
			},
			"RemoveTags": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerNames",
						"Tags"
					],
					"members": {
						"LoadBalancerNames": {
							"shape": "S2"
						},
						"Tags": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Key": {}
								}
							}
						}
					}
				},
				"output": {
					"resultWrapper": "RemoveTagsResult",
					"type": "structure",
					"members": {}
				}
			},
			"SetLoadBalancerListenerSSLCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"LoadBalancerPort",
						"SSLCertificateId"
					],
					"members": {
						"LoadBalancerName": {},
						"LoadBalancerPort": {
							"type": "integer"
						},
						"SSLCertificateId": {}
					}
				},
				"output": {
					"resultWrapper": "SetLoadBalancerListenerSSLCertificateResult",
					"type": "structure",
					"members": {}
				}
			},
			"SetLoadBalancerPoliciesForBackendServer": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"InstancePort",
						"PolicyNames"
					],
					"members": {
						"LoadBalancerName": {},
						"InstancePort": {
							"type": "integer"
						},
						"PolicyNames": {
							"shape": "S2s"
						}
					}
				},
				"output": {
					"resultWrapper": "SetLoadBalancerPoliciesForBackendServerResult",
					"type": "structure",
					"members": {}
				}
			},
			"SetLoadBalancerPoliciesOfListener": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerName",
						"LoadBalancerPort",
						"PolicyNames"
					],
					"members": {
						"LoadBalancerName": {},
						"LoadBalancerPort": {
							"type": "integer"
						},
						"PolicyNames": {
							"shape": "S2s"
						}
					}
				},
				"output": {
					"resultWrapper": "SetLoadBalancerPoliciesOfListenerResult",
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "list",
				"member": {}
			},
			"S4": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sa": {
				"type": "list",
				"member": {}
			},
			"Se": {
				"type": "list",
				"member": {}
			},
			"Si": {
				"type": "structure",
				"required": [
					"Target",
					"Interval",
					"Timeout",
					"UnhealthyThreshold",
					"HealthyThreshold"
				],
				"members": {
					"Target": {},
					"Interval": {
						"type": "integer"
					},
					"Timeout": {
						"type": "integer"
					},
					"UnhealthyThreshold": {
						"type": "integer"
					},
					"HealthyThreshold": {
						"type": "integer"
					}
				}
			},
			"Sx": {
				"type": "list",
				"member": {
					"shape": "Sy"
				}
			},
			"Sy": {
				"type": "structure",
				"required": [
					"Protocol",
					"LoadBalancerPort",
					"InstancePort"
				],
				"members": {
					"Protocol": {},
					"LoadBalancerPort": {
						"type": "integer"
					},
					"InstanceProtocol": {},
					"InstancePort": {
						"type": "integer"
					},
					"SSLCertificateId": {}
				}
			},
			"S13": {
				"type": "list",
				"member": {}
			},
			"S1p": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"InstanceId": {}
					}
				}
			},
			"S2a": {
				"type": "structure",
				"members": {
					"CrossZoneLoadBalancing": {
						"type": "structure",
						"required": [
							"Enabled"
						],
						"members": {
							"Enabled": {
								"type": "boolean"
							}
						}
					},
					"AccessLog": {
						"type": "structure",
						"required": [
							"Enabled"
						],
						"members": {
							"Enabled": {
								"type": "boolean"
							},
							"S3BucketName": {},
							"EmitInterval": {
								"type": "integer"
							},
							"S3BucketPrefix": {}
						}
					},
					"ConnectionDraining": {
						"type": "structure",
						"required": [
							"Enabled"
						],
						"members": {
							"Enabled": {
								"type": "boolean"
							},
							"Timeout": {
								"type": "integer"
							}
						}
					},
					"ConnectionSettings": {
						"type": "structure",
						"required": [
							"IdleTimeout"
						],
						"members": {
							"IdleTimeout": {
								"type": "integer"
							}
						}
					},
					"AdditionalAttributes": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"Key": {},
								"Value": {}
							}
						}
					}
				}
			},
			"S2s": {
				"type": "list",
				"member": {}
			}
		}
	};

/***/ }),
/* 443 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeInstanceHealth": {
				"result_key": "InstanceStates"
			},
			"DescribeLoadBalancerPolicies": {
				"result_key": "PolicyDescriptions"
			},
			"DescribeLoadBalancerPolicyTypes": {
				"result_key": "PolicyTypeDescriptions"
			},
			"DescribeLoadBalancers": {
				"input_token": "Marker",
				"output_token": "NextMarker",
				"result_key": "LoadBalancerDescriptions"
			}
		}
	};

/***/ }),
/* 444 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"InstanceDeregistered": {
				"delay": 15,
				"operation": "DescribeInstanceHealth",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": "OutOfService",
						"matcher": "pathAll",
						"state": "success",
						"argument": "InstanceStates[].State"
					},
					{
						"matcher": "error",
						"expected": "InvalidInstance",
						"state": "success"
					}
				]
			},
			"AnyInstanceInService": {
				"acceptors": [
					{
						"argument": "InstanceStates[].State",
						"expected": "InService",
						"matcher": "pathAny",
						"state": "success"
					}
				],
				"delay": 15,
				"maxAttempts": 40,
				"operation": "DescribeInstanceHealth"
			},
			"InstanceInService": {
				"acceptors": [
					{
						"argument": "InstanceStates[].State",
						"expected": "InService",
						"matcher": "pathAll",
						"state": "success"
					},
					{
						"matcher": "error",
						"expected": "InvalidInstance",
						"state": "retry"
					}
				],
				"delay": 15,
				"maxAttempts": 40,
				"operation": "DescribeInstanceHealth"
			}
		}
	};

/***/ }),
/* 445 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['elbv2'] = {};
	AWS.ELBv2 = Service.defineService('elbv2', ['2015-12-01']);
	Object.defineProperty(apiLoader.services['elbv2'], '2015-12-01', {
	  get: function get() {
	    var model = __webpack_require__(446);
	    model.paginators = __webpack_require__(447).pagination;
	    model.waiters = __webpack_require__(448).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ELBv2;


/***/ }),
/* 446 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-12-01",
			"endpointPrefix": "elasticloadbalancing",
			"protocol": "query",
			"serviceAbbreviation": "Elastic Load Balancing v2",
			"serviceFullName": "Elastic Load Balancing",
			"signatureVersion": "v4",
			"uid": "elasticloadbalancingv2-2015-12-01",
			"xmlNamespace": "http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/"
		},
		"operations": {
			"AddTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArns",
						"Tags"
					],
					"members": {
						"ResourceArns": {
							"shape": "S2"
						},
						"Tags": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"resultWrapper": "AddTagsResult",
					"type": "structure",
					"members": {}
				}
			},
			"CreateListener": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerArn",
						"Protocol",
						"Port",
						"DefaultActions"
					],
					"members": {
						"LoadBalancerArn": {},
						"Protocol": {},
						"Port": {
							"type": "integer"
						},
						"SslPolicy": {},
						"Certificates": {
							"shape": "Se"
						},
						"DefaultActions": {
							"shape": "Sh"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateListenerResult",
					"type": "structure",
					"members": {
						"Listeners": {
							"shape": "Sm"
						}
					}
				}
			},
			"CreateLoadBalancer": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Subnets"
					],
					"members": {
						"Name": {},
						"Subnets": {
							"shape": "Sr"
						},
						"SecurityGroups": {
							"shape": "St"
						},
						"Scheme": {},
						"Tags": {
							"shape": "S4"
						},
						"IpAddressType": {}
					}
				},
				"output": {
					"resultWrapper": "CreateLoadBalancerResult",
					"type": "structure",
					"members": {
						"LoadBalancers": {
							"shape": "Sy"
						}
					}
				}
			},
			"CreateRule": {
				"input": {
					"type": "structure",
					"required": [
						"ListenerArn",
						"Conditions",
						"Priority",
						"Actions"
					],
					"members": {
						"ListenerArn": {},
						"Conditions": {
							"shape": "S1c"
						},
						"Priority": {
							"type": "integer"
						},
						"Actions": {
							"shape": "Sh"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateRuleResult",
					"type": "structure",
					"members": {
						"Rules": {
							"shape": "S1j"
						}
					}
				}
			},
			"CreateTargetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Protocol",
						"Port",
						"VpcId"
					],
					"members": {
						"Name": {},
						"Protocol": {},
						"Port": {
							"type": "integer"
						},
						"VpcId": {},
						"HealthCheckProtocol": {},
						"HealthCheckPort": {},
						"HealthCheckPath": {},
						"HealthCheckIntervalSeconds": {
							"type": "integer"
						},
						"HealthCheckTimeoutSeconds": {
							"type": "integer"
						},
						"HealthyThresholdCount": {
							"type": "integer"
						},
						"UnhealthyThresholdCount": {
							"type": "integer"
						},
						"Matcher": {
							"shape": "S1v"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateTargetGroupResult",
					"type": "structure",
					"members": {
						"TargetGroups": {
							"shape": "S1y"
						}
					}
				}
			},
			"DeleteListener": {
				"input": {
					"type": "structure",
					"required": [
						"ListenerArn"
					],
					"members": {
						"ListenerArn": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteListenerResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteLoadBalancer": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerArn"
					],
					"members": {
						"LoadBalancerArn": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteLoadBalancerResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleArn"
					],
					"members": {
						"RuleArn": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteRuleResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteTargetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"TargetGroupArn"
					],
					"members": {
						"TargetGroupArn": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteTargetGroupResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeregisterTargets": {
				"input": {
					"type": "structure",
					"required": [
						"TargetGroupArn",
						"Targets"
					],
					"members": {
						"TargetGroupArn": {},
						"Targets": {
							"shape": "S2a"
						}
					}
				},
				"output": {
					"resultWrapper": "DeregisterTargetsResult",
					"type": "structure",
					"members": {}
				}
			},
			"DescribeAccountLimits": {
				"input": {
					"type": "structure",
					"members": {
						"Marker": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeAccountLimitsResult",
					"type": "structure",
					"members": {
						"Limits": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"Max": {}
								}
							}
						},
						"NextMarker": {}
					}
				}
			},
			"DescribeListeners": {
				"input": {
					"type": "structure",
					"members": {
						"LoadBalancerArn": {},
						"ListenerArns": {
							"type": "list",
							"member": {}
						},
						"Marker": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeListenersResult",
					"type": "structure",
					"members": {
						"Listeners": {
							"shape": "Sm"
						},
						"NextMarker": {}
					}
				}
			},
			"DescribeLoadBalancerAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerArn"
					],
					"members": {
						"LoadBalancerArn": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeLoadBalancerAttributesResult",
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "S2r"
						}
					}
				}
			},
			"DescribeLoadBalancers": {
				"input": {
					"type": "structure",
					"members": {
						"LoadBalancerArns": {
							"shape": "S20"
						},
						"Names": {
							"type": "list",
							"member": {}
						},
						"Marker": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeLoadBalancersResult",
					"type": "structure",
					"members": {
						"LoadBalancers": {
							"shape": "Sy"
						},
						"NextMarker": {}
					}
				}
			},
			"DescribeRules": {
				"input": {
					"type": "structure",
					"members": {
						"ListenerArn": {},
						"RuleArns": {
							"type": "list",
							"member": {}
						},
						"Marker": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeRulesResult",
					"type": "structure",
					"members": {
						"Rules": {
							"shape": "S1j"
						},
						"NextMarker": {}
					}
				}
			},
			"DescribeSSLPolicies": {
				"input": {
					"type": "structure",
					"members": {
						"Names": {
							"type": "list",
							"member": {}
						},
						"Marker": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeSSLPoliciesResult",
					"type": "structure",
					"members": {
						"SslPolicies": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"SslProtocols": {
										"type": "list",
										"member": {}
									},
									"Ciphers": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"Name": {},
												"Priority": {
													"type": "integer"
												}
											}
										}
									},
									"Name": {}
								}
							}
						},
						"NextMarker": {}
					}
				}
			},
			"DescribeTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArns"
					],
					"members": {
						"ResourceArns": {
							"shape": "S2"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeTagsResult",
					"type": "structure",
					"members": {
						"TagDescriptions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ResourceArn": {},
									"Tags": {
										"shape": "S4"
									}
								}
							}
						}
					}
				}
			},
			"DescribeTargetGroupAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"TargetGroupArn"
					],
					"members": {
						"TargetGroupArn": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeTargetGroupAttributesResult",
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "S3i"
						}
					}
				}
			},
			"DescribeTargetGroups": {
				"input": {
					"type": "structure",
					"members": {
						"LoadBalancerArn": {},
						"TargetGroupArns": {
							"type": "list",
							"member": {}
						},
						"Names": {
							"type": "list",
							"member": {}
						},
						"Marker": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeTargetGroupsResult",
					"type": "structure",
					"members": {
						"TargetGroups": {
							"shape": "S1y"
						},
						"NextMarker": {}
					}
				}
			},
			"DescribeTargetHealth": {
				"input": {
					"type": "structure",
					"required": [
						"TargetGroupArn"
					],
					"members": {
						"TargetGroupArn": {},
						"Targets": {
							"shape": "S2a"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeTargetHealthResult",
					"type": "structure",
					"members": {
						"TargetHealthDescriptions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Target": {
										"shape": "S2b"
									},
									"HealthCheckPort": {},
									"TargetHealth": {
										"type": "structure",
										"members": {
											"State": {},
											"Reason": {},
											"Description": {}
										}
									}
								}
							}
						}
					}
				}
			},
			"ModifyListener": {
				"input": {
					"type": "structure",
					"required": [
						"ListenerArn"
					],
					"members": {
						"ListenerArn": {},
						"Port": {
							"type": "integer"
						},
						"Protocol": {},
						"SslPolicy": {},
						"Certificates": {
							"shape": "Se"
						},
						"DefaultActions": {
							"shape": "Sh"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyListenerResult",
					"type": "structure",
					"members": {
						"Listeners": {
							"shape": "Sm"
						}
					}
				}
			},
			"ModifyLoadBalancerAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerArn",
						"Attributes"
					],
					"members": {
						"LoadBalancerArn": {},
						"Attributes": {
							"shape": "S2r"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyLoadBalancerAttributesResult",
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "S2r"
						}
					}
				}
			},
			"ModifyRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleArn"
					],
					"members": {
						"RuleArn": {},
						"Conditions": {
							"shape": "S1c"
						},
						"Actions": {
							"shape": "Sh"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyRuleResult",
					"type": "structure",
					"members": {
						"Rules": {
							"shape": "S1j"
						}
					}
				}
			},
			"ModifyTargetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"TargetGroupArn"
					],
					"members": {
						"TargetGroupArn": {},
						"HealthCheckProtocol": {},
						"HealthCheckPort": {},
						"HealthCheckPath": {},
						"HealthCheckIntervalSeconds": {
							"type": "integer"
						},
						"HealthCheckTimeoutSeconds": {
							"type": "integer"
						},
						"HealthyThresholdCount": {
							"type": "integer"
						},
						"UnhealthyThresholdCount": {
							"type": "integer"
						},
						"Matcher": {
							"shape": "S1v"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyTargetGroupResult",
					"type": "structure",
					"members": {
						"TargetGroups": {
							"shape": "S1y"
						}
					}
				}
			},
			"ModifyTargetGroupAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"TargetGroupArn",
						"Attributes"
					],
					"members": {
						"TargetGroupArn": {},
						"Attributes": {
							"shape": "S3i"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyTargetGroupAttributesResult",
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "S3i"
						}
					}
				}
			},
			"RegisterTargets": {
				"input": {
					"type": "structure",
					"required": [
						"TargetGroupArn",
						"Targets"
					],
					"members": {
						"TargetGroupArn": {},
						"Targets": {
							"shape": "S2a"
						}
					}
				},
				"output": {
					"resultWrapper": "RegisterTargetsResult",
					"type": "structure",
					"members": {}
				}
			},
			"RemoveTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArns",
						"TagKeys"
					],
					"members": {
						"ResourceArns": {
							"shape": "S2"
						},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "RemoveTagsResult",
					"type": "structure",
					"members": {}
				}
			},
			"SetIpAddressType": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerArn",
						"IpAddressType"
					],
					"members": {
						"LoadBalancerArn": {},
						"IpAddressType": {}
					}
				},
				"output": {
					"resultWrapper": "SetIpAddressTypeResult",
					"type": "structure",
					"members": {
						"IpAddressType": {}
					}
				}
			},
			"SetRulePriorities": {
				"input": {
					"type": "structure",
					"required": [
						"RulePriorities"
					],
					"members": {
						"RulePriorities": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"RuleArn": {},
									"Priority": {
										"type": "integer"
									}
								}
							}
						}
					}
				},
				"output": {
					"resultWrapper": "SetRulePrioritiesResult",
					"type": "structure",
					"members": {
						"Rules": {
							"shape": "S1j"
						}
					}
				}
			},
			"SetSecurityGroups": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerArn",
						"SecurityGroups"
					],
					"members": {
						"LoadBalancerArn": {},
						"SecurityGroups": {
							"shape": "St"
						}
					}
				},
				"output": {
					"resultWrapper": "SetSecurityGroupsResult",
					"type": "structure",
					"members": {
						"SecurityGroupIds": {
							"shape": "St"
						}
					}
				}
			},
			"SetSubnets": {
				"input": {
					"type": "structure",
					"required": [
						"LoadBalancerArn",
						"Subnets"
					],
					"members": {
						"LoadBalancerArn": {},
						"Subnets": {
							"shape": "Sr"
						}
					}
				},
				"output": {
					"resultWrapper": "SetSubnetsResult",
					"type": "structure",
					"members": {
						"AvailabilityZones": {
							"shape": "S18"
						}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "list",
				"member": {}
			},
			"S4": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Se": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"CertificateArn": {}
					}
				}
			},
			"Sh": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Type",
						"TargetGroupArn"
					],
					"members": {
						"Type": {},
						"TargetGroupArn": {}
					}
				}
			},
			"Sm": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ListenerArn": {},
						"LoadBalancerArn": {},
						"Port": {
							"type": "integer"
						},
						"Protocol": {},
						"Certificates": {
							"shape": "Se"
						},
						"SslPolicy": {},
						"DefaultActions": {
							"shape": "Sh"
						}
					}
				}
			},
			"Sr": {
				"type": "list",
				"member": {}
			},
			"St": {
				"type": "list",
				"member": {}
			},
			"Sy": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"LoadBalancerArn": {},
						"DNSName": {},
						"CanonicalHostedZoneId": {},
						"CreatedTime": {
							"type": "timestamp"
						},
						"LoadBalancerName": {},
						"Scheme": {},
						"VpcId": {},
						"State": {
							"type": "structure",
							"members": {
								"Code": {},
								"Reason": {}
							}
						},
						"Type": {},
						"AvailabilityZones": {
							"shape": "S18"
						},
						"SecurityGroups": {
							"shape": "St"
						},
						"IpAddressType": {}
					}
				}
			},
			"S18": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ZoneName": {},
						"SubnetId": {}
					}
				}
			},
			"S1c": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Field": {},
						"Values": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"S1j": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"RuleArn": {},
						"Priority": {},
						"Conditions": {
							"shape": "S1c"
						},
						"Actions": {
							"shape": "Sh"
						},
						"IsDefault": {
							"type": "boolean"
						}
					}
				}
			},
			"S1v": {
				"type": "structure",
				"required": [
					"HttpCode"
				],
				"members": {
					"HttpCode": {}
				}
			},
			"S1y": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"TargetGroupArn": {},
						"TargetGroupName": {},
						"Protocol": {},
						"Port": {
							"type": "integer"
						},
						"VpcId": {},
						"HealthCheckProtocol": {},
						"HealthCheckPort": {},
						"HealthCheckIntervalSeconds": {
							"type": "integer"
						},
						"HealthCheckTimeoutSeconds": {
							"type": "integer"
						},
						"HealthyThresholdCount": {
							"type": "integer"
						},
						"UnhealthyThresholdCount": {
							"type": "integer"
						},
						"HealthCheckPath": {},
						"Matcher": {
							"shape": "S1v"
						},
						"LoadBalancerArns": {
							"shape": "S20"
						}
					}
				}
			},
			"S20": {
				"type": "list",
				"member": {}
			},
			"S2a": {
				"type": "list",
				"member": {
					"shape": "S2b"
				}
			},
			"S2b": {
				"type": "structure",
				"required": [
					"Id"
				],
				"members": {
					"Id": {},
					"Port": {
						"type": "integer"
					}
				}
			},
			"S2r": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S3i": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			}
		}
	};

/***/ }),
/* 447 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeListeners": {
				"input_token": "Marker",
				"output_token": "NextMarker",
				"result_key": "Listeners"
			},
			"DescribeLoadBalancers": {
				"input_token": "Marker",
				"output_token": "NextMarker",
				"result_key": "LoadBalancers"
			},
			"DescribeTargetGroups": {
				"input_token": "Marker",
				"output_token": "NextMarker",
				"result_key": "TargetGroups"
			}
		}
	};

/***/ }),
/* 448 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"LoadBalancerExists": {
				"delay": 15,
				"operation": "DescribeLoadBalancers",
				"maxAttempts": 40,
				"acceptors": [
					{
						"matcher": "status",
						"expected": 200,
						"state": "success"
					},
					{
						"matcher": "error",
						"expected": "LoadBalancerNotFound",
						"state": "retry"
					}
				]
			},
			"LoadBalancerAvailable": {
				"delay": 15,
				"operation": "DescribeLoadBalancers",
				"maxAttempts": 40,
				"acceptors": [
					{
						"state": "success",
						"matcher": "pathAll",
						"argument": "LoadBalancers[].State.Code",
						"expected": "active"
					},
					{
						"state": "retry",
						"matcher": "pathAny",
						"argument": "LoadBalancers[].State.Code",
						"expected": "provisioning"
					},
					{
						"state": "retry",
						"matcher": "error",
						"expected": "LoadBalancerNotFound"
					}
				]
			},
			"LoadBalancersDeleted": {
				"delay": 15,
				"operation": "DescribeLoadBalancers",
				"maxAttempts": 40,
				"acceptors": [
					{
						"state": "retry",
						"matcher": "pathAll",
						"argument": "LoadBalancers[].State.Code",
						"expected": "active"
					},
					{
						"matcher": "error",
						"expected": "LoadBalancerNotFound",
						"state": "success"
					}
				]
			}
		}
	};

/***/ }),
/* 449 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['emr'] = {};
	AWS.EMR = Service.defineService('emr', ['2009-03-31']);
	Object.defineProperty(apiLoader.services['emr'], '2009-03-31', {
	  get: function get() {
	    var model = __webpack_require__(450);
	    model.paginators = __webpack_require__(451).pagination;
	    model.waiters = __webpack_require__(452).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.EMR;


/***/ }),
/* 450 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2009-03-31",
			"endpointPrefix": "elasticmapreduce",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Amazon EMR",
			"serviceFullName": "Amazon Elastic MapReduce",
			"signatureVersion": "v4",
			"targetPrefix": "ElasticMapReduce",
			"timestampFormat": "unixTimestamp",
			"uid": "elasticmapreduce-2009-03-31"
		},
		"operations": {
			"AddInstanceFleet": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId",
						"InstanceFleet"
					],
					"members": {
						"ClusterId": {},
						"InstanceFleet": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClusterId": {},
						"InstanceFleetId": {}
					}
				}
			},
			"AddInstanceGroups": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceGroups",
						"JobFlowId"
					],
					"members": {
						"InstanceGroups": {
							"shape": "Sq"
						},
						"JobFlowId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"JobFlowId": {},
						"InstanceGroupIds": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"AddJobFlowSteps": {
				"input": {
					"type": "structure",
					"required": [
						"JobFlowId",
						"Steps"
					],
					"members": {
						"JobFlowId": {},
						"Steps": {
							"shape": "S1b"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StepIds": {
							"shape": "S1k"
						}
					}
				}
			},
			"AddTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"Tags"
					],
					"members": {
						"ResourceId": {},
						"Tags": {
							"shape": "S1n"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CancelSteps": {
				"input": {
					"type": "structure",
					"members": {
						"ClusterId": {},
						"StepIds": {
							"shape": "S1k"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CancelStepsInfoList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"StepId": {},
									"Status": {},
									"Reason": {}
								}
							}
						}
					}
				}
			},
			"CreateSecurityConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"SecurityConfiguration"
					],
					"members": {
						"Name": {},
						"SecurityConfiguration": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Name",
						"CreationDateTime"
					],
					"members": {
						"Name": {},
						"CreationDateTime": {
							"type": "timestamp"
						}
					}
				}
			},
			"DeleteSecurityConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeCluster": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId"
					],
					"members": {
						"ClusterId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Cluster": {
							"type": "structure",
							"members": {
								"Id": {},
								"Name": {},
								"Status": {
									"shape": "S25"
								},
								"Ec2InstanceAttributes": {
									"type": "structure",
									"members": {
										"Ec2KeyName": {},
										"Ec2SubnetId": {},
										"RequestedEc2SubnetIds": {
											"shape": "S2b"
										},
										"Ec2AvailabilityZone": {},
										"RequestedEc2AvailabilityZones": {
											"shape": "S2b"
										},
										"IamInstanceProfile": {},
										"EmrManagedMasterSecurityGroup": {},
										"EmrManagedSlaveSecurityGroup": {},
										"ServiceAccessSecurityGroup": {},
										"AdditionalMasterSecurityGroups": {
											"shape": "S2c"
										},
										"AdditionalSlaveSecurityGroups": {
											"shape": "S2c"
										}
									}
								},
								"InstanceCollectionType": {},
								"LogUri": {},
								"RequestedAmiVersion": {},
								"RunningAmiVersion": {},
								"ReleaseLabel": {},
								"AutoTerminate": {
									"type": "boolean"
								},
								"TerminationProtected": {
									"type": "boolean"
								},
								"VisibleToAllUsers": {
									"type": "boolean"
								},
								"Applications": {
									"shape": "S2f"
								},
								"Tags": {
									"shape": "S1n"
								},
								"ServiceRole": {},
								"NormalizedInstanceHours": {
									"type": "integer"
								},
								"MasterPublicDnsName": {},
								"Configurations": {
									"shape": "Sh"
								},
								"SecurityConfiguration": {},
								"AutoScalingRole": {},
								"ScaleDownBehavior": {}
							}
						}
					}
				}
			},
			"DescribeJobFlows": {
				"input": {
					"type": "structure",
					"members": {
						"CreatedAfter": {
							"type": "timestamp"
						},
						"CreatedBefore": {
							"type": "timestamp"
						},
						"JobFlowIds": {
							"shape": "S1i"
						},
						"JobFlowStates": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"JobFlows": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"JobFlowId",
									"Name",
									"ExecutionStatusDetail",
									"Instances"
								],
								"members": {
									"JobFlowId": {},
									"Name": {},
									"LogUri": {},
									"AmiVersion": {},
									"ExecutionStatusDetail": {
										"type": "structure",
										"required": [
											"State",
											"CreationDateTime"
										],
										"members": {
											"State": {},
											"CreationDateTime": {
												"type": "timestamp"
											},
											"StartDateTime": {
												"type": "timestamp"
											},
											"ReadyDateTime": {
												"type": "timestamp"
											},
											"EndDateTime": {
												"type": "timestamp"
											},
											"LastStateChangeReason": {}
										}
									},
									"Instances": {
										"type": "structure",
										"required": [
											"MasterInstanceType",
											"SlaveInstanceType",
											"InstanceCount"
										],
										"members": {
											"MasterInstanceType": {},
											"MasterPublicDnsName": {},
											"MasterInstanceId": {},
											"SlaveInstanceType": {},
											"InstanceCount": {
												"type": "integer"
											},
											"InstanceGroups": {
												"type": "list",
												"member": {
													"type": "structure",
													"required": [
														"Market",
														"InstanceRole",
														"InstanceType",
														"InstanceRequestCount",
														"InstanceRunningCount",
														"State",
														"CreationDateTime"
													],
													"members": {
														"InstanceGroupId": {},
														"Name": {},
														"Market": {},
														"InstanceRole": {},
														"BidPrice": {},
														"InstanceType": {},
														"InstanceRequestCount": {
															"type": "integer"
														},
														"InstanceRunningCount": {
															"type": "integer"
														},
														"State": {},
														"LastStateChangeReason": {},
														"CreationDateTime": {
															"type": "timestamp"
														},
														"StartDateTime": {
															"type": "timestamp"
														},
														"ReadyDateTime": {
															"type": "timestamp"
														},
														"EndDateTime": {
															"type": "timestamp"
														}
													}
												}
											},
											"NormalizedInstanceHours": {
												"type": "integer"
											},
											"Ec2KeyName": {},
											"Ec2SubnetId": {},
											"Placement": {
												"shape": "S2t"
											},
											"KeepJobFlowAliveWhenNoSteps": {
												"type": "boolean"
											},
											"TerminationProtected": {
												"type": "boolean"
											},
											"HadoopVersion": {}
										}
									},
									"Steps": {
										"type": "list",
										"member": {
											"type": "structure",
											"required": [
												"StepConfig",
												"ExecutionStatusDetail"
											],
											"members": {
												"StepConfig": {
													"shape": "S1c"
												},
												"ExecutionStatusDetail": {
													"type": "structure",
													"required": [
														"State",
														"CreationDateTime"
													],
													"members": {
														"State": {},
														"CreationDateTime": {
															"type": "timestamp"
														},
														"StartDateTime": {
															"type": "timestamp"
														},
														"EndDateTime": {
															"type": "timestamp"
														},
														"LastStateChangeReason": {}
													}
												}
											}
										}
									},
									"BootstrapActions": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"BootstrapActionConfig": {
													"shape": "S30"
												}
											}
										}
									},
									"SupportedProducts": {
										"shape": "S32"
									},
									"VisibleToAllUsers": {
										"type": "boolean"
									},
									"JobFlowRole": {},
									"ServiceRole": {},
									"AutoScalingRole": {},
									"ScaleDownBehavior": {}
								}
							}
						}
					}
				},
				"deprecated": true
			},
			"DescribeSecurityConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Name": {},
						"SecurityConfiguration": {},
						"CreationDateTime": {
							"type": "timestamp"
						}
					}
				}
			},
			"DescribeStep": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId",
						"StepId"
					],
					"members": {
						"ClusterId": {},
						"StepId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Step": {
							"type": "structure",
							"members": {
								"Id": {},
								"Name": {},
								"Config": {
									"shape": "S38"
								},
								"ActionOnFailure": {},
								"Status": {
									"shape": "S39"
								}
							}
						}
					}
				}
			},
			"ListBootstrapActions": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId"
					],
					"members": {
						"ClusterId": {},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BootstrapActions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"ScriptPath": {},
									"Args": {
										"shape": "S2c"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ListClusters": {
				"input": {
					"type": "structure",
					"members": {
						"CreatedAfter": {
							"type": "timestamp"
						},
						"CreatedBefore": {
							"type": "timestamp"
						},
						"ClusterStates": {
							"type": "list",
							"member": {}
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Clusters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Name": {},
									"Status": {
										"shape": "S25"
									},
									"NormalizedInstanceHours": {
										"type": "integer"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ListInstanceFleets": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId"
					],
					"members": {
						"ClusterId": {},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceFleets": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Name": {},
									"Status": {
										"type": "structure",
										"members": {
											"State": {},
											"StateChangeReason": {
												"type": "structure",
												"members": {
													"Code": {},
													"Message": {}
												}
											},
											"Timeline": {
												"type": "structure",
												"members": {
													"CreationDateTime": {
														"type": "timestamp"
													},
													"ReadyDateTime": {
														"type": "timestamp"
													},
													"EndDateTime": {
														"type": "timestamp"
													}
												}
											}
										}
									},
									"InstanceFleetType": {},
									"TargetOnDemandCapacity": {
										"type": "integer"
									},
									"TargetSpotCapacity": {
										"type": "integer"
									},
									"ProvisionedOnDemandCapacity": {
										"type": "integer"
									},
									"ProvisionedSpotCapacity": {
										"type": "integer"
									},
									"InstanceTypeSpecifications": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"InstanceType": {},
												"WeightedCapacity": {
													"type": "integer"
												},
												"BidPrice": {},
												"BidPriceAsPercentageOfOnDemandPrice": {
													"type": "double"
												},
												"Configurations": {
													"shape": "Sh"
												},
												"EbsBlockDevices": {
													"shape": "S40"
												},
												"EbsOptimized": {
													"type": "boolean"
												}
											}
										}
									},
									"LaunchSpecifications": {
										"shape": "Sk"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ListInstanceGroups": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId"
					],
					"members": {
						"ClusterId": {},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceGroups": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Name": {},
									"Market": {},
									"InstanceGroupType": {},
									"BidPrice": {},
									"InstanceType": {},
									"RequestedInstanceCount": {
										"type": "integer"
									},
									"RunningInstanceCount": {
										"type": "integer"
									},
									"Status": {
										"type": "structure",
										"members": {
											"State": {},
											"StateChangeReason": {
												"type": "structure",
												"members": {
													"Code": {},
													"Message": {}
												}
											},
											"Timeline": {
												"type": "structure",
												"members": {
													"CreationDateTime": {
														"type": "timestamp"
													},
													"ReadyDateTime": {
														"type": "timestamp"
													},
													"EndDateTime": {
														"type": "timestamp"
													}
												}
											}
										}
									},
									"Configurations": {
										"shape": "Sh"
									},
									"EbsBlockDevices": {
										"shape": "S40"
									},
									"EbsOptimized": {
										"type": "boolean"
									},
									"ShrinkPolicy": {
										"shape": "S4c"
									},
									"AutoScalingPolicy": {
										"shape": "S4g"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ListInstances": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId"
					],
					"members": {
						"ClusterId": {},
						"InstanceGroupId": {},
						"InstanceGroupTypes": {
							"type": "list",
							"member": {}
						},
						"InstanceFleetId": {},
						"InstanceFleetType": {},
						"InstanceStates": {
							"type": "list",
							"member": {}
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Instances": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Ec2InstanceId": {},
									"PublicDnsName": {},
									"PublicIpAddress": {},
									"PrivateDnsName": {},
									"PrivateIpAddress": {},
									"Status": {
										"type": "structure",
										"members": {
											"State": {},
											"StateChangeReason": {
												"type": "structure",
												"members": {
													"Code": {},
													"Message": {}
												}
											},
											"Timeline": {
												"type": "structure",
												"members": {
													"CreationDateTime": {
														"type": "timestamp"
													},
													"ReadyDateTime": {
														"type": "timestamp"
													},
													"EndDateTime": {
														"type": "timestamp"
													}
												}
											}
										}
									},
									"InstanceGroupId": {},
									"InstanceFleetId": {},
									"Market": {},
									"InstanceType": {},
									"EbsVolumes": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"Device": {},
												"VolumeId": {}
											}
										}
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ListSecurityConfigurations": {
				"input": {
					"type": "structure",
					"members": {
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SecurityConfigurations": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"CreationDateTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ListSteps": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId"
					],
					"members": {
						"ClusterId": {},
						"StepStates": {
							"type": "list",
							"member": {}
						},
						"StepIds": {
							"shape": "S1i"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Steps": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Name": {},
									"Config": {
										"shape": "S38"
									},
									"ActionOnFailure": {},
									"Status": {
										"shape": "S39"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ModifyInstanceFleet": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId",
						"InstanceFleet"
					],
					"members": {
						"ClusterId": {},
						"InstanceFleet": {
							"type": "structure",
							"required": [
								"InstanceFleetId"
							],
							"members": {
								"InstanceFleetId": {},
								"TargetOnDemandCapacity": {
									"type": "integer"
								},
								"TargetSpotCapacity": {
									"type": "integer"
								}
							}
						}
					}
				}
			},
			"ModifyInstanceGroups": {
				"input": {
					"type": "structure",
					"members": {
						"ClusterId": {},
						"InstanceGroups": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"InstanceGroupId"
								],
								"members": {
									"InstanceGroupId": {},
									"InstanceCount": {
										"type": "integer"
									},
									"EC2InstanceIdsToTerminate": {
										"type": "list",
										"member": {}
									},
									"ShrinkPolicy": {
										"shape": "S4c"
									}
								}
							}
						}
					}
				}
			},
			"PutAutoScalingPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId",
						"InstanceGroupId",
						"AutoScalingPolicy"
					],
					"members": {
						"ClusterId": {},
						"InstanceGroupId": {},
						"AutoScalingPolicy": {
							"shape": "Su"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClusterId": {},
						"InstanceGroupId": {},
						"AutoScalingPolicy": {
							"shape": "S4g"
						}
					}
				}
			},
			"RemoveAutoScalingPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId",
						"InstanceGroupId"
					],
					"members": {
						"ClusterId": {},
						"InstanceGroupId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"RemoveTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"TagKeys"
					],
					"members": {
						"ResourceId": {},
						"TagKeys": {
							"shape": "S2c"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"RunJobFlow": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Instances"
					],
					"members": {
						"Name": {},
						"LogUri": {},
						"AdditionalInfo": {},
						"AmiVersion": {},
						"ReleaseLabel": {},
						"Instances": {
							"type": "structure",
							"members": {
								"MasterInstanceType": {},
								"SlaveInstanceType": {},
								"InstanceCount": {
									"type": "integer"
								},
								"InstanceGroups": {
									"shape": "Sq"
								},
								"InstanceFleets": {
									"type": "list",
									"member": {
										"shape": "S3"
									}
								},
								"Ec2KeyName": {},
								"Placement": {
									"shape": "S2t"
								},
								"KeepJobFlowAliveWhenNoSteps": {
									"type": "boolean"
								},
								"TerminationProtected": {
									"type": "boolean"
								},
								"HadoopVersion": {},
								"Ec2SubnetId": {},
								"Ec2SubnetIds": {
									"shape": "S2b"
								},
								"EmrManagedMasterSecurityGroup": {},
								"EmrManagedSlaveSecurityGroup": {},
								"ServiceAccessSecurityGroup": {},
								"AdditionalMasterSecurityGroups": {
									"shape": "S5m"
								},
								"AdditionalSlaveSecurityGroups": {
									"shape": "S5m"
								}
							}
						},
						"Steps": {
							"shape": "S1b"
						},
						"BootstrapActions": {
							"type": "list",
							"member": {
								"shape": "S30"
							}
						},
						"SupportedProducts": {
							"shape": "S32"
						},
						"NewSupportedProducts": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"Args": {
										"shape": "S1i"
									}
								}
							}
						},
						"Applications": {
							"shape": "S2f"
						},
						"Configurations": {
							"shape": "Sh"
						},
						"VisibleToAllUsers": {
							"type": "boolean"
						},
						"JobFlowRole": {},
						"ServiceRole": {},
						"Tags": {
							"shape": "S1n"
						},
						"SecurityConfiguration": {},
						"AutoScalingRole": {},
						"ScaleDownBehavior": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"JobFlowId": {}
					}
				}
			},
			"SetTerminationProtection": {
				"input": {
					"type": "structure",
					"required": [
						"JobFlowIds",
						"TerminationProtected"
					],
					"members": {
						"JobFlowIds": {
							"shape": "S1i"
						},
						"TerminationProtected": {
							"type": "boolean"
						}
					}
				}
			},
			"SetVisibleToAllUsers": {
				"input": {
					"type": "structure",
					"required": [
						"JobFlowIds",
						"VisibleToAllUsers"
					],
					"members": {
						"JobFlowIds": {
							"shape": "S1i"
						},
						"VisibleToAllUsers": {
							"type": "boolean"
						}
					}
				}
			},
			"TerminateJobFlows": {
				"input": {
					"type": "structure",
					"required": [
						"JobFlowIds"
					],
					"members": {
						"JobFlowIds": {
							"shape": "S1i"
						}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "structure",
				"required": [
					"InstanceFleetType"
				],
				"members": {
					"Name": {},
					"InstanceFleetType": {},
					"TargetOnDemandCapacity": {
						"type": "integer"
					},
					"TargetSpotCapacity": {
						"type": "integer"
					},
					"InstanceTypeConfigs": {
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"InstanceType"
							],
							"members": {
								"InstanceType": {},
								"WeightedCapacity": {
									"type": "integer"
								},
								"BidPrice": {},
								"BidPriceAsPercentageOfOnDemandPrice": {
									"type": "double"
								},
								"EbsConfiguration": {
									"shape": "Sa"
								},
								"Configurations": {
									"shape": "Sh"
								}
							}
						}
					},
					"LaunchSpecifications": {
						"shape": "Sk"
					}
				}
			},
			"Sa": {
				"type": "structure",
				"members": {
					"EbsBlockDeviceConfigs": {
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"VolumeSpecification"
							],
							"members": {
								"VolumeSpecification": {
									"shape": "Sd"
								},
								"VolumesPerInstance": {
									"type": "integer"
								}
							}
						}
					},
					"EbsOptimized": {
						"type": "boolean"
					}
				}
			},
			"Sd": {
				"type": "structure",
				"required": [
					"VolumeType",
					"SizeInGB"
				],
				"members": {
					"VolumeType": {},
					"Iops": {
						"type": "integer"
					},
					"SizeInGB": {
						"type": "integer"
					}
				}
			},
			"Sh": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Classification": {},
						"Configurations": {
							"shape": "Sh"
						},
						"Properties": {
							"shape": "Sj"
						}
					}
				}
			},
			"Sj": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"Sk": {
				"type": "structure",
				"required": [
					"SpotSpecification"
				],
				"members": {
					"SpotSpecification": {
						"type": "structure",
						"required": [
							"TimeoutDurationMinutes",
							"TimeoutAction"
						],
						"members": {
							"TimeoutDurationMinutes": {
								"type": "integer"
							},
							"TimeoutAction": {},
							"BlockDurationMinutes": {
								"type": "integer"
							}
						}
					}
				}
			},
			"Sq": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"InstanceRole",
						"InstanceType",
						"InstanceCount"
					],
					"members": {
						"Name": {},
						"Market": {},
						"InstanceRole": {},
						"BidPrice": {},
						"InstanceType": {},
						"InstanceCount": {
							"type": "integer"
						},
						"Configurations": {
							"shape": "Sh"
						},
						"EbsConfiguration": {
							"shape": "Sa"
						},
						"AutoScalingPolicy": {
							"shape": "Su"
						}
					}
				}
			},
			"Su": {
				"type": "structure",
				"required": [
					"Constraints",
					"Rules"
				],
				"members": {
					"Constraints": {
						"shape": "Sv"
					},
					"Rules": {
						"shape": "Sw"
					}
				}
			},
			"Sv": {
				"type": "structure",
				"required": [
					"MinCapacity",
					"MaxCapacity"
				],
				"members": {
					"MinCapacity": {
						"type": "integer"
					},
					"MaxCapacity": {
						"type": "integer"
					}
				}
			},
			"Sw": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Name",
						"Action",
						"Trigger"
					],
					"members": {
						"Name": {},
						"Description": {},
						"Action": {
							"type": "structure",
							"required": [
								"SimpleScalingPolicyConfiguration"
							],
							"members": {
								"Market": {},
								"SimpleScalingPolicyConfiguration": {
									"type": "structure",
									"required": [
										"ScalingAdjustment"
									],
									"members": {
										"AdjustmentType": {},
										"ScalingAdjustment": {
											"type": "integer"
										},
										"CoolDown": {
											"type": "integer"
										}
									}
								}
							}
						},
						"Trigger": {
							"type": "structure",
							"required": [
								"CloudWatchAlarmDefinition"
							],
							"members": {
								"CloudWatchAlarmDefinition": {
									"type": "structure",
									"required": [
										"ComparisonOperator",
										"MetricName",
										"Period",
										"Threshold"
									],
									"members": {
										"ComparisonOperator": {},
										"EvaluationPeriods": {
											"type": "integer"
										},
										"MetricName": {},
										"Namespace": {},
										"Period": {
											"type": "integer"
										},
										"Statistic": {},
										"Threshold": {
											"type": "double"
										},
										"Unit": {},
										"Dimensions": {
											"type": "list",
											"member": {
												"type": "structure",
												"members": {
													"Key": {},
													"Value": {}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"S1b": {
				"type": "list",
				"member": {
					"shape": "S1c"
				}
			},
			"S1c": {
				"type": "structure",
				"required": [
					"Name",
					"HadoopJarStep"
				],
				"members": {
					"Name": {},
					"ActionOnFailure": {},
					"HadoopJarStep": {
						"type": "structure",
						"required": [
							"Jar"
						],
						"members": {
							"Properties": {
								"type": "list",
								"member": {
									"type": "structure",
									"members": {
										"Key": {},
										"Value": {}
									}
								}
							},
							"Jar": {},
							"MainClass": {},
							"Args": {
								"shape": "S1i"
							}
						}
					}
				}
			},
			"S1i": {
				"type": "list",
				"member": {}
			},
			"S1k": {
				"type": "list",
				"member": {}
			},
			"S1n": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S25": {
				"type": "structure",
				"members": {
					"State": {},
					"StateChangeReason": {
						"type": "structure",
						"members": {
							"Code": {},
							"Message": {}
						}
					},
					"Timeline": {
						"type": "structure",
						"members": {
							"CreationDateTime": {
								"type": "timestamp"
							},
							"ReadyDateTime": {
								"type": "timestamp"
							},
							"EndDateTime": {
								"type": "timestamp"
							}
						}
					}
				}
			},
			"S2b": {
				"type": "list",
				"member": {}
			},
			"S2c": {
				"type": "list",
				"member": {}
			},
			"S2f": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Name": {},
						"Version": {},
						"Args": {
							"shape": "S2c"
						},
						"AdditionalInfo": {
							"shape": "Sj"
						}
					}
				}
			},
			"S2t": {
				"type": "structure",
				"members": {
					"AvailabilityZone": {},
					"AvailabilityZones": {
						"shape": "S2b"
					}
				}
			},
			"S30": {
				"type": "structure",
				"required": [
					"Name",
					"ScriptBootstrapAction"
				],
				"members": {
					"Name": {},
					"ScriptBootstrapAction": {
						"type": "structure",
						"required": [
							"Path"
						],
						"members": {
							"Path": {},
							"Args": {
								"shape": "S1i"
							}
						}
					}
				}
			},
			"S32": {
				"type": "list",
				"member": {}
			},
			"S38": {
				"type": "structure",
				"members": {
					"Jar": {},
					"Properties": {
						"shape": "Sj"
					},
					"MainClass": {},
					"Args": {
						"shape": "S2c"
					}
				}
			},
			"S39": {
				"type": "structure",
				"members": {
					"State": {},
					"StateChangeReason": {
						"type": "structure",
						"members": {
							"Code": {},
							"Message": {}
						}
					},
					"FailureDetails": {
						"type": "structure",
						"members": {
							"Reason": {},
							"Message": {},
							"LogFile": {}
						}
					},
					"Timeline": {
						"type": "structure",
						"members": {
							"CreationDateTime": {
								"type": "timestamp"
							},
							"StartDateTime": {
								"type": "timestamp"
							},
							"EndDateTime": {
								"type": "timestamp"
							}
						}
					}
				}
			},
			"S40": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"VolumeSpecification": {
							"shape": "Sd"
						},
						"Device": {}
					}
				}
			},
			"S4c": {
				"type": "structure",
				"members": {
					"DecommissionTimeout": {
						"type": "integer"
					},
					"InstanceResizePolicy": {
						"type": "structure",
						"members": {
							"InstancesToTerminate": {
								"shape": "S4e"
							},
							"InstancesToProtect": {
								"shape": "S4e"
							},
							"InstanceTerminationTimeout": {
								"type": "integer"
							}
						}
					}
				}
			},
			"S4e": {
				"type": "list",
				"member": {}
			},
			"S4g": {
				"type": "structure",
				"members": {
					"Status": {
						"type": "structure",
						"members": {
							"State": {},
							"StateChangeReason": {
								"type": "structure",
								"members": {
									"Code": {},
									"Message": {}
								}
							}
						}
					},
					"Constraints": {
						"shape": "Sv"
					},
					"Rules": {
						"shape": "Sw"
					}
				}
			},
			"S5m": {
				"type": "list",
				"member": {}
			}
		}
	};

/***/ }),
/* 451 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeJobFlows": {
				"result_key": "JobFlows"
			},
			"ListBootstrapActions": {
				"input_token": "Marker",
				"output_token": "Marker",
				"result_key": "BootstrapActions"
			},
			"ListClusters": {
				"input_token": "Marker",
				"output_token": "Marker",
				"result_key": "Clusters"
			},
			"ListInstanceFleets": {
				"input_token": "Marker",
				"output_token": "Marker",
				"result_key": "InstanceFleets"
			},
			"ListInstanceGroups": {
				"input_token": "Marker",
				"output_token": "Marker",
				"result_key": "InstanceGroups"
			},
			"ListInstances": {
				"input_token": "Marker",
				"output_token": "Marker",
				"result_key": "Instances"
			},
			"ListSteps": {
				"input_token": "Marker",
				"output_token": "Marker",
				"result_key": "Steps"
			}
		}
	};

/***/ }),
/* 452 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"ClusterRunning": {
				"delay": 30,
				"operation": "DescribeCluster",
				"maxAttempts": 60,
				"acceptors": [
					{
						"state": "success",
						"matcher": "path",
						"argument": "Cluster.Status.State",
						"expected": "RUNNING"
					},
					{
						"state": "success",
						"matcher": "path",
						"argument": "Cluster.Status.State",
						"expected": "WAITING"
					},
					{
						"state": "failure",
						"matcher": "path",
						"argument": "Cluster.Status.State",
						"expected": "TERMINATING"
					},
					{
						"state": "failure",
						"matcher": "path",
						"argument": "Cluster.Status.State",
						"expected": "TERMINATED"
					},
					{
						"state": "failure",
						"matcher": "path",
						"argument": "Cluster.Status.State",
						"expected": "TERMINATED_WITH_ERRORS"
					}
				]
			},
			"StepComplete": {
				"delay": 30,
				"operation": "DescribeStep",
				"maxAttempts": 60,
				"acceptors": [
					{
						"state": "success",
						"matcher": "path",
						"argument": "Step.Status.State",
						"expected": "COMPLETED"
					},
					{
						"state": "failure",
						"matcher": "path",
						"argument": "Step.Status.State",
						"expected": "FAILED"
					},
					{
						"state": "failure",
						"matcher": "path",
						"argument": "Step.Status.State",
						"expected": "CANCELLED"
					}
				]
			},
			"ClusterTerminated": {
				"delay": 30,
				"operation": "DescribeCluster",
				"maxAttempts": 60,
				"acceptors": [
					{
						"state": "success",
						"matcher": "path",
						"argument": "Cluster.Status.State",
						"expected": "TERMINATED"
					},
					{
						"state": "failure",
						"matcher": "path",
						"argument": "Cluster.Status.State",
						"expected": "TERMINATED_WITH_ERRORS"
					}
				]
			}
		}
	};

/***/ }),
/* 453 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['es'] = {};
	AWS.ES = Service.defineService('es', ['2015-01-01']);
	Object.defineProperty(apiLoader.services['es'], '2015-01-01', {
	  get: function get() {
	    var model = __webpack_require__(454);
	    model.paginators = __webpack_require__(455).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ES;


/***/ }),
/* 454 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-01-01",
			"endpointPrefix": "es",
			"protocol": "rest-json",
			"serviceFullName": "Amazon Elasticsearch Service",
			"signatureVersion": "v4",
			"uid": "es-2015-01-01"
		},
		"operations": {
			"AddTags": {
				"http": {
					"requestUri": "/2015-01-01/tags"
				},
				"input": {
					"type": "structure",
					"required": [
						"ARN",
						"TagList"
					],
					"members": {
						"ARN": {},
						"TagList": {
							"shape": "S3"
						}
					}
				}
			},
			"CreateElasticsearchDomain": {
				"http": {
					"requestUri": "/2015-01-01/es/domain"
				},
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"ElasticsearchVersion": {},
						"ElasticsearchClusterConfig": {
							"shape": "Sa"
						},
						"EBSOptions": {
							"shape": "Se"
						},
						"AccessPolicies": {},
						"SnapshotOptions": {
							"shape": "Sh"
						},
						"AdvancedOptions": {
							"shape": "Si"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DomainStatus": {
							"shape": "Sl"
						}
					}
				}
			},
			"DeleteElasticsearchDomain": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2015-01-01/es/domain/{DomainName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {
							"location": "uri",
							"locationName": "DomainName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DomainStatus": {
							"shape": "Sl"
						}
					}
				}
			},
			"DescribeElasticsearchDomain": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-01-01/es/domain/{DomainName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {
							"location": "uri",
							"locationName": "DomainName"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DomainStatus"
					],
					"members": {
						"DomainStatus": {
							"shape": "Sl"
						}
					}
				}
			},
			"DescribeElasticsearchDomainConfig": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-01-01/es/domain/{DomainName}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {
							"location": "uri",
							"locationName": "DomainName"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DomainConfig"
					],
					"members": {
						"DomainConfig": {
							"shape": "Su"
						}
					}
				}
			},
			"DescribeElasticsearchDomains": {
				"http": {
					"requestUri": "/2015-01-01/es/domain-info"
				},
				"input": {
					"type": "structure",
					"required": [
						"DomainNames"
					],
					"members": {
						"DomainNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DomainStatusList"
					],
					"members": {
						"DomainStatusList": {
							"type": "list",
							"member": {
								"shape": "Sl"
							}
						}
					}
				}
			},
			"DescribeElasticsearchInstanceTypeLimits": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}"
				},
				"input": {
					"type": "structure",
					"required": [
						"InstanceType",
						"ElasticsearchVersion"
					],
					"members": {
						"DomainName": {
							"location": "querystring",
							"locationName": "domainName"
						},
						"InstanceType": {
							"location": "uri",
							"locationName": "InstanceType"
						},
						"ElasticsearchVersion": {
							"location": "uri",
							"locationName": "ElasticsearchVersion"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"LimitsByRole": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"members": {
									"StorageTypes": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"StorageTypeName": {},
												"StorageSubTypeName": {},
												"StorageTypeLimits": {
													"type": "list",
													"member": {
														"type": "structure",
														"members": {
															"LimitName": {},
															"LimitValues": {
																"shape": "S1l"
															}
														}
													}
												}
											}
										}
									},
									"InstanceLimits": {
										"type": "structure",
										"members": {
											"InstanceCountLimits": {
												"type": "structure",
												"members": {
													"MinimumInstanceCount": {
														"type": "integer"
													},
													"MaximumInstanceCount": {
														"type": "integer"
													}
												}
											}
										}
									},
									"AdditionalLimits": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"LimitName": {},
												"LimitValues": {
													"shape": "S1l"
												}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"ListDomainNames": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-01-01/domain"
				},
				"output": {
					"type": "structure",
					"members": {
						"DomainNames": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DomainName": {}
								}
							}
						}
					}
				}
			},
			"ListElasticsearchInstanceTypes": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-01-01/es/instanceTypes/{ElasticsearchVersion}"
				},
				"input": {
					"type": "structure",
					"required": [
						"ElasticsearchVersion"
					],
					"members": {
						"ElasticsearchVersion": {
							"location": "uri",
							"locationName": "ElasticsearchVersion"
						},
						"DomainName": {
							"location": "querystring",
							"locationName": "domainName"
						},
						"MaxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ElasticsearchInstanceTypes": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				}
			},
			"ListElasticsearchVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-01-01/es/versions"
				},
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ElasticsearchVersions": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				}
			},
			"ListTags": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-01-01/tags/"
				},
				"input": {
					"type": "structure",
					"required": [
						"ARN"
					],
					"members": {
						"ARN": {
							"location": "querystring",
							"locationName": "arn"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TagList": {
							"shape": "S3"
						}
					}
				}
			},
			"RemoveTags": {
				"http": {
					"requestUri": "/2015-01-01/tags-removal"
				},
				"input": {
					"type": "structure",
					"required": [
						"ARN",
						"TagKeys"
					],
					"members": {
						"ARN": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"UpdateElasticsearchDomainConfig": {
				"http": {
					"requestUri": "/2015-01-01/es/domain/{DomainName}/config"
				},
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {
							"location": "uri",
							"locationName": "DomainName"
						},
						"ElasticsearchClusterConfig": {
							"shape": "Sa"
						},
						"EBSOptions": {
							"shape": "Se"
						},
						"SnapshotOptions": {
							"shape": "Sh"
						},
						"AdvancedOptions": {
							"shape": "Si"
						},
						"AccessPolicies": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DomainConfig"
					],
					"members": {
						"DomainConfig": {
							"shape": "Su"
						}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key",
						"Value"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sa": {
				"type": "structure",
				"members": {
					"InstanceType": {},
					"InstanceCount": {
						"type": "integer"
					},
					"DedicatedMasterEnabled": {
						"type": "boolean"
					},
					"ZoneAwarenessEnabled": {
						"type": "boolean"
					},
					"DedicatedMasterType": {},
					"DedicatedMasterCount": {
						"type": "integer"
					}
				}
			},
			"Se": {
				"type": "structure",
				"members": {
					"EBSEnabled": {
						"type": "boolean"
					},
					"VolumeType": {},
					"VolumeSize": {
						"type": "integer"
					},
					"Iops": {
						"type": "integer"
					}
				}
			},
			"Sh": {
				"type": "structure",
				"members": {
					"AutomatedSnapshotStartHour": {
						"type": "integer"
					}
				}
			},
			"Si": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"Sl": {
				"type": "structure",
				"required": [
					"DomainId",
					"DomainName",
					"ARN",
					"ElasticsearchClusterConfig"
				],
				"members": {
					"DomainId": {},
					"DomainName": {},
					"ARN": {},
					"Created": {
						"type": "boolean"
					},
					"Deleted": {
						"type": "boolean"
					},
					"Endpoint": {},
					"Processing": {
						"type": "boolean"
					},
					"ElasticsearchVersion": {},
					"ElasticsearchClusterConfig": {
						"shape": "Sa"
					},
					"EBSOptions": {
						"shape": "Se"
					},
					"AccessPolicies": {},
					"SnapshotOptions": {
						"shape": "Sh"
					},
					"AdvancedOptions": {
						"shape": "Si"
					}
				}
			},
			"Su": {
				"type": "structure",
				"members": {
					"ElasticsearchVersion": {
						"type": "structure",
						"required": [
							"Options",
							"Status"
						],
						"members": {
							"Options": {},
							"Status": {
								"shape": "Sw"
							}
						}
					},
					"ElasticsearchClusterConfig": {
						"type": "structure",
						"required": [
							"Options",
							"Status"
						],
						"members": {
							"Options": {
								"shape": "Sa"
							},
							"Status": {
								"shape": "Sw"
							}
						}
					},
					"EBSOptions": {
						"type": "structure",
						"required": [
							"Options",
							"Status"
						],
						"members": {
							"Options": {
								"shape": "Se"
							},
							"Status": {
								"shape": "Sw"
							}
						}
					},
					"AccessPolicies": {
						"type": "structure",
						"required": [
							"Options",
							"Status"
						],
						"members": {
							"Options": {},
							"Status": {
								"shape": "Sw"
							}
						}
					},
					"SnapshotOptions": {
						"type": "structure",
						"required": [
							"Options",
							"Status"
						],
						"members": {
							"Options": {
								"shape": "Sh"
							},
							"Status": {
								"shape": "Sw"
							}
						}
					},
					"AdvancedOptions": {
						"type": "structure",
						"required": [
							"Options",
							"Status"
						],
						"members": {
							"Options": {
								"shape": "Si"
							},
							"Status": {
								"shape": "Sw"
							}
						}
					}
				}
			},
			"Sw": {
				"type": "structure",
				"required": [
					"CreationDate",
					"UpdateDate",
					"State"
				],
				"members": {
					"CreationDate": {
						"type": "timestamp"
					},
					"UpdateDate": {
						"type": "timestamp"
					},
					"UpdateVersion": {
						"type": "integer"
					},
					"State": {},
					"PendingDeletion": {
						"type": "boolean"
					}
				}
			},
			"S1l": {
				"type": "list",
				"member": {}
			}
		}
	};

/***/ }),
/* 455 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListElasticsearchInstanceTypes": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListElasticsearchVersions": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			}
		}
	};

/***/ }),
/* 456 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['elastictranscoder'] = {};
	AWS.ElasticTranscoder = Service.defineService('elastictranscoder', ['2012-09-25']);
	Object.defineProperty(apiLoader.services['elastictranscoder'], '2012-09-25', {
	  get: function get() {
	    var model = __webpack_require__(457);
	    model.paginators = __webpack_require__(458).pagination;
	    model.waiters = __webpack_require__(459).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ElasticTranscoder;


/***/ }),
/* 457 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"uid": "elastictranscoder-2012-09-25",
			"apiVersion": "2012-09-25",
			"endpointPrefix": "elastictranscoder",
			"protocol": "rest-json",
			"serviceFullName": "Amazon Elastic Transcoder",
			"signatureVersion": "v4"
		},
		"operations": {
			"CancelJob": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2012-09-25/jobs/{Id}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateJob": {
				"http": {
					"requestUri": "/2012-09-25/jobs",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"PipelineId"
					],
					"members": {
						"PipelineId": {},
						"Input": {
							"shape": "S5"
						},
						"Inputs": {
							"shape": "St"
						},
						"Output": {
							"shape": "Su"
						},
						"Outputs": {
							"type": "list",
							"member": {
								"shape": "Su"
							}
						},
						"OutputKeyPrefix": {},
						"Playlists": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"Format": {},
									"OutputKeys": {
										"shape": "S1l"
									},
									"HlsContentProtection": {
										"shape": "S1m"
									},
									"PlayReadyDrm": {
										"shape": "S1q"
									}
								}
							}
						},
						"UserMetadata": {
							"shape": "S1v"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Job": {
							"shape": "S1y"
						}
					}
				}
			},
			"CreatePipeline": {
				"http": {
					"requestUri": "/2012-09-25/pipelines",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"InputBucket",
						"Role"
					],
					"members": {
						"Name": {},
						"InputBucket": {},
						"OutputBucket": {},
						"Role": {},
						"AwsKmsKeyArn": {},
						"Notifications": {
							"shape": "S2a"
						},
						"ContentConfig": {
							"shape": "S2c"
						},
						"ThumbnailConfig": {
							"shape": "S2c"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Pipeline": {
							"shape": "S2l"
						},
						"Warnings": {
							"shape": "S2n"
						}
					}
				}
			},
			"CreatePreset": {
				"http": {
					"requestUri": "/2012-09-25/presets",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Container"
					],
					"members": {
						"Name": {},
						"Description": {},
						"Container": {},
						"Video": {
							"shape": "S2r"
						},
						"Audio": {
							"shape": "S37"
						},
						"Thumbnails": {
							"shape": "S3i"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Preset": {
							"shape": "S3m"
						},
						"Warning": {}
					}
				}
			},
			"DeletePipeline": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2012-09-25/pipelines/{Id}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeletePreset": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2012-09-25/presets/{Id}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ListJobsByPipeline": {
				"http": {
					"method": "GET",
					"requestUri": "/2012-09-25/jobsByPipeline/{PipelineId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"PipelineId"
					],
					"members": {
						"PipelineId": {
							"location": "uri",
							"locationName": "PipelineId"
						},
						"Ascending": {
							"location": "querystring",
							"locationName": "Ascending"
						},
						"PageToken": {
							"location": "querystring",
							"locationName": "PageToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Jobs": {
							"shape": "S3v"
						},
						"NextPageToken": {}
					}
				}
			},
			"ListJobsByStatus": {
				"http": {
					"method": "GET",
					"requestUri": "/2012-09-25/jobsByStatus/{Status}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Status"
					],
					"members": {
						"Status": {
							"location": "uri",
							"locationName": "Status"
						},
						"Ascending": {
							"location": "querystring",
							"locationName": "Ascending"
						},
						"PageToken": {
							"location": "querystring",
							"locationName": "PageToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Jobs": {
							"shape": "S3v"
						},
						"NextPageToken": {}
					}
				}
			},
			"ListPipelines": {
				"http": {
					"method": "GET",
					"requestUri": "/2012-09-25/pipelines"
				},
				"input": {
					"type": "structure",
					"members": {
						"Ascending": {
							"location": "querystring",
							"locationName": "Ascending"
						},
						"PageToken": {
							"location": "querystring",
							"locationName": "PageToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Pipelines": {
							"type": "list",
							"member": {
								"shape": "S2l"
							}
						},
						"NextPageToken": {}
					}
				}
			},
			"ListPresets": {
				"http": {
					"method": "GET",
					"requestUri": "/2012-09-25/presets"
				},
				"input": {
					"type": "structure",
					"members": {
						"Ascending": {
							"location": "querystring",
							"locationName": "Ascending"
						},
						"PageToken": {
							"location": "querystring",
							"locationName": "PageToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Presets": {
							"type": "list",
							"member": {
								"shape": "S3m"
							}
						},
						"NextPageToken": {}
					}
				}
			},
			"ReadJob": {
				"http": {
					"method": "GET",
					"requestUri": "/2012-09-25/jobs/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Job": {
							"shape": "S1y"
						}
					}
				}
			},
			"ReadPipeline": {
				"http": {
					"method": "GET",
					"requestUri": "/2012-09-25/pipelines/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Pipeline": {
							"shape": "S2l"
						},
						"Warnings": {
							"shape": "S2n"
						}
					}
				}
			},
			"ReadPreset": {
				"http": {
					"method": "GET",
					"requestUri": "/2012-09-25/presets/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Preset": {
							"shape": "S3m"
						}
					}
				}
			},
			"TestRole": {
				"http": {
					"requestUri": "/2012-09-25/roleTests",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"Role",
						"InputBucket",
						"OutputBucket",
						"Topics"
					],
					"members": {
						"Role": {},
						"InputBucket": {},
						"OutputBucket": {},
						"Topics": {
							"type": "list",
							"member": {}
						}
					},
					"deprecated": true
				},
				"output": {
					"type": "structure",
					"members": {
						"Success": {},
						"Messages": {
							"type": "list",
							"member": {}
						}
					},
					"deprecated": true
				},
				"deprecated": true
			},
			"UpdatePipeline": {
				"http": {
					"method": "PUT",
					"requestUri": "/2012-09-25/pipelines/{Id}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"Name": {},
						"InputBucket": {},
						"Role": {},
						"AwsKmsKeyArn": {},
						"Notifications": {
							"shape": "S2a"
						},
						"ContentConfig": {
							"shape": "S2c"
						},
						"ThumbnailConfig": {
							"shape": "S2c"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Pipeline": {
							"shape": "S2l"
						},
						"Warnings": {
							"shape": "S2n"
						}
					}
				}
			},
			"UpdatePipelineNotifications": {
				"http": {
					"requestUri": "/2012-09-25/pipelines/{Id}/notifications"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id",
						"Notifications"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"Notifications": {
							"shape": "S2a"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Pipeline": {
							"shape": "S2l"
						}
					}
				}
			},
			"UpdatePipelineStatus": {
				"http": {
					"requestUri": "/2012-09-25/pipelines/{Id}/status"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id",
						"Status"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"Status": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Pipeline": {
							"shape": "S2l"
						}
					}
				}
			}
		},
		"shapes": {
			"S5": {
				"type": "structure",
				"members": {
					"Key": {},
					"FrameRate": {},
					"Resolution": {},
					"AspectRatio": {},
					"Interlaced": {},
					"Container": {},
					"Encryption": {
						"shape": "Sc"
					},
					"TimeSpan": {
						"shape": "Sg"
					},
					"InputCaptions": {
						"type": "structure",
						"members": {
							"MergePolicy": {},
							"CaptionSources": {
								"shape": "Sk"
							}
						}
					},
					"DetectedProperties": {
						"type": "structure",
						"members": {
							"Width": {
								"type": "integer"
							},
							"Height": {
								"type": "integer"
							},
							"FrameRate": {},
							"FileSize": {
								"type": "long"
							},
							"DurationMillis": {
								"type": "long"
							}
						}
					}
				}
			},
			"Sc": {
				"type": "structure",
				"members": {
					"Mode": {},
					"Key": {},
					"KeyMd5": {},
					"InitializationVector": {}
				}
			},
			"Sg": {
				"type": "structure",
				"members": {
					"StartTime": {},
					"Duration": {}
				}
			},
			"Sk": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Language": {},
						"TimeOffset": {},
						"Label": {},
						"Encryption": {
							"shape": "Sc"
						}
					}
				}
			},
			"St": {
				"type": "list",
				"member": {
					"shape": "S5"
				}
			},
			"Su": {
				"type": "structure",
				"members": {
					"Key": {},
					"ThumbnailPattern": {},
					"ThumbnailEncryption": {
						"shape": "Sc"
					},
					"Rotate": {},
					"PresetId": {},
					"SegmentDuration": {},
					"Watermarks": {
						"shape": "Sx"
					},
					"AlbumArt": {
						"shape": "S11"
					},
					"Composition": {
						"shape": "S19",
						"deprecated": true
					},
					"Captions": {
						"shape": "S1b"
					},
					"Encryption": {
						"shape": "Sc"
					}
				}
			},
			"Sx": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"PresetWatermarkId": {},
						"InputKey": {},
						"Encryption": {
							"shape": "Sc"
						}
					}
				}
			},
			"S11": {
				"type": "structure",
				"members": {
					"MergePolicy": {},
					"Artwork": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"InputKey": {},
								"MaxWidth": {},
								"MaxHeight": {},
								"SizingPolicy": {},
								"PaddingPolicy": {},
								"AlbumArtFormat": {},
								"Encryption": {
									"shape": "Sc"
								}
							}
						}
					}
				}
			},
			"S19": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"TimeSpan": {
							"shape": "Sg"
						}
					},
					"deprecated": true
				},
				"deprecated": true
			},
			"S1b": {
				"type": "structure",
				"members": {
					"MergePolicy": {
						"deprecated": true
					},
					"CaptionSources": {
						"shape": "Sk",
						"deprecated": true
					},
					"CaptionFormats": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"Format": {},
								"Pattern": {},
								"Encryption": {
									"shape": "Sc"
								}
							}
						}
					}
				}
			},
			"S1l": {
				"type": "list",
				"member": {}
			},
			"S1m": {
				"type": "structure",
				"members": {
					"Method": {},
					"Key": {},
					"KeyMd5": {},
					"InitializationVector": {},
					"LicenseAcquisitionUrl": {},
					"KeyStoragePolicy": {}
				}
			},
			"S1q": {
				"type": "structure",
				"members": {
					"Format": {},
					"Key": {},
					"KeyMd5": {},
					"KeyId": {},
					"InitializationVector": {},
					"LicenseAcquisitionUrl": {}
				}
			},
			"S1v": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1y": {
				"type": "structure",
				"members": {
					"Id": {},
					"Arn": {},
					"PipelineId": {},
					"Input": {
						"shape": "S5"
					},
					"Inputs": {
						"shape": "St"
					},
					"Output": {
						"shape": "S1z"
					},
					"Outputs": {
						"type": "list",
						"member": {
							"shape": "S1z"
						}
					},
					"OutputKeyPrefix": {},
					"Playlists": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"Name": {},
								"Format": {},
								"OutputKeys": {
									"shape": "S1l"
								},
								"HlsContentProtection": {
									"shape": "S1m"
								},
								"PlayReadyDrm": {
									"shape": "S1q"
								},
								"Status": {},
								"StatusDetail": {}
							}
						}
					},
					"Status": {},
					"UserMetadata": {
						"shape": "S1v"
					},
					"Timing": {
						"type": "structure",
						"members": {
							"SubmitTimeMillis": {
								"type": "long"
							},
							"StartTimeMillis": {
								"type": "long"
							},
							"FinishTimeMillis": {
								"type": "long"
							}
						}
					}
				}
			},
			"S1z": {
				"type": "structure",
				"members": {
					"Id": {},
					"Key": {},
					"ThumbnailPattern": {},
					"ThumbnailEncryption": {
						"shape": "Sc"
					},
					"Rotate": {},
					"PresetId": {},
					"SegmentDuration": {},
					"Status": {},
					"StatusDetail": {},
					"Duration": {
						"type": "long"
					},
					"Width": {
						"type": "integer"
					},
					"Height": {
						"type": "integer"
					},
					"FrameRate": {},
					"FileSize": {
						"type": "long"
					},
					"DurationMillis": {
						"type": "long"
					},
					"Watermarks": {
						"shape": "Sx"
					},
					"AlbumArt": {
						"shape": "S11"
					},
					"Composition": {
						"shape": "S19",
						"deprecated": true
					},
					"Captions": {
						"shape": "S1b"
					},
					"Encryption": {
						"shape": "Sc"
					},
					"AppliedColorSpaceConversion": {}
				}
			},
			"S2a": {
				"type": "structure",
				"members": {
					"Progressing": {},
					"Completed": {},
					"Warning": {},
					"Error": {}
				}
			},
			"S2c": {
				"type": "structure",
				"members": {
					"Bucket": {},
					"StorageClass": {},
					"Permissions": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"GranteeType": {},
								"Grantee": {},
								"Access": {
									"type": "list",
									"member": {}
								}
							}
						}
					}
				}
			},
			"S2l": {
				"type": "structure",
				"members": {
					"Id": {},
					"Arn": {},
					"Name": {},
					"Status": {},
					"InputBucket": {},
					"OutputBucket": {},
					"Role": {},
					"AwsKmsKeyArn": {},
					"Notifications": {
						"shape": "S2a"
					},
					"ContentConfig": {
						"shape": "S2c"
					},
					"ThumbnailConfig": {
						"shape": "S2c"
					}
				}
			},
			"S2n": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Code": {},
						"Message": {}
					}
				}
			},
			"S2r": {
				"type": "structure",
				"members": {
					"Codec": {},
					"CodecOptions": {
						"type": "map",
						"key": {},
						"value": {}
					},
					"KeyframesMaxDist": {},
					"FixedGOP": {},
					"BitRate": {},
					"FrameRate": {},
					"MaxFrameRate": {},
					"Resolution": {},
					"AspectRatio": {},
					"MaxWidth": {},
					"MaxHeight": {},
					"DisplayAspectRatio": {},
					"SizingPolicy": {},
					"PaddingPolicy": {},
					"Watermarks": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"Id": {},
								"MaxWidth": {},
								"MaxHeight": {},
								"SizingPolicy": {},
								"HorizontalAlign": {},
								"HorizontalOffset": {},
								"VerticalAlign": {},
								"VerticalOffset": {},
								"Opacity": {},
								"Target": {}
							}
						}
					}
				}
			},
			"S37": {
				"type": "structure",
				"members": {
					"Codec": {},
					"SampleRate": {},
					"BitRate": {},
					"Channels": {},
					"AudioPackingMode": {},
					"CodecOptions": {
						"type": "structure",
						"members": {
							"Profile": {},
							"BitDepth": {},
							"BitOrder": {},
							"Signed": {}
						}
					}
				}
			},
			"S3i": {
				"type": "structure",
				"members": {
					"Format": {},
					"Interval": {},
					"Resolution": {},
					"AspectRatio": {},
					"MaxWidth": {},
					"MaxHeight": {},
					"SizingPolicy": {},
					"PaddingPolicy": {}
				}
			},
			"S3m": {
				"type": "structure",
				"members": {
					"Id": {},
					"Arn": {},
					"Name": {},
					"Description": {},
					"Container": {},
					"Audio": {
						"shape": "S37"
					},
					"Video": {
						"shape": "S2r"
					},
					"Thumbnails": {
						"shape": "S3i"
					},
					"Type": {}
				}
			},
			"S3v": {
				"type": "list",
				"member": {
					"shape": "S1y"
				}
			}
		}
	};

/***/ }),
/* 458 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListJobsByPipeline": {
				"input_token": "PageToken",
				"output_token": "NextPageToken",
				"result_key": "Jobs"
			},
			"ListJobsByStatus": {
				"input_token": "PageToken",
				"output_token": "NextPageToken",
				"result_key": "Jobs"
			},
			"ListPipelines": {
				"input_token": "PageToken",
				"output_token": "NextPageToken",
				"result_key": "Pipelines"
			},
			"ListPresets": {
				"input_token": "PageToken",
				"output_token": "NextPageToken",
				"result_key": "Presets"
			}
		}
	};

/***/ }),
/* 459 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"JobComplete": {
				"delay": 30,
				"operation": "ReadJob",
				"maxAttempts": 120,
				"acceptors": [
					{
						"expected": "Complete",
						"matcher": "path",
						"state": "success",
						"argument": "Job.Status"
					},
					{
						"expected": "Canceled",
						"matcher": "path",
						"state": "failure",
						"argument": "Job.Status"
					},
					{
						"expected": "Error",
						"matcher": "path",
						"state": "failure",
						"argument": "Job.Status"
					}
				]
			}
		}
	};

/***/ }),
/* 460 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['firehose'] = {};
	AWS.Firehose = Service.defineService('firehose', ['2015-08-04']);
	Object.defineProperty(apiLoader.services['firehose'], '2015-08-04', {
	  get: function get() {
	    var model = __webpack_require__(461);
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Firehose;


/***/ }),
/* 461 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-08-04",
			"endpointPrefix": "firehose",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Firehose",
			"serviceFullName": "Amazon Kinesis Firehose",
			"signatureVersion": "v4",
			"targetPrefix": "Firehose_20150804",
			"uid": "firehose-2015-08-04"
		},
		"operations": {
			"CreateDeliveryStream": {
				"input": {
					"type": "structure",
					"required": [
						"DeliveryStreamName"
					],
					"members": {
						"DeliveryStreamName": {},
						"S3DestinationConfiguration": {
							"shape": "S3",
							"deprecated": true
						},
						"ExtendedS3DestinationConfiguration": {
							"type": "structure",
							"required": [
								"RoleARN",
								"BucketARN"
							],
							"members": {
								"RoleARN": {},
								"BucketARN": {},
								"Prefix": {},
								"BufferingHints": {
									"shape": "S7"
								},
								"CompressionFormat": {},
								"EncryptionConfiguration": {
									"shape": "Sb"
								},
								"CloudWatchLoggingOptions": {
									"shape": "Sf"
								},
								"ProcessingConfiguration": {
									"shape": "Sk"
								},
								"S3BackupMode": {},
								"S3BackupConfiguration": {
									"shape": "S3"
								}
							}
						},
						"RedshiftDestinationConfiguration": {
							"type": "structure",
							"required": [
								"RoleARN",
								"ClusterJDBCURL",
								"CopyCommand",
								"Username",
								"Password",
								"S3Configuration"
							],
							"members": {
								"RoleARN": {},
								"ClusterJDBCURL": {},
								"CopyCommand": {
									"shape": "Sv"
								},
								"Username": {
									"shape": "Sz"
								},
								"Password": {
									"shape": "S10"
								},
								"RetryOptions": {
									"shape": "S11"
								},
								"S3Configuration": {
									"shape": "S3"
								},
								"ProcessingConfiguration": {
									"shape": "Sk"
								},
								"S3BackupMode": {},
								"S3BackupConfiguration": {
									"shape": "S3"
								},
								"CloudWatchLoggingOptions": {
									"shape": "Sf"
								}
							}
						},
						"ElasticsearchDestinationConfiguration": {
							"type": "structure",
							"required": [
								"RoleARN",
								"DomainARN",
								"IndexName",
								"TypeName",
								"S3Configuration"
							],
							"members": {
								"RoleARN": {},
								"DomainARN": {},
								"IndexName": {},
								"TypeName": {},
								"IndexRotationPeriod": {},
								"BufferingHints": {
									"shape": "S19"
								},
								"RetryOptions": {
									"shape": "S1c"
								},
								"S3BackupMode": {},
								"S3Configuration": {
									"shape": "S3"
								},
								"ProcessingConfiguration": {
									"shape": "Sk"
								},
								"CloudWatchLoggingOptions": {
									"shape": "Sf"
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DeliveryStreamARN": {}
					}
				}
			},
			"DeleteDeliveryStream": {
				"input": {
					"type": "structure",
					"required": [
						"DeliveryStreamName"
					],
					"members": {
						"DeliveryStreamName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeDeliveryStream": {
				"input": {
					"type": "structure",
					"required": [
						"DeliveryStreamName"
					],
					"members": {
						"DeliveryStreamName": {},
						"Limit": {
							"type": "integer"
						},
						"ExclusiveStartDestinationId": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DeliveryStreamDescription"
					],
					"members": {
						"DeliveryStreamDescription": {
							"type": "structure",
							"required": [
								"DeliveryStreamName",
								"DeliveryStreamARN",
								"DeliveryStreamStatus",
								"VersionId",
								"Destinations",
								"HasMoreDestinations"
							],
							"members": {
								"DeliveryStreamName": {},
								"DeliveryStreamARN": {},
								"DeliveryStreamStatus": {},
								"VersionId": {},
								"CreateTimestamp": {
									"type": "timestamp"
								},
								"LastUpdateTimestamp": {
									"type": "timestamp"
								},
								"Destinations": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"DestinationId"
										],
										"members": {
											"DestinationId": {},
											"S3DestinationDescription": {
												"shape": "S1t"
											},
											"ExtendedS3DestinationDescription": {
												"type": "structure",
												"required": [
													"RoleARN",
													"BucketARN",
													"BufferingHints",
													"CompressionFormat",
													"EncryptionConfiguration"
												],
												"members": {
													"RoleARN": {},
													"BucketARN": {},
													"Prefix": {},
													"BufferingHints": {
														"shape": "S7"
													},
													"CompressionFormat": {},
													"EncryptionConfiguration": {
														"shape": "Sb"
													},
													"CloudWatchLoggingOptions": {
														"shape": "Sf"
													},
													"ProcessingConfiguration": {
														"shape": "Sk"
													},
													"S3BackupMode": {},
													"S3BackupDescription": {
														"shape": "S1t"
													}
												}
											},
											"RedshiftDestinationDescription": {
												"type": "structure",
												"required": [
													"RoleARN",
													"ClusterJDBCURL",
													"CopyCommand",
													"Username",
													"S3DestinationDescription"
												],
												"members": {
													"RoleARN": {},
													"ClusterJDBCURL": {},
													"CopyCommand": {
														"shape": "Sv"
													},
													"Username": {
														"shape": "Sz"
													},
													"RetryOptions": {
														"shape": "S11"
													},
													"S3DestinationDescription": {
														"shape": "S1t"
													},
													"ProcessingConfiguration": {
														"shape": "Sk"
													},
													"S3BackupMode": {},
													"S3BackupDescription": {
														"shape": "S1t"
													},
													"CloudWatchLoggingOptions": {
														"shape": "Sf"
													}
												}
											},
											"ElasticsearchDestinationDescription": {
												"type": "structure",
												"members": {
													"RoleARN": {},
													"DomainARN": {},
													"IndexName": {},
													"TypeName": {},
													"IndexRotationPeriod": {},
													"BufferingHints": {
														"shape": "S19"
													},
													"RetryOptions": {
														"shape": "S1c"
													},
													"S3BackupMode": {},
													"S3DestinationDescription": {
														"shape": "S1t"
													},
													"ProcessingConfiguration": {
														"shape": "Sk"
													},
													"CloudWatchLoggingOptions": {
														"shape": "Sf"
													}
												}
											}
										}
									}
								},
								"HasMoreDestinations": {
									"type": "boolean"
								}
							}
						}
					}
				}
			},
			"ListDeliveryStreams": {
				"input": {
					"type": "structure",
					"members": {
						"Limit": {
							"type": "integer"
						},
						"ExclusiveStartDeliveryStreamName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DeliveryStreamNames",
						"HasMoreDeliveryStreams"
					],
					"members": {
						"DeliveryStreamNames": {
							"type": "list",
							"member": {}
						},
						"HasMoreDeliveryStreams": {
							"type": "boolean"
						}
					}
				}
			},
			"PutRecord": {
				"input": {
					"type": "structure",
					"required": [
						"DeliveryStreamName",
						"Record"
					],
					"members": {
						"DeliveryStreamName": {},
						"Record": {
							"shape": "S22"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"RecordId"
					],
					"members": {
						"RecordId": {}
					}
				}
			},
			"PutRecordBatch": {
				"input": {
					"type": "structure",
					"required": [
						"DeliveryStreamName",
						"Records"
					],
					"members": {
						"DeliveryStreamName": {},
						"Records": {
							"type": "list",
							"member": {
								"shape": "S22"
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"FailedPutCount",
						"RequestResponses"
					],
					"members": {
						"FailedPutCount": {
							"type": "integer"
						},
						"RequestResponses": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"RecordId": {},
									"ErrorCode": {},
									"ErrorMessage": {}
								}
							}
						}
					}
				}
			},
			"UpdateDestination": {
				"input": {
					"type": "structure",
					"required": [
						"DeliveryStreamName",
						"CurrentDeliveryStreamVersionId",
						"DestinationId"
					],
					"members": {
						"DeliveryStreamName": {},
						"CurrentDeliveryStreamVersionId": {},
						"DestinationId": {},
						"S3DestinationUpdate": {
							"shape": "S2f",
							"deprecated": true
						},
						"ExtendedS3DestinationUpdate": {
							"type": "structure",
							"members": {
								"RoleARN": {},
								"BucketARN": {},
								"Prefix": {},
								"BufferingHints": {
									"shape": "S7"
								},
								"CompressionFormat": {},
								"EncryptionConfiguration": {
									"shape": "Sb"
								},
								"CloudWatchLoggingOptions": {
									"shape": "Sf"
								},
								"ProcessingConfiguration": {
									"shape": "Sk"
								},
								"S3BackupMode": {},
								"S3BackupUpdate": {
									"shape": "S2f"
								}
							}
						},
						"RedshiftDestinationUpdate": {
							"type": "structure",
							"members": {
								"RoleARN": {},
								"ClusterJDBCURL": {},
								"CopyCommand": {
									"shape": "Sv"
								},
								"Username": {
									"shape": "Sz"
								},
								"Password": {
									"shape": "S10"
								},
								"RetryOptions": {
									"shape": "S11"
								},
								"S3Update": {
									"shape": "S2f"
								},
								"ProcessingConfiguration": {
									"shape": "Sk"
								},
								"S3BackupMode": {},
								"S3BackupUpdate": {
									"shape": "S2f"
								},
								"CloudWatchLoggingOptions": {
									"shape": "Sf"
								}
							}
						},
						"ElasticsearchDestinationUpdate": {
							"type": "structure",
							"members": {
								"RoleARN": {},
								"DomainARN": {},
								"IndexName": {},
								"TypeName": {},
								"IndexRotationPeriod": {},
								"BufferingHints": {
									"shape": "S19"
								},
								"RetryOptions": {
									"shape": "S1c"
								},
								"S3Update": {
									"shape": "S2f"
								},
								"ProcessingConfiguration": {
									"shape": "Sk"
								},
								"CloudWatchLoggingOptions": {
									"shape": "Sf"
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "structure",
				"required": [
					"RoleARN",
					"BucketARN"
				],
				"members": {
					"RoleARN": {},
					"BucketARN": {},
					"Prefix": {},
					"BufferingHints": {
						"shape": "S7"
					},
					"CompressionFormat": {},
					"EncryptionConfiguration": {
						"shape": "Sb"
					},
					"CloudWatchLoggingOptions": {
						"shape": "Sf"
					}
				}
			},
			"S7": {
				"type": "structure",
				"members": {
					"SizeInMBs": {
						"type": "integer"
					},
					"IntervalInSeconds": {
						"type": "integer"
					}
				}
			},
			"Sb": {
				"type": "structure",
				"members": {
					"NoEncryptionConfig": {},
					"KMSEncryptionConfig": {
						"type": "structure",
						"required": [
							"AWSKMSKeyARN"
						],
						"members": {
							"AWSKMSKeyARN": {}
						}
					}
				}
			},
			"Sf": {
				"type": "structure",
				"members": {
					"Enabled": {
						"type": "boolean"
					},
					"LogGroupName": {},
					"LogStreamName": {}
				}
			},
			"Sk": {
				"type": "structure",
				"members": {
					"Enabled": {
						"type": "boolean"
					},
					"Processors": {
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"Type"
							],
							"members": {
								"Type": {},
								"Parameters": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"ParameterName",
											"ParameterValue"
										],
										"members": {
											"ParameterName": {},
											"ParameterValue": {}
										}
									}
								}
							}
						}
					}
				}
			},
			"Sv": {
				"type": "structure",
				"required": [
					"DataTableName"
				],
				"members": {
					"DataTableName": {},
					"DataTableColumns": {},
					"CopyOptions": {}
				}
			},
			"Sz": {
				"type": "string",
				"sensitive": true
			},
			"S10": {
				"type": "string",
				"sensitive": true
			},
			"S11": {
				"type": "structure",
				"members": {
					"DurationInSeconds": {
						"type": "integer"
					}
				}
			},
			"S19": {
				"type": "structure",
				"members": {
					"IntervalInSeconds": {
						"type": "integer"
					},
					"SizeInMBs": {
						"type": "integer"
					}
				}
			},
			"S1c": {
				"type": "structure",
				"members": {
					"DurationInSeconds": {
						"type": "integer"
					}
				}
			},
			"S1t": {
				"type": "structure",
				"required": [
					"RoleARN",
					"BucketARN",
					"BufferingHints",
					"CompressionFormat",
					"EncryptionConfiguration"
				],
				"members": {
					"RoleARN": {},
					"BucketARN": {},
					"Prefix": {},
					"BufferingHints": {
						"shape": "S7"
					},
					"CompressionFormat": {},
					"EncryptionConfiguration": {
						"shape": "Sb"
					},
					"CloudWatchLoggingOptions": {
						"shape": "Sf"
					}
				}
			},
			"S22": {
				"type": "structure",
				"required": [
					"Data"
				],
				"members": {
					"Data": {
						"type": "blob"
					}
				}
			},
			"S2f": {
				"type": "structure",
				"members": {
					"RoleARN": {},
					"BucketARN": {},
					"Prefix": {},
					"BufferingHints": {
						"shape": "S7"
					},
					"CompressionFormat": {},
					"EncryptionConfiguration": {
						"shape": "Sb"
					},
					"CloudWatchLoggingOptions": {
						"shape": "Sf"
					}
				}
			}
		}
	};

/***/ }),
/* 462 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['gamelift'] = {};
	AWS.GameLift = Service.defineService('gamelift', ['2015-10-01']);
	Object.defineProperty(apiLoader.services['gamelift'], '2015-10-01', {
	  get: function get() {
	    var model = __webpack_require__(463);
	    model.paginators = __webpack_require__(464).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.GameLift;


/***/ }),
/* 463 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-10-01",
			"endpointPrefix": "gamelift",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon GameLift",
			"signatureVersion": "v4",
			"targetPrefix": "GameLift",
			"uid": "gamelift-2015-10-01"
		},
		"operations": {
			"CreateAlias": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"RoutingStrategy"
					],
					"members": {
						"Name": {},
						"Description": {},
						"RoutingStrategy": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Alias": {
							"shape": "S9"
						}
					}
				}
			},
			"CreateBuild": {
				"input": {
					"type": "structure",
					"members": {
						"Name": {},
						"Version": {},
						"StorageLocation": {
							"shape": "Se"
						},
						"OperatingSystem": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Build": {
							"shape": "Si"
						},
						"UploadCredentials": {
							"shape": "Sm"
						},
						"StorageLocation": {
							"shape": "Se"
						}
					}
				}
			},
			"CreateFleet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"BuildId",
						"EC2InstanceType"
					],
					"members": {
						"Name": {},
						"Description": {},
						"BuildId": {},
						"ServerLaunchPath": {},
						"ServerLaunchParameters": {},
						"LogPaths": {
							"shape": "So"
						},
						"EC2InstanceType": {},
						"EC2InboundPermissions": {
							"shape": "Sq"
						},
						"NewGameSessionProtectionPolicy": {},
						"RuntimeConfiguration": {
							"shape": "Sw"
						},
						"ResourceCreationLimitPolicy": {
							"shape": "S12"
						},
						"MetricGroups": {
							"shape": "S14"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FleetAttributes": {
							"shape": "S17"
						}
					}
				}
			},
			"CreateGameSession": {
				"input": {
					"type": "structure",
					"required": [
						"MaximumPlayerSessionCount"
					],
					"members": {
						"FleetId": {},
						"AliasId": {},
						"MaximumPlayerSessionCount": {
							"type": "integer"
						},
						"Name": {},
						"GameProperties": {
							"shape": "S1a"
						},
						"CreatorId": {},
						"GameSessionId": {},
						"IdempotencyToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GameSession": {
							"shape": "S1g"
						}
					}
				}
			},
			"CreateGameSessionQueue": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"TimeoutInSeconds": {
							"type": "integer"
						},
						"PlayerLatencyPolicies": {
							"shape": "S1m"
						},
						"Destinations": {
							"shape": "S1o"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GameSessionQueue": {
							"shape": "S1r"
						}
					}
				}
			},
			"CreatePlayerSession": {
				"input": {
					"type": "structure",
					"required": [
						"GameSessionId",
						"PlayerId"
					],
					"members": {
						"GameSessionId": {},
						"PlayerId": {},
						"PlayerData": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PlayerSession": {
							"shape": "S1v"
						}
					}
				}
			},
			"CreatePlayerSessions": {
				"input": {
					"type": "structure",
					"required": [
						"GameSessionId",
						"PlayerIds"
					],
					"members": {
						"GameSessionId": {},
						"PlayerIds": {
							"type": "list",
							"member": {}
						},
						"PlayerDataMap": {
							"type": "map",
							"key": {},
							"value": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PlayerSessions": {
							"shape": "S22"
						}
					}
				}
			},
			"DeleteAlias": {
				"input": {
					"type": "structure",
					"required": [
						"AliasId"
					],
					"members": {
						"AliasId": {}
					}
				}
			},
			"DeleteBuild": {
				"input": {
					"type": "structure",
					"required": [
						"BuildId"
					],
					"members": {
						"BuildId": {}
					}
				}
			},
			"DeleteFleet": {
				"input": {
					"type": "structure",
					"required": [
						"FleetId"
					],
					"members": {
						"FleetId": {}
					}
				}
			},
			"DeleteGameSessionQueue": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteScalingPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"FleetId"
					],
					"members": {
						"Name": {},
						"FleetId": {}
					}
				}
			},
			"DescribeAlias": {
				"input": {
					"type": "structure",
					"required": [
						"AliasId"
					],
					"members": {
						"AliasId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Alias": {
							"shape": "S9"
						}
					}
				}
			},
			"DescribeBuild": {
				"input": {
					"type": "structure",
					"required": [
						"BuildId"
					],
					"members": {
						"BuildId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Build": {
							"shape": "Si"
						}
					}
				}
			},
			"DescribeEC2InstanceLimits": {
				"input": {
					"type": "structure",
					"members": {
						"EC2InstanceType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EC2InstanceLimits": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"EC2InstanceType": {},
									"CurrentInstances": {
										"type": "integer"
									},
									"InstanceLimit": {
										"type": "integer"
									}
								}
							}
						}
					}
				}
			},
			"DescribeFleetAttributes": {
				"input": {
					"type": "structure",
					"members": {
						"FleetIds": {
							"shape": "S2i"
						},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FleetAttributes": {
							"type": "list",
							"member": {
								"shape": "S17"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeFleetCapacity": {
				"input": {
					"type": "structure",
					"members": {
						"FleetIds": {
							"shape": "S2i"
						},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FleetCapacity": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"FleetId": {},
									"InstanceType": {},
									"InstanceCounts": {
										"type": "structure",
										"members": {
											"DESIRED": {
												"type": "integer"
											},
											"MINIMUM": {
												"type": "integer"
											},
											"MAXIMUM": {
												"type": "integer"
											},
											"PENDING": {
												"type": "integer"
											},
											"ACTIVE": {
												"type": "integer"
											},
											"IDLE": {
												"type": "integer"
											},
											"TERMINATING": {
												"type": "integer"
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeFleetEvents": {
				"input": {
					"type": "structure",
					"required": [
						"FleetId"
					],
					"members": {
						"FleetId": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Events": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"EventId": {},
									"ResourceId": {},
									"EventCode": {},
									"Message": {},
									"EventTime": {
										"type": "timestamp"
									},
									"PreSignedLogUrl": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeFleetPortSettings": {
				"input": {
					"type": "structure",
					"required": [
						"FleetId"
					],
					"members": {
						"FleetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InboundPermissions": {
							"shape": "Sq"
						}
					}
				}
			},
			"DescribeFleetUtilization": {
				"input": {
					"type": "structure",
					"members": {
						"FleetIds": {
							"shape": "S2i"
						},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FleetUtilization": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"FleetId": {},
									"ActiveServerProcessCount": {
										"type": "integer"
									},
									"ActiveGameSessionCount": {
										"type": "integer"
									},
									"CurrentPlayerSessionCount": {
										"type": "integer"
									},
									"MaximumPlayerSessionCount": {
										"type": "integer"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeGameSessionDetails": {
				"input": {
					"type": "structure",
					"members": {
						"FleetId": {},
						"GameSessionId": {},
						"AliasId": {},
						"StatusFilter": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GameSessionDetails": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"GameSession": {
										"shape": "S1g"
									},
									"ProtectionPolicy": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeGameSessionPlacement": {
				"input": {
					"type": "structure",
					"required": [
						"PlacementId"
					],
					"members": {
						"PlacementId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GameSessionPlacement": {
							"shape": "S37"
						}
					}
				}
			},
			"DescribeGameSessionQueues": {
				"input": {
					"type": "structure",
					"members": {
						"Names": {
							"type": "list",
							"member": {}
						},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GameSessionQueues": {
							"type": "list",
							"member": {
								"shape": "S1r"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeGameSessions": {
				"input": {
					"type": "structure",
					"members": {
						"FleetId": {},
						"GameSessionId": {},
						"AliasId": {},
						"StatusFilter": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GameSessions": {
							"shape": "S3k"
						},
						"NextToken": {}
					}
				}
			},
			"DescribeInstances": {
				"input": {
					"type": "structure",
					"required": [
						"FleetId"
					],
					"members": {
						"FleetId": {},
						"InstanceId": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Instances": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"FleetId": {},
									"InstanceId": {},
									"IpAddress": {},
									"OperatingSystem": {},
									"Type": {},
									"Status": {},
									"CreationTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribePlayerSessions": {
				"input": {
					"type": "structure",
					"members": {
						"GameSessionId": {},
						"PlayerId": {},
						"PlayerSessionId": {},
						"PlayerSessionStatusFilter": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PlayerSessions": {
							"shape": "S22"
						},
						"NextToken": {}
					}
				}
			},
			"DescribeRuntimeConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"FleetId"
					],
					"members": {
						"FleetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RuntimeConfiguration": {
							"shape": "Sw"
						}
					}
				}
			},
			"DescribeScalingPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"FleetId"
					],
					"members": {
						"FleetId": {},
						"StatusFilter": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ScalingPolicies": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"FleetId": {},
									"Name": {},
									"Status": {},
									"ScalingAdjustment": {
										"type": "integer"
									},
									"ScalingAdjustmentType": {},
									"ComparisonOperator": {},
									"Threshold": {
										"type": "double"
									},
									"EvaluationPeriods": {
										"type": "integer"
									},
									"MetricName": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"GetGameSessionLogUrl": {
				"input": {
					"type": "structure",
					"required": [
						"GameSessionId"
					],
					"members": {
						"GameSessionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PreSignedUrl": {}
					}
				}
			},
			"GetInstanceAccess": {
				"input": {
					"type": "structure",
					"required": [
						"FleetId",
						"InstanceId"
					],
					"members": {
						"FleetId": {},
						"InstanceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceAccess": {
							"type": "structure",
							"members": {
								"FleetId": {},
								"InstanceId": {},
								"IpAddress": {},
								"OperatingSystem": {},
								"Credentials": {
									"type": "structure",
									"members": {
										"UserName": {},
										"Secret": {}
									},
									"sensitive": true
								}
							}
						}
					}
				}
			},
			"ListAliases": {
				"input": {
					"type": "structure",
					"members": {
						"RoutingStrategyType": {},
						"Name": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Aliases": {
							"type": "list",
							"member": {
								"shape": "S9"
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListBuilds": {
				"input": {
					"type": "structure",
					"members": {
						"Status": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Builds": {
							"type": "list",
							"member": {
								"shape": "Si"
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListFleets": {
				"input": {
					"type": "structure",
					"members": {
						"BuildId": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FleetIds": {
							"shape": "S2i"
						},
						"NextToken": {}
					}
				}
			},
			"PutScalingPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"FleetId",
						"ScalingAdjustment",
						"ScalingAdjustmentType",
						"Threshold",
						"ComparisonOperator",
						"EvaluationPeriods",
						"MetricName"
					],
					"members": {
						"Name": {},
						"FleetId": {},
						"ScalingAdjustment": {
							"type": "integer"
						},
						"ScalingAdjustmentType": {},
						"Threshold": {
							"type": "double"
						},
						"ComparisonOperator": {},
						"EvaluationPeriods": {
							"type": "integer"
						},
						"MetricName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Name": {}
					}
				}
			},
			"RequestUploadCredentials": {
				"input": {
					"type": "structure",
					"required": [
						"BuildId"
					],
					"members": {
						"BuildId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UploadCredentials": {
							"shape": "Sm"
						},
						"StorageLocation": {
							"shape": "Se"
						}
					}
				}
			},
			"ResolveAlias": {
				"input": {
					"type": "structure",
					"required": [
						"AliasId"
					],
					"members": {
						"AliasId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FleetId": {}
					}
				}
			},
			"SearchGameSessions": {
				"input": {
					"type": "structure",
					"members": {
						"FleetId": {},
						"AliasId": {},
						"FilterExpression": {},
						"SortExpression": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GameSessions": {
							"shape": "S3k"
						},
						"NextToken": {}
					}
				}
			},
			"StartGameSessionPlacement": {
				"input": {
					"type": "structure",
					"required": [
						"PlacementId",
						"GameSessionQueueName",
						"MaximumPlayerSessionCount"
					],
					"members": {
						"PlacementId": {},
						"GameSessionQueueName": {},
						"GameProperties": {
							"shape": "S1a"
						},
						"MaximumPlayerSessionCount": {
							"type": "integer"
						},
						"GameSessionName": {},
						"PlayerLatencies": {
							"shape": "S39"
						},
						"DesiredPlayerSessions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"PlayerId": {},
									"PlayerData": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GameSessionPlacement": {
							"shape": "S37"
						}
					}
				}
			},
			"StopGameSessionPlacement": {
				"input": {
					"type": "structure",
					"required": [
						"PlacementId"
					],
					"members": {
						"PlacementId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GameSessionPlacement": {
							"shape": "S37"
						}
					}
				}
			},
			"UpdateAlias": {
				"input": {
					"type": "structure",
					"required": [
						"AliasId"
					],
					"members": {
						"AliasId": {},
						"Name": {},
						"Description": {},
						"RoutingStrategy": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Alias": {
							"shape": "S9"
						}
					}
				}
			},
			"UpdateBuild": {
				"input": {
					"type": "structure",
					"required": [
						"BuildId"
					],
					"members": {
						"BuildId": {},
						"Name": {},
						"Version": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Build": {
							"shape": "Si"
						}
					}
				}
			},
			"UpdateFleetAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"FleetId"
					],
					"members": {
						"FleetId": {},
						"Name": {},
						"Description": {},
						"NewGameSessionProtectionPolicy": {},
						"ResourceCreationLimitPolicy": {
							"shape": "S12"
						},
						"MetricGroups": {
							"shape": "S14"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FleetId": {}
					}
				}
			},
			"UpdateFleetCapacity": {
				"input": {
					"type": "structure",
					"required": [
						"FleetId"
					],
					"members": {
						"FleetId": {},
						"DesiredInstances": {
							"type": "integer"
						},
						"MinSize": {
							"type": "integer"
						},
						"MaxSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FleetId": {}
					}
				}
			},
			"UpdateFleetPortSettings": {
				"input": {
					"type": "structure",
					"required": [
						"FleetId"
					],
					"members": {
						"FleetId": {},
						"InboundPermissionAuthorizations": {
							"shape": "Sq"
						},
						"InboundPermissionRevocations": {
							"shape": "Sq"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FleetId": {}
					}
				}
			},
			"UpdateGameSession": {
				"input": {
					"type": "structure",
					"required": [
						"GameSessionId"
					],
					"members": {
						"GameSessionId": {},
						"MaximumPlayerSessionCount": {
							"type": "integer"
						},
						"Name": {},
						"PlayerSessionCreationPolicy": {},
						"ProtectionPolicy": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GameSession": {
							"shape": "S1g"
						}
					}
				}
			},
			"UpdateGameSessionQueue": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"TimeoutInSeconds": {
							"type": "integer"
						},
						"PlayerLatencyPolicies": {
							"shape": "S1m"
						},
						"Destinations": {
							"shape": "S1o"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GameSessionQueue": {
							"shape": "S1r"
						}
					}
				}
			},
			"UpdateRuntimeConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"FleetId",
						"RuntimeConfiguration"
					],
					"members": {
						"FleetId": {},
						"RuntimeConfiguration": {
							"shape": "Sw"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RuntimeConfiguration": {
							"shape": "Sw"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"members": {
					"Type": {},
					"FleetId": {},
					"Message": {}
				}
			},
			"S9": {
				"type": "structure",
				"members": {
					"AliasId": {},
					"Name": {},
					"AliasArn": {},
					"Description": {},
					"RoutingStrategy": {
						"shape": "S4"
					},
					"CreationTime": {
						"type": "timestamp"
					},
					"LastUpdatedTime": {
						"type": "timestamp"
					}
				}
			},
			"Se": {
				"type": "structure",
				"members": {
					"Bucket": {},
					"Key": {},
					"RoleArn": {}
				}
			},
			"Si": {
				"type": "structure",
				"members": {
					"BuildId": {},
					"Name": {},
					"Version": {},
					"Status": {},
					"SizeOnDisk": {
						"type": "long"
					},
					"OperatingSystem": {},
					"CreationTime": {
						"type": "timestamp"
					}
				}
			},
			"Sm": {
				"type": "structure",
				"members": {
					"AccessKeyId": {},
					"SecretAccessKey": {},
					"SessionToken": {}
				},
				"sensitive": true
			},
			"So": {
				"type": "list",
				"member": {}
			},
			"Sq": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"FromPort",
						"ToPort",
						"IpRange",
						"Protocol"
					],
					"members": {
						"FromPort": {
							"type": "integer"
						},
						"ToPort": {
							"type": "integer"
						},
						"IpRange": {},
						"Protocol": {}
					}
				}
			},
			"Sw": {
				"type": "structure",
				"members": {
					"ServerProcesses": {
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"LaunchPath",
								"ConcurrentExecutions"
							],
							"members": {
								"LaunchPath": {},
								"Parameters": {},
								"ConcurrentExecutions": {
									"type": "integer"
								}
							}
						}
					},
					"MaxConcurrentGameSessionActivations": {
						"type": "integer"
					},
					"GameSessionActivationTimeoutSeconds": {
						"type": "integer"
					}
				}
			},
			"S12": {
				"type": "structure",
				"members": {
					"NewGameSessionsPerCreator": {
						"type": "integer"
					},
					"PolicyPeriodInMinutes": {
						"type": "integer"
					}
				}
			},
			"S14": {
				"type": "list",
				"member": {}
			},
			"S17": {
				"type": "structure",
				"members": {
					"FleetId": {},
					"FleetArn": {},
					"Description": {},
					"Name": {},
					"CreationTime": {
						"type": "timestamp"
					},
					"TerminationTime": {
						"type": "timestamp"
					},
					"Status": {},
					"BuildId": {},
					"ServerLaunchPath": {},
					"ServerLaunchParameters": {},
					"LogPaths": {
						"shape": "So"
					},
					"NewGameSessionProtectionPolicy": {},
					"OperatingSystem": {},
					"ResourceCreationLimitPolicy": {
						"shape": "S12"
					},
					"MetricGroups": {
						"shape": "S14"
					}
				}
			},
			"S1a": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key",
						"Value"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S1g": {
				"type": "structure",
				"members": {
					"GameSessionId": {},
					"Name": {},
					"FleetId": {},
					"CreationTime": {
						"type": "timestamp"
					},
					"TerminationTime": {
						"type": "timestamp"
					},
					"CurrentPlayerSessionCount": {
						"type": "integer"
					},
					"MaximumPlayerSessionCount": {
						"type": "integer"
					},
					"Status": {},
					"GameProperties": {
						"shape": "S1a"
					},
					"IpAddress": {},
					"Port": {
						"type": "integer"
					},
					"PlayerSessionCreationPolicy": {},
					"CreatorId": {}
				}
			},
			"S1m": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"MaximumIndividualPlayerLatencyMilliseconds": {
							"type": "integer"
						},
						"PolicyDurationSeconds": {
							"type": "integer"
						}
					}
				}
			},
			"S1o": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"DestinationArn": {}
					}
				}
			},
			"S1r": {
				"type": "structure",
				"members": {
					"Name": {},
					"GameSessionQueueArn": {},
					"TimeoutInSeconds": {
						"type": "integer"
					},
					"PlayerLatencyPolicies": {
						"shape": "S1m"
					},
					"Destinations": {
						"shape": "S1o"
					}
				}
			},
			"S1v": {
				"type": "structure",
				"members": {
					"PlayerSessionId": {},
					"PlayerId": {},
					"GameSessionId": {},
					"FleetId": {},
					"CreationTime": {
						"type": "timestamp"
					},
					"TerminationTime": {
						"type": "timestamp"
					},
					"Status": {},
					"IpAddress": {},
					"Port": {
						"type": "integer"
					},
					"PlayerData": {}
				}
			},
			"S22": {
				"type": "list",
				"member": {
					"shape": "S1v"
				}
			},
			"S2i": {
				"type": "list",
				"member": {}
			},
			"S37": {
				"type": "structure",
				"members": {
					"PlacementId": {},
					"GameSessionQueueName": {},
					"Status": {},
					"GameProperties": {
						"shape": "S1a"
					},
					"MaximumPlayerSessionCount": {
						"type": "integer"
					},
					"GameSessionName": {},
					"GameSessionId": {},
					"GameSessionArn": {},
					"GameSessionRegion": {},
					"PlayerLatencies": {
						"shape": "S39"
					},
					"StartTime": {
						"type": "timestamp"
					},
					"EndTime": {
						"type": "timestamp"
					},
					"IpAddress": {},
					"Port": {
						"type": "integer"
					},
					"PlacedPlayerSessions": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"PlayerId": {},
								"PlayerSessionId": {}
							}
						}
					}
				}
			},
			"S39": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"PlayerId": {},
						"RegionIdentifier": {},
						"LatencyInMilliseconds": {
							"type": "float"
						}
					}
				}
			},
			"S3k": {
				"type": "list",
				"member": {
					"shape": "S1g"
				}
			}
		}
	};

/***/ }),
/* 464 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 465 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['glacier'] = {};
	AWS.Glacier = Service.defineService('glacier', ['2012-06-01']);
	__webpack_require__(466);
	Object.defineProperty(apiLoader.services['glacier'], '2012-06-01', {
	  get: function get() {
	    var model = __webpack_require__(467);
	    model.paginators = __webpack_require__(468).pagination;
	    model.waiters = __webpack_require__(469).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Glacier;


/***/ }),
/* 466 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	AWS.util.update(AWS.Glacier.prototype, {
	  /**
	   * @api private
	   */
	  setupRequestListeners: function setupRequestListeners(request) {
	    if (Array.isArray(request._events.validate)) {
	      request._events.validate.unshift(this.validateAccountId);
	    } else {
	      request.on('validate', this.validateAccountId);
	    }
	    request.removeListener('afterBuild',
	      AWS.EventListeners.Core.COMPUTE_SHA256);
	    request.on('build', this.addGlacierApiVersion);
	    request.on('build', this.addTreeHashHeaders);
	  },

	  /**
	   * @api private
	   */
	  validateAccountId: function validateAccountId(request) {
	    if (request.params.accountId !== undefined) return;
	    request.params = AWS.util.copy(request.params);
	    request.params.accountId = '-';
	  },

	  /**
	   * @api private
	   */
	  addGlacierApiVersion: function addGlacierApiVersion(request) {
	    var version = request.service.api.apiVersion;
	    request.httpRequest.headers['x-amz-glacier-version'] = version;
	  },

	  /**
	   * @api private
	   */
	  addTreeHashHeaders: function addTreeHashHeaders(request) {
	    if (request.params.body === undefined) return;

	    var hashes = request.service.computeChecksums(request.params.body);
	    request.httpRequest.headers['X-Amz-Content-Sha256'] = hashes.linearHash;

	    if (!request.httpRequest.headers['x-amz-sha256-tree-hash']) {
	      request.httpRequest.headers['x-amz-sha256-tree-hash'] = hashes.treeHash;
	    }
	  },

	  /**
	   * @!group Computing Checksums
	   */

	  /**
	   * Computes the SHA-256 linear and tree hash checksums for a given
	   * block of Buffer data. Pass the tree hash of the computed checksums
	   * as the checksum input to the {completeMultipartUpload} when performing
	   * a multi-part upload.
	   *
	   * @example Calculate checksum of 5.5MB data chunk
	   *   var glacier = new AWS.Glacier();
	   *   var data = new Buffer(5.5 * 1024 * 1024);
	   *   data.fill('0'); // fill with zeros
	   *   var results = glacier.computeChecksums(data);
	   *   // Result: { linearHash: '68aff0c5a9...', treeHash: '154e26c78f...' }
	   * @param data [Buffer, String] data to calculate the checksum for
	   * @return [map<linearHash:String,treeHash:String>] a map containing
	   *   the linearHash and treeHash properties representing hex based digests
	   *   of the respective checksums.
	   * @see completeMultipartUpload
	   */
	  computeChecksums: function computeChecksums(data) {
	    if (!AWS.util.Buffer.isBuffer(data)) data = new AWS.util.Buffer(data);

	    var mb = 1024 * 1024;
	    var hashes = [];
	    var hash = AWS.util.crypto.createHash('sha256');

	    // build leaf nodes in 1mb chunks
	    for (var i = 0; i < data.length; i += mb) {
	      var chunk = data.slice(i, Math.min(i + mb, data.length));
	      hash.update(chunk);
	      hashes.push(AWS.util.crypto.sha256(chunk));
	    }

	    return {
	      linearHash: hash.digest('hex'),
	      treeHash: this.buildHashTree(hashes)
	    };
	  },

	  /**
	   * @api private
	   */
	  buildHashTree: function buildHashTree(hashes) {
	    // merge leaf nodes
	    while (hashes.length > 1) {
	      var tmpHashes = [];
	      for (var i = 0; i < hashes.length; i += 2) {
	        if (hashes[i + 1]) {
	          var tmpHash = new AWS.util.Buffer(64);
	          tmpHash.write(hashes[i], 0, 32, 'binary');
	          tmpHash.write(hashes[i + 1], 32, 32, 'binary');
	          tmpHashes.push(AWS.util.crypto.sha256(tmpHash));
	        } else {
	          tmpHashes.push(hashes[i]);
	        }
	      }
	      hashes = tmpHashes;
	    }

	    return AWS.util.crypto.toHex(hashes[0]);
	  }
	});


/***/ }),
/* 467 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2012-06-01",
			"checksumFormat": "sha256",
			"endpointPrefix": "glacier",
			"protocol": "rest-json",
			"serviceFullName": "Amazon Glacier",
			"signatureVersion": "v4",
			"uid": "glacier-2012-06-01"
		},
		"operations": {
			"AbortMultipartUpload": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName",
						"uploadId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"uploadId": {
							"location": "uri",
							"locationName": "uploadId"
						}
					}
				}
			},
			"AbortVaultLock": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{accountId}/vaults/{vaultName}/lock-policy",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						}
					}
				}
			},
			"AddTagsToVault": {
				"http": {
					"requestUri": "/{accountId}/vaults/{vaultName}/tags?operation=add",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"Tags": {
							"shape": "S5"
						}
					}
				}
			},
			"CompleteMultipartUpload": {
				"http": {
					"requestUri": "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName",
						"uploadId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"uploadId": {
							"location": "uri",
							"locationName": "uploadId"
						},
						"archiveSize": {
							"location": "header",
							"locationName": "x-amz-archive-size"
						},
						"checksum": {
							"location": "header",
							"locationName": "x-amz-sha256-tree-hash"
						}
					}
				},
				"output": {
					"shape": "S9"
				}
			},
			"CompleteVaultLock": {
				"http": {
					"requestUri": "/{accountId}/vaults/{vaultName}/lock-policy/{lockId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName",
						"lockId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"lockId": {
							"location": "uri",
							"locationName": "lockId"
						}
					}
				}
			},
			"CreateVault": {
				"http": {
					"method": "PUT",
					"requestUri": "/{accountId}/vaults/{vaultName}",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"location": {
							"location": "header",
							"locationName": "Location"
						}
					}
				}
			},
			"DeleteArchive": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{accountId}/vaults/{vaultName}/archives/{archiveId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName",
						"archiveId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"archiveId": {
							"location": "uri",
							"locationName": "archiveId"
						}
					}
				}
			},
			"DeleteVault": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{accountId}/vaults/{vaultName}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						}
					}
				}
			},
			"DeleteVaultAccessPolicy": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{accountId}/vaults/{vaultName}/access-policy",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						}
					}
				}
			},
			"DeleteVaultNotifications": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{accountId}/vaults/{vaultName}/notification-configuration",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						}
					}
				}
			},
			"DescribeJob": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/vaults/{vaultName}/jobs/{jobId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName",
						"jobId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"jobId": {
							"location": "uri",
							"locationName": "jobId"
						}
					}
				},
				"output": {
					"shape": "Si"
				}
			},
			"DescribeVault": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/vaults/{vaultName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						}
					}
				},
				"output": {
					"shape": "Sq"
				}
			},
			"GetDataRetrievalPolicy": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/policies/data-retrieval"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Policy": {
							"shape": "Su"
						}
					}
				}
			},
			"GetJobOutput": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/vaults/{vaultName}/jobs/{jobId}/output"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName",
						"jobId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"jobId": {
							"location": "uri",
							"locationName": "jobId"
						},
						"range": {
							"location": "header",
							"locationName": "Range"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"body": {
							"shape": "S10"
						},
						"checksum": {
							"location": "header",
							"locationName": "x-amz-sha256-tree-hash"
						},
						"status": {
							"location": "statusCode",
							"type": "integer"
						},
						"contentRange": {
							"location": "header",
							"locationName": "Content-Range"
						},
						"acceptRanges": {
							"location": "header",
							"locationName": "Accept-Ranges"
						},
						"contentType": {
							"location": "header",
							"locationName": "Content-Type"
						},
						"archiveDescription": {
							"location": "header",
							"locationName": "x-amz-archive-description"
						}
					},
					"payload": "body"
				}
			},
			"GetVaultAccessPolicy": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/vaults/{vaultName}/access-policy"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"policy": {
							"shape": "S14"
						}
					},
					"payload": "policy"
				}
			},
			"GetVaultLock": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/vaults/{vaultName}/lock-policy"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Policy": {},
						"State": {},
						"ExpirationDate": {},
						"CreationDate": {}
					}
				}
			},
			"GetVaultNotifications": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/vaults/{vaultName}/notification-configuration"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"vaultNotificationConfig": {
							"shape": "S19"
						}
					},
					"payload": "vaultNotificationConfig"
				}
			},
			"InitiateJob": {
				"http": {
					"requestUri": "/{accountId}/vaults/{vaultName}/jobs",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"jobParameters": {
							"type": "structure",
							"members": {
								"Format": {},
								"Type": {},
								"ArchiveId": {},
								"Description": {},
								"SNSTopic": {},
								"RetrievalByteRange": {},
								"Tier": {},
								"InventoryRetrievalParameters": {
									"type": "structure",
									"members": {
										"StartDate": {},
										"EndDate": {},
										"Limit": {},
										"Marker": {}
									}
								}
							}
						}
					},
					"payload": "jobParameters"
				},
				"output": {
					"type": "structure",
					"members": {
						"location": {
							"location": "header",
							"locationName": "Location"
						},
						"jobId": {
							"location": "header",
							"locationName": "x-amz-job-id"
						}
					}
				}
			},
			"InitiateMultipartUpload": {
				"http": {
					"requestUri": "/{accountId}/vaults/{vaultName}/multipart-uploads",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"archiveDescription": {
							"location": "header",
							"locationName": "x-amz-archive-description"
						},
						"partSize": {
							"location": "header",
							"locationName": "x-amz-part-size"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"location": {
							"location": "header",
							"locationName": "Location"
						},
						"uploadId": {
							"location": "header",
							"locationName": "x-amz-multipart-upload-id"
						}
					}
				}
			},
			"InitiateVaultLock": {
				"http": {
					"requestUri": "/{accountId}/vaults/{vaultName}/lock-policy",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"policy": {
							"type": "structure",
							"members": {
								"Policy": {}
							}
						}
					},
					"payload": "policy"
				},
				"output": {
					"type": "structure",
					"members": {
						"lockId": {
							"location": "header",
							"locationName": "x-amz-lock-id"
						}
					}
				}
			},
			"ListJobs": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/vaults/{vaultName}/jobs"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit"
						},
						"marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"statuscode": {
							"location": "querystring",
							"locationName": "statuscode"
						},
						"completed": {
							"location": "querystring",
							"locationName": "completed"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"JobList": {
							"type": "list",
							"member": {
								"shape": "Si"
							}
						},
						"Marker": {}
					}
				}
			},
			"ListMultipartUploads": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/vaults/{vaultName}/multipart-uploads"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UploadsList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"MultipartUploadId": {},
									"VaultARN": {},
									"ArchiveDescription": {},
									"PartSizeInBytes": {
										"type": "long"
									},
									"CreationDate": {}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ListParts": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName",
						"uploadId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"uploadId": {
							"location": "uri",
							"locationName": "uploadId"
						},
						"marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"MultipartUploadId": {},
						"VaultARN": {},
						"ArchiveDescription": {},
						"PartSizeInBytes": {
							"type": "long"
						},
						"CreationDate": {},
						"Parts": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"RangeInBytes": {},
									"SHA256TreeHash": {}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ListProvisionedCapacity": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/provisioned-capacity"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProvisionedCapacityList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"CapacityId": {},
									"StartDate": {},
									"ExpirationDate": {}
								}
							}
						}
					}
				}
			},
			"ListTagsForVault": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/vaults/{vaultName}/tags"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "S5"
						}
					}
				}
			},
			"ListVaults": {
				"http": {
					"method": "GET",
					"requestUri": "/{accountId}/vaults"
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"limit": {
							"location": "querystring",
							"locationName": "limit"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VaultList": {
							"type": "list",
							"member": {
								"shape": "Sq"
							}
						},
						"Marker": {}
					}
				}
			},
			"PurchaseProvisionedCapacity": {
				"http": {
					"requestUri": "/{accountId}/provisioned-capacity",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"capacityId": {
							"location": "header",
							"locationName": "x-amz-capacity-id"
						}
					}
				}
			},
			"RemoveTagsFromVault": {
				"http": {
					"requestUri": "/{accountId}/vaults/{vaultName}/tags?operation=remove",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"SetDataRetrievalPolicy": {
				"http": {
					"method": "PUT",
					"requestUri": "/{accountId}/policies/data-retrieval",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"Policy": {
							"shape": "Su"
						}
					}
				}
			},
			"SetVaultAccessPolicy": {
				"http": {
					"method": "PUT",
					"requestUri": "/{accountId}/vaults/{vaultName}/access-policy",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"policy": {
							"shape": "S14"
						}
					},
					"payload": "policy"
				}
			},
			"SetVaultNotifications": {
				"http": {
					"method": "PUT",
					"requestUri": "/{accountId}/vaults/{vaultName}/notification-configuration",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"vaultNotificationConfig": {
							"shape": "S19"
						}
					},
					"payload": "vaultNotificationConfig"
				}
			},
			"UploadArchive": {
				"http": {
					"requestUri": "/{accountId}/vaults/{vaultName}/archives",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"vaultName",
						"accountId"
					],
					"members": {
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"archiveDescription": {
							"location": "header",
							"locationName": "x-amz-archive-description"
						},
						"checksum": {
							"location": "header",
							"locationName": "x-amz-sha256-tree-hash"
						},
						"body": {
							"shape": "S10"
						}
					},
					"payload": "body"
				},
				"output": {
					"shape": "S9"
				}
			},
			"UploadMultipartPart": {
				"http": {
					"method": "PUT",
					"requestUri": "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"accountId",
						"vaultName",
						"uploadId"
					],
					"members": {
						"accountId": {
							"location": "uri",
							"locationName": "accountId"
						},
						"vaultName": {
							"location": "uri",
							"locationName": "vaultName"
						},
						"uploadId": {
							"location": "uri",
							"locationName": "uploadId"
						},
						"checksum": {
							"location": "header",
							"locationName": "x-amz-sha256-tree-hash"
						},
						"range": {
							"location": "header",
							"locationName": "Content-Range"
						},
						"body": {
							"shape": "S10"
						}
					},
					"payload": "body"
				},
				"output": {
					"type": "structure",
					"members": {
						"checksum": {
							"location": "header",
							"locationName": "x-amz-sha256-tree-hash"
						}
					}
				}
			}
		},
		"shapes": {
			"S5": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S9": {
				"type": "structure",
				"members": {
					"location": {
						"location": "header",
						"locationName": "Location"
					},
					"checksum": {
						"location": "header",
						"locationName": "x-amz-sha256-tree-hash"
					},
					"archiveId": {
						"location": "header",
						"locationName": "x-amz-archive-id"
					}
				}
			},
			"Si": {
				"type": "structure",
				"members": {
					"JobId": {},
					"JobDescription": {},
					"Action": {},
					"ArchiveId": {},
					"VaultARN": {},
					"CreationDate": {},
					"Completed": {
						"type": "boolean"
					},
					"StatusCode": {},
					"StatusMessage": {},
					"ArchiveSizeInBytes": {
						"type": "long"
					},
					"InventorySizeInBytes": {
						"type": "long"
					},
					"SNSTopic": {},
					"CompletionDate": {},
					"SHA256TreeHash": {},
					"ArchiveSHA256TreeHash": {},
					"RetrievalByteRange": {},
					"Tier": {},
					"InventoryRetrievalParameters": {
						"type": "structure",
						"members": {
							"Format": {},
							"StartDate": {},
							"EndDate": {},
							"Limit": {},
							"Marker": {}
						}
					}
				}
			},
			"Sq": {
				"type": "structure",
				"members": {
					"VaultARN": {},
					"VaultName": {},
					"CreationDate": {},
					"LastInventoryDate": {},
					"NumberOfArchives": {
						"type": "long"
					},
					"SizeInBytes": {
						"type": "long"
					}
				}
			},
			"Su": {
				"type": "structure",
				"members": {
					"Rules": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"Strategy": {},
								"BytesPerHour": {
									"type": "long"
								}
							}
						}
					}
				}
			},
			"S10": {
				"type": "blob",
				"streaming": true
			},
			"S14": {
				"type": "structure",
				"members": {
					"Policy": {}
				}
			},
			"S19": {
				"type": "structure",
				"members": {
					"SNSTopic": {},
					"Events": {
						"type": "list",
						"member": {}
					}
				}
			}
		}
	};

/***/ }),
/* 468 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListJobs": {
				"input_token": "marker",
				"limit_key": "limit",
				"output_token": "Marker",
				"result_key": "JobList"
			},
			"ListMultipartUploads": {
				"input_token": "marker",
				"limit_key": "limit",
				"output_token": "Marker",
				"result_key": "UploadsList"
			},
			"ListParts": {
				"input_token": "marker",
				"limit_key": "limit",
				"output_token": "Marker",
				"result_key": "Parts"
			},
			"ListVaults": {
				"input_token": "marker",
				"limit_key": "limit",
				"output_token": "Marker",
				"result_key": "VaultList"
			}
		}
	};

/***/ }),
/* 469 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"VaultExists": {
				"operation": "DescribeVault",
				"delay": 3,
				"maxAttempts": 15,
				"acceptors": [
					{
						"state": "success",
						"matcher": "status",
						"expected": 200
					},
					{
						"state": "retry",
						"matcher": "error",
						"expected": "ResourceNotFoundException"
					}
				]
			},
			"VaultNotExists": {
				"operation": "DescribeVault",
				"delay": 3,
				"maxAttempts": 15,
				"acceptors": [
					{
						"state": "retry",
						"matcher": "status",
						"expected": 200
					},
					{
						"state": "success",
						"matcher": "error",
						"expected": "ResourceNotFoundException"
					}
				]
			}
		}
	};

/***/ }),
/* 470 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['health'] = {};
	AWS.Health = Service.defineService('health', ['2016-08-04']);
	Object.defineProperty(apiLoader.services['health'], '2016-08-04', {
	  get: function get() {
	    var model = __webpack_require__(471);
	    model.paginators = __webpack_require__(472).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Health;


/***/ }),
/* 471 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-08-04",
			"endpointPrefix": "health",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "AWSHealth",
			"serviceFullName": "AWS Health APIs and Notifications",
			"signatureVersion": "v4",
			"targetPrefix": "AWSHealth_20160804",
			"uid": "health-2016-08-04"
		},
		"operations": {
			"DescribeAffectedEntities": {
				"input": {
					"type": "structure",
					"required": [
						"filter"
					],
					"members": {
						"filter": {
							"type": "structure",
							"required": [
								"eventArns"
							],
							"members": {
								"eventArns": {
									"shape": "S3"
								},
								"entityArns": {
									"shape": "S5"
								},
								"entityValues": {
									"shape": "S7"
								},
								"lastUpdatedTimes": {
									"shape": "S9"
								},
								"tags": {
									"shape": "Sc"
								},
								"statusCodes": {
									"type": "list",
									"member": {}
								}
							}
						},
						"locale": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"entities": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"entityArn": {},
									"eventArn": {},
									"entityValue": {},
									"awsAccountId": {},
									"lastUpdatedTime": {
										"type": "timestamp"
									},
									"statusCode": {},
									"tags": {
										"shape": "Sd"
									}
								}
							}
						},
						"nextToken": {}
					}
				},
				"idempotent": true
			},
			"DescribeEntityAggregates": {
				"input": {
					"type": "structure",
					"members": {
						"eventArns": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"entityAggregates": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"eventArn": {},
									"count": {
										"type": "integer"
									}
								}
							}
						}
					}
				},
				"idempotent": true
			},
			"DescribeEventAggregates": {
				"input": {
					"type": "structure",
					"required": [
						"aggregateField"
					],
					"members": {
						"filter": {
							"shape": "Sw"
						},
						"aggregateField": {},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"eventAggregates": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"aggregateValue": {},
									"count": {
										"type": "integer"
									}
								}
							}
						},
						"nextToken": {}
					}
				},
				"idempotent": true
			},
			"DescribeEventDetails": {
				"input": {
					"type": "structure",
					"required": [
						"eventArns"
					],
					"members": {
						"eventArns": {
							"shape": "S3"
						},
						"locale": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"successfulSet": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"event": {
										"shape": "S1i"
									},
									"eventDescription": {
										"type": "structure",
										"members": {
											"latestDescription": {}
										}
									},
									"eventMetadata": {
										"type": "map",
										"key": {},
										"value": {}
									}
								}
							}
						},
						"failedSet": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"eventArn": {},
									"errorName": {},
									"errorMessage": {}
								}
							}
						}
					}
				},
				"idempotent": true
			},
			"DescribeEventTypes": {
				"input": {
					"type": "structure",
					"members": {
						"filter": {
							"type": "structure",
							"members": {
								"eventTypeCodes": {
									"type": "list",
									"member": {}
								},
								"services": {
									"shape": "Sz"
								},
								"eventTypeCategories": {
									"type": "list",
									"member": {}
								}
							}
						},
						"locale": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"eventTypes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"service": {},
									"code": {},
									"category": {}
								}
							}
						},
						"nextToken": {}
					}
				},
				"idempotent": true
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"members": {
						"filter": {
							"shape": "Sw"
						},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						},
						"locale": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"events": {
							"type": "list",
							"member": {
								"shape": "S1i"
							}
						},
						"nextToken": {}
					}
				},
				"idempotent": true
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {}
			},
			"S5": {
				"type": "list",
				"member": {}
			},
			"S7": {
				"type": "list",
				"member": {}
			},
			"S9": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"from": {
							"type": "timestamp"
						},
						"to": {
							"type": "timestamp"
						}
					}
				}
			},
			"Sc": {
				"type": "list",
				"member": {
					"shape": "Sd"
				}
			},
			"Sd": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"Sw": {
				"type": "structure",
				"members": {
					"eventArns": {
						"shape": "S3"
					},
					"eventTypeCodes": {
						"type": "list",
						"member": {}
					},
					"services": {
						"shape": "Sz"
					},
					"regions": {
						"type": "list",
						"member": {}
					},
					"availabilityZones": {
						"type": "list",
						"member": {}
					},
					"startTimes": {
						"shape": "S9"
					},
					"endTimes": {
						"shape": "S9"
					},
					"lastUpdatedTimes": {
						"shape": "S9"
					},
					"entityArns": {
						"shape": "S5"
					},
					"entityValues": {
						"shape": "S7"
					},
					"eventTypeCategories": {
						"type": "list",
						"member": {}
					},
					"tags": {
						"shape": "Sc"
					},
					"eventStatusCodes": {
						"type": "list",
						"member": {}
					}
				}
			},
			"Sz": {
				"type": "list",
				"member": {}
			},
			"S1i": {
				"type": "structure",
				"members": {
					"arn": {},
					"service": {},
					"eventTypeCode": {},
					"eventTypeCategory": {},
					"region": {},
					"availabilityZone": {},
					"startTime": {
						"type": "timestamp"
					},
					"endTime": {
						"type": "timestamp"
					},
					"lastUpdatedTime": {
						"type": "timestamp"
					},
					"statusCode": {}
				}
			}
		}
	};

/***/ }),
/* 472 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeAffectedEntities": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "entities"
			},
			"DescribeEntityAggregates": {
				"result_key": "entityAggregates"
			},
			"DescribeEventAggregates": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "eventAggregates"
			},
			"DescribeEvents": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "events"
			},
			"DescribeEventTypes": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "eventTypes"
			}
		}
	};

/***/ }),
/* 473 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['iam'] = {};
	AWS.IAM = Service.defineService('iam', ['2010-05-08']);
	Object.defineProperty(apiLoader.services['iam'], '2010-05-08', {
	  get: function get() {
	    var model = __webpack_require__(474);
	    model.paginators = __webpack_require__(475).pagination;
	    model.waiters = __webpack_require__(476).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.IAM;


/***/ }),
/* 474 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2010-05-08",
			"endpointPrefix": "iam",
			"globalEndpoint": "iam.amazonaws.com",
			"protocol": "query",
			"serviceAbbreviation": "IAM",
			"serviceFullName": "AWS Identity and Access Management",
			"signatureVersion": "v4",
			"uid": "iam-2010-05-08",
			"xmlNamespace": "https://iam.amazonaws.com/doc/2010-05-08/"
		},
		"operations": {
			"AddClientIDToOpenIDConnectProvider": {
				"input": {
					"type": "structure",
					"required": [
						"OpenIDConnectProviderArn",
						"ClientID"
					],
					"members": {
						"OpenIDConnectProviderArn": {},
						"ClientID": {}
					}
				}
			},
			"AddRoleToInstanceProfile": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceProfileName",
						"RoleName"
					],
					"members": {
						"InstanceProfileName": {},
						"RoleName": {}
					}
				}
			},
			"AddUserToGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"UserName"
					],
					"members": {
						"GroupName": {},
						"UserName": {}
					}
				}
			},
			"AttachGroupPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"PolicyArn"
					],
					"members": {
						"GroupName": {},
						"PolicyArn": {}
					}
				}
			},
			"AttachRolePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName",
						"PolicyArn"
					],
					"members": {
						"RoleName": {},
						"PolicyArn": {}
					}
				}
			},
			"AttachUserPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"PolicyArn"
					],
					"members": {
						"UserName": {},
						"PolicyArn": {}
					}
				}
			},
			"ChangePassword": {
				"input": {
					"type": "structure",
					"required": [
						"OldPassword",
						"NewPassword"
					],
					"members": {
						"OldPassword": {
							"shape": "Sf"
						},
						"NewPassword": {
							"shape": "Sf"
						}
					}
				}
			},
			"CreateAccessKey": {
				"input": {
					"type": "structure",
					"members": {
						"UserName": {}
					}
				},
				"output": {
					"resultWrapper": "CreateAccessKeyResult",
					"type": "structure",
					"required": [
						"AccessKey"
					],
					"members": {
						"AccessKey": {
							"type": "structure",
							"required": [
								"UserName",
								"AccessKeyId",
								"Status",
								"SecretAccessKey"
							],
							"members": {
								"UserName": {},
								"AccessKeyId": {},
								"Status": {},
								"SecretAccessKey": {
									"type": "string",
									"sensitive": true
								},
								"CreateDate": {
									"type": "timestamp"
								}
							}
						}
					}
				}
			},
			"CreateAccountAlias": {
				"input": {
					"type": "structure",
					"required": [
						"AccountAlias"
					],
					"members": {
						"AccountAlias": {}
					}
				}
			},
			"CreateGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName"
					],
					"members": {
						"Path": {},
						"GroupName": {}
					}
				},
				"output": {
					"resultWrapper": "CreateGroupResult",
					"type": "structure",
					"required": [
						"Group"
					],
					"members": {
						"Group": {
							"shape": "Ss"
						}
					}
				}
			},
			"CreateInstanceProfile": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceProfileName"
					],
					"members": {
						"InstanceProfileName": {},
						"Path": {}
					}
				},
				"output": {
					"resultWrapper": "CreateInstanceProfileResult",
					"type": "structure",
					"required": [
						"InstanceProfile"
					],
					"members": {
						"InstanceProfile": {
							"shape": "Sw"
						}
					}
				}
			},
			"CreateLoginProfile": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"Password"
					],
					"members": {
						"UserName": {},
						"Password": {
							"shape": "Sf"
						},
						"PasswordResetRequired": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateLoginProfileResult",
					"type": "structure",
					"required": [
						"LoginProfile"
					],
					"members": {
						"LoginProfile": {
							"shape": "S14"
						}
					}
				}
			},
			"CreateOpenIDConnectProvider": {
				"input": {
					"type": "structure",
					"required": [
						"Url",
						"ThumbprintList"
					],
					"members": {
						"Url": {},
						"ClientIDList": {
							"shape": "S17"
						},
						"ThumbprintList": {
							"shape": "S18"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateOpenIDConnectProviderResult",
					"type": "structure",
					"members": {
						"OpenIDConnectProviderArn": {}
					}
				}
			},
			"CreatePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyName",
						"PolicyDocument"
					],
					"members": {
						"PolicyName": {},
						"Path": {},
						"PolicyDocument": {},
						"Description": {}
					}
				},
				"output": {
					"resultWrapper": "CreatePolicyResult",
					"type": "structure",
					"members": {
						"Policy": {
							"shape": "S1g"
						}
					}
				}
			},
			"CreatePolicyVersion": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyArn",
						"PolicyDocument"
					],
					"members": {
						"PolicyArn": {},
						"PolicyDocument": {},
						"SetAsDefault": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "CreatePolicyVersionResult",
					"type": "structure",
					"members": {
						"PolicyVersion": {
							"shape": "S1l"
						}
					}
				}
			},
			"CreateRole": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName",
						"AssumeRolePolicyDocument"
					],
					"members": {
						"Path": {},
						"RoleName": {},
						"AssumeRolePolicyDocument": {},
						"Description": {}
					}
				},
				"output": {
					"resultWrapper": "CreateRoleResult",
					"type": "structure",
					"required": [
						"Role"
					],
					"members": {
						"Role": {
							"shape": "Sy"
						}
					}
				}
			},
			"CreateSAMLProvider": {
				"input": {
					"type": "structure",
					"required": [
						"SAMLMetadataDocument",
						"Name"
					],
					"members": {
						"SAMLMetadataDocument": {},
						"Name": {}
					}
				},
				"output": {
					"resultWrapper": "CreateSAMLProviderResult",
					"type": "structure",
					"members": {
						"SAMLProviderArn": {}
					}
				}
			},
			"CreateServiceLinkedRole": {
				"input": {
					"type": "structure",
					"required": [
						"AWSServiceName"
					],
					"members": {
						"AWSServiceName": {},
						"Description": {},
						"CustomSuffix": {}
					}
				},
				"output": {
					"resultWrapper": "CreateServiceLinkedRoleResult",
					"type": "structure",
					"members": {
						"Role": {
							"shape": "Sy"
						}
					}
				}
			},
			"CreateServiceSpecificCredential": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"ServiceName"
					],
					"members": {
						"UserName": {},
						"ServiceName": {}
					}
				},
				"output": {
					"resultWrapper": "CreateServiceSpecificCredentialResult",
					"type": "structure",
					"members": {
						"ServiceSpecificCredential": {
							"shape": "S1y"
						}
					}
				}
			},
			"CreateUser": {
				"input": {
					"type": "structure",
					"required": [
						"UserName"
					],
					"members": {
						"Path": {},
						"UserName": {}
					}
				},
				"output": {
					"resultWrapper": "CreateUserResult",
					"type": "structure",
					"members": {
						"User": {
							"shape": "S24"
						}
					}
				}
			},
			"CreateVirtualMFADevice": {
				"input": {
					"type": "structure",
					"required": [
						"VirtualMFADeviceName"
					],
					"members": {
						"Path": {},
						"VirtualMFADeviceName": {}
					}
				},
				"output": {
					"resultWrapper": "CreateVirtualMFADeviceResult",
					"type": "structure",
					"required": [
						"VirtualMFADevice"
					],
					"members": {
						"VirtualMFADevice": {
							"shape": "S28"
						}
					}
				}
			},
			"DeactivateMFADevice": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"SerialNumber"
					],
					"members": {
						"UserName": {},
						"SerialNumber": {}
					}
				}
			},
			"DeleteAccessKey": {
				"input": {
					"type": "structure",
					"required": [
						"AccessKeyId"
					],
					"members": {
						"UserName": {},
						"AccessKeyId": {}
					}
				}
			},
			"DeleteAccountAlias": {
				"input": {
					"type": "structure",
					"required": [
						"AccountAlias"
					],
					"members": {
						"AccountAlias": {}
					}
				}
			},
			"DeleteAccountPasswordPolicy": {},
			"DeleteGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName"
					],
					"members": {
						"GroupName": {}
					}
				}
			},
			"DeleteGroupPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"PolicyName"
					],
					"members": {
						"GroupName": {},
						"PolicyName": {}
					}
				}
			},
			"DeleteInstanceProfile": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceProfileName"
					],
					"members": {
						"InstanceProfileName": {}
					}
				}
			},
			"DeleteLoginProfile": {
				"input": {
					"type": "structure",
					"required": [
						"UserName"
					],
					"members": {
						"UserName": {}
					}
				}
			},
			"DeleteOpenIDConnectProvider": {
				"input": {
					"type": "structure",
					"required": [
						"OpenIDConnectProviderArn"
					],
					"members": {
						"OpenIDConnectProviderArn": {}
					}
				}
			},
			"DeletePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyArn"
					],
					"members": {
						"PolicyArn": {}
					}
				}
			},
			"DeletePolicyVersion": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyArn",
						"VersionId"
					],
					"members": {
						"PolicyArn": {},
						"VersionId": {}
					}
				}
			},
			"DeleteRole": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName"
					],
					"members": {
						"RoleName": {}
					}
				}
			},
			"DeleteRolePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName",
						"PolicyName"
					],
					"members": {
						"RoleName": {},
						"PolicyName": {}
					}
				}
			},
			"DeleteSAMLProvider": {
				"input": {
					"type": "structure",
					"required": [
						"SAMLProviderArn"
					],
					"members": {
						"SAMLProviderArn": {}
					}
				}
			},
			"DeleteSSHPublicKey": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"SSHPublicKeyId"
					],
					"members": {
						"UserName": {},
						"SSHPublicKeyId": {}
					}
				}
			},
			"DeleteServerCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"ServerCertificateName"
					],
					"members": {
						"ServerCertificateName": {}
					}
				}
			},
			"DeleteServiceSpecificCredential": {
				"input": {
					"type": "structure",
					"required": [
						"ServiceSpecificCredentialId"
					],
					"members": {
						"UserName": {},
						"ServiceSpecificCredentialId": {}
					}
				}
			},
			"DeleteSigningCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateId"
					],
					"members": {
						"UserName": {},
						"CertificateId": {}
					}
				}
			},
			"DeleteUser": {
				"input": {
					"type": "structure",
					"required": [
						"UserName"
					],
					"members": {
						"UserName": {}
					}
				}
			},
			"DeleteUserPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"PolicyName"
					],
					"members": {
						"UserName": {},
						"PolicyName": {}
					}
				}
			},
			"DeleteVirtualMFADevice": {
				"input": {
					"type": "structure",
					"required": [
						"SerialNumber"
					],
					"members": {
						"SerialNumber": {}
					}
				}
			},
			"DetachGroupPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"PolicyArn"
					],
					"members": {
						"GroupName": {},
						"PolicyArn": {}
					}
				}
			},
			"DetachRolePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName",
						"PolicyArn"
					],
					"members": {
						"RoleName": {},
						"PolicyArn": {}
					}
				}
			},
			"DetachUserPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"PolicyArn"
					],
					"members": {
						"UserName": {},
						"PolicyArn": {}
					}
				}
			},
			"EnableMFADevice": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"SerialNumber",
						"AuthenticationCode1",
						"AuthenticationCode2"
					],
					"members": {
						"UserName": {},
						"SerialNumber": {},
						"AuthenticationCode1": {},
						"AuthenticationCode2": {}
					}
				}
			},
			"GenerateCredentialReport": {
				"output": {
					"resultWrapper": "GenerateCredentialReportResult",
					"type": "structure",
					"members": {
						"State": {},
						"Description": {}
					}
				}
			},
			"GetAccessKeyLastUsed": {
				"input": {
					"type": "structure",
					"required": [
						"AccessKeyId"
					],
					"members": {
						"AccessKeyId": {}
					}
				},
				"output": {
					"resultWrapper": "GetAccessKeyLastUsedResult",
					"type": "structure",
					"members": {
						"UserName": {},
						"AccessKeyLastUsed": {
							"type": "structure",
							"required": [
								"LastUsedDate",
								"ServiceName",
								"Region"
							],
							"members": {
								"LastUsedDate": {
									"type": "timestamp"
								},
								"ServiceName": {},
								"Region": {}
							}
						}
					}
				}
			},
			"GetAccountAuthorizationDetails": {
				"input": {
					"type": "structure",
					"members": {
						"Filter": {
							"type": "list",
							"member": {}
						},
						"MaxItems": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "GetAccountAuthorizationDetailsResult",
					"type": "structure",
					"members": {
						"UserDetailList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Path": {},
									"UserName": {},
									"UserId": {},
									"Arn": {},
									"CreateDate": {
										"type": "timestamp"
									},
									"UserPolicyList": {
										"shape": "S3i"
									},
									"GroupList": {
										"type": "list",
										"member": {}
									},
									"AttachedManagedPolicies": {
										"shape": "S3l"
									}
								}
							}
						},
						"GroupDetailList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Path": {},
									"GroupName": {},
									"GroupId": {},
									"Arn": {},
									"CreateDate": {
										"type": "timestamp"
									},
									"GroupPolicyList": {
										"shape": "S3i"
									},
									"AttachedManagedPolicies": {
										"shape": "S3l"
									}
								}
							}
						},
						"RoleDetailList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Path": {},
									"RoleName": {},
									"RoleId": {},
									"Arn": {},
									"CreateDate": {
										"type": "timestamp"
									},
									"AssumeRolePolicyDocument": {},
									"InstanceProfileList": {
										"shape": "S3r"
									},
									"RolePolicyList": {
										"shape": "S3i"
									},
									"AttachedManagedPolicies": {
										"shape": "S3l"
									}
								}
							}
						},
						"Policies": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"PolicyName": {},
									"PolicyId": {},
									"Arn": {},
									"Path": {},
									"DefaultVersionId": {},
									"AttachmentCount": {
										"type": "integer"
									},
									"IsAttachable": {
										"type": "boolean"
									},
									"Description": {},
									"CreateDate": {
										"type": "timestamp"
									},
									"UpdateDate": {
										"type": "timestamp"
									},
									"PolicyVersionList": {
										"shape": "S3u"
									}
								}
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"GetAccountPasswordPolicy": {
				"output": {
					"resultWrapper": "GetAccountPasswordPolicyResult",
					"type": "structure",
					"required": [
						"PasswordPolicy"
					],
					"members": {
						"PasswordPolicy": {
							"type": "structure",
							"members": {
								"MinimumPasswordLength": {
									"type": "integer"
								},
								"RequireSymbols": {
									"type": "boolean"
								},
								"RequireNumbers": {
									"type": "boolean"
								},
								"RequireUppercaseCharacters": {
									"type": "boolean"
								},
								"RequireLowercaseCharacters": {
									"type": "boolean"
								},
								"AllowUsersToChangePassword": {
									"type": "boolean"
								},
								"ExpirePasswords": {
									"type": "boolean"
								},
								"MaxPasswordAge": {
									"type": "integer"
								},
								"PasswordReusePrevention": {
									"type": "integer"
								},
								"HardExpiry": {
									"type": "boolean"
								}
							}
						}
					}
				}
			},
			"GetAccountSummary": {
				"output": {
					"resultWrapper": "GetAccountSummaryResult",
					"type": "structure",
					"members": {
						"SummaryMap": {
							"type": "map",
							"key": {},
							"value": {
								"type": "integer"
							}
						}
					}
				}
			},
			"GetContextKeysForCustomPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyInputList"
					],
					"members": {
						"PolicyInputList": {
							"shape": "S46"
						}
					}
				},
				"output": {
					"shape": "S47",
					"resultWrapper": "GetContextKeysForCustomPolicyResult"
				}
			},
			"GetContextKeysForPrincipalPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicySourceArn"
					],
					"members": {
						"PolicySourceArn": {},
						"PolicyInputList": {
							"shape": "S46"
						}
					}
				},
				"output": {
					"shape": "S47",
					"resultWrapper": "GetContextKeysForPrincipalPolicyResult"
				}
			},
			"GetCredentialReport": {
				"output": {
					"resultWrapper": "GetCredentialReportResult",
					"type": "structure",
					"members": {
						"Content": {
							"type": "blob"
						},
						"ReportFormat": {},
						"GeneratedTime": {
							"type": "timestamp"
						}
					}
				}
			},
			"GetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName"
					],
					"members": {
						"GroupName": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "GetGroupResult",
					"type": "structure",
					"required": [
						"Group",
						"Users"
					],
					"members": {
						"Group": {
							"shape": "Ss"
						},
						"Users": {
							"shape": "S4g"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"GetGroupPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"PolicyName"
					],
					"members": {
						"GroupName": {},
						"PolicyName": {}
					}
				},
				"output": {
					"resultWrapper": "GetGroupPolicyResult",
					"type": "structure",
					"required": [
						"GroupName",
						"PolicyName",
						"PolicyDocument"
					],
					"members": {
						"GroupName": {},
						"PolicyName": {},
						"PolicyDocument": {}
					}
				}
			},
			"GetInstanceProfile": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceProfileName"
					],
					"members": {
						"InstanceProfileName": {}
					}
				},
				"output": {
					"resultWrapper": "GetInstanceProfileResult",
					"type": "structure",
					"required": [
						"InstanceProfile"
					],
					"members": {
						"InstanceProfile": {
							"shape": "Sw"
						}
					}
				}
			},
			"GetLoginProfile": {
				"input": {
					"type": "structure",
					"required": [
						"UserName"
					],
					"members": {
						"UserName": {}
					}
				},
				"output": {
					"resultWrapper": "GetLoginProfileResult",
					"type": "structure",
					"required": [
						"LoginProfile"
					],
					"members": {
						"LoginProfile": {
							"shape": "S14"
						}
					}
				}
			},
			"GetOpenIDConnectProvider": {
				"input": {
					"type": "structure",
					"required": [
						"OpenIDConnectProviderArn"
					],
					"members": {
						"OpenIDConnectProviderArn": {}
					}
				},
				"output": {
					"resultWrapper": "GetOpenIDConnectProviderResult",
					"type": "structure",
					"members": {
						"Url": {},
						"ClientIDList": {
							"shape": "S17"
						},
						"ThumbprintList": {
							"shape": "S18"
						},
						"CreateDate": {
							"type": "timestamp"
						}
					}
				}
			},
			"GetPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyArn"
					],
					"members": {
						"PolicyArn": {}
					}
				},
				"output": {
					"resultWrapper": "GetPolicyResult",
					"type": "structure",
					"members": {
						"Policy": {
							"shape": "S1g"
						}
					}
				}
			},
			"GetPolicyVersion": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyArn",
						"VersionId"
					],
					"members": {
						"PolicyArn": {},
						"VersionId": {}
					}
				},
				"output": {
					"resultWrapper": "GetPolicyVersionResult",
					"type": "structure",
					"members": {
						"PolicyVersion": {
							"shape": "S1l"
						}
					}
				}
			},
			"GetRole": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName"
					],
					"members": {
						"RoleName": {}
					}
				},
				"output": {
					"resultWrapper": "GetRoleResult",
					"type": "structure",
					"required": [
						"Role"
					],
					"members": {
						"Role": {
							"shape": "Sy"
						}
					}
				}
			},
			"GetRolePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName",
						"PolicyName"
					],
					"members": {
						"RoleName": {},
						"PolicyName": {}
					}
				},
				"output": {
					"resultWrapper": "GetRolePolicyResult",
					"type": "structure",
					"required": [
						"RoleName",
						"PolicyName",
						"PolicyDocument"
					],
					"members": {
						"RoleName": {},
						"PolicyName": {},
						"PolicyDocument": {}
					}
				}
			},
			"GetSAMLProvider": {
				"input": {
					"type": "structure",
					"required": [
						"SAMLProviderArn"
					],
					"members": {
						"SAMLProviderArn": {}
					}
				},
				"output": {
					"resultWrapper": "GetSAMLProviderResult",
					"type": "structure",
					"members": {
						"SAMLMetadataDocument": {},
						"CreateDate": {
							"type": "timestamp"
						},
						"ValidUntil": {
							"type": "timestamp"
						}
					}
				}
			},
			"GetSSHPublicKey": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"SSHPublicKeyId",
						"Encoding"
					],
					"members": {
						"UserName": {},
						"SSHPublicKeyId": {},
						"Encoding": {}
					}
				},
				"output": {
					"resultWrapper": "GetSSHPublicKeyResult",
					"type": "structure",
					"members": {
						"SSHPublicKey": {
							"shape": "S52"
						}
					}
				}
			},
			"GetServerCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"ServerCertificateName"
					],
					"members": {
						"ServerCertificateName": {}
					}
				},
				"output": {
					"resultWrapper": "GetServerCertificateResult",
					"type": "structure",
					"required": [
						"ServerCertificate"
					],
					"members": {
						"ServerCertificate": {
							"type": "structure",
							"required": [
								"ServerCertificateMetadata",
								"CertificateBody"
							],
							"members": {
								"ServerCertificateMetadata": {
									"shape": "S58"
								},
								"CertificateBody": {},
								"CertificateChain": {}
							}
						}
					}
				}
			},
			"GetUser": {
				"input": {
					"type": "structure",
					"members": {
						"UserName": {}
					}
				},
				"output": {
					"resultWrapper": "GetUserResult",
					"type": "structure",
					"required": [
						"User"
					],
					"members": {
						"User": {
							"shape": "S24"
						}
					}
				}
			},
			"GetUserPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"PolicyName"
					],
					"members": {
						"UserName": {},
						"PolicyName": {}
					}
				},
				"output": {
					"resultWrapper": "GetUserPolicyResult",
					"type": "structure",
					"required": [
						"UserName",
						"PolicyName",
						"PolicyDocument"
					],
					"members": {
						"UserName": {},
						"PolicyName": {},
						"PolicyDocument": {}
					}
				}
			},
			"ListAccessKeys": {
				"input": {
					"type": "structure",
					"members": {
						"UserName": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListAccessKeysResult",
					"type": "structure",
					"required": [
						"AccessKeyMetadata"
					],
					"members": {
						"AccessKeyMetadata": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"UserName": {},
									"AccessKeyId": {},
									"Status": {},
									"CreateDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListAccountAliases": {
				"input": {
					"type": "structure",
					"members": {
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListAccountAliasesResult",
					"type": "structure",
					"required": [
						"AccountAliases"
					],
					"members": {
						"AccountAliases": {
							"type": "list",
							"member": {}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListAttachedGroupPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName"
					],
					"members": {
						"GroupName": {},
						"PathPrefix": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListAttachedGroupPoliciesResult",
					"type": "structure",
					"members": {
						"AttachedPolicies": {
							"shape": "S3l"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListAttachedRolePolicies": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName"
					],
					"members": {
						"RoleName": {},
						"PathPrefix": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListAttachedRolePoliciesResult",
					"type": "structure",
					"members": {
						"AttachedPolicies": {
							"shape": "S3l"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListAttachedUserPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"UserName"
					],
					"members": {
						"UserName": {},
						"PathPrefix": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListAttachedUserPoliciesResult",
					"type": "structure",
					"members": {
						"AttachedPolicies": {
							"shape": "S3l"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListEntitiesForPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyArn"
					],
					"members": {
						"PolicyArn": {},
						"EntityFilter": {},
						"PathPrefix": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListEntitiesForPolicyResult",
					"type": "structure",
					"members": {
						"PolicyGroups": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"GroupName": {},
									"GroupId": {}
								}
							}
						},
						"PolicyUsers": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"UserName": {},
									"UserId": {}
								}
							}
						},
						"PolicyRoles": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"RoleName": {},
									"RoleId": {}
								}
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListGroupPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName"
					],
					"members": {
						"GroupName": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListGroupPoliciesResult",
					"type": "structure",
					"required": [
						"PolicyNames"
					],
					"members": {
						"PolicyNames": {
							"shape": "S62"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListGroups": {
				"input": {
					"type": "structure",
					"members": {
						"PathPrefix": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListGroupsResult",
					"type": "structure",
					"required": [
						"Groups"
					],
					"members": {
						"Groups": {
							"shape": "S66"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListGroupsForUser": {
				"input": {
					"type": "structure",
					"required": [
						"UserName"
					],
					"members": {
						"UserName": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListGroupsForUserResult",
					"type": "structure",
					"required": [
						"Groups"
					],
					"members": {
						"Groups": {
							"shape": "S66"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListInstanceProfiles": {
				"input": {
					"type": "structure",
					"members": {
						"PathPrefix": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListInstanceProfilesResult",
					"type": "structure",
					"required": [
						"InstanceProfiles"
					],
					"members": {
						"InstanceProfiles": {
							"shape": "S3r"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListInstanceProfilesForRole": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName"
					],
					"members": {
						"RoleName": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListInstanceProfilesForRoleResult",
					"type": "structure",
					"required": [
						"InstanceProfiles"
					],
					"members": {
						"InstanceProfiles": {
							"shape": "S3r"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListMFADevices": {
				"input": {
					"type": "structure",
					"members": {
						"UserName": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListMFADevicesResult",
					"type": "structure",
					"required": [
						"MFADevices"
					],
					"members": {
						"MFADevices": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"UserName",
									"SerialNumber",
									"EnableDate"
								],
								"members": {
									"UserName": {},
									"SerialNumber": {},
									"EnableDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListOpenIDConnectProviders": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"resultWrapper": "ListOpenIDConnectProvidersResult",
					"type": "structure",
					"members": {
						"OpenIDConnectProviderList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Arn": {}
								}
							}
						}
					}
				}
			},
			"ListPolicies": {
				"input": {
					"type": "structure",
					"members": {
						"Scope": {},
						"OnlyAttached": {
							"type": "boolean"
						},
						"PathPrefix": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListPoliciesResult",
					"type": "structure",
					"members": {
						"Policies": {
							"type": "list",
							"member": {
								"shape": "S1g"
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListPolicyVersions": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyArn"
					],
					"members": {
						"PolicyArn": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListPolicyVersionsResult",
					"type": "structure",
					"members": {
						"Versions": {
							"shape": "S3u"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListRolePolicies": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName"
					],
					"members": {
						"RoleName": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListRolePoliciesResult",
					"type": "structure",
					"required": [
						"PolicyNames"
					],
					"members": {
						"PolicyNames": {
							"shape": "S62"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListRoles": {
				"input": {
					"type": "structure",
					"members": {
						"PathPrefix": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListRolesResult",
					"type": "structure",
					"required": [
						"Roles"
					],
					"members": {
						"Roles": {
							"shape": "Sx"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListSAMLProviders": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"resultWrapper": "ListSAMLProvidersResult",
					"type": "structure",
					"members": {
						"SAMLProviderList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Arn": {},
									"ValidUntil": {
										"type": "timestamp"
									},
									"CreateDate": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"ListSSHPublicKeys": {
				"input": {
					"type": "structure",
					"members": {
						"UserName": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListSSHPublicKeysResult",
					"type": "structure",
					"members": {
						"SSHPublicKeys": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"UserName",
									"SSHPublicKeyId",
									"Status",
									"UploadDate"
								],
								"members": {
									"UserName": {},
									"SSHPublicKeyId": {},
									"Status": {},
									"UploadDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListServerCertificates": {
				"input": {
					"type": "structure",
					"members": {
						"PathPrefix": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListServerCertificatesResult",
					"type": "structure",
					"required": [
						"ServerCertificateMetadataList"
					],
					"members": {
						"ServerCertificateMetadataList": {
							"type": "list",
							"member": {
								"shape": "S58"
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListServiceSpecificCredentials": {
				"input": {
					"type": "structure",
					"members": {
						"UserName": {},
						"ServiceName": {}
					}
				},
				"output": {
					"resultWrapper": "ListServiceSpecificCredentialsResult",
					"type": "structure",
					"members": {
						"ServiceSpecificCredentials": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"UserName",
									"Status",
									"ServiceUserName",
									"CreateDate",
									"ServiceSpecificCredentialId",
									"ServiceName"
								],
								"members": {
									"UserName": {},
									"Status": {},
									"ServiceUserName": {},
									"CreateDate": {
										"type": "timestamp"
									},
									"ServiceSpecificCredentialId": {},
									"ServiceName": {}
								}
							}
						}
					}
				}
			},
			"ListSigningCertificates": {
				"input": {
					"type": "structure",
					"members": {
						"UserName": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListSigningCertificatesResult",
					"type": "structure",
					"required": [
						"Certificates"
					],
					"members": {
						"Certificates": {
							"type": "list",
							"member": {
								"shape": "S7d"
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListUserPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"UserName"
					],
					"members": {
						"UserName": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListUserPoliciesResult",
					"type": "structure",
					"required": [
						"PolicyNames"
					],
					"members": {
						"PolicyNames": {
							"shape": "S62"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListUsers": {
				"input": {
					"type": "structure",
					"members": {
						"PathPrefix": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListUsersResult",
					"type": "structure",
					"required": [
						"Users"
					],
					"members": {
						"Users": {
							"shape": "S4g"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"ListVirtualMFADevices": {
				"input": {
					"type": "structure",
					"members": {
						"AssignmentStatus": {},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListVirtualMFADevicesResult",
					"type": "structure",
					"required": [
						"VirtualMFADevices"
					],
					"members": {
						"VirtualMFADevices": {
							"type": "list",
							"member": {
								"shape": "S28"
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {}
					}
				}
			},
			"PutGroupPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"PolicyName",
						"PolicyDocument"
					],
					"members": {
						"GroupName": {},
						"PolicyName": {},
						"PolicyDocument": {}
					}
				}
			},
			"PutRolePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName",
						"PolicyName",
						"PolicyDocument"
					],
					"members": {
						"RoleName": {},
						"PolicyName": {},
						"PolicyDocument": {}
					}
				}
			},
			"PutUserPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"PolicyName",
						"PolicyDocument"
					],
					"members": {
						"UserName": {},
						"PolicyName": {},
						"PolicyDocument": {}
					}
				}
			},
			"RemoveClientIDFromOpenIDConnectProvider": {
				"input": {
					"type": "structure",
					"required": [
						"OpenIDConnectProviderArn",
						"ClientID"
					],
					"members": {
						"OpenIDConnectProviderArn": {},
						"ClientID": {}
					}
				}
			},
			"RemoveRoleFromInstanceProfile": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceProfileName",
						"RoleName"
					],
					"members": {
						"InstanceProfileName": {},
						"RoleName": {}
					}
				}
			},
			"RemoveUserFromGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName",
						"UserName"
					],
					"members": {
						"GroupName": {},
						"UserName": {}
					}
				}
			},
			"ResetServiceSpecificCredential": {
				"input": {
					"type": "structure",
					"required": [
						"ServiceSpecificCredentialId"
					],
					"members": {
						"UserName": {},
						"ServiceSpecificCredentialId": {}
					}
				},
				"output": {
					"resultWrapper": "ResetServiceSpecificCredentialResult",
					"type": "structure",
					"members": {
						"ServiceSpecificCredential": {
							"shape": "S1y"
						}
					}
				}
			},
			"ResyncMFADevice": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"SerialNumber",
						"AuthenticationCode1",
						"AuthenticationCode2"
					],
					"members": {
						"UserName": {},
						"SerialNumber": {},
						"AuthenticationCode1": {},
						"AuthenticationCode2": {}
					}
				}
			},
			"SetDefaultPolicyVersion": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyArn",
						"VersionId"
					],
					"members": {
						"PolicyArn": {},
						"VersionId": {}
					}
				}
			},
			"SimulateCustomPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyInputList",
						"ActionNames"
					],
					"members": {
						"PolicyInputList": {
							"shape": "S46"
						},
						"ActionNames": {
							"shape": "S7x"
						},
						"ResourceArns": {
							"shape": "S7z"
						},
						"ResourcePolicy": {},
						"ResourceOwner": {},
						"CallerArn": {},
						"ContextEntries": {
							"shape": "S81"
						},
						"ResourceHandlingOption": {},
						"MaxItems": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"shape": "S87",
					"resultWrapper": "SimulateCustomPolicyResult"
				}
			},
			"SimulatePrincipalPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicySourceArn",
						"ActionNames"
					],
					"members": {
						"PolicySourceArn": {},
						"PolicyInputList": {
							"shape": "S46"
						},
						"ActionNames": {
							"shape": "S7x"
						},
						"ResourceArns": {
							"shape": "S7z"
						},
						"ResourcePolicy": {},
						"ResourceOwner": {},
						"CallerArn": {},
						"ContextEntries": {
							"shape": "S81"
						},
						"ResourceHandlingOption": {},
						"MaxItems": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"shape": "S87",
					"resultWrapper": "SimulatePrincipalPolicyResult"
				}
			},
			"UpdateAccessKey": {
				"input": {
					"type": "structure",
					"required": [
						"AccessKeyId",
						"Status"
					],
					"members": {
						"UserName": {},
						"AccessKeyId": {},
						"Status": {}
					}
				}
			},
			"UpdateAccountPasswordPolicy": {
				"input": {
					"type": "structure",
					"members": {
						"MinimumPasswordLength": {
							"type": "integer"
						},
						"RequireSymbols": {
							"type": "boolean"
						},
						"RequireNumbers": {
							"type": "boolean"
						},
						"RequireUppercaseCharacters": {
							"type": "boolean"
						},
						"RequireLowercaseCharacters": {
							"type": "boolean"
						},
						"AllowUsersToChangePassword": {
							"type": "boolean"
						},
						"MaxPasswordAge": {
							"type": "integer"
						},
						"PasswordReusePrevention": {
							"type": "integer"
						},
						"HardExpiry": {
							"type": "boolean"
						}
					}
				}
			},
			"UpdateAssumeRolePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName",
						"PolicyDocument"
					],
					"members": {
						"RoleName": {},
						"PolicyDocument": {}
					}
				}
			},
			"UpdateGroup": {
				"input": {
					"type": "structure",
					"required": [
						"GroupName"
					],
					"members": {
						"GroupName": {},
						"NewPath": {},
						"NewGroupName": {}
					}
				}
			},
			"UpdateLoginProfile": {
				"input": {
					"type": "structure",
					"required": [
						"UserName"
					],
					"members": {
						"UserName": {},
						"Password": {
							"shape": "Sf"
						},
						"PasswordResetRequired": {
							"type": "boolean"
						}
					}
				}
			},
			"UpdateOpenIDConnectProviderThumbprint": {
				"input": {
					"type": "structure",
					"required": [
						"OpenIDConnectProviderArn",
						"ThumbprintList"
					],
					"members": {
						"OpenIDConnectProviderArn": {},
						"ThumbprintList": {
							"shape": "S18"
						}
					}
				}
			},
			"UpdateRoleDescription": {
				"input": {
					"type": "structure",
					"required": [
						"RoleName",
						"Description"
					],
					"members": {
						"RoleName": {},
						"Description": {}
					}
				},
				"output": {
					"resultWrapper": "UpdateRoleDescriptionResult",
					"type": "structure",
					"members": {
						"Role": {
							"shape": "Sy"
						}
					}
				}
			},
			"UpdateSAMLProvider": {
				"input": {
					"type": "structure",
					"required": [
						"SAMLMetadataDocument",
						"SAMLProviderArn"
					],
					"members": {
						"SAMLMetadataDocument": {},
						"SAMLProviderArn": {}
					}
				},
				"output": {
					"resultWrapper": "UpdateSAMLProviderResult",
					"type": "structure",
					"members": {
						"SAMLProviderArn": {}
					}
				}
			},
			"UpdateSSHPublicKey": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"SSHPublicKeyId",
						"Status"
					],
					"members": {
						"UserName": {},
						"SSHPublicKeyId": {},
						"Status": {}
					}
				}
			},
			"UpdateServerCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"ServerCertificateName"
					],
					"members": {
						"ServerCertificateName": {},
						"NewPath": {},
						"NewServerCertificateName": {}
					}
				}
			},
			"UpdateServiceSpecificCredential": {
				"input": {
					"type": "structure",
					"required": [
						"ServiceSpecificCredentialId",
						"Status"
					],
					"members": {
						"UserName": {},
						"ServiceSpecificCredentialId": {},
						"Status": {}
					}
				}
			},
			"UpdateSigningCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateId",
						"Status"
					],
					"members": {
						"UserName": {},
						"CertificateId": {},
						"Status": {}
					}
				}
			},
			"UpdateUser": {
				"input": {
					"type": "structure",
					"required": [
						"UserName"
					],
					"members": {
						"UserName": {},
						"NewPath": {},
						"NewUserName": {}
					}
				}
			},
			"UploadSSHPublicKey": {
				"input": {
					"type": "structure",
					"required": [
						"UserName",
						"SSHPublicKeyBody"
					],
					"members": {
						"UserName": {},
						"SSHPublicKeyBody": {}
					}
				},
				"output": {
					"resultWrapper": "UploadSSHPublicKeyResult",
					"type": "structure",
					"members": {
						"SSHPublicKey": {
							"shape": "S52"
						}
					}
				}
			},
			"UploadServerCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"ServerCertificateName",
						"CertificateBody",
						"PrivateKey"
					],
					"members": {
						"Path": {},
						"ServerCertificateName": {},
						"CertificateBody": {},
						"PrivateKey": {
							"type": "string",
							"sensitive": true
						},
						"CertificateChain": {}
					}
				},
				"output": {
					"resultWrapper": "UploadServerCertificateResult",
					"type": "structure",
					"members": {
						"ServerCertificateMetadata": {
							"shape": "S58"
						}
					}
				}
			},
			"UploadSigningCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"CertificateBody"
					],
					"members": {
						"UserName": {},
						"CertificateBody": {}
					}
				},
				"output": {
					"resultWrapper": "UploadSigningCertificateResult",
					"type": "structure",
					"required": [
						"Certificate"
					],
					"members": {
						"Certificate": {
							"shape": "S7d"
						}
					}
				}
			}
		},
		"shapes": {
			"Sf": {
				"type": "string",
				"sensitive": true
			},
			"Ss": {
				"type": "structure",
				"required": [
					"Path",
					"GroupName",
					"GroupId",
					"Arn",
					"CreateDate"
				],
				"members": {
					"Path": {},
					"GroupName": {},
					"GroupId": {},
					"Arn": {},
					"CreateDate": {
						"type": "timestamp"
					}
				}
			},
			"Sw": {
				"type": "structure",
				"required": [
					"Path",
					"InstanceProfileName",
					"InstanceProfileId",
					"Arn",
					"CreateDate",
					"Roles"
				],
				"members": {
					"Path": {},
					"InstanceProfileName": {},
					"InstanceProfileId": {},
					"Arn": {},
					"CreateDate": {
						"type": "timestamp"
					},
					"Roles": {
						"shape": "Sx"
					}
				}
			},
			"Sx": {
				"type": "list",
				"member": {
					"shape": "Sy"
				}
			},
			"Sy": {
				"type": "structure",
				"required": [
					"Path",
					"RoleName",
					"RoleId",
					"Arn",
					"CreateDate"
				],
				"members": {
					"Path": {},
					"RoleName": {},
					"RoleId": {},
					"Arn": {},
					"CreateDate": {
						"type": "timestamp"
					},
					"AssumeRolePolicyDocument": {},
					"Description": {}
				}
			},
			"S14": {
				"type": "structure",
				"required": [
					"UserName",
					"CreateDate"
				],
				"members": {
					"UserName": {},
					"CreateDate": {
						"type": "timestamp"
					},
					"PasswordResetRequired": {
						"type": "boolean"
					}
				}
			},
			"S17": {
				"type": "list",
				"member": {}
			},
			"S18": {
				"type": "list",
				"member": {}
			},
			"S1g": {
				"type": "structure",
				"members": {
					"PolicyName": {},
					"PolicyId": {},
					"Arn": {},
					"Path": {},
					"DefaultVersionId": {},
					"AttachmentCount": {
						"type": "integer"
					},
					"IsAttachable": {
						"type": "boolean"
					},
					"Description": {},
					"CreateDate": {
						"type": "timestamp"
					},
					"UpdateDate": {
						"type": "timestamp"
					}
				}
			},
			"S1l": {
				"type": "structure",
				"members": {
					"Document": {},
					"VersionId": {},
					"IsDefaultVersion": {
						"type": "boolean"
					},
					"CreateDate": {
						"type": "timestamp"
					}
				}
			},
			"S1y": {
				"type": "structure",
				"required": [
					"CreateDate",
					"ServiceName",
					"ServiceUserName",
					"ServicePassword",
					"ServiceSpecificCredentialId",
					"UserName",
					"Status"
				],
				"members": {
					"CreateDate": {
						"type": "timestamp"
					},
					"ServiceName": {},
					"ServiceUserName": {},
					"ServicePassword": {
						"type": "string",
						"sensitive": true
					},
					"ServiceSpecificCredentialId": {},
					"UserName": {},
					"Status": {}
				}
			},
			"S24": {
				"type": "structure",
				"required": [
					"Path",
					"UserName",
					"UserId",
					"Arn",
					"CreateDate"
				],
				"members": {
					"Path": {},
					"UserName": {},
					"UserId": {},
					"Arn": {},
					"CreateDate": {
						"type": "timestamp"
					},
					"PasswordLastUsed": {
						"type": "timestamp"
					}
				}
			},
			"S28": {
				"type": "structure",
				"required": [
					"SerialNumber"
				],
				"members": {
					"SerialNumber": {},
					"Base32StringSeed": {
						"shape": "S2a"
					},
					"QRCodePNG": {
						"shape": "S2a"
					},
					"User": {
						"shape": "S24"
					},
					"EnableDate": {
						"type": "timestamp"
					}
				}
			},
			"S2a": {
				"type": "blob",
				"sensitive": true
			},
			"S3i": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"PolicyName": {},
						"PolicyDocument": {}
					}
				}
			},
			"S3l": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"PolicyName": {},
						"PolicyArn": {}
					}
				}
			},
			"S3r": {
				"type": "list",
				"member": {
					"shape": "Sw"
				}
			},
			"S3u": {
				"type": "list",
				"member": {
					"shape": "S1l"
				}
			},
			"S46": {
				"type": "list",
				"member": {}
			},
			"S47": {
				"type": "structure",
				"members": {
					"ContextKeyNames": {
						"shape": "S48"
					}
				}
			},
			"S48": {
				"type": "list",
				"member": {}
			},
			"S4g": {
				"type": "list",
				"member": {
					"shape": "S24"
				}
			},
			"S52": {
				"type": "structure",
				"required": [
					"UserName",
					"SSHPublicKeyId",
					"Fingerprint",
					"SSHPublicKeyBody",
					"Status"
				],
				"members": {
					"UserName": {},
					"SSHPublicKeyId": {},
					"Fingerprint": {},
					"SSHPublicKeyBody": {},
					"Status": {},
					"UploadDate": {
						"type": "timestamp"
					}
				}
			},
			"S58": {
				"type": "structure",
				"required": [
					"Path",
					"ServerCertificateName",
					"ServerCertificateId",
					"Arn"
				],
				"members": {
					"Path": {},
					"ServerCertificateName": {},
					"ServerCertificateId": {},
					"Arn": {},
					"UploadDate": {
						"type": "timestamp"
					},
					"Expiration": {
						"type": "timestamp"
					}
				}
			},
			"S62": {
				"type": "list",
				"member": {}
			},
			"S66": {
				"type": "list",
				"member": {
					"shape": "Ss"
				}
			},
			"S7d": {
				"type": "structure",
				"required": [
					"UserName",
					"CertificateId",
					"CertificateBody",
					"Status"
				],
				"members": {
					"UserName": {},
					"CertificateId": {},
					"CertificateBody": {},
					"Status": {},
					"UploadDate": {
						"type": "timestamp"
					}
				}
			},
			"S7x": {
				"type": "list",
				"member": {}
			},
			"S7z": {
				"type": "list",
				"member": {}
			},
			"S81": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ContextKeyName": {},
						"ContextKeyValues": {
							"type": "list",
							"member": {}
						},
						"ContextKeyType": {}
					}
				}
			},
			"S87": {
				"type": "structure",
				"members": {
					"EvaluationResults": {
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"EvalActionName",
								"EvalDecision"
							],
							"members": {
								"EvalActionName": {},
								"EvalResourceName": {},
								"EvalDecision": {},
								"MatchedStatements": {
									"shape": "S8b"
								},
								"MissingContextValues": {
									"shape": "S48"
								},
								"OrganizationsDecisionDetail": {
									"type": "structure",
									"members": {
										"AllowedByOrganizations": {
											"type": "boolean"
										}
									}
								},
								"EvalDecisionDetails": {
									"shape": "S8j"
								},
								"ResourceSpecificResults": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"EvalResourceName",
											"EvalResourceDecision"
										],
										"members": {
											"EvalResourceName": {},
											"EvalResourceDecision": {},
											"MatchedStatements": {
												"shape": "S8b"
											},
											"MissingContextValues": {
												"shape": "S48"
											},
											"EvalDecisionDetails": {
												"shape": "S8j"
											}
										}
									}
								}
							}
						}
					},
					"IsTruncated": {
						"type": "boolean"
					},
					"Marker": {}
				}
			},
			"S8b": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"SourcePolicyId": {},
						"SourcePolicyType": {},
						"StartPosition": {
							"shape": "S8f"
						},
						"EndPosition": {
							"shape": "S8f"
						}
					}
				}
			},
			"S8f": {
				"type": "structure",
				"members": {
					"Line": {
						"type": "integer"
					},
					"Column": {
						"type": "integer"
					}
				}
			},
			"S8j": {
				"type": "map",
				"key": {},
				"value": {}
			}
		}
	};

/***/ }),
/* 475 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"GetAccountAuthorizationDetails": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": [
					"UserDetailList",
					"GroupDetailList",
					"RoleDetailList",
					"Policies"
				]
			},
			"GetGroup": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "Users"
			},
			"ListAccessKeys": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "AccessKeyMetadata"
			},
			"ListAccountAliases": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "AccountAliases"
			},
			"ListAttachedGroupPolicies": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "AttachedPolicies"
			},
			"ListAttachedRolePolicies": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "AttachedPolicies"
			},
			"ListAttachedUserPolicies": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "AttachedPolicies"
			},
			"ListEntitiesForPolicy": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": [
					"PolicyGroups",
					"PolicyUsers",
					"PolicyRoles"
				]
			},
			"ListGroupPolicies": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "PolicyNames"
			},
			"ListGroups": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "Groups"
			},
			"ListGroupsForUser": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "Groups"
			},
			"ListInstanceProfiles": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "InstanceProfiles"
			},
			"ListInstanceProfilesForRole": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "InstanceProfiles"
			},
			"ListMFADevices": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "MFADevices"
			},
			"ListPolicies": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "Policies"
			},
			"ListPolicyVersions": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "Versions"
			},
			"ListRolePolicies": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "PolicyNames"
			},
			"ListRoles": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "Roles"
			},
			"ListSAMLProviders": {
				"result_key": "SAMLProviderList"
			},
			"ListSSHPublicKeys": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "SSHPublicKeys"
			},
			"ListServerCertificates": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "ServerCertificateMetadataList"
			},
			"ListSigningCertificates": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "Certificates"
			},
			"ListUserPolicies": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "PolicyNames"
			},
			"ListUsers": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "Users"
			},
			"ListVirtualMFADevices": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "VirtualMFADevices"
			},
			"SimulateCustomPolicy": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "EvaluationResults"
			},
			"SimulatePrincipalPolicy": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "Marker",
				"result_key": "EvaluationResults"
			}
		}
	};

/***/ }),
/* 476 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"InstanceProfileExists": {
				"delay": 1,
				"operation": "GetInstanceProfile",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": 200,
						"matcher": "status",
						"state": "success"
					},
					{
						"state": "retry",
						"matcher": "status",
						"expected": 404
					}
				]
			},
			"UserExists": {
				"delay": 1,
				"operation": "GetUser",
				"maxAttempts": 20,
				"acceptors": [
					{
						"state": "success",
						"matcher": "status",
						"expected": 200
					},
					{
						"state": "retry",
						"matcher": "error",
						"expected": "NoSuchEntity"
					}
				]
			}
		}
	};

/***/ }),
/* 477 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['importexport'] = {};
	AWS.ImportExport = Service.defineService('importexport', ['2010-06-01']);
	Object.defineProperty(apiLoader.services['importexport'], '2010-06-01', {
	  get: function get() {
	    var model = __webpack_require__(478);
	    model.paginators = __webpack_require__(479).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ImportExport;


/***/ }),
/* 478 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"uid": "importexport-2010-06-01",
			"apiVersion": "2010-06-01",
			"endpointPrefix": "importexport",
			"globalEndpoint": "importexport.amazonaws.com",
			"serviceFullName": "AWS Import/Export",
			"signatureVersion": "v2",
			"xmlNamespace": "http://importexport.amazonaws.com/doc/2010-06-01/",
			"protocol": "query"
		},
		"operations": {
			"CancelJob": {
				"http": {
					"requestUri": "/?Operation=CancelJob"
				},
				"input": {
					"type": "structure",
					"required": [
						"JobId"
					],
					"members": {
						"JobId": {},
						"APIVersion": {}
					}
				},
				"output": {
					"resultWrapper": "CancelJobResult",
					"type": "structure",
					"members": {
						"Success": {
							"type": "boolean"
						}
					}
				}
			},
			"CreateJob": {
				"http": {
					"requestUri": "/?Operation=CreateJob"
				},
				"input": {
					"type": "structure",
					"required": [
						"JobType",
						"Manifest",
						"ValidateOnly"
					],
					"members": {
						"JobType": {},
						"Manifest": {},
						"ManifestAddendum": {},
						"ValidateOnly": {
							"type": "boolean"
						},
						"APIVersion": {}
					}
				},
				"output": {
					"resultWrapper": "CreateJobResult",
					"type": "structure",
					"members": {
						"JobId": {},
						"JobType": {},
						"Signature": {},
						"SignatureFileContents": {},
						"WarningMessage": {},
						"ArtifactList": {
							"shape": "Sf"
						}
					}
				}
			},
			"GetShippingLabel": {
				"http": {
					"requestUri": "/?Operation=GetShippingLabel"
				},
				"input": {
					"type": "structure",
					"required": [
						"jobIds"
					],
					"members": {
						"jobIds": {
							"type": "list",
							"member": {}
						},
						"name": {},
						"company": {},
						"phoneNumber": {},
						"country": {},
						"stateOrProvince": {},
						"city": {},
						"postalCode": {},
						"street1": {},
						"street2": {},
						"street3": {},
						"APIVersion": {}
					}
				},
				"output": {
					"resultWrapper": "GetShippingLabelResult",
					"type": "structure",
					"members": {
						"ShippingLabelURL": {},
						"Warning": {}
					}
				}
			},
			"GetStatus": {
				"http": {
					"requestUri": "/?Operation=GetStatus"
				},
				"input": {
					"type": "structure",
					"required": [
						"JobId"
					],
					"members": {
						"JobId": {},
						"APIVersion": {}
					}
				},
				"output": {
					"resultWrapper": "GetStatusResult",
					"type": "structure",
					"members": {
						"JobId": {},
						"JobType": {},
						"LocationCode": {},
						"LocationMessage": {},
						"ProgressCode": {},
						"ProgressMessage": {},
						"Carrier": {},
						"TrackingNumber": {},
						"LogBucket": {},
						"LogKey": {},
						"ErrorCount": {
							"type": "integer"
						},
						"Signature": {},
						"SignatureFileContents": {},
						"CurrentManifest": {},
						"CreationDate": {
							"type": "timestamp"
						},
						"ArtifactList": {
							"shape": "Sf"
						}
					}
				}
			},
			"ListJobs": {
				"http": {
					"requestUri": "/?Operation=ListJobs"
				},
				"input": {
					"type": "structure",
					"members": {
						"MaxJobs": {
							"type": "integer"
						},
						"Marker": {},
						"APIVersion": {}
					}
				},
				"output": {
					"resultWrapper": "ListJobsResult",
					"type": "structure",
					"members": {
						"Jobs": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"JobId": {},
									"CreationDate": {
										"type": "timestamp"
									},
									"IsCanceled": {
										"type": "boolean"
									},
									"JobType": {}
								}
							}
						},
						"IsTruncated": {
							"type": "boolean"
						}
					}
				}
			},
			"UpdateJob": {
				"http": {
					"requestUri": "/?Operation=UpdateJob"
				},
				"input": {
					"type": "structure",
					"required": [
						"JobId",
						"Manifest",
						"JobType",
						"ValidateOnly"
					],
					"members": {
						"JobId": {},
						"Manifest": {},
						"JobType": {},
						"ValidateOnly": {
							"type": "boolean"
						},
						"APIVersion": {}
					}
				},
				"output": {
					"resultWrapper": "UpdateJobResult",
					"type": "structure",
					"members": {
						"Success": {
							"type": "boolean"
						},
						"WarningMessage": {},
						"ArtifactList": {
							"shape": "Sf"
						}
					}
				}
			}
		},
		"shapes": {
			"Sf": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Description": {},
						"URL": {}
					}
				}
			}
		},
		"examples": {}
	};

/***/ }),
/* 479 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListJobs": {
				"input_token": "Marker",
				"output_token": "Jobs[-1].JobId",
				"more_results": "IsTruncated",
				"limit_key": "MaxJobs",
				"result_key": "Jobs"
			}
		}
	};

/***/ }),
/* 480 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['inspector'] = {};
	AWS.Inspector = Service.defineService('inspector', ['2015-08-18*', '2016-02-16']);
	Object.defineProperty(apiLoader.services['inspector'], '2016-02-16', {
	  get: function get() {
	    var model = __webpack_require__(481);
	    model.paginators = __webpack_require__(482).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Inspector;


/***/ }),
/* 481 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-02-16",
			"endpointPrefix": "inspector",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon Inspector",
			"signatureVersion": "v4",
			"targetPrefix": "InspectorService",
			"uid": "inspector-2016-02-16"
		},
		"operations": {
			"AddAttributesToFindings": {
				"input": {
					"type": "structure",
					"required": [
						"findingArns",
						"attributes"
					],
					"members": {
						"findingArns": {
							"shape": "S2"
						},
						"attributes": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"failedItems"
					],
					"members": {
						"failedItems": {
							"shape": "S9"
						}
					}
				}
			},
			"CreateAssessmentTarget": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentTargetName",
						"resourceGroupArn"
					],
					"members": {
						"assessmentTargetName": {},
						"resourceGroupArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"assessmentTargetArn"
					],
					"members": {
						"assessmentTargetArn": {}
					}
				}
			},
			"CreateAssessmentTemplate": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentTargetArn",
						"assessmentTemplateName",
						"durationInSeconds",
						"rulesPackageArns"
					],
					"members": {
						"assessmentTargetArn": {},
						"assessmentTemplateName": {},
						"durationInSeconds": {
							"type": "integer"
						},
						"rulesPackageArns": {
							"shape": "Sj"
						},
						"userAttributesForFindings": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"assessmentTemplateArn"
					],
					"members": {
						"assessmentTemplateArn": {}
					}
				}
			},
			"CreateResourceGroup": {
				"input": {
					"type": "structure",
					"required": [
						"resourceGroupTags"
					],
					"members": {
						"resourceGroupTags": {
							"shape": "Sm"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"resourceGroupArn"
					],
					"members": {
						"resourceGroupArn": {}
					}
				}
			},
			"DeleteAssessmentRun": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentRunArn"
					],
					"members": {
						"assessmentRunArn": {}
					}
				}
			},
			"DeleteAssessmentTarget": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentTargetArn"
					],
					"members": {
						"assessmentTargetArn": {}
					}
				}
			},
			"DeleteAssessmentTemplate": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentTemplateArn"
					],
					"members": {
						"assessmentTemplateArn": {}
					}
				}
			},
			"DescribeAssessmentRuns": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentRunArns"
					],
					"members": {
						"assessmentRunArns": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"assessmentRuns",
						"failedItems"
					],
					"members": {
						"assessmentRuns": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"arn",
									"name",
									"assessmentTemplateArn",
									"state",
									"durationInSeconds",
									"rulesPackageArns",
									"userAttributesForFindings",
									"createdAt",
									"stateChangedAt",
									"dataCollected",
									"stateChanges",
									"notifications",
									"findingCounts"
								],
								"members": {
									"arn": {},
									"name": {},
									"assessmentTemplateArn": {},
									"state": {},
									"durationInSeconds": {
										"type": "integer"
									},
									"rulesPackageArns": {
										"type": "list",
										"member": {}
									},
									"userAttributesForFindings": {
										"shape": "S4"
									},
									"createdAt": {
										"type": "timestamp"
									},
									"startedAt": {
										"type": "timestamp"
									},
									"completedAt": {
										"type": "timestamp"
									},
									"stateChangedAt": {
										"type": "timestamp"
									},
									"dataCollected": {
										"type": "boolean"
									},
									"stateChanges": {
										"type": "list",
										"member": {
											"type": "structure",
											"required": [
												"stateChangedAt",
												"state"
											],
											"members": {
												"stateChangedAt": {
													"type": "timestamp"
												},
												"state": {}
											}
										}
									},
									"notifications": {
										"type": "list",
										"member": {
											"type": "structure",
											"required": [
												"date",
												"event",
												"error"
											],
											"members": {
												"date": {
													"type": "timestamp"
												},
												"event": {},
												"message": {},
												"error": {
													"type": "boolean"
												},
												"snsTopicArn": {},
												"snsPublishStatusCode": {}
											}
										}
									},
									"findingCounts": {
										"type": "map",
										"key": {},
										"value": {
											"type": "integer"
										}
									}
								}
							}
						},
						"failedItems": {
							"shape": "S9"
						}
					}
				}
			},
			"DescribeAssessmentTargets": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentTargetArns"
					],
					"members": {
						"assessmentTargetArns": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"assessmentTargets",
						"failedItems"
					],
					"members": {
						"assessmentTargets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"arn",
									"name",
									"resourceGroupArn",
									"createdAt",
									"updatedAt"
								],
								"members": {
									"arn": {},
									"name": {},
									"resourceGroupArn": {},
									"createdAt": {
										"type": "timestamp"
									},
									"updatedAt": {
										"type": "timestamp"
									}
								}
							}
						},
						"failedItems": {
							"shape": "S9"
						}
					}
				}
			},
			"DescribeAssessmentTemplates": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentTemplateArns"
					],
					"members": {
						"assessmentTemplateArns": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"assessmentTemplates",
						"failedItems"
					],
					"members": {
						"assessmentTemplates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"arn",
									"name",
									"assessmentTargetArn",
									"durationInSeconds",
									"rulesPackageArns",
									"userAttributesForFindings",
									"createdAt"
								],
								"members": {
									"arn": {},
									"name": {},
									"assessmentTargetArn": {},
									"durationInSeconds": {
										"type": "integer"
									},
									"rulesPackageArns": {
										"shape": "Sj"
									},
									"userAttributesForFindings": {
										"shape": "S4"
									},
									"createdAt": {
										"type": "timestamp"
									}
								}
							}
						},
						"failedItems": {
							"shape": "S9"
						}
					}
				}
			},
			"DescribeCrossAccountAccessRole": {
				"output": {
					"type": "structure",
					"required": [
						"roleArn",
						"valid",
						"registeredAt"
					],
					"members": {
						"roleArn": {},
						"valid": {
							"type": "boolean"
						},
						"registeredAt": {
							"type": "timestamp"
						}
					}
				}
			},
			"DescribeFindings": {
				"input": {
					"type": "structure",
					"required": [
						"findingArns"
					],
					"members": {
						"findingArns": {
							"shape": "Sv"
						},
						"locale": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"findings",
						"failedItems"
					],
					"members": {
						"findings": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"arn",
									"attributes",
									"userAttributes",
									"createdAt",
									"updatedAt"
								],
								"members": {
									"arn": {},
									"schemaVersion": {
										"type": "integer"
									},
									"service": {},
									"serviceAttributes": {
										"type": "structure",
										"required": [
											"schemaVersion"
										],
										"members": {
											"schemaVersion": {
												"type": "integer"
											},
											"assessmentRunArn": {},
											"rulesPackageArn": {}
										}
									},
									"assetType": {},
									"assetAttributes": {
										"type": "structure",
										"required": [
											"schemaVersion"
										],
										"members": {
											"schemaVersion": {
												"type": "integer"
											},
											"agentId": {},
											"autoScalingGroup": {},
											"amiId": {},
											"hostname": {},
											"ipv4Addresses": {
												"type": "list",
												"member": {}
											}
										}
									},
									"id": {},
									"title": {},
									"description": {},
									"recommendation": {},
									"severity": {},
									"numericSeverity": {
										"type": "double"
									},
									"confidence": {
										"type": "integer"
									},
									"indicatorOfCompromise": {
										"type": "boolean"
									},
									"attributes": {
										"shape": "S26"
									},
									"userAttributes": {
										"shape": "S4"
									},
									"createdAt": {
										"type": "timestamp"
									},
									"updatedAt": {
										"type": "timestamp"
									}
								}
							}
						},
						"failedItems": {
							"shape": "S9"
						}
					}
				}
			},
			"DescribeResourceGroups": {
				"input": {
					"type": "structure",
					"required": [
						"resourceGroupArns"
					],
					"members": {
						"resourceGroupArns": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"resourceGroups",
						"failedItems"
					],
					"members": {
						"resourceGroups": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"arn",
									"tags",
									"createdAt"
								],
								"members": {
									"arn": {},
									"tags": {
										"shape": "Sm"
									},
									"createdAt": {
										"type": "timestamp"
									}
								}
							}
						},
						"failedItems": {
							"shape": "S9"
						}
					}
				}
			},
			"DescribeRulesPackages": {
				"input": {
					"type": "structure",
					"required": [
						"rulesPackageArns"
					],
					"members": {
						"rulesPackageArns": {
							"shape": "Sv"
						},
						"locale": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"rulesPackages",
						"failedItems"
					],
					"members": {
						"rulesPackages": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"arn",
									"name",
									"version",
									"provider"
								],
								"members": {
									"arn": {},
									"name": {},
									"version": {},
									"provider": {},
									"description": {}
								}
							}
						},
						"failedItems": {
							"shape": "S9"
						}
					}
				}
			},
			"GetAssessmentReport": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentRunArn",
						"reportFileFormat",
						"reportType"
					],
					"members": {
						"assessmentRunArn": {},
						"reportFileFormat": {},
						"reportType": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"status"
					],
					"members": {
						"status": {},
						"url": {}
					}
				}
			},
			"GetTelemetryMetadata": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentRunArn"
					],
					"members": {
						"assessmentRunArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"telemetryMetadata"
					],
					"members": {
						"telemetryMetadata": {
							"shape": "S2q"
						}
					}
				}
			},
			"ListAssessmentRunAgents": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentRunArn"
					],
					"members": {
						"assessmentRunArn": {},
						"filter": {
							"type": "structure",
							"required": [
								"agentHealths",
								"agentHealthCodes"
							],
							"members": {
								"agentHealths": {
									"type": "list",
									"member": {}
								},
								"agentHealthCodes": {
									"type": "list",
									"member": {}
								}
							}
						},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"assessmentRunAgents"
					],
					"members": {
						"assessmentRunAgents": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"agentId",
									"assessmentRunArn",
									"agentHealth",
									"agentHealthCode",
									"telemetryMetadata"
								],
								"members": {
									"agentId": {},
									"assessmentRunArn": {},
									"agentHealth": {},
									"agentHealthCode": {},
									"agentHealthDetails": {},
									"autoScalingGroup": {},
									"telemetryMetadata": {
										"shape": "S2q"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListAssessmentRuns": {
				"input": {
					"type": "structure",
					"members": {
						"assessmentTemplateArns": {
							"shape": "S36"
						},
						"filter": {
							"type": "structure",
							"members": {
								"namePattern": {},
								"states": {
									"type": "list",
									"member": {}
								},
								"durationRange": {
									"shape": "S3a"
								},
								"rulesPackageArns": {
									"shape": "S3b"
								},
								"startTimeRange": {
									"shape": "S3c"
								},
								"completionTimeRange": {
									"shape": "S3c"
								},
								"stateChangeTimeRange": {
									"shape": "S3c"
								}
							}
						},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"assessmentRunArns"
					],
					"members": {
						"assessmentRunArns": {
							"shape": "S3e"
						},
						"nextToken": {}
					}
				}
			},
			"ListAssessmentTargets": {
				"input": {
					"type": "structure",
					"members": {
						"filter": {
							"type": "structure",
							"members": {
								"assessmentTargetNamePattern": {}
							}
						},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"assessmentTargetArns"
					],
					"members": {
						"assessmentTargetArns": {
							"shape": "S3e"
						},
						"nextToken": {}
					}
				}
			},
			"ListAssessmentTemplates": {
				"input": {
					"type": "structure",
					"members": {
						"assessmentTargetArns": {
							"shape": "S36"
						},
						"filter": {
							"type": "structure",
							"members": {
								"namePattern": {},
								"durationRange": {
									"shape": "S3a"
								},
								"rulesPackageArns": {
									"shape": "S3b"
								}
							}
						},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"assessmentTemplateArns"
					],
					"members": {
						"assessmentTemplateArns": {
							"shape": "S3e"
						},
						"nextToken": {}
					}
				}
			},
			"ListEventSubscriptions": {
				"input": {
					"type": "structure",
					"members": {
						"resourceArn": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"subscriptions"
					],
					"members": {
						"subscriptions": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"resourceArn",
									"topicArn",
									"eventSubscriptions"
								],
								"members": {
									"resourceArn": {},
									"topicArn": {},
									"eventSubscriptions": {
										"type": "list",
										"member": {
											"type": "structure",
											"required": [
												"event",
												"subscribedAt"
											],
											"members": {
												"event": {},
												"subscribedAt": {
													"type": "timestamp"
												}
											}
										}
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListFindings": {
				"input": {
					"type": "structure",
					"members": {
						"assessmentRunArns": {
							"shape": "S36"
						},
						"filter": {
							"type": "structure",
							"members": {
								"agentIds": {
									"type": "list",
									"member": {}
								},
								"autoScalingGroups": {
									"type": "list",
									"member": {}
								},
								"ruleNames": {
									"type": "list",
									"member": {}
								},
								"severities": {
									"type": "list",
									"member": {}
								},
								"rulesPackageArns": {
									"shape": "S3b"
								},
								"attributes": {
									"shape": "S26"
								},
								"userAttributes": {
									"shape": "S26"
								},
								"creationTimeRange": {
									"shape": "S3c"
								}
							}
						},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"findingArns"
					],
					"members": {
						"findingArns": {
							"shape": "S3e"
						},
						"nextToken": {}
					}
				}
			},
			"ListRulesPackages": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"rulesPackageArns"
					],
					"members": {
						"rulesPackageArns": {
							"shape": "S3e"
						},
						"nextToken": {}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"resourceArn"
					],
					"members": {
						"resourceArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"tags"
					],
					"members": {
						"tags": {
							"shape": "S44"
						}
					}
				}
			},
			"PreviewAgents": {
				"input": {
					"type": "structure",
					"required": [
						"previewAgentsArn"
					],
					"members": {
						"previewAgentsArn": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"agentPreviews"
					],
					"members": {
						"agentPreviews": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"agentId"
								],
								"members": {
									"agentId": {},
									"autoScalingGroup": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"RegisterCrossAccountAccessRole": {
				"input": {
					"type": "structure",
					"required": [
						"roleArn"
					],
					"members": {
						"roleArn": {}
					}
				}
			},
			"RemoveAttributesFromFindings": {
				"input": {
					"type": "structure",
					"required": [
						"findingArns",
						"attributeKeys"
					],
					"members": {
						"findingArns": {
							"shape": "S2"
						},
						"attributeKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"failedItems"
					],
					"members": {
						"failedItems": {
							"shape": "S9"
						}
					}
				}
			},
			"SetTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"resourceArn"
					],
					"members": {
						"resourceArn": {},
						"tags": {
							"shape": "S44"
						}
					}
				}
			},
			"StartAssessmentRun": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentTemplateArn"
					],
					"members": {
						"assessmentTemplateArn": {},
						"assessmentRunName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"assessmentRunArn"
					],
					"members": {
						"assessmentRunArn": {}
					}
				}
			},
			"StopAssessmentRun": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentRunArn"
					],
					"members": {
						"assessmentRunArn": {}
					}
				}
			},
			"SubscribeToEvent": {
				"input": {
					"type": "structure",
					"required": [
						"resourceArn",
						"event",
						"topicArn"
					],
					"members": {
						"resourceArn": {},
						"event": {},
						"topicArn": {}
					}
				}
			},
			"UnsubscribeFromEvent": {
				"input": {
					"type": "structure",
					"required": [
						"resourceArn",
						"event",
						"topicArn"
					],
					"members": {
						"resourceArn": {},
						"event": {},
						"topicArn": {}
					}
				}
			},
			"UpdateAssessmentTarget": {
				"input": {
					"type": "structure",
					"required": [
						"assessmentTargetArn",
						"assessmentTargetName",
						"resourceGroupArn"
					],
					"members": {
						"assessmentTargetArn": {},
						"assessmentTargetName": {},
						"resourceGroupArn": {}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "list",
				"member": {}
			},
			"S4": {
				"type": "list",
				"member": {
					"shape": "S5"
				}
			},
			"S5": {
				"type": "structure",
				"required": [
					"key"
				],
				"members": {
					"key": {},
					"value": {}
				}
			},
			"S9": {
				"type": "map",
				"key": {},
				"value": {
					"type": "structure",
					"required": [
						"failureCode",
						"retryable"
					],
					"members": {
						"failureCode": {},
						"retryable": {
							"type": "boolean"
						}
					}
				}
			},
			"Sj": {
				"type": "list",
				"member": {}
			},
			"Sm": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"key"
					],
					"members": {
						"key": {},
						"value": {}
					}
				}
			},
			"Sv": {
				"type": "list",
				"member": {}
			},
			"S26": {
				"type": "list",
				"member": {
					"shape": "S5"
				}
			},
			"S2q": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"messageType",
						"count"
					],
					"members": {
						"messageType": {},
						"count": {
							"type": "long"
						},
						"dataSize": {
							"type": "long"
						}
					}
				}
			},
			"S36": {
				"type": "list",
				"member": {}
			},
			"S3a": {
				"type": "structure",
				"members": {
					"minSeconds": {
						"type": "integer"
					},
					"maxSeconds": {
						"type": "integer"
					}
				}
			},
			"S3b": {
				"type": "list",
				"member": {}
			},
			"S3c": {
				"type": "structure",
				"members": {
					"beginDate": {
						"type": "timestamp"
					},
					"endDate": {
						"type": "timestamp"
					}
				}
			},
			"S3e": {
				"type": "list",
				"member": {}
			},
			"S44": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"key"
					],
					"members": {
						"key": {},
						"value": {}
					}
				}
			}
		}
	};

/***/ }),
/* 482 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 483 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['iot'] = {};
	AWS.Iot = Service.defineService('iot', ['2015-05-28']);
	Object.defineProperty(apiLoader.services['iot'], '2015-05-28', {
	  get: function get() {
	    var model = __webpack_require__(484);
	    model.paginators = __webpack_require__(485).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Iot;


/***/ }),
/* 484 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-05-28",
			"endpointPrefix": "iot",
			"protocol": "rest-json",
			"serviceFullName": "AWS IoT",
			"signatureVersion": "v4",
			"signingName": "execute-api",
			"uid": "iot-2015-05-28"
		},
		"operations": {
			"AcceptCertificateTransfer": {
				"http": {
					"method": "PATCH",
					"requestUri": "/accept-certificate-transfer/{certificateId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificateId"
					],
					"members": {
						"certificateId": {
							"location": "uri",
							"locationName": "certificateId"
						},
						"setAsActive": {
							"location": "querystring",
							"locationName": "setAsActive",
							"type": "boolean"
						}
					}
				}
			},
			"AttachPrincipalPolicy": {
				"http": {
					"method": "PUT",
					"requestUri": "/principal-policies/{policyName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"policyName",
						"principal"
					],
					"members": {
						"policyName": {
							"location": "uri",
							"locationName": "policyName"
						},
						"principal": {
							"location": "header",
							"locationName": "x-amzn-iot-principal"
						}
					}
				}
			},
			"AttachThingPrincipal": {
				"http": {
					"method": "PUT",
					"requestUri": "/things/{thingName}/principals"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingName",
						"principal"
					],
					"members": {
						"thingName": {
							"location": "uri",
							"locationName": "thingName"
						},
						"principal": {
							"location": "header",
							"locationName": "x-amzn-principal"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CancelCertificateTransfer": {
				"http": {
					"method": "PATCH",
					"requestUri": "/cancel-certificate-transfer/{certificateId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificateId"
					],
					"members": {
						"certificateId": {
							"location": "uri",
							"locationName": "certificateId"
						}
					}
				}
			},
			"CreateCertificateFromCsr": {
				"http": {
					"requestUri": "/certificates"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificateSigningRequest"
					],
					"members": {
						"certificateSigningRequest": {},
						"setAsActive": {
							"location": "querystring",
							"locationName": "setAsActive",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"certificateArn": {},
						"certificateId": {},
						"certificatePem": {}
					}
				}
			},
			"CreateKeysAndCertificate": {
				"http": {
					"requestUri": "/keys-and-certificate"
				},
				"input": {
					"type": "structure",
					"members": {
						"setAsActive": {
							"location": "querystring",
							"locationName": "setAsActive",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"certificateArn": {},
						"certificateId": {},
						"certificatePem": {},
						"keyPair": {
							"type": "structure",
							"members": {
								"PublicKey": {},
								"PrivateKey": {
									"type": "string",
									"sensitive": true
								}
							}
						}
					}
				}
			},
			"CreatePolicy": {
				"http": {
					"requestUri": "/policies/{policyName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"policyName",
						"policyDocument"
					],
					"members": {
						"policyName": {
							"location": "uri",
							"locationName": "policyName"
						},
						"policyDocument": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"policyName": {},
						"policyArn": {},
						"policyDocument": {},
						"policyVersionId": {}
					}
				}
			},
			"CreatePolicyVersion": {
				"http": {
					"requestUri": "/policies/{policyName}/version"
				},
				"input": {
					"type": "structure",
					"required": [
						"policyName",
						"policyDocument"
					],
					"members": {
						"policyName": {
							"location": "uri",
							"locationName": "policyName"
						},
						"policyDocument": {},
						"setAsDefault": {
							"location": "querystring",
							"locationName": "setAsDefault",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"policyArn": {},
						"policyDocument": {},
						"policyVersionId": {},
						"isDefaultVersion": {
							"type": "boolean"
						}
					}
				}
			},
			"CreateThing": {
				"http": {
					"requestUri": "/things/{thingName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingName"
					],
					"members": {
						"thingName": {
							"location": "uri",
							"locationName": "thingName"
						},
						"thingTypeName": {},
						"attributePayload": {
							"shape": "Sw"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"thingName": {},
						"thingArn": {}
					}
				}
			},
			"CreateThingType": {
				"http": {
					"requestUri": "/thing-types/{thingTypeName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingTypeName"
					],
					"members": {
						"thingTypeName": {
							"location": "uri",
							"locationName": "thingTypeName"
						},
						"thingTypeProperties": {
							"shape": "S14"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"thingTypeName": {},
						"thingTypeArn": {}
					}
				}
			},
			"CreateTopicRule": {
				"http": {
					"requestUri": "/rules/{ruleName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"ruleName",
						"topicRulePayload"
					],
					"members": {
						"ruleName": {
							"location": "uri",
							"locationName": "ruleName"
						},
						"topicRulePayload": {
							"shape": "S1b"
						}
					},
					"payload": "topicRulePayload"
				}
			},
			"DeleteCACertificate": {
				"http": {
					"method": "DELETE",
					"requestUri": "/cacertificate/{caCertificateId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificateId"
					],
					"members": {
						"certificateId": {
							"location": "uri",
							"locationName": "caCertificateId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteCertificate": {
				"http": {
					"method": "DELETE",
					"requestUri": "/certificates/{certificateId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificateId"
					],
					"members": {
						"certificateId": {
							"location": "uri",
							"locationName": "certificateId"
						}
					}
				}
			},
			"DeletePolicy": {
				"http": {
					"method": "DELETE",
					"requestUri": "/policies/{policyName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"policyName"
					],
					"members": {
						"policyName": {
							"location": "uri",
							"locationName": "policyName"
						}
					}
				}
			},
			"DeletePolicyVersion": {
				"http": {
					"method": "DELETE",
					"requestUri": "/policies/{policyName}/version/{policyVersionId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"policyName",
						"policyVersionId"
					],
					"members": {
						"policyName": {
							"location": "uri",
							"locationName": "policyName"
						},
						"policyVersionId": {
							"location": "uri",
							"locationName": "policyVersionId"
						}
					}
				}
			},
			"DeleteRegistrationCode": {
				"http": {
					"method": "DELETE",
					"requestUri": "/registrationcode"
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteThing": {
				"http": {
					"method": "DELETE",
					"requestUri": "/things/{thingName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingName"
					],
					"members": {
						"thingName": {
							"location": "uri",
							"locationName": "thingName"
						},
						"expectedVersion": {
							"location": "querystring",
							"locationName": "expectedVersion",
							"type": "long"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteThingType": {
				"http": {
					"method": "DELETE",
					"requestUri": "/thing-types/{thingTypeName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingTypeName"
					],
					"members": {
						"thingTypeName": {
							"location": "uri",
							"locationName": "thingTypeName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteTopicRule": {
				"http": {
					"method": "DELETE",
					"requestUri": "/rules/{ruleName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"ruleName"
					],
					"members": {
						"ruleName": {
							"location": "uri",
							"locationName": "ruleName"
						}
					}
				}
			},
			"DeprecateThingType": {
				"http": {
					"requestUri": "/thing-types/{thingTypeName}/deprecate"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingTypeName"
					],
					"members": {
						"thingTypeName": {
							"location": "uri",
							"locationName": "thingTypeName"
						},
						"undoDeprecate": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeCACertificate": {
				"http": {
					"method": "GET",
					"requestUri": "/cacertificate/{caCertificateId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificateId"
					],
					"members": {
						"certificateId": {
							"location": "uri",
							"locationName": "caCertificateId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"certificateDescription": {
							"type": "structure",
							"members": {
								"certificateArn": {},
								"certificateId": {},
								"status": {},
								"certificatePem": {},
								"ownedBy": {},
								"creationDate": {
									"type": "timestamp"
								},
								"autoRegistrationStatus": {}
							}
						}
					}
				}
			},
			"DescribeCertificate": {
				"http": {
					"method": "GET",
					"requestUri": "/certificates/{certificateId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificateId"
					],
					"members": {
						"certificateId": {
							"location": "uri",
							"locationName": "certificateId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"certificateDescription": {
							"type": "structure",
							"members": {
								"certificateArn": {},
								"certificateId": {},
								"caCertificateId": {},
								"status": {},
								"certificatePem": {},
								"ownedBy": {},
								"previousOwnedBy": {},
								"creationDate": {
									"type": "timestamp"
								},
								"lastModifiedDate": {
									"type": "timestamp"
								},
								"transferData": {
									"type": "structure",
									"members": {
										"transferMessage": {},
										"rejectReason": {},
										"transferDate": {
											"type": "timestamp"
										},
										"acceptDate": {
											"type": "timestamp"
										},
										"rejectDate": {
											"type": "timestamp"
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeEndpoint": {
				"http": {
					"method": "GET",
					"requestUri": "/endpoint"
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"endpointAddress": {}
					}
				}
			},
			"DescribeThing": {
				"http": {
					"method": "GET",
					"requestUri": "/things/{thingName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingName"
					],
					"members": {
						"thingName": {
							"location": "uri",
							"locationName": "thingName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"defaultClientId": {},
						"thingName": {},
						"thingTypeName": {},
						"attributes": {
							"shape": "Sx"
						},
						"version": {
							"type": "long"
						}
					}
				}
			},
			"DescribeThingType": {
				"http": {
					"method": "GET",
					"requestUri": "/thing-types/{thingTypeName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingTypeName"
					],
					"members": {
						"thingTypeName": {
							"location": "uri",
							"locationName": "thingTypeName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"thingTypeName": {},
						"thingTypeProperties": {
							"shape": "S14"
						},
						"thingTypeMetadata": {
							"shape": "S3x"
						}
					}
				}
			},
			"DetachPrincipalPolicy": {
				"http": {
					"method": "DELETE",
					"requestUri": "/principal-policies/{policyName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"policyName",
						"principal"
					],
					"members": {
						"policyName": {
							"location": "uri",
							"locationName": "policyName"
						},
						"principal": {
							"location": "header",
							"locationName": "x-amzn-iot-principal"
						}
					}
				}
			},
			"DetachThingPrincipal": {
				"http": {
					"method": "DELETE",
					"requestUri": "/things/{thingName}/principals"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingName",
						"principal"
					],
					"members": {
						"thingName": {
							"location": "uri",
							"locationName": "thingName"
						},
						"principal": {
							"location": "header",
							"locationName": "x-amzn-principal"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DisableTopicRule": {
				"http": {
					"requestUri": "/rules/{ruleName}/disable"
				},
				"input": {
					"type": "structure",
					"required": [
						"ruleName"
					],
					"members": {
						"ruleName": {
							"location": "uri",
							"locationName": "ruleName"
						}
					}
				}
			},
			"EnableTopicRule": {
				"http": {
					"requestUri": "/rules/{ruleName}/enable"
				},
				"input": {
					"type": "structure",
					"required": [
						"ruleName"
					],
					"members": {
						"ruleName": {
							"location": "uri",
							"locationName": "ruleName"
						}
					}
				}
			},
			"GetLoggingOptions": {
				"http": {
					"method": "GET",
					"requestUri": "/loggingOptions"
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"roleArn": {},
						"logLevel": {}
					}
				}
			},
			"GetPolicy": {
				"http": {
					"method": "GET",
					"requestUri": "/policies/{policyName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"policyName"
					],
					"members": {
						"policyName": {
							"location": "uri",
							"locationName": "policyName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"policyName": {},
						"policyArn": {},
						"policyDocument": {},
						"defaultVersionId": {}
					}
				}
			},
			"GetPolicyVersion": {
				"http": {
					"method": "GET",
					"requestUri": "/policies/{policyName}/version/{policyVersionId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"policyName",
						"policyVersionId"
					],
					"members": {
						"policyName": {
							"location": "uri",
							"locationName": "policyName"
						},
						"policyVersionId": {
							"location": "uri",
							"locationName": "policyVersionId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"policyArn": {},
						"policyName": {},
						"policyDocument": {},
						"policyVersionId": {},
						"isDefaultVersion": {
							"type": "boolean"
						}
					}
				}
			},
			"GetRegistrationCode": {
				"http": {
					"method": "GET",
					"requestUri": "/registrationcode"
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"registrationCode": {}
					}
				}
			},
			"GetTopicRule": {
				"http": {
					"method": "GET",
					"requestUri": "/rules/{ruleName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"ruleName"
					],
					"members": {
						"ruleName": {
							"location": "uri",
							"locationName": "ruleName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ruleArn": {},
						"rule": {
							"type": "structure",
							"members": {
								"ruleName": {},
								"sql": {},
								"description": {},
								"createdAt": {
									"type": "timestamp"
								},
								"actions": {
									"shape": "S1e"
								},
								"ruleDisabled": {
									"type": "boolean"
								},
								"awsIotSqlVersion": {}
							}
						}
					}
				}
			},
			"ListCACertificates": {
				"http": {
					"method": "GET",
					"requestUri": "/cacertificates"
				},
				"input": {
					"type": "structure",
					"members": {
						"pageSize": {
							"location": "querystring",
							"locationName": "pageSize",
							"type": "integer"
						},
						"marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"ascendingOrder": {
							"location": "querystring",
							"locationName": "isAscendingOrder",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"certificates": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"certificateArn": {},
									"certificateId": {},
									"status": {},
									"creationDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"nextMarker": {}
					}
				}
			},
			"ListCertificates": {
				"http": {
					"method": "GET",
					"requestUri": "/certificates"
				},
				"input": {
					"type": "structure",
					"members": {
						"pageSize": {
							"location": "querystring",
							"locationName": "pageSize",
							"type": "integer"
						},
						"marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"ascendingOrder": {
							"location": "querystring",
							"locationName": "isAscendingOrder",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"certificates": {
							"shape": "S4u"
						},
						"nextMarker": {}
					}
				}
			},
			"ListCertificatesByCA": {
				"http": {
					"method": "GET",
					"requestUri": "/certificates-by-ca/{caCertificateId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"caCertificateId"
					],
					"members": {
						"caCertificateId": {
							"location": "uri",
							"locationName": "caCertificateId"
						},
						"pageSize": {
							"location": "querystring",
							"locationName": "pageSize",
							"type": "integer"
						},
						"marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"ascendingOrder": {
							"location": "querystring",
							"locationName": "isAscendingOrder",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"certificates": {
							"shape": "S4u"
						},
						"nextMarker": {}
					}
				}
			},
			"ListOutgoingCertificates": {
				"http": {
					"method": "GET",
					"requestUri": "/certificates-out-going"
				},
				"input": {
					"type": "structure",
					"members": {
						"pageSize": {
							"location": "querystring",
							"locationName": "pageSize",
							"type": "integer"
						},
						"marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"ascendingOrder": {
							"location": "querystring",
							"locationName": "isAscendingOrder",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"outgoingCertificates": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"certificateArn": {},
									"certificateId": {},
									"transferredTo": {},
									"transferDate": {
										"type": "timestamp"
									},
									"transferMessage": {},
									"creationDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"nextMarker": {}
					}
				}
			},
			"ListPolicies": {
				"http": {
					"method": "GET",
					"requestUri": "/policies"
				},
				"input": {
					"type": "structure",
					"members": {
						"marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"pageSize": {
							"location": "querystring",
							"locationName": "pageSize",
							"type": "integer"
						},
						"ascendingOrder": {
							"location": "querystring",
							"locationName": "isAscendingOrder",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"policies": {
							"shape": "S54"
						},
						"nextMarker": {}
					}
				}
			},
			"ListPolicyPrincipals": {
				"http": {
					"method": "GET",
					"requestUri": "/policy-principals"
				},
				"input": {
					"type": "structure",
					"required": [
						"policyName"
					],
					"members": {
						"policyName": {
							"location": "header",
							"locationName": "x-amzn-iot-policy"
						},
						"marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"pageSize": {
							"location": "querystring",
							"locationName": "pageSize",
							"type": "integer"
						},
						"ascendingOrder": {
							"location": "querystring",
							"locationName": "isAscendingOrder",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"principals": {
							"shape": "S58"
						},
						"nextMarker": {}
					}
				}
			},
			"ListPolicyVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/policies/{policyName}/version"
				},
				"input": {
					"type": "structure",
					"required": [
						"policyName"
					],
					"members": {
						"policyName": {
							"location": "uri",
							"locationName": "policyName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"policyVersions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"versionId": {},
									"isDefaultVersion": {
										"type": "boolean"
									},
									"createDate": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"ListPrincipalPolicies": {
				"http": {
					"method": "GET",
					"requestUri": "/principal-policies"
				},
				"input": {
					"type": "structure",
					"required": [
						"principal"
					],
					"members": {
						"principal": {
							"location": "header",
							"locationName": "x-amzn-iot-principal"
						},
						"marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"pageSize": {
							"location": "querystring",
							"locationName": "pageSize",
							"type": "integer"
						},
						"ascendingOrder": {
							"location": "querystring",
							"locationName": "isAscendingOrder",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"policies": {
							"shape": "S54"
						},
						"nextMarker": {}
					}
				}
			},
			"ListPrincipalThings": {
				"http": {
					"method": "GET",
					"requestUri": "/principals/things"
				},
				"input": {
					"type": "structure",
					"required": [
						"principal"
					],
					"members": {
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"principal": {
							"location": "header",
							"locationName": "x-amzn-principal"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"things": {
							"type": "list",
							"member": {}
						},
						"nextToken": {}
					}
				}
			},
			"ListThingPrincipals": {
				"http": {
					"method": "GET",
					"requestUri": "/things/{thingName}/principals"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingName"
					],
					"members": {
						"thingName": {
							"location": "uri",
							"locationName": "thingName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"principals": {
							"shape": "S58"
						}
					}
				}
			},
			"ListThingTypes": {
				"http": {
					"method": "GET",
					"requestUri": "/thing-types"
				},
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"thingTypeName": {
							"location": "querystring",
							"locationName": "thingTypeName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"thingTypes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"thingTypeName": {},
									"thingTypeProperties": {
										"shape": "S14"
									},
									"thingTypeMetadata": {
										"shape": "S3x"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListThings": {
				"http": {
					"method": "GET",
					"requestUri": "/things"
				},
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"attributeName": {
							"location": "querystring",
							"locationName": "attributeName"
						},
						"attributeValue": {
							"location": "querystring",
							"locationName": "attributeValue"
						},
						"thingTypeName": {
							"location": "querystring",
							"locationName": "thingTypeName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"things": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"thingName": {},
									"thingTypeName": {},
									"attributes": {
										"shape": "Sx"
									},
									"version": {
										"type": "long"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListTopicRules": {
				"http": {
					"method": "GET",
					"requestUri": "/rules"
				},
				"input": {
					"type": "structure",
					"members": {
						"topic": {
							"location": "querystring",
							"locationName": "topic"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"ruleDisabled": {
							"location": "querystring",
							"locationName": "ruleDisabled",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"rules": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ruleArn": {},
									"ruleName": {},
									"topicPattern": {},
									"createdAt": {
										"type": "timestamp"
									},
									"ruleDisabled": {
										"type": "boolean"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"RegisterCACertificate": {
				"http": {
					"requestUri": "/cacertificate"
				},
				"input": {
					"type": "structure",
					"required": [
						"caCertificate",
						"verificationCertificate"
					],
					"members": {
						"caCertificate": {},
						"verificationCertificate": {},
						"setAsActive": {
							"location": "querystring",
							"locationName": "setAsActive",
							"type": "boolean"
						},
						"allowAutoRegistration": {
							"location": "querystring",
							"locationName": "allowAutoRegistration",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"certificateArn": {},
						"certificateId": {}
					}
				}
			},
			"RegisterCertificate": {
				"http": {
					"requestUri": "/certificate/register"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificatePem"
					],
					"members": {
						"certificatePem": {},
						"caCertificatePem": {},
						"setAsActive": {
							"deprecated": true,
							"location": "querystring",
							"locationName": "setAsActive",
							"type": "boolean"
						},
						"status": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"certificateArn": {},
						"certificateId": {}
					}
				}
			},
			"RejectCertificateTransfer": {
				"http": {
					"method": "PATCH",
					"requestUri": "/reject-certificate-transfer/{certificateId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificateId"
					],
					"members": {
						"certificateId": {
							"location": "uri",
							"locationName": "certificateId"
						},
						"rejectReason": {}
					}
				}
			},
			"ReplaceTopicRule": {
				"http": {
					"method": "PATCH",
					"requestUri": "/rules/{ruleName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"ruleName",
						"topicRulePayload"
					],
					"members": {
						"ruleName": {
							"location": "uri",
							"locationName": "ruleName"
						},
						"topicRulePayload": {
							"shape": "S1b"
						}
					},
					"payload": "topicRulePayload"
				}
			},
			"SetDefaultPolicyVersion": {
				"http": {
					"method": "PATCH",
					"requestUri": "/policies/{policyName}/version/{policyVersionId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"policyName",
						"policyVersionId"
					],
					"members": {
						"policyName": {
							"location": "uri",
							"locationName": "policyName"
						},
						"policyVersionId": {
							"location": "uri",
							"locationName": "policyVersionId"
						}
					}
				}
			},
			"SetLoggingOptions": {
				"http": {
					"requestUri": "/loggingOptions"
				},
				"input": {
					"type": "structure",
					"required": [
						"loggingOptionsPayload"
					],
					"members": {
						"loggingOptionsPayload": {
							"type": "structure",
							"required": [
								"roleArn"
							],
							"members": {
								"roleArn": {},
								"logLevel": {}
							}
						}
					},
					"payload": "loggingOptionsPayload"
				}
			},
			"TransferCertificate": {
				"http": {
					"method": "PATCH",
					"requestUri": "/transfer-certificate/{certificateId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificateId",
						"targetAwsAccount"
					],
					"members": {
						"certificateId": {
							"location": "uri",
							"locationName": "certificateId"
						},
						"targetAwsAccount": {
							"location": "querystring",
							"locationName": "targetAwsAccount"
						},
						"transferMessage": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"transferredCertificateArn": {}
					}
				}
			},
			"UpdateCACertificate": {
				"http": {
					"method": "PUT",
					"requestUri": "/cacertificate/{caCertificateId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificateId"
					],
					"members": {
						"certificateId": {
							"location": "uri",
							"locationName": "caCertificateId"
						},
						"newStatus": {
							"location": "querystring",
							"locationName": "newStatus"
						},
						"newAutoRegistrationStatus": {
							"location": "querystring",
							"locationName": "newAutoRegistrationStatus"
						}
					}
				}
			},
			"UpdateCertificate": {
				"http": {
					"method": "PUT",
					"requestUri": "/certificates/{certificateId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"certificateId",
						"newStatus"
					],
					"members": {
						"certificateId": {
							"location": "uri",
							"locationName": "certificateId"
						},
						"newStatus": {
							"location": "querystring",
							"locationName": "newStatus"
						}
					}
				}
			},
			"UpdateThing": {
				"http": {
					"method": "PATCH",
					"requestUri": "/things/{thingName}"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingName"
					],
					"members": {
						"thingName": {
							"location": "uri",
							"locationName": "thingName"
						},
						"thingTypeName": {},
						"attributePayload": {
							"shape": "Sw"
						},
						"expectedVersion": {
							"type": "long"
						},
						"removeThingType": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"Sw": {
				"type": "structure",
				"members": {
					"attributes": {
						"shape": "Sx"
					},
					"merge": {
						"type": "boolean"
					}
				}
			},
			"Sx": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S14": {
				"type": "structure",
				"members": {
					"thingTypeDescription": {},
					"searchableAttributes": {
						"type": "list",
						"member": {}
					}
				}
			},
			"S1b": {
				"type": "structure",
				"required": [
					"sql",
					"actions"
				],
				"members": {
					"sql": {},
					"description": {},
					"actions": {
						"shape": "S1e"
					},
					"ruleDisabled": {
						"type": "boolean"
					},
					"awsIotSqlVersion": {}
				}
			},
			"S1e": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"dynamoDB": {
							"type": "structure",
							"required": [
								"tableName",
								"roleArn",
								"hashKeyField",
								"hashKeyValue"
							],
							"members": {
								"tableName": {},
								"roleArn": {},
								"operation": {},
								"hashKeyField": {},
								"hashKeyValue": {},
								"hashKeyType": {},
								"rangeKeyField": {},
								"rangeKeyValue": {},
								"rangeKeyType": {},
								"payloadField": {}
							}
						},
						"dynamoDBv2": {
							"type": "structure",
							"members": {
								"roleArn": {},
								"putItem": {
									"type": "structure",
									"required": [
										"tableName"
									],
									"members": {
										"tableName": {}
									}
								}
							}
						},
						"lambda": {
							"type": "structure",
							"required": [
								"functionArn"
							],
							"members": {
								"functionArn": {}
							}
						},
						"sns": {
							"type": "structure",
							"required": [
								"targetArn",
								"roleArn"
							],
							"members": {
								"targetArn": {},
								"roleArn": {},
								"messageFormat": {}
							}
						},
						"sqs": {
							"type": "structure",
							"required": [
								"roleArn",
								"queueUrl"
							],
							"members": {
								"roleArn": {},
								"queueUrl": {},
								"useBase64": {
									"type": "boolean"
								}
							}
						},
						"kinesis": {
							"type": "structure",
							"required": [
								"roleArn",
								"streamName"
							],
							"members": {
								"roleArn": {},
								"streamName": {},
								"partitionKey": {}
							}
						},
						"republish": {
							"type": "structure",
							"required": [
								"roleArn",
								"topic"
							],
							"members": {
								"roleArn": {},
								"topic": {}
							}
						},
						"s3": {
							"type": "structure",
							"required": [
								"roleArn",
								"bucketName",
								"key"
							],
							"members": {
								"roleArn": {},
								"bucketName": {},
								"key": {},
								"cannedAcl": {}
							}
						},
						"firehose": {
							"type": "structure",
							"required": [
								"roleArn",
								"deliveryStreamName"
							],
							"members": {
								"roleArn": {},
								"deliveryStreamName": {},
								"separator": {}
							}
						},
						"cloudwatchMetric": {
							"type": "structure",
							"required": [
								"roleArn",
								"metricNamespace",
								"metricName",
								"metricValue",
								"metricUnit"
							],
							"members": {
								"roleArn": {},
								"metricNamespace": {},
								"metricName": {},
								"metricValue": {},
								"metricUnit": {},
								"metricTimestamp": {}
							}
						},
						"cloudwatchAlarm": {
							"type": "structure",
							"required": [
								"roleArn",
								"alarmName",
								"stateReason",
								"stateValue"
							],
							"members": {
								"roleArn": {},
								"alarmName": {},
								"stateReason": {},
								"stateValue": {}
							}
						},
						"elasticsearch": {
							"type": "structure",
							"required": [
								"roleArn",
								"endpoint",
								"index",
								"type",
								"id"
							],
							"members": {
								"roleArn": {},
								"endpoint": {},
								"index": {},
								"type": {},
								"id": {}
							}
						},
						"salesforce": {
							"type": "structure",
							"required": [
								"token",
								"url"
							],
							"members": {
								"token": {},
								"url": {}
							}
						}
					}
				}
			},
			"S3x": {
				"type": "structure",
				"members": {
					"deprecated": {
						"type": "boolean"
					},
					"deprecationDate": {
						"type": "timestamp"
					},
					"creationDate": {
						"type": "timestamp"
					}
				}
			},
			"S4u": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"certificateArn": {},
						"certificateId": {},
						"status": {},
						"creationDate": {
							"type": "timestamp"
						}
					}
				}
			},
			"S54": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"policyName": {},
						"policyArn": {}
					}
				}
			},
			"S58": {
				"type": "list",
				"member": {}
			}
		}
	};

/***/ }),
/* 485 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 486 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['iotdata'] = {};
	AWS.IotData = Service.defineService('iotdata', ['2015-05-28']);
	__webpack_require__(487);
	Object.defineProperty(apiLoader.services['iotdata'], '2015-05-28', {
	  get: function get() {
	    var model = __webpack_require__(488);
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.IotData;


/***/ }),
/* 487 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	/**
	 * @api private
	 */
	var blobPayloadOutputOps = [
	  'deleteThingShadow',
	  'getThingShadow',
	  'updateThingShadow'
	];

	/**
	 * Constructs a service interface object. Each API operation is exposed as a
	 * function on service.
	 *
	 * ### Sending a Request Using IotData
	 *
	 * ```javascript
	 * var iotdata = new AWS.IotData({endpoint: 'my.host.tld'});
	 * iotdata.getThingShadow(params, function (err, data) {
	 *   if (err) console.log(err, err.stack); // an error occurred
	 *   else     console.log(data);           // successful response
	 * });
	 * ```
	 *
	 * ### Locking the API Version
	 *
	 * In order to ensure that the IotData object uses this specific API,
	 * you can construct the object by passing the `apiVersion` option to the
	 * constructor:
	 *
	 * ```javascript
	 * var iotdata = new AWS.IotData({
	 *   endpoint: 'my.host.tld',
	 *   apiVersion: '2015-05-28'
	 * });
	 * ```
	 *
	 * You can also set the API version globally in `AWS.config.apiVersions` using
	 * the **iotdata** service identifier:
	 *
	 * ```javascript
	 * AWS.config.apiVersions = {
	 *   iotdata: '2015-05-28',
	 *   // other service API versions
	 * };
	 *
	 * var iotdata = new AWS.IotData({endpoint: 'my.host.tld'});
	 * ```
	 *
	 * @note You *must* provide an `endpoint` configuration parameter when
	 *   constructing this service. See {constructor} for more information.
	 *
	 * @!method constructor(options = {})
	 *   Constructs a service object. This object has one method for each
	 *   API operation.
	 *
	 *   @example Constructing a IotData object
	 *     var iotdata = new AWS.IotData({endpoint: 'my.host.tld'});
	 *   @note You *must* provide an `endpoint` when constructing this service.
	 *   @option (see AWS.Config.constructor)
	 *
	 * @service iotdata
	 * @version 2015-05-28
	 */
	AWS.util.update(AWS.IotData.prototype, {
	    /**
	     * @api private
	     */
	    validateService: function validateService() {
	        if (!this.config.endpoint || this.config.endpoint.indexOf('{') >= 0) {
	            var msg = 'AWS.IotData requires an explicit ' +
	                '`endpoint\' configuration option.';
	            throw AWS.util.error(new Error(),
	                {name: 'InvalidEndpoint', message: msg});
	        }
	    },

	    /**
	     * @api private
	     */
	    setupRequestListeners: function setupRequestListeners(request) {
	        request.addListener('validateResponse', this.validateResponseBody);
	        if (blobPayloadOutputOps.indexOf(request.operation) > -1) {
	            request.addListener('extractData', AWS.util.convertPayloadToString);
	        }
	    },

	    /**
	     * @api private
	     */
	    validateResponseBody: function validateResponseBody(resp) {
	        var body = resp.httpResponse.body.toString() || '{}';
	        var bodyCheck = body.trim();
	        if (!bodyCheck || bodyCheck.charAt(0) !== '{') {
	            resp.httpResponse.body = '';
	        }
	    }

	});


/***/ }),
/* 488 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"uid": "iot-data-2015-05-28",
			"apiVersion": "2015-05-28",
			"endpointPrefix": "data.iot",
			"protocol": "rest-json",
			"serviceFullName": "AWS IoT Data Plane",
			"signatureVersion": "v4",
			"signingName": "iotdata"
		},
		"operations": {
			"DeleteThingShadow": {
				"http": {
					"method": "DELETE",
					"requestUri": "/things/{thingName}/shadow"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingName"
					],
					"members": {
						"thingName": {
							"location": "uri",
							"locationName": "thingName"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"payload"
					],
					"members": {
						"payload": {
							"type": "blob"
						}
					},
					"payload": "payload"
				}
			},
			"GetThingShadow": {
				"http": {
					"method": "GET",
					"requestUri": "/things/{thingName}/shadow"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingName"
					],
					"members": {
						"thingName": {
							"location": "uri",
							"locationName": "thingName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"payload": {
							"type": "blob"
						}
					},
					"payload": "payload"
				}
			},
			"Publish": {
				"http": {
					"requestUri": "/topics/{topic}"
				},
				"input": {
					"type": "structure",
					"required": [
						"topic"
					],
					"members": {
						"topic": {
							"location": "uri",
							"locationName": "topic"
						},
						"qos": {
							"location": "querystring",
							"locationName": "qos",
							"type": "integer"
						},
						"payload": {
							"type": "blob"
						}
					},
					"payload": "payload"
				}
			},
			"UpdateThingShadow": {
				"http": {
					"requestUri": "/things/{thingName}/shadow"
				},
				"input": {
					"type": "structure",
					"required": [
						"thingName",
						"payload"
					],
					"members": {
						"thingName": {
							"location": "uri",
							"locationName": "thingName"
						},
						"payload": {
							"type": "blob"
						}
					},
					"payload": "payload"
				},
				"output": {
					"type": "structure",
					"members": {
						"payload": {
							"type": "blob"
						}
					},
					"payload": "payload"
				}
			}
		},
		"shapes": {}
	};

/***/ }),
/* 489 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['kinesis'] = {};
	AWS.Kinesis = Service.defineService('kinesis', ['2013-12-02']);
	Object.defineProperty(apiLoader.services['kinesis'], '2013-12-02', {
	  get: function get() {
	    var model = __webpack_require__(490);
	    model.paginators = __webpack_require__(491).pagination;
	    model.waiters = __webpack_require__(492).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Kinesis;


/***/ }),
/* 490 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2013-12-02",
			"endpointPrefix": "kinesis",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Kinesis",
			"serviceFullName": "Amazon Kinesis",
			"signatureVersion": "v4",
			"targetPrefix": "Kinesis_20131202",
			"uid": "kinesis-2013-12-02"
		},
		"operations": {
			"AddTagsToStream": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"Tags"
					],
					"members": {
						"StreamName": {},
						"Tags": {
							"type": "map",
							"key": {},
							"value": {}
						}
					}
				}
			},
			"CreateStream": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"ShardCount"
					],
					"members": {
						"StreamName": {},
						"ShardCount": {
							"type": "integer"
						}
					}
				}
			},
			"DecreaseStreamRetentionPeriod": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"RetentionPeriodHours"
					],
					"members": {
						"StreamName": {},
						"RetentionPeriodHours": {
							"type": "integer"
						}
					}
				}
			},
			"DeleteStream": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName"
					],
					"members": {
						"StreamName": {}
					}
				}
			},
			"DescribeLimits": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"required": [
						"ShardLimit",
						"OpenShardCount"
					],
					"members": {
						"ShardLimit": {
							"type": "integer"
						},
						"OpenShardCount": {
							"type": "integer"
						}
					}
				}
			},
			"DescribeStream": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName"
					],
					"members": {
						"StreamName": {},
						"Limit": {
							"type": "integer"
						},
						"ExclusiveStartShardId": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"StreamDescription"
					],
					"members": {
						"StreamDescription": {
							"type": "structure",
							"required": [
								"StreamName",
								"StreamARN",
								"StreamStatus",
								"Shards",
								"HasMoreShards",
								"RetentionPeriodHours",
								"StreamCreationTimestamp",
								"EnhancedMonitoring"
							],
							"members": {
								"StreamName": {},
								"StreamARN": {},
								"StreamStatus": {},
								"Shards": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"ShardId",
											"HashKeyRange",
											"SequenceNumberRange"
										],
										"members": {
											"ShardId": {},
											"ParentShardId": {},
											"AdjacentParentShardId": {},
											"HashKeyRange": {
												"type": "structure",
												"required": [
													"StartingHashKey",
													"EndingHashKey"
												],
												"members": {
													"StartingHashKey": {},
													"EndingHashKey": {}
												}
											},
											"SequenceNumberRange": {
												"type": "structure",
												"required": [
													"StartingSequenceNumber"
												],
												"members": {
													"StartingSequenceNumber": {},
													"EndingSequenceNumber": {}
												}
											}
										}
									}
								},
								"HasMoreShards": {
									"type": "boolean"
								},
								"RetentionPeriodHours": {
									"type": "integer"
								},
								"StreamCreationTimestamp": {
									"type": "timestamp"
								},
								"EnhancedMonitoring": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"ShardLevelMetrics": {
												"shape": "Su"
											}
										}
									}
								},
								"EncryptionType": {},
								"KeyId": {}
							}
						}
					}
				}
			},
			"DisableEnhancedMonitoring": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"ShardLevelMetrics"
					],
					"members": {
						"StreamName": {},
						"ShardLevelMetrics": {
							"shape": "Su"
						}
					}
				},
				"output": {
					"shape": "Sz"
				}
			},
			"EnableEnhancedMonitoring": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"ShardLevelMetrics"
					],
					"members": {
						"StreamName": {},
						"ShardLevelMetrics": {
							"shape": "Su"
						}
					}
				},
				"output": {
					"shape": "Sz"
				}
			},
			"GetRecords": {
				"input": {
					"type": "structure",
					"required": [
						"ShardIterator"
					],
					"members": {
						"ShardIterator": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Records"
					],
					"members": {
						"Records": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"SequenceNumber",
									"Data",
									"PartitionKey"
								],
								"members": {
									"SequenceNumber": {},
									"ApproximateArrivalTimestamp": {
										"type": "timestamp"
									},
									"Data": {
										"type": "blob"
									},
									"PartitionKey": {},
									"EncryptionType": {}
								}
							}
						},
						"NextShardIterator": {},
						"MillisBehindLatest": {
							"type": "long"
						}
					}
				}
			},
			"GetShardIterator": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"ShardId",
						"ShardIteratorType"
					],
					"members": {
						"StreamName": {},
						"ShardId": {},
						"ShardIteratorType": {},
						"StartingSequenceNumber": {},
						"Timestamp": {
							"type": "timestamp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ShardIterator": {}
					}
				}
			},
			"IncreaseStreamRetentionPeriod": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"RetentionPeriodHours"
					],
					"members": {
						"StreamName": {},
						"RetentionPeriodHours": {
							"type": "integer"
						}
					}
				}
			},
			"ListStreams": {
				"input": {
					"type": "structure",
					"members": {
						"Limit": {
							"type": "integer"
						},
						"ExclusiveStartStreamName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"StreamNames",
						"HasMoreStreams"
					],
					"members": {
						"StreamNames": {
							"type": "list",
							"member": {}
						},
						"HasMoreStreams": {
							"type": "boolean"
						}
					}
				}
			},
			"ListTagsForStream": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName"
					],
					"members": {
						"StreamName": {},
						"ExclusiveStartTagKey": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Tags",
						"HasMoreTags"
					],
					"members": {
						"Tags": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Key"
								],
								"members": {
									"Key": {},
									"Value": {}
								}
							}
						},
						"HasMoreTags": {
							"type": "boolean"
						}
					}
				}
			},
			"MergeShards": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"ShardToMerge",
						"AdjacentShardToMerge"
					],
					"members": {
						"StreamName": {},
						"ShardToMerge": {},
						"AdjacentShardToMerge": {}
					}
				}
			},
			"PutRecord": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"Data",
						"PartitionKey"
					],
					"members": {
						"StreamName": {},
						"Data": {
							"type": "blob"
						},
						"PartitionKey": {},
						"ExplicitHashKey": {},
						"SequenceNumberForOrdering": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ShardId",
						"SequenceNumber"
					],
					"members": {
						"ShardId": {},
						"SequenceNumber": {},
						"EncryptionType": {}
					}
				}
			},
			"PutRecords": {
				"input": {
					"type": "structure",
					"required": [
						"Records",
						"StreamName"
					],
					"members": {
						"Records": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Data",
									"PartitionKey"
								],
								"members": {
									"Data": {
										"type": "blob"
									},
									"ExplicitHashKey": {},
									"PartitionKey": {}
								}
							}
						},
						"StreamName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Records"
					],
					"members": {
						"FailedRecordCount": {
							"type": "integer"
						},
						"Records": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"SequenceNumber": {},
									"ShardId": {},
									"ErrorCode": {},
									"ErrorMessage": {}
								}
							}
						},
						"EncryptionType": {}
					}
				}
			},
			"RemoveTagsFromStream": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"TagKeys"
					],
					"members": {
						"StreamName": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"SplitShard": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"ShardToSplit",
						"NewStartingHashKey"
					],
					"members": {
						"StreamName": {},
						"ShardToSplit": {},
						"NewStartingHashKey": {}
					}
				}
			},
			"StartStreamEncryption": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"EncryptionType",
						"KeyId"
					],
					"members": {
						"StreamName": {},
						"EncryptionType": {},
						"KeyId": {}
					}
				}
			},
			"StopStreamEncryption": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"EncryptionType",
						"KeyId"
					],
					"members": {
						"StreamName": {},
						"EncryptionType": {},
						"KeyId": {}
					}
				}
			},
			"UpdateShardCount": {
				"input": {
					"type": "structure",
					"required": [
						"StreamName",
						"TargetShardCount",
						"ScalingType"
					],
					"members": {
						"StreamName": {},
						"TargetShardCount": {
							"type": "integer"
						},
						"ScalingType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StreamName": {},
						"CurrentShardCount": {
							"type": "integer"
						},
						"TargetShardCount": {
							"type": "integer"
						}
					}
				}
			}
		},
		"shapes": {
			"Su": {
				"type": "list",
				"member": {}
			},
			"Sz": {
				"type": "structure",
				"members": {
					"StreamName": {},
					"CurrentShardLevelMetrics": {
						"shape": "Su"
					},
					"DesiredShardLevelMetrics": {
						"shape": "Su"
					}
				}
			}
		}
	};

/***/ }),
/* 491 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeStream": {
				"input_token": "ExclusiveStartShardId",
				"limit_key": "Limit",
				"more_results": "StreamDescription.HasMoreShards",
				"output_token": "StreamDescription.Shards[-1].ShardId",
				"result_key": "StreamDescription.Shards"
			},
			"ListStreams": {
				"input_token": "ExclusiveStartStreamName",
				"limit_key": "Limit",
				"more_results": "HasMoreStreams",
				"output_token": "StreamNames[-1]",
				"result_key": "StreamNames"
			}
		}
	};

/***/ }),
/* 492 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"StreamExists": {
				"delay": 10,
				"operation": "DescribeStream",
				"maxAttempts": 18,
				"acceptors": [
					{
						"expected": "ACTIVE",
						"matcher": "path",
						"state": "success",
						"argument": "StreamDescription.StreamStatus"
					}
				]
			},
			"StreamNotExists": {
				"delay": 10,
				"operation": "DescribeStream",
				"maxAttempts": 18,
				"acceptors": [
					{
						"expected": "ResourceNotFoundException",
						"matcher": "error",
						"state": "success"
					}
				]
			}
		}
	};

/***/ }),
/* 493 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['kinesisanalytics'] = {};
	AWS.KinesisAnalytics = Service.defineService('kinesisanalytics', ['2015-08-14']);
	Object.defineProperty(apiLoader.services['kinesisanalytics'], '2015-08-14', {
	  get: function get() {
	    var model = __webpack_require__(494);
	    model.paginators = __webpack_require__(495).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.KinesisAnalytics;


/***/ }),
/* 494 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-08-14",
			"endpointPrefix": "kinesisanalytics",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Kinesis Analytics",
			"serviceFullName": "Amazon Kinesis Analytics",
			"signatureVersion": "v4",
			"targetPrefix": "KinesisAnalytics_20150814",
			"timestampFormat": "unixTimestamp",
			"uid": "kinesisanalytics-2015-08-14"
		},
		"operations": {
			"AddApplicationCloudWatchLoggingOption": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"CurrentApplicationVersionId",
						"CloudWatchLoggingOption"
					],
					"members": {
						"ApplicationName": {},
						"CurrentApplicationVersionId": {
							"type": "long"
						},
						"CloudWatchLoggingOption": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AddApplicationInput": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"CurrentApplicationVersionId",
						"Input"
					],
					"members": {
						"ApplicationName": {},
						"CurrentApplicationVersionId": {
							"type": "long"
						},
						"Input": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AddApplicationOutput": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"CurrentApplicationVersionId",
						"Output"
					],
					"members": {
						"ApplicationName": {},
						"CurrentApplicationVersionId": {
							"type": "long"
						},
						"Output": {
							"shape": "Sx"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AddApplicationReferenceDataSource": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"CurrentApplicationVersionId",
						"ReferenceDataSource"
					],
					"members": {
						"ApplicationName": {},
						"CurrentApplicationVersionId": {
							"type": "long"
						},
						"ReferenceDataSource": {
							"type": "structure",
							"required": [
								"TableName",
								"ReferenceSchema"
							],
							"members": {
								"TableName": {},
								"S3ReferenceDataSource": {
									"type": "structure",
									"required": [
										"BucketARN",
										"FileKey",
										"ReferenceRoleARN"
									],
									"members": {
										"BucketARN": {},
										"FileKey": {},
										"ReferenceRoleARN": {}
									}
								},
								"ReferenceSchema": {
									"shape": "Sg"
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateApplication": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName"
					],
					"members": {
						"ApplicationName": {},
						"ApplicationDescription": {},
						"Inputs": {
							"type": "list",
							"member": {
								"shape": "S9"
							}
						},
						"Outputs": {
							"type": "list",
							"member": {
								"shape": "Sx"
							}
						},
						"CloudWatchLoggingOptions": {
							"type": "list",
							"member": {
								"shape": "S4"
							}
						},
						"ApplicationCode": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ApplicationSummary"
					],
					"members": {
						"ApplicationSummary": {
							"shape": "S1g"
						}
					}
				}
			},
			"DeleteApplication": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"CreateTimestamp"
					],
					"members": {
						"ApplicationName": {},
						"CreateTimestamp": {
							"type": "timestamp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteApplicationCloudWatchLoggingOption": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"CurrentApplicationVersionId",
						"CloudWatchLoggingOptionId"
					],
					"members": {
						"ApplicationName": {},
						"CurrentApplicationVersionId": {
							"type": "long"
						},
						"CloudWatchLoggingOptionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteApplicationOutput": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"CurrentApplicationVersionId",
						"OutputId"
					],
					"members": {
						"ApplicationName": {},
						"CurrentApplicationVersionId": {
							"type": "long"
						},
						"OutputId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteApplicationReferenceDataSource": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"CurrentApplicationVersionId",
						"ReferenceId"
					],
					"members": {
						"ApplicationName": {},
						"CurrentApplicationVersionId": {
							"type": "long"
						},
						"ReferenceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeApplication": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName"
					],
					"members": {
						"ApplicationName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ApplicationDetail"
					],
					"members": {
						"ApplicationDetail": {
							"type": "structure",
							"required": [
								"ApplicationName",
								"ApplicationARN",
								"ApplicationStatus",
								"ApplicationVersionId"
							],
							"members": {
								"ApplicationName": {},
								"ApplicationDescription": {},
								"ApplicationARN": {},
								"ApplicationStatus": {},
								"CreateTimestamp": {
									"type": "timestamp"
								},
								"LastUpdateTimestamp": {
									"type": "timestamp"
								},
								"InputDescriptions": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"InputId": {},
											"NamePrefix": {},
											"InAppStreamNames": {
												"type": "list",
												"member": {}
											},
											"KinesisStreamsInputDescription": {
												"type": "structure",
												"members": {
													"ResourceARN": {},
													"RoleARN": {}
												}
											},
											"KinesisFirehoseInputDescription": {
												"type": "structure",
												"members": {
													"ResourceARN": {},
													"RoleARN": {}
												}
											},
											"InputSchema": {
												"shape": "Sg"
											},
											"InputParallelism": {
												"shape": "Se"
											},
											"InputStartingPositionConfiguration": {
												"shape": "S20"
											}
										}
									}
								},
								"OutputDescriptions": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"OutputId": {},
											"Name": {},
											"KinesisStreamsOutputDescription": {
												"type": "structure",
												"members": {
													"ResourceARN": {},
													"RoleARN": {}
												}
											},
											"KinesisFirehoseOutputDescription": {
												"type": "structure",
												"members": {
													"ResourceARN": {},
													"RoleARN": {}
												}
											},
											"DestinationSchema": {
												"shape": "S10"
											}
										}
									}
								},
								"ReferenceDataSourceDescriptions": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"ReferenceId",
											"TableName",
											"S3ReferenceDataSourceDescription"
										],
										"members": {
											"ReferenceId": {},
											"TableName": {},
											"S3ReferenceDataSourceDescription": {
												"type": "structure",
												"required": [
													"BucketARN",
													"FileKey",
													"ReferenceRoleARN"
												],
												"members": {
													"BucketARN": {},
													"FileKey": {},
													"ReferenceRoleARN": {}
												}
											},
											"ReferenceSchema": {
												"shape": "Sg"
											}
										}
									}
								},
								"CloudWatchLoggingOptionDescriptions": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"LogStreamARN",
											"RoleARN"
										],
										"members": {
											"CloudWatchLoggingOptionId": {},
											"LogStreamARN": {},
											"RoleARN": {}
										}
									}
								},
								"ApplicationCode": {},
								"ApplicationVersionId": {
									"type": "long"
								}
							}
						}
					}
				}
			},
			"DiscoverInputSchema": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceARN",
						"RoleARN",
						"InputStartingPositionConfiguration"
					],
					"members": {
						"ResourceARN": {},
						"RoleARN": {},
						"InputStartingPositionConfiguration": {
							"shape": "S20"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InputSchema": {
							"shape": "Sg"
						},
						"ParsedInputRecords": {
							"type": "list",
							"member": {
								"type": "list",
								"member": {}
							}
						},
						"RawInputRecords": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"ListApplications": {
				"input": {
					"type": "structure",
					"members": {
						"Limit": {
							"type": "integer"
						},
						"ExclusiveStartApplicationName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ApplicationSummaries",
						"HasMoreApplications"
					],
					"members": {
						"ApplicationSummaries": {
							"type": "list",
							"member": {
								"shape": "S1g"
							}
						},
						"HasMoreApplications": {
							"type": "boolean"
						}
					}
				}
			},
			"StartApplication": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"InputConfigurations"
					],
					"members": {
						"ApplicationName": {},
						"InputConfigurations": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Id",
									"InputStartingPositionConfiguration"
								],
								"members": {
									"Id": {},
									"InputStartingPositionConfiguration": {
										"shape": "S20"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"StopApplication": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName"
					],
					"members": {
						"ApplicationName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateApplication": {
				"input": {
					"type": "structure",
					"required": [
						"ApplicationName",
						"CurrentApplicationVersionId",
						"ApplicationUpdate"
					],
					"members": {
						"ApplicationName": {},
						"CurrentApplicationVersionId": {
							"type": "long"
						},
						"ApplicationUpdate": {
							"type": "structure",
							"members": {
								"InputUpdates": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"InputId"
										],
										"members": {
											"InputId": {},
											"NamePrefixUpdate": {},
											"KinesisStreamsInputUpdate": {
												"type": "structure",
												"members": {
													"ResourceARNUpdate": {},
													"RoleARNUpdate": {}
												}
											},
											"KinesisFirehoseInputUpdate": {
												"type": "structure",
												"members": {
													"ResourceARNUpdate": {},
													"RoleARNUpdate": {}
												}
											},
											"InputSchemaUpdate": {
												"type": "structure",
												"members": {
													"RecordFormatUpdate": {
														"shape": "Sh"
													},
													"RecordEncodingUpdate": {},
													"RecordColumnUpdates": {
														"shape": "Sq"
													}
												}
											},
											"InputParallelismUpdate": {
												"type": "structure",
												"members": {
													"CountUpdate": {
														"type": "integer"
													}
												}
											}
										}
									}
								},
								"ApplicationCodeUpdate": {},
								"OutputUpdates": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"OutputId"
										],
										"members": {
											"OutputId": {},
											"NameUpdate": {},
											"KinesisStreamsOutputUpdate": {
												"type": "structure",
												"members": {
													"ResourceARNUpdate": {},
													"RoleARNUpdate": {}
												}
											},
											"KinesisFirehoseOutputUpdate": {
												"type": "structure",
												"members": {
													"ResourceARNUpdate": {},
													"RoleARNUpdate": {}
												}
											},
											"DestinationSchemaUpdate": {
												"shape": "S10"
											}
										}
									}
								},
								"ReferenceDataSourceUpdates": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"ReferenceId"
										],
										"members": {
											"ReferenceId": {},
											"TableNameUpdate": {},
											"S3ReferenceDataSourceUpdate": {
												"type": "structure",
												"members": {
													"BucketARNUpdate": {},
													"FileKeyUpdate": {},
													"ReferenceRoleARNUpdate": {}
												}
											},
											"ReferenceSchemaUpdate": {
												"shape": "Sg"
											}
										}
									}
								},
								"CloudWatchLoggingOptionUpdates": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"CloudWatchLoggingOptionId"
										],
										"members": {
											"CloudWatchLoggingOptionId": {},
											"LogStreamARNUpdate": {},
											"RoleARNUpdate": {}
										}
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"required": [
					"LogStreamARN",
					"RoleARN"
				],
				"members": {
					"LogStreamARN": {},
					"RoleARN": {}
				}
			},
			"S9": {
				"type": "structure",
				"required": [
					"NamePrefix",
					"InputSchema"
				],
				"members": {
					"NamePrefix": {},
					"KinesisStreamsInput": {
						"type": "structure",
						"required": [
							"ResourceARN",
							"RoleARN"
						],
						"members": {
							"ResourceARN": {},
							"RoleARN": {}
						}
					},
					"KinesisFirehoseInput": {
						"type": "structure",
						"required": [
							"ResourceARN",
							"RoleARN"
						],
						"members": {
							"ResourceARN": {},
							"RoleARN": {}
						}
					},
					"InputParallelism": {
						"shape": "Se"
					},
					"InputSchema": {
						"shape": "Sg"
					}
				}
			},
			"Se": {
				"type": "structure",
				"members": {
					"Count": {
						"type": "integer"
					}
				}
			},
			"Sg": {
				"type": "structure",
				"required": [
					"RecordFormat",
					"RecordColumns"
				],
				"members": {
					"RecordFormat": {
						"shape": "Sh"
					},
					"RecordEncoding": {},
					"RecordColumns": {
						"shape": "Sq"
					}
				}
			},
			"Sh": {
				"type": "structure",
				"required": [
					"RecordFormatType"
				],
				"members": {
					"RecordFormatType": {},
					"MappingParameters": {
						"type": "structure",
						"members": {
							"JSONMappingParameters": {
								"type": "structure",
								"required": [
									"RecordRowPath"
								],
								"members": {
									"RecordRowPath": {}
								}
							},
							"CSVMappingParameters": {
								"type": "structure",
								"required": [
									"RecordRowDelimiter",
									"RecordColumnDelimiter"
								],
								"members": {
									"RecordRowDelimiter": {},
									"RecordColumnDelimiter": {}
								}
							}
						}
					}
				}
			},
			"Sq": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Name",
						"SqlType"
					],
					"members": {
						"Name": {},
						"Mapping": {},
						"SqlType": {}
					}
				}
			},
			"Sx": {
				"type": "structure",
				"required": [
					"Name",
					"DestinationSchema"
				],
				"members": {
					"Name": {},
					"KinesisStreamsOutput": {
						"type": "structure",
						"required": [
							"ResourceARN",
							"RoleARN"
						],
						"members": {
							"ResourceARN": {},
							"RoleARN": {}
						}
					},
					"KinesisFirehoseOutput": {
						"type": "structure",
						"required": [
							"ResourceARN",
							"RoleARN"
						],
						"members": {
							"ResourceARN": {},
							"RoleARN": {}
						}
					},
					"DestinationSchema": {
						"shape": "S10"
					}
				}
			},
			"S10": {
				"type": "structure",
				"members": {
					"RecordFormatType": {}
				}
			},
			"S1g": {
				"type": "structure",
				"required": [
					"ApplicationName",
					"ApplicationARN",
					"ApplicationStatus"
				],
				"members": {
					"ApplicationName": {},
					"ApplicationARN": {},
					"ApplicationStatus": {}
				}
			},
			"S20": {
				"type": "structure",
				"members": {
					"InputStartingPosition": {}
				}
			}
		}
	};

/***/ }),
/* 495 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 496 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['kms'] = {};
	AWS.KMS = Service.defineService('kms', ['2014-11-01']);
	Object.defineProperty(apiLoader.services['kms'], '2014-11-01', {
	  get: function get() {
	    var model = __webpack_require__(497);
	    model.paginators = __webpack_require__(498).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.KMS;


/***/ }),
/* 497 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-11-01",
			"endpointPrefix": "kms",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "KMS",
			"serviceFullName": "AWS Key Management Service",
			"signatureVersion": "v4",
			"targetPrefix": "TrentService",
			"uid": "kms-2014-11-01"
		},
		"operations": {
			"CancelKeyDeletion": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"KeyId": {}
					}
				}
			},
			"CreateAlias": {
				"input": {
					"type": "structure",
					"required": [
						"AliasName",
						"TargetKeyId"
					],
					"members": {
						"AliasName": {},
						"TargetKeyId": {}
					}
				}
			},
			"CreateGrant": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId",
						"GranteePrincipal"
					],
					"members": {
						"KeyId": {},
						"GranteePrincipal": {},
						"RetiringPrincipal": {},
						"Operations": {
							"shape": "S8"
						},
						"Constraints": {
							"shape": "Sa"
						},
						"GrantTokens": {
							"shape": "Se"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GrantToken": {},
						"GrantId": {}
					}
				}
			},
			"CreateKey": {
				"input": {
					"type": "structure",
					"members": {
						"Policy": {},
						"Description": {},
						"KeyUsage": {},
						"Origin": {},
						"BypassPolicyLockoutSafetyCheck": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "Sp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"KeyMetadata": {
							"shape": "Su"
						}
					}
				}
			},
			"Decrypt": {
				"input": {
					"type": "structure",
					"required": [
						"CiphertextBlob"
					],
					"members": {
						"CiphertextBlob": {
							"type": "blob"
						},
						"EncryptionContext": {
							"shape": "Sb"
						},
						"GrantTokens": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"KeyId": {},
						"Plaintext": {
							"shape": "S14"
						}
					}
				}
			},
			"DeleteAlias": {
				"input": {
					"type": "structure",
					"required": [
						"AliasName"
					],
					"members": {
						"AliasName": {}
					}
				}
			},
			"DeleteImportedKeyMaterial": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {}
					}
				}
			},
			"DescribeKey": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {},
						"GrantTokens": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"KeyMetadata": {
							"shape": "Su"
						}
					}
				}
			},
			"DisableKey": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {}
					}
				}
			},
			"DisableKeyRotation": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {}
					}
				}
			},
			"EnableKey": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {}
					}
				}
			},
			"EnableKeyRotation": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {}
					}
				}
			},
			"Encrypt": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId",
						"Plaintext"
					],
					"members": {
						"KeyId": {},
						"Plaintext": {
							"shape": "S14"
						},
						"EncryptionContext": {
							"shape": "Sb"
						},
						"GrantTokens": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CiphertextBlob": {
							"type": "blob"
						},
						"KeyId": {}
					}
				}
			},
			"GenerateDataKey": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {},
						"EncryptionContext": {
							"shape": "Sb"
						},
						"NumberOfBytes": {
							"type": "integer"
						},
						"KeySpec": {},
						"GrantTokens": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CiphertextBlob": {
							"type": "blob"
						},
						"Plaintext": {
							"shape": "S14"
						},
						"KeyId": {}
					}
				}
			},
			"GenerateDataKeyWithoutPlaintext": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {},
						"EncryptionContext": {
							"shape": "Sb"
						},
						"KeySpec": {},
						"NumberOfBytes": {
							"type": "integer"
						},
						"GrantTokens": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CiphertextBlob": {
							"type": "blob"
						},
						"KeyId": {}
					}
				}
			},
			"GenerateRandom": {
				"input": {
					"type": "structure",
					"members": {
						"NumberOfBytes": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Plaintext": {
							"shape": "S14"
						}
					}
				}
			},
			"GetKeyPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId",
						"PolicyName"
					],
					"members": {
						"KeyId": {},
						"PolicyName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Policy": {}
					}
				}
			},
			"GetKeyRotationStatus": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"KeyRotationEnabled": {
							"type": "boolean"
						}
					}
				}
			},
			"GetParametersForImport": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId",
						"WrappingAlgorithm",
						"WrappingKeySpec"
					],
					"members": {
						"KeyId": {},
						"WrappingAlgorithm": {},
						"WrappingKeySpec": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"KeyId": {},
						"ImportToken": {
							"type": "blob"
						},
						"PublicKey": {
							"shape": "S14"
						},
						"ParametersValidTo": {
							"type": "timestamp"
						}
					}
				}
			},
			"ImportKeyMaterial": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId",
						"ImportToken",
						"EncryptedKeyMaterial"
					],
					"members": {
						"KeyId": {},
						"ImportToken": {
							"type": "blob"
						},
						"EncryptedKeyMaterial": {
							"type": "blob"
						},
						"ValidTo": {
							"type": "timestamp"
						},
						"ExpirationModel": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ListAliases": {
				"input": {
					"type": "structure",
					"members": {
						"Limit": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Aliases": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AliasName": {},
									"AliasArn": {},
									"TargetKeyId": {}
								}
							}
						},
						"NextMarker": {},
						"Truncated": {
							"type": "boolean"
						}
					}
				}
			},
			"ListGrants": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"Limit": {
							"type": "integer"
						},
						"Marker": {},
						"KeyId": {}
					}
				},
				"output": {
					"shape": "S25"
				}
			},
			"ListKeyPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {},
						"Limit": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PolicyNames": {
							"type": "list",
							"member": {}
						},
						"NextMarker": {},
						"Truncated": {
							"type": "boolean"
						}
					}
				}
			},
			"ListKeys": {
				"input": {
					"type": "structure",
					"members": {
						"Limit": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Keys": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"KeyId": {},
									"KeyArn": {}
								}
							}
						},
						"NextMarker": {},
						"Truncated": {
							"type": "boolean"
						}
					}
				}
			},
			"ListResourceTags": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {},
						"Limit": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "Sp"
						},
						"NextMarker": {},
						"Truncated": {
							"type": "boolean"
						}
					}
				}
			},
			"ListRetirableGrants": {
				"input": {
					"type": "structure",
					"required": [
						"RetiringPrincipal"
					],
					"members": {
						"Limit": {
							"type": "integer"
						},
						"Marker": {},
						"RetiringPrincipal": {}
					}
				},
				"output": {
					"shape": "S25"
				}
			},
			"PutKeyPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId",
						"PolicyName",
						"Policy"
					],
					"members": {
						"KeyId": {},
						"PolicyName": {},
						"Policy": {},
						"BypassPolicyLockoutSafetyCheck": {
							"type": "boolean"
						}
					}
				}
			},
			"ReEncrypt": {
				"input": {
					"type": "structure",
					"required": [
						"CiphertextBlob",
						"DestinationKeyId"
					],
					"members": {
						"CiphertextBlob": {
							"type": "blob"
						},
						"SourceEncryptionContext": {
							"shape": "Sb"
						},
						"DestinationKeyId": {},
						"DestinationEncryptionContext": {
							"shape": "Sb"
						},
						"GrantTokens": {
							"shape": "Se"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CiphertextBlob": {
							"type": "blob"
						},
						"SourceKeyId": {},
						"KeyId": {}
					}
				}
			},
			"RetireGrant": {
				"input": {
					"type": "structure",
					"members": {
						"GrantToken": {},
						"KeyId": {},
						"GrantId": {}
					}
				}
			},
			"RevokeGrant": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId",
						"GrantId"
					],
					"members": {
						"KeyId": {},
						"GrantId": {}
					}
				}
			},
			"ScheduleKeyDeletion": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId"
					],
					"members": {
						"KeyId": {},
						"PendingWindowInDays": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"KeyId": {},
						"DeletionDate": {
							"type": "timestamp"
						}
					}
				}
			},
			"TagResource": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId",
						"Tags"
					],
					"members": {
						"KeyId": {},
						"Tags": {
							"shape": "Sp"
						}
					}
				}
			},
			"UntagResource": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId",
						"TagKeys"
					],
					"members": {
						"KeyId": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"UpdateAlias": {
				"input": {
					"type": "structure",
					"required": [
						"AliasName",
						"TargetKeyId"
					],
					"members": {
						"AliasName": {},
						"TargetKeyId": {}
					}
				}
			},
			"UpdateKeyDescription": {
				"input": {
					"type": "structure",
					"required": [
						"KeyId",
						"Description"
					],
					"members": {
						"KeyId": {},
						"Description": {}
					}
				}
			}
		},
		"shapes": {
			"S8": {
				"type": "list",
				"member": {}
			},
			"Sa": {
				"type": "structure",
				"members": {
					"EncryptionContextSubset": {
						"shape": "Sb"
					},
					"EncryptionContextEquals": {
						"shape": "Sb"
					}
				}
			},
			"Sb": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"Se": {
				"type": "list",
				"member": {}
			},
			"Sp": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"TagKey",
						"TagValue"
					],
					"members": {
						"TagKey": {},
						"TagValue": {}
					}
				}
			},
			"Su": {
				"type": "structure",
				"required": [
					"KeyId"
				],
				"members": {
					"AWSAccountId": {},
					"KeyId": {},
					"Arn": {},
					"CreationDate": {
						"type": "timestamp"
					},
					"Enabled": {
						"type": "boolean"
					},
					"Description": {},
					"KeyUsage": {},
					"KeyState": {},
					"DeletionDate": {
						"type": "timestamp"
					},
					"ValidTo": {
						"type": "timestamp"
					},
					"Origin": {},
					"ExpirationModel": {},
					"KeyManager": {}
				}
			},
			"S14": {
				"type": "blob",
				"sensitive": true
			},
			"S25": {
				"type": "structure",
				"members": {
					"Grants": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"KeyId": {},
								"GrantId": {},
								"Name": {},
								"CreationDate": {
									"type": "timestamp"
								},
								"GranteePrincipal": {},
								"RetiringPrincipal": {},
								"IssuingAccount": {},
								"Operations": {
									"shape": "S8"
								},
								"Constraints": {
									"shape": "Sa"
								}
							}
						}
					},
					"NextMarker": {},
					"Truncated": {
						"type": "boolean"
					}
				}
			}
		}
	};

/***/ }),
/* 498 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListAliases": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"more_results": "Truncated",
				"output_token": "NextMarker",
				"result_key": "Aliases"
			},
			"ListGrants": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"more_results": "Truncated",
				"output_token": "NextMarker",
				"result_key": "Grants"
			},
			"ListKeyPolicies": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"more_results": "Truncated",
				"output_token": "NextMarker",
				"result_key": "PolicyNames"
			},
			"ListKeys": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"more_results": "Truncated",
				"output_token": "NextMarker",
				"result_key": "Keys"
			}
		}
	};

/***/ }),
/* 499 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['lambda'] = {};
	AWS.Lambda = Service.defineService('lambda', ['2014-11-11', '2015-03-31']);
	__webpack_require__(500);
	Object.defineProperty(apiLoader.services['lambda'], '2014-11-11', {
	  get: function get() {
	    var model = __webpack_require__(501);
	    model.paginators = __webpack_require__(502).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});
	Object.defineProperty(apiLoader.services['lambda'], '2015-03-31', {
	  get: function get() {
	    var model = __webpack_require__(503);
	    model.paginators = __webpack_require__(504).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Lambda;


/***/ }),
/* 500 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	AWS.util.update(AWS.Lambda.prototype, {
	  /**
	   * @api private
	   */
	  setupRequestListeners: function setupRequestListeners(request) {
	    if (request.operation === 'invoke') {
	      request.addListener('extractData', AWS.util.convertPayloadToString);
	    }
	  }
	});



/***/ }),
/* 501 */
/***/ (function(module, exports) {

	module.exports = {
		"metadata": {
			"apiVersion": "2014-11-11",
			"endpointPrefix": "lambda",
			"serviceFullName": "AWS Lambda",
			"signatureVersion": "v4",
			"protocol": "rest-json"
		},
		"operations": {
			"AddEventSource": {
				"http": {
					"requestUri": "/2014-11-13/event-source-mappings/"
				},
				"input": {
					"type": "structure",
					"required": [
						"EventSource",
						"FunctionName",
						"Role"
					],
					"members": {
						"EventSource": {},
						"FunctionName": {},
						"Role": {},
						"BatchSize": {
							"type": "integer"
						},
						"Parameters": {
							"shape": "S6"
						}
					}
				},
				"output": {
					"shape": "S7"
				}
			},
			"DeleteFunction": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2014-11-13/functions/{FunctionName}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						}
					}
				}
			},
			"GetEventSource": {
				"http": {
					"method": "GET",
					"requestUri": "/2014-11-13/event-source-mappings/{UUID}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"UUID"
					],
					"members": {
						"UUID": {
							"location": "uri",
							"locationName": "UUID"
						}
					}
				},
				"output": {
					"shape": "S7"
				}
			},
			"GetFunction": {
				"http": {
					"method": "GET",
					"requestUri": "/2014-11-13/functions/{FunctionName}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Configuration": {
							"shape": "Se"
						},
						"Code": {
							"type": "structure",
							"members": {
								"RepositoryType": {},
								"Location": {}
							}
						}
					}
				}
			},
			"GetFunctionConfiguration": {
				"http": {
					"method": "GET",
					"requestUri": "/2014-11-13/functions/{FunctionName}/configuration",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						}
					}
				},
				"output": {
					"shape": "Se"
				}
			},
			"InvokeAsync": {
				"http": {
					"requestUri": "/2014-11-13/functions/{FunctionName}/invoke-async/",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName",
						"InvokeArgs"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"InvokeArgs": {
							"shape": "Sq"
						}
					},
					"payload": "InvokeArgs"
				},
				"output": {
					"type": "structure",
					"members": {
						"Status": {
							"location": "statusCode",
							"type": "integer"
						}
					}
				}
			},
			"ListEventSources": {
				"http": {
					"method": "GET",
					"requestUri": "/2014-11-13/event-source-mappings/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"EventSourceArn": {
							"location": "querystring",
							"locationName": "EventSource"
						},
						"FunctionName": {
							"location": "querystring",
							"locationName": "FunctionName"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"EventSources": {
							"type": "list",
							"member": {
								"shape": "S7"
							}
						}
					}
				}
			},
			"ListFunctions": {
				"http": {
					"method": "GET",
					"requestUri": "/2014-11-13/functions/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Functions": {
							"type": "list",
							"member": {
								"shape": "Se"
							}
						}
					}
				}
			},
			"RemoveEventSource": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2014-11-13/event-source-mappings/{UUID}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"UUID"
					],
					"members": {
						"UUID": {
							"location": "uri",
							"locationName": "UUID"
						}
					}
				}
			},
			"UpdateFunctionConfiguration": {
				"http": {
					"method": "PUT",
					"requestUri": "/2014-11-13/functions/{FunctionName}/configuration",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"Role": {
							"location": "querystring",
							"locationName": "Role"
						},
						"Handler": {
							"location": "querystring",
							"locationName": "Handler"
						},
						"Description": {
							"location": "querystring",
							"locationName": "Description"
						},
						"Timeout": {
							"location": "querystring",
							"locationName": "Timeout",
							"type": "integer"
						},
						"MemorySize": {
							"location": "querystring",
							"locationName": "MemorySize",
							"type": "integer"
						}
					}
				},
				"output": {
					"shape": "Se"
				}
			},
			"UploadFunction": {
				"http": {
					"method": "PUT",
					"requestUri": "/2014-11-13/functions/{FunctionName}",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName",
						"FunctionZip",
						"Runtime",
						"Role",
						"Handler",
						"Mode"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"FunctionZip": {
							"shape": "Sq"
						},
						"Runtime": {
							"location": "querystring",
							"locationName": "Runtime"
						},
						"Role": {
							"location": "querystring",
							"locationName": "Role"
						},
						"Handler": {
							"location": "querystring",
							"locationName": "Handler"
						},
						"Mode": {
							"location": "querystring",
							"locationName": "Mode"
						},
						"Description": {
							"location": "querystring",
							"locationName": "Description"
						},
						"Timeout": {
							"location": "querystring",
							"locationName": "Timeout",
							"type": "integer"
						},
						"MemorySize": {
							"location": "querystring",
							"locationName": "MemorySize",
							"type": "integer"
						}
					},
					"payload": "FunctionZip"
				},
				"output": {
					"shape": "Se"
				}
			}
		},
		"shapes": {
			"S6": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S7": {
				"type": "structure",
				"members": {
					"UUID": {},
					"BatchSize": {
						"type": "integer"
					},
					"EventSource": {},
					"FunctionName": {},
					"Parameters": {
						"shape": "S6"
					},
					"Role": {},
					"LastModified": {
						"type": "timestamp"
					},
					"IsActive": {
						"type": "boolean"
					},
					"Status": {}
				}
			},
			"Se": {
				"type": "structure",
				"members": {
					"FunctionName": {},
					"FunctionARN": {},
					"ConfigurationId": {},
					"Runtime": {},
					"Role": {},
					"Handler": {},
					"Mode": {},
					"CodeSize": {
						"type": "long"
					},
					"Description": {},
					"Timeout": {
						"type": "integer"
					},
					"MemorySize": {
						"type": "integer"
					},
					"LastModified": {
						"type": "timestamp"
					}
				}
			},
			"Sq": {
				"type": "blob",
				"streaming": true
			}
		}
	};

/***/ }),
/* 502 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListEventSources": {
				"input_token": "Marker",
				"output_token": "NextMarker",
				"limit_key": "MaxItems",
				"result_key": "EventSources"
			},
			"ListFunctions": {
				"input_token": "Marker",
				"output_token": "NextMarker",
				"limit_key": "MaxItems",
				"result_key": "Functions"
			}
		}
	};

/***/ }),
/* 503 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-03-31",
			"endpointPrefix": "lambda",
			"protocol": "rest-json",
			"serviceFullName": "AWS Lambda",
			"signatureVersion": "v4",
			"uid": "lambda-2015-03-31"
		},
		"operations": {
			"AddPermission": {
				"http": {
					"requestUri": "/2015-03-31/functions/{FunctionName}/policy",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName",
						"StatementId",
						"Action",
						"Principal"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"StatementId": {},
						"Action": {},
						"Principal": {},
						"SourceArn": {},
						"SourceAccount": {},
						"EventSourceToken": {},
						"Qualifier": {
							"location": "querystring",
							"locationName": "Qualifier"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Statement": {}
					}
				}
			},
			"CreateAlias": {
				"http": {
					"requestUri": "/2015-03-31/functions/{FunctionName}/aliases",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName",
						"Name",
						"FunctionVersion"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"Name": {},
						"FunctionVersion": {},
						"Description": {}
					}
				},
				"output": {
					"shape": "Sg"
				}
			},
			"CreateEventSourceMapping": {
				"http": {
					"requestUri": "/2015-03-31/event-source-mappings/",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"EventSourceArn",
						"FunctionName",
						"StartingPosition"
					],
					"members": {
						"EventSourceArn": {},
						"FunctionName": {},
						"Enabled": {
							"type": "boolean"
						},
						"BatchSize": {
							"type": "integer"
						},
						"StartingPosition": {},
						"StartingPositionTimestamp": {
							"type": "timestamp"
						}
					}
				},
				"output": {
					"shape": "Sn"
				}
			},
			"CreateFunction": {
				"http": {
					"requestUri": "/2015-03-31/functions",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName",
						"Runtime",
						"Role",
						"Handler",
						"Code"
					],
					"members": {
						"FunctionName": {},
						"Runtime": {},
						"Role": {},
						"Handler": {},
						"Code": {
							"type": "structure",
							"members": {
								"ZipFile": {
									"shape": "St"
								},
								"S3Bucket": {},
								"S3Key": {},
								"S3ObjectVersion": {}
							}
						},
						"Description": {},
						"Timeout": {
							"type": "integer"
						},
						"MemorySize": {
							"type": "integer"
						},
						"Publish": {
							"type": "boolean"
						},
						"VpcConfig": {
							"shape": "S10"
						},
						"DeadLetterConfig": {
							"shape": "S15"
						},
						"Environment": {
							"shape": "S17"
						},
						"KMSKeyArn": {},
						"TracingConfig": {
							"shape": "S1c"
						},
						"Tags": {
							"shape": "S1e"
						}
					}
				},
				"output": {
					"shape": "S1h"
				}
			},
			"DeleteAlias": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName",
						"Name"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"Name": {
							"location": "uri",
							"locationName": "Name"
						}
					}
				}
			},
			"DeleteEventSourceMapping": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2015-03-31/event-source-mappings/{UUID}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"UUID"
					],
					"members": {
						"UUID": {
							"location": "uri",
							"locationName": "UUID"
						}
					}
				},
				"output": {
					"shape": "Sn"
				}
			},
			"DeleteFunction": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2015-03-31/functions/{FunctionName}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"Qualifier": {
							"location": "querystring",
							"locationName": "Qualifier"
						}
					}
				}
			},
			"GetAccountSettings": {
				"http": {
					"method": "GET",
					"requestUri": "/2016-08-19/account-settings/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"AccountLimit": {
							"type": "structure",
							"members": {
								"TotalCodeSize": {
									"type": "long"
								},
								"CodeSizeUnzipped": {
									"type": "long"
								},
								"CodeSizeZipped": {
									"type": "long"
								},
								"ConcurrentExecutions": {
									"type": "integer"
								}
							}
						},
						"AccountUsage": {
							"type": "structure",
							"members": {
								"TotalCodeSize": {
									"type": "long"
								},
								"FunctionCount": {
									"type": "long"
								}
							}
						}
					}
				}
			},
			"GetAlias": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName",
						"Name"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"Name": {
							"location": "uri",
							"locationName": "Name"
						}
					}
				},
				"output": {
					"shape": "Sg"
				}
			},
			"GetEventSourceMapping": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-03-31/event-source-mappings/{UUID}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"UUID"
					],
					"members": {
						"UUID": {
							"location": "uri",
							"locationName": "UUID"
						}
					}
				},
				"output": {
					"shape": "Sn"
				}
			},
			"GetFunction": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-03-31/functions/{FunctionName}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"Qualifier": {
							"location": "querystring",
							"locationName": "Qualifier"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Configuration": {
							"shape": "S1h"
						},
						"Code": {
							"type": "structure",
							"members": {
								"RepositoryType": {},
								"Location": {}
							}
						},
						"Tags": {
							"shape": "S1e"
						}
					}
				}
			},
			"GetFunctionConfiguration": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-03-31/functions/{FunctionName}/configuration",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"Qualifier": {
							"location": "querystring",
							"locationName": "Qualifier"
						}
					}
				},
				"output": {
					"shape": "S1h"
				}
			},
			"GetPolicy": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-03-31/functions/{FunctionName}/policy",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"Qualifier": {
							"location": "querystring",
							"locationName": "Qualifier"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Policy": {}
					}
				}
			},
			"Invoke": {
				"http": {
					"requestUri": "/2015-03-31/functions/{FunctionName}/invocations"
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"InvocationType": {
							"location": "header",
							"locationName": "X-Amz-Invocation-Type"
						},
						"LogType": {
							"location": "header",
							"locationName": "X-Amz-Log-Type"
						},
						"ClientContext": {
							"location": "header",
							"locationName": "X-Amz-Client-Context"
						},
						"Payload": {
							"shape": "St"
						},
						"Qualifier": {
							"location": "querystring",
							"locationName": "Qualifier"
						}
					},
					"payload": "Payload"
				},
				"output": {
					"type": "structure",
					"members": {
						"StatusCode": {
							"location": "statusCode",
							"type": "integer"
						},
						"FunctionError": {
							"location": "header",
							"locationName": "X-Amz-Function-Error"
						},
						"LogResult": {
							"location": "header",
							"locationName": "X-Amz-Log-Result"
						},
						"Payload": {
							"shape": "St"
						}
					},
					"payload": "Payload"
				}
			},
			"InvokeAsync": {
				"http": {
					"requestUri": "/2014-11-13/functions/{FunctionName}/invoke-async/",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName",
						"InvokeArgs"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"InvokeArgs": {
							"type": "blob",
							"streaming": true
						}
					},
					"deprecated": true,
					"payload": "InvokeArgs"
				},
				"output": {
					"type": "structure",
					"members": {
						"Status": {
							"location": "statusCode",
							"type": "integer"
						}
					},
					"deprecated": true
				},
				"deprecated": true
			},
			"ListAliases": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-03-31/functions/{FunctionName}/aliases",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"FunctionVersion": {
							"location": "querystring",
							"locationName": "FunctionVersion"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Aliases": {
							"type": "list",
							"member": {
								"shape": "Sg"
							}
						}
					}
				}
			},
			"ListEventSourceMappings": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-03-31/event-source-mappings/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"EventSourceArn": {
							"location": "querystring",
							"locationName": "EventSourceArn"
						},
						"FunctionName": {
							"location": "querystring",
							"locationName": "FunctionName"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"EventSourceMappings": {
							"type": "list",
							"member": {
								"shape": "Sn"
							}
						}
					}
				}
			},
			"ListFunctions": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-03-31/functions/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Functions": {
							"shape": "S2n"
						}
					}
				}
			},
			"ListTags": {
				"http": {
					"method": "GET",
					"requestUri": "/2017-03-31/tags/{ARN}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Resource"
					],
					"members": {
						"Resource": {
							"location": "uri",
							"locationName": "ARN"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "S1e"
						}
					}
				}
			},
			"ListVersionsByFunction": {
				"http": {
					"method": "GET",
					"requestUri": "/2015-03-31/functions/{FunctionName}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "Marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "MaxItems",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Versions": {
							"shape": "S2n"
						}
					}
				}
			},
			"PublishVersion": {
				"http": {
					"requestUri": "/2015-03-31/functions/{FunctionName}/versions",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"CodeSha256": {},
						"Description": {}
					}
				},
				"output": {
					"shape": "S1h"
				}
			},
			"RemovePermission": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2015-03-31/functions/{FunctionName}/policy/{StatementId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName",
						"StatementId"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"StatementId": {
							"location": "uri",
							"locationName": "StatementId"
						},
						"Qualifier": {
							"location": "querystring",
							"locationName": "Qualifier"
						}
					}
				}
			},
			"TagResource": {
				"http": {
					"requestUri": "/2017-03-31/tags/{ARN}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Resource",
						"Tags"
					],
					"members": {
						"Resource": {
							"location": "uri",
							"locationName": "ARN"
						},
						"Tags": {
							"shape": "S1e"
						}
					}
				}
			},
			"UntagResource": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2017-03-31/tags/{ARN}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"Resource",
						"TagKeys"
					],
					"members": {
						"Resource": {
							"location": "uri",
							"locationName": "ARN"
						},
						"TagKeys": {
							"location": "querystring",
							"locationName": "tagKeys",
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"UpdateAlias": {
				"http": {
					"method": "PUT",
					"requestUri": "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName",
						"Name"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"Name": {
							"location": "uri",
							"locationName": "Name"
						},
						"FunctionVersion": {},
						"Description": {}
					}
				},
				"output": {
					"shape": "Sg"
				}
			},
			"UpdateEventSourceMapping": {
				"http": {
					"method": "PUT",
					"requestUri": "/2015-03-31/event-source-mappings/{UUID}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"UUID"
					],
					"members": {
						"UUID": {
							"location": "uri",
							"locationName": "UUID"
						},
						"FunctionName": {},
						"Enabled": {
							"type": "boolean"
						},
						"BatchSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"shape": "Sn"
				}
			},
			"UpdateFunctionCode": {
				"http": {
					"method": "PUT",
					"requestUri": "/2015-03-31/functions/{FunctionName}/code",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"ZipFile": {
							"shape": "St"
						},
						"S3Bucket": {},
						"S3Key": {},
						"S3ObjectVersion": {},
						"Publish": {
							"type": "boolean"
						},
						"DryRun": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"shape": "S1h"
				}
			},
			"UpdateFunctionConfiguration": {
				"http": {
					"method": "PUT",
					"requestUri": "/2015-03-31/functions/{FunctionName}/configuration",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FunctionName"
					],
					"members": {
						"FunctionName": {
							"location": "uri",
							"locationName": "FunctionName"
						},
						"Role": {},
						"Handler": {},
						"Description": {},
						"Timeout": {
							"type": "integer"
						},
						"MemorySize": {
							"type": "integer"
						},
						"VpcConfig": {
							"shape": "S10"
						},
						"Environment": {
							"shape": "S17"
						},
						"Runtime": {},
						"DeadLetterConfig": {
							"shape": "S15"
						},
						"KMSKeyArn": {},
						"TracingConfig": {
							"shape": "S1c"
						}
					}
				},
				"output": {
					"shape": "S1h"
				}
			}
		},
		"shapes": {
			"Sg": {
				"type": "structure",
				"members": {
					"AliasArn": {},
					"Name": {},
					"FunctionVersion": {},
					"Description": {}
				}
			},
			"Sn": {
				"type": "structure",
				"members": {
					"UUID": {},
					"BatchSize": {
						"type": "integer"
					},
					"EventSourceArn": {},
					"FunctionArn": {},
					"LastModified": {
						"type": "timestamp"
					},
					"LastProcessingResult": {},
					"State": {},
					"StateTransitionReason": {}
				}
			},
			"St": {
				"type": "blob",
				"sensitive": true
			},
			"S10": {
				"type": "structure",
				"members": {
					"SubnetIds": {
						"shape": "S11"
					},
					"SecurityGroupIds": {
						"shape": "S13"
					}
				}
			},
			"S11": {
				"type": "list",
				"member": {}
			},
			"S13": {
				"type": "list",
				"member": {}
			},
			"S15": {
				"type": "structure",
				"members": {
					"TargetArn": {}
				}
			},
			"S17": {
				"type": "structure",
				"members": {
					"Variables": {
						"shape": "S18"
					}
				}
			},
			"S18": {
				"type": "map",
				"key": {
					"type": "string",
					"sensitive": true
				},
				"value": {
					"type": "string",
					"sensitive": true
				},
				"sensitive": true
			},
			"S1c": {
				"type": "structure",
				"members": {
					"Mode": {}
				}
			},
			"S1e": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1h": {
				"type": "structure",
				"members": {
					"FunctionName": {},
					"FunctionArn": {},
					"Runtime": {},
					"Role": {},
					"Handler": {},
					"CodeSize": {
						"type": "long"
					},
					"Description": {},
					"Timeout": {
						"type": "integer"
					},
					"MemorySize": {
						"type": "integer"
					},
					"LastModified": {},
					"CodeSha256": {},
					"Version": {},
					"VpcConfig": {
						"type": "structure",
						"members": {
							"SubnetIds": {
								"shape": "S11"
							},
							"SecurityGroupIds": {
								"shape": "S13"
							},
							"VpcId": {}
						}
					},
					"DeadLetterConfig": {
						"shape": "S15"
					},
					"Environment": {
						"type": "structure",
						"members": {
							"Variables": {
								"shape": "S18"
							},
							"Error": {
								"type": "structure",
								"members": {
									"ErrorCode": {},
									"Message": {
										"type": "string",
										"sensitive": true
									}
								}
							}
						}
					},
					"KMSKeyArn": {},
					"TracingConfig": {
						"type": "structure",
						"members": {
							"Mode": {}
						}
					}
				}
			},
			"S2n": {
				"type": "list",
				"member": {
					"shape": "S1h"
				}
			}
		}
	};

/***/ }),
/* 504 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListEventSourceMappings": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"output_token": "NextMarker",
				"result_key": "EventSourceMappings"
			},
			"ListFunctions": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"output_token": "NextMarker",
				"result_key": "Functions"
			}
		}
	};

/***/ }),
/* 505 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['lexruntime'] = {};
	AWS.LexRuntime = Service.defineService('lexruntime', ['2016-11-28']);
	Object.defineProperty(apiLoader.services['lexruntime'], '2016-11-28', {
	  get: function get() {
	    var model = __webpack_require__(506);
	    model.paginators = __webpack_require__(507).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.LexRuntime;


/***/ }),
/* 506 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-11-28",
			"endpointPrefix": "runtime.lex",
			"jsonVersion": "1.1",
			"protocol": "rest-json",
			"serviceFullName": "Amazon Lex Runtime Service",
			"signatureVersion": "v4",
			"signingName": "lex",
			"uid": "runtime.lex-2016-11-28"
		},
		"operations": {
			"PostContent": {
				"http": {
					"requestUri": "/bot/{botName}/alias/{botAlias}/user/{userId}/content"
				},
				"input": {
					"type": "structure",
					"required": [
						"botName",
						"botAlias",
						"userId",
						"contentType",
						"inputStream"
					],
					"members": {
						"botName": {
							"location": "uri",
							"locationName": "botName"
						},
						"botAlias": {
							"location": "uri",
							"locationName": "botAlias"
						},
						"userId": {
							"location": "uri",
							"locationName": "userId"
						},
						"sessionAttributes": {
							"jsonvalue": true,
							"location": "header",
							"locationName": "x-amz-lex-session-attributes"
						},
						"contentType": {
							"location": "header",
							"locationName": "Content-Type"
						},
						"accept": {
							"location": "header",
							"locationName": "Accept"
						},
						"inputStream": {
							"shape": "S8"
						}
					},
					"payload": "inputStream"
				},
				"output": {
					"type": "structure",
					"members": {
						"contentType": {
							"location": "header",
							"locationName": "Content-Type"
						},
						"intentName": {
							"location": "header",
							"locationName": "x-amz-lex-intent-name"
						},
						"slots": {
							"jsonvalue": true,
							"location": "header",
							"locationName": "x-amz-lex-slots"
						},
						"sessionAttributes": {
							"jsonvalue": true,
							"location": "header",
							"locationName": "x-amz-lex-session-attributes"
						},
						"message": {
							"location": "header",
							"locationName": "x-amz-lex-message"
						},
						"dialogState": {
							"location": "header",
							"locationName": "x-amz-lex-dialog-state"
						},
						"slotToElicit": {
							"location": "header",
							"locationName": "x-amz-lex-slot-to-elicit"
						},
						"inputTranscript": {
							"location": "header",
							"locationName": "x-amz-lex-input-transcript"
						},
						"audioStream": {
							"shape": "S8"
						}
					},
					"payload": "audioStream"
				},
				"authtype": "v4-unsigned-body"
			},
			"PostText": {
				"http": {
					"requestUri": "/bot/{botName}/alias/{botAlias}/user/{userId}/text"
				},
				"input": {
					"type": "structure",
					"required": [
						"botName",
						"botAlias",
						"userId",
						"inputText"
					],
					"members": {
						"botName": {
							"location": "uri",
							"locationName": "botName"
						},
						"botAlias": {
							"location": "uri",
							"locationName": "botAlias"
						},
						"userId": {
							"location": "uri",
							"locationName": "userId"
						},
						"sessionAttributes": {
							"shape": "Se"
						},
						"inputText": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"intentName": {},
						"slots": {
							"shape": "Se"
						},
						"sessionAttributes": {
							"shape": "Se"
						},
						"message": {},
						"dialogState": {},
						"slotToElicit": {},
						"responseCard": {
							"type": "structure",
							"members": {
								"version": {},
								"contentType": {},
								"genericAttachments": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"title": {},
											"subTitle": {},
											"attachmentLinkUrl": {},
											"imageUrl": {},
											"buttons": {
												"type": "list",
												"member": {
													"type": "structure",
													"required": [
														"text",
														"value"
													],
													"members": {
														"text": {},
														"value": {}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		},
		"shapes": {
			"S8": {
				"type": "blob",
				"streaming": true
			},
			"Se": {
				"type": "map",
				"key": {},
				"value": {}
			}
		}
	};

/***/ }),
/* 507 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 508 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['lightsail'] = {};
	AWS.Lightsail = Service.defineService('lightsail', ['2016-11-28']);
	Object.defineProperty(apiLoader.services['lightsail'], '2016-11-28', {
	  get: function get() {
	    var model = __webpack_require__(509);
	    model.paginators = __webpack_require__(510).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Lightsail;


/***/ }),
/* 509 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-11-28",
			"endpointPrefix": "lightsail",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon Lightsail",
			"signatureVersion": "v4",
			"targetPrefix": "Lightsail_20161128",
			"uid": "lightsail-2016-11-28"
		},
		"operations": {
			"AllocateStaticIp": {
				"input": {
					"type": "structure",
					"required": [
						"staticIpName"
					],
					"members": {
						"staticIpName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"AttachStaticIp": {
				"input": {
					"type": "structure",
					"required": [
						"staticIpName",
						"instanceName"
					],
					"members": {
						"staticIpName": {},
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"CloseInstancePublicPorts": {
				"input": {
					"type": "structure",
					"required": [
						"portInfo",
						"instanceName"
					],
					"members": {
						"portInfo": {
							"shape": "Si"
						},
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"CreateDomain": {
				"input": {
					"type": "structure",
					"required": [
						"domainName"
					],
					"members": {
						"domainName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"CreateDomainEntry": {
				"input": {
					"type": "structure",
					"required": [
						"domainName",
						"domainEntry"
					],
					"members": {
						"domainName": {},
						"domainEntry": {
							"shape": "Sq"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"CreateInstanceSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"instanceSnapshotName",
						"instanceName"
					],
					"members": {
						"instanceSnapshotName": {},
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"CreateInstances": {
				"input": {
					"type": "structure",
					"required": [
						"instanceNames",
						"availabilityZone",
						"blueprintId",
						"bundleId"
					],
					"members": {
						"instanceNames": {
							"shape": "Sy"
						},
						"availabilityZone": {},
						"customImageName": {
							"deprecated": true
						},
						"blueprintId": {},
						"bundleId": {},
						"userData": {},
						"keyPairName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"CreateInstancesFromSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"instanceNames",
						"availabilityZone",
						"instanceSnapshotName",
						"bundleId"
					],
					"members": {
						"instanceNames": {
							"shape": "Sy"
						},
						"availabilityZone": {},
						"instanceSnapshotName": {},
						"bundleId": {},
						"userData": {},
						"keyPairName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"CreateKeyPair": {
				"input": {
					"type": "structure",
					"required": [
						"keyPairName"
					],
					"members": {
						"keyPairName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"keyPair": {
							"shape": "S14"
						},
						"publicKeyBase64": {},
						"privateKeyBase64": {},
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"DeleteDomain": {
				"input": {
					"type": "structure",
					"required": [
						"domainName"
					],
					"members": {
						"domainName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"DeleteDomainEntry": {
				"input": {
					"type": "structure",
					"required": [
						"domainName",
						"domainEntry"
					],
					"members": {
						"domainName": {},
						"domainEntry": {
							"shape": "Sq"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"DeleteInstance": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName"
					],
					"members": {
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"DeleteInstanceSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"instanceSnapshotName"
					],
					"members": {
						"instanceSnapshotName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"DeleteKeyPair": {
				"input": {
					"type": "structure",
					"required": [
						"keyPairName"
					],
					"members": {
						"keyPairName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"DetachStaticIp": {
				"input": {
					"type": "structure",
					"required": [
						"staticIpName"
					],
					"members": {
						"staticIpName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"DownloadDefaultKeyPair": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"publicKeyBase64": {},
						"privateKeyBase64": {}
					}
				}
			},
			"GetActiveNames": {
				"input": {
					"type": "structure",
					"members": {
						"pageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"activeNames": {
							"shape": "Sy"
						},
						"nextPageToken": {}
					}
				}
			},
			"GetBlueprints": {
				"input": {
					"type": "structure",
					"members": {
						"includeInactive": {
							"type": "boolean"
						},
						"pageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"blueprints": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"blueprintId": {},
									"name": {},
									"group": {},
									"type": {},
									"description": {},
									"isActive": {
										"type": "boolean"
									},
									"minPower": {
										"type": "integer"
									},
									"version": {},
									"versionCode": {},
									"productUrl": {},
									"licenseUrl": {}
								}
							}
						},
						"nextPageToken": {}
					}
				}
			},
			"GetBundles": {
				"input": {
					"type": "structure",
					"members": {
						"includeInactive": {
							"type": "boolean"
						},
						"pageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"bundles": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"price": {
										"type": "float"
									},
									"cpuCount": {
										"type": "integer"
									},
									"diskSizeInGb": {
										"type": "integer"
									},
									"bundleId": {},
									"instanceType": {},
									"isActive": {
										"type": "boolean"
									},
									"name": {},
									"power": {
										"type": "integer"
									},
									"ramSizeInGb": {
										"type": "float"
									},
									"transferPerMonthInGb": {
										"type": "integer"
									}
								}
							}
						},
						"nextPageToken": {}
					}
				}
			},
			"GetDomain": {
				"input": {
					"type": "structure",
					"required": [
						"domainName"
					],
					"members": {
						"domainName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"domain": {
							"shape": "S1z"
						}
					}
				}
			},
			"GetDomains": {
				"input": {
					"type": "structure",
					"members": {
						"pageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"domains": {
							"type": "list",
							"member": {
								"shape": "S1z"
							}
						},
						"nextPageToken": {}
					}
				}
			},
			"GetInstance": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName"
					],
					"members": {
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"instance": {
							"shape": "S26"
						}
					}
				}
			},
			"GetInstanceAccessDetails": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName"
					],
					"members": {
						"instanceName": {},
						"protocol": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"accessDetails": {
							"type": "structure",
							"members": {
								"certKey": {},
								"expiresAt": {
									"type": "timestamp"
								},
								"ipAddress": {},
								"password": {},
								"privateKey": {},
								"protocol": {},
								"instanceName": {},
								"username": {}
							}
						}
					}
				}
			},
			"GetInstanceMetricData": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName",
						"metricName",
						"period",
						"startTime",
						"endTime",
						"unit",
						"statistics"
					],
					"members": {
						"instanceName": {},
						"metricName": {},
						"period": {
							"type": "integer"
						},
						"startTime": {
							"type": "timestamp"
						},
						"endTime": {
							"type": "timestamp"
						},
						"unit": {},
						"statistics": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"metricName": {},
						"metricData": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"average": {
										"type": "double"
									},
									"maximum": {
										"type": "double"
									},
									"minimum": {
										"type": "double"
									},
									"sampleCount": {
										"type": "double"
									},
									"sum": {
										"type": "double"
									},
									"timestamp": {
										"type": "timestamp"
									},
									"unit": {}
								}
							}
						}
					}
				}
			},
			"GetInstancePortStates": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName"
					],
					"members": {
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"portStates": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"fromPort": {
										"type": "integer"
									},
									"toPort": {
										"type": "integer"
									},
									"protocol": {},
									"state": {}
								}
							}
						}
					}
				}
			},
			"GetInstanceSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"instanceSnapshotName"
					],
					"members": {
						"instanceSnapshotName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"instanceSnapshot": {
							"shape": "S35"
						}
					}
				}
			},
			"GetInstanceSnapshots": {
				"input": {
					"type": "structure",
					"members": {
						"pageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"instanceSnapshots": {
							"type": "list",
							"member": {
								"shape": "S35"
							}
						},
						"nextPageToken": {}
					}
				}
			},
			"GetInstanceState": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName"
					],
					"members": {
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"state": {
							"shape": "S2i"
						}
					}
				}
			},
			"GetInstances": {
				"input": {
					"type": "structure",
					"members": {
						"pageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"instances": {
							"type": "list",
							"member": {
								"shape": "S26"
							}
						},
						"nextPageToken": {}
					}
				}
			},
			"GetKeyPair": {
				"input": {
					"type": "structure",
					"required": [
						"keyPairName"
					],
					"members": {
						"keyPairName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"keyPair": {
							"shape": "S14"
						}
					}
				}
			},
			"GetKeyPairs": {
				"input": {
					"type": "structure",
					"members": {
						"pageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"keyPairs": {
							"type": "list",
							"member": {
								"shape": "S14"
							}
						},
						"nextPageToken": {}
					}
				}
			},
			"GetOperation": {
				"input": {
					"type": "structure",
					"required": [
						"operationId"
					],
					"members": {
						"operationId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"GetOperations": {
				"input": {
					"type": "structure",
					"members": {
						"pageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						},
						"nextPageToken": {}
					}
				}
			},
			"GetOperationsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"resourceName"
					],
					"members": {
						"resourceName": {},
						"pageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						},
						"nextPageCount": {
							"deprecated": true
						},
						"nextPageToken": {}
					}
				}
			},
			"GetRegions": {
				"input": {
					"type": "structure",
					"members": {
						"includeAvailabilityZones": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"regions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"continentCode": {},
									"description": {},
									"displayName": {},
									"name": {},
									"availabilityZones": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"zoneName": {},
												"state": {}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"GetStaticIp": {
				"input": {
					"type": "structure",
					"required": [
						"staticIpName"
					],
					"members": {
						"staticIpName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"staticIp": {
							"shape": "S3y"
						}
					}
				}
			},
			"GetStaticIps": {
				"input": {
					"type": "structure",
					"members": {
						"pageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"staticIps": {
							"type": "list",
							"member": {
								"shape": "S3y"
							}
						},
						"nextPageToken": {}
					}
				}
			},
			"ImportKeyPair": {
				"input": {
					"type": "structure",
					"required": [
						"keyPairName",
						"publicKeyBase64"
					],
					"members": {
						"keyPairName": {},
						"publicKeyBase64": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"IsVpcPeered": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"isPeered": {
							"type": "boolean"
						}
					}
				}
			},
			"OpenInstancePublicPorts": {
				"input": {
					"type": "structure",
					"required": [
						"portInfo",
						"instanceName"
					],
					"members": {
						"portInfo": {
							"shape": "Si"
						},
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"PeerVpc": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"PutInstancePublicPorts": {
				"input": {
					"type": "structure",
					"required": [
						"portInfos",
						"instanceName"
					],
					"members": {
						"portInfos": {
							"type": "list",
							"member": {
								"shape": "Si"
							}
						},
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"RebootInstance": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName"
					],
					"members": {
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"ReleaseStaticIp": {
				"input": {
					"type": "structure",
					"required": [
						"staticIpName"
					],
					"members": {
						"staticIpName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"StartInstance": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName"
					],
					"members": {
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"StopInstance": {
				"input": {
					"type": "structure",
					"required": [
						"instanceName"
					],
					"members": {
						"instanceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			},
			"UnpeerVpc": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"operation": {
							"shape": "S5"
						}
					}
				}
			},
			"UpdateDomainEntry": {
				"input": {
					"type": "structure",
					"required": [
						"domainName",
						"domainEntry"
					],
					"members": {
						"domainName": {},
						"domainEntry": {
							"shape": "Sq"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"operations": {
							"shape": "S4"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "list",
				"member": {
					"shape": "S5"
				}
			},
			"S5": {
				"type": "structure",
				"members": {
					"id": {},
					"resourceName": {},
					"resourceType": {},
					"createdAt": {
						"type": "timestamp"
					},
					"location": {
						"shape": "S9"
					},
					"isTerminal": {
						"type": "boolean"
					},
					"operationDetails": {},
					"operationType": {},
					"status": {},
					"statusChangedAt": {
						"type": "timestamp"
					},
					"errorCode": {},
					"errorDetails": {}
				}
			},
			"S9": {
				"type": "structure",
				"members": {
					"availabilityZone": {},
					"regionName": {}
				}
			},
			"Si": {
				"type": "structure",
				"members": {
					"fromPort": {
						"type": "integer"
					},
					"toPort": {
						"type": "integer"
					},
					"protocol": {}
				}
			},
			"Sq": {
				"type": "structure",
				"members": {
					"id": {},
					"name": {},
					"target": {},
					"type": {},
					"options": {
						"type": "map",
						"key": {},
						"value": {}
					}
				}
			},
			"Sy": {
				"type": "list",
				"member": {}
			},
			"S14": {
				"type": "structure",
				"members": {
					"name": {},
					"arn": {},
					"supportCode": {},
					"createdAt": {
						"type": "timestamp"
					},
					"location": {
						"shape": "S9"
					},
					"resourceType": {},
					"fingerprint": {}
				}
			},
			"S1z": {
				"type": "structure",
				"members": {
					"name": {},
					"arn": {},
					"supportCode": {},
					"createdAt": {
						"type": "timestamp"
					},
					"location": {
						"shape": "S9"
					},
					"resourceType": {},
					"domainEntries": {
						"type": "list",
						"member": {
							"shape": "Sq"
						}
					}
				}
			},
			"S26": {
				"type": "structure",
				"members": {
					"name": {},
					"arn": {},
					"supportCode": {},
					"createdAt": {
						"type": "timestamp"
					},
					"location": {
						"shape": "S9"
					},
					"resourceType": {},
					"blueprintId": {},
					"blueprintName": {},
					"bundleId": {},
					"isStaticIp": {
						"type": "boolean"
					},
					"privateIpAddress": {},
					"publicIpAddress": {},
					"ipv6Address": {},
					"hardware": {
						"type": "structure",
						"members": {
							"cpuCount": {
								"type": "integer"
							},
							"disks": {
								"type": "list",
								"member": {
									"type": "structure",
									"members": {
										"name": {},
										"arn": {},
										"supportCode": {},
										"createdAt": {
											"type": "timestamp"
										},
										"location": {
											"shape": "S9"
										},
										"resourceType": {},
										"sizeInGb": {
											"type": "integer"
										},
										"gbInUse": {
											"type": "integer"
										},
										"isSystemDisk": {
											"type": "boolean"
										},
										"iops": {
											"type": "integer"
										},
										"path": {},
										"attachedTo": {},
										"isAttached": {
											"type": "boolean"
										},
										"attachmentState": {}
									}
								}
							},
							"ramSizeInGb": {
								"type": "float"
							}
						}
					},
					"networking": {
						"type": "structure",
						"members": {
							"monthlyTransfer": {
								"type": "structure",
								"members": {
									"gbPerMonthAllocated": {
										"type": "integer"
									}
								}
							},
							"ports": {
								"type": "list",
								"member": {
									"type": "structure",
									"members": {
										"fromPort": {
											"type": "integer"
										},
										"toPort": {
											"type": "integer"
										},
										"protocol": {},
										"accessFrom": {},
										"accessType": {},
										"commonName": {},
										"accessDirection": {}
									}
								}
							}
						}
					},
					"state": {
						"shape": "S2i"
					},
					"username": {},
					"sshKeyName": {}
				}
			},
			"S2i": {
				"type": "structure",
				"members": {
					"code": {
						"type": "integer"
					},
					"name": {}
				}
			},
			"S35": {
				"type": "structure",
				"members": {
					"name": {},
					"arn": {},
					"supportCode": {},
					"createdAt": {
						"type": "timestamp"
					},
					"location": {
						"shape": "S9"
					},
					"resourceType": {},
					"state": {},
					"progress": {},
					"fromInstanceName": {},
					"fromInstanceArn": {},
					"fromBlueprintId": {},
					"fromBundleId": {},
					"sizeInGb": {
						"type": "integer"
					}
				}
			},
			"S3y": {
				"type": "structure",
				"members": {
					"name": {},
					"arn": {},
					"supportCode": {},
					"createdAt": {
						"type": "timestamp"
					},
					"location": {
						"shape": "S9"
					},
					"resourceType": {},
					"ipAddress": {},
					"attachedTo": {},
					"isAttached": {
						"type": "boolean"
					}
				}
			}
		}
	};

/***/ }),
/* 510 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 511 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['machinelearning'] = {};
	AWS.MachineLearning = Service.defineService('machinelearning', ['2014-12-12']);
	__webpack_require__(512);
	Object.defineProperty(apiLoader.services['machinelearning'], '2014-12-12', {
	  get: function get() {
	    var model = __webpack_require__(513);
	    model.paginators = __webpack_require__(514).pagination;
	    model.waiters = __webpack_require__(515).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.MachineLearning;


/***/ }),
/* 512 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	AWS.util.update(AWS.MachineLearning.prototype, {
	  /**
	   * @api private
	   */
	  setupRequestListeners: function setupRequestListeners(request) {
	    if (request.operation === 'predict') {
	      request.addListener('build', this.buildEndpoint);
	    }
	  },

	  /**
	   * Updates request endpoint from PredictEndpoint
	   * @api private
	   */
	  buildEndpoint: function buildEndpoint(request) {
	    var url = request.params.PredictEndpoint;
	    if (url) {
	      request.httpRequest.endpoint = new AWS.Endpoint(url);
	    }
	  }

	});


/***/ }),
/* 513 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"uid": "machinelearning-2014-12-12",
			"apiVersion": "2014-12-12",
			"endpointPrefix": "machinelearning",
			"jsonVersion": "1.1",
			"serviceFullName": "Amazon Machine Learning",
			"signatureVersion": "v4",
			"targetPrefix": "AmazonML_20141212",
			"protocol": "json"
		},
		"operations": {
			"AddTags": {
				"input": {
					"type": "structure",
					"required": [
						"Tags",
						"ResourceId",
						"ResourceType"
					],
					"members": {
						"Tags": {
							"shape": "S2"
						},
						"ResourceId": {},
						"ResourceType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResourceId": {},
						"ResourceType": {}
					}
				}
			},
			"CreateBatchPrediction": {
				"input": {
					"type": "structure",
					"required": [
						"BatchPredictionId",
						"MLModelId",
						"BatchPredictionDataSourceId",
						"OutputUri"
					],
					"members": {
						"BatchPredictionId": {},
						"BatchPredictionName": {},
						"MLModelId": {},
						"BatchPredictionDataSourceId": {},
						"OutputUri": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BatchPredictionId": {}
					}
				}
			},
			"CreateDataSourceFromRDS": {
				"input": {
					"type": "structure",
					"required": [
						"DataSourceId",
						"RDSData",
						"RoleARN"
					],
					"members": {
						"DataSourceId": {},
						"DataSourceName": {},
						"RDSData": {
							"type": "structure",
							"required": [
								"DatabaseInformation",
								"SelectSqlQuery",
								"DatabaseCredentials",
								"S3StagingLocation",
								"ResourceRole",
								"ServiceRole",
								"SubnetId",
								"SecurityGroupIds"
							],
							"members": {
								"DatabaseInformation": {
									"shape": "Sf"
								},
								"SelectSqlQuery": {},
								"DatabaseCredentials": {
									"type": "structure",
									"required": [
										"Username",
										"Password"
									],
									"members": {
										"Username": {},
										"Password": {}
									}
								},
								"S3StagingLocation": {},
								"DataRearrangement": {},
								"DataSchema": {},
								"DataSchemaUri": {},
								"ResourceRole": {},
								"ServiceRole": {},
								"SubnetId": {},
								"SecurityGroupIds": {
									"type": "list",
									"member": {}
								}
							}
						},
						"RoleARN": {},
						"ComputeStatistics": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DataSourceId": {}
					}
				}
			},
			"CreateDataSourceFromRedshift": {
				"input": {
					"type": "structure",
					"required": [
						"DataSourceId",
						"DataSpec",
						"RoleARN"
					],
					"members": {
						"DataSourceId": {},
						"DataSourceName": {},
						"DataSpec": {
							"type": "structure",
							"required": [
								"DatabaseInformation",
								"SelectSqlQuery",
								"DatabaseCredentials",
								"S3StagingLocation"
							],
							"members": {
								"DatabaseInformation": {
									"shape": "Sy"
								},
								"SelectSqlQuery": {},
								"DatabaseCredentials": {
									"type": "structure",
									"required": [
										"Username",
										"Password"
									],
									"members": {
										"Username": {},
										"Password": {}
									}
								},
								"S3StagingLocation": {},
								"DataRearrangement": {},
								"DataSchema": {},
								"DataSchemaUri": {}
							}
						},
						"RoleARN": {},
						"ComputeStatistics": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DataSourceId": {}
					}
				}
			},
			"CreateDataSourceFromS3": {
				"input": {
					"type": "structure",
					"required": [
						"DataSourceId",
						"DataSpec"
					],
					"members": {
						"DataSourceId": {},
						"DataSourceName": {},
						"DataSpec": {
							"type": "structure",
							"required": [
								"DataLocationS3"
							],
							"members": {
								"DataLocationS3": {},
								"DataRearrangement": {},
								"DataSchema": {},
								"DataSchemaLocationS3": {}
							}
						},
						"ComputeStatistics": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DataSourceId": {}
					}
				}
			},
			"CreateEvaluation": {
				"input": {
					"type": "structure",
					"required": [
						"EvaluationId",
						"MLModelId",
						"EvaluationDataSourceId"
					],
					"members": {
						"EvaluationId": {},
						"EvaluationName": {},
						"MLModelId": {},
						"EvaluationDataSourceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EvaluationId": {}
					}
				}
			},
			"CreateMLModel": {
				"input": {
					"type": "structure",
					"required": [
						"MLModelId",
						"MLModelType",
						"TrainingDataSourceId"
					],
					"members": {
						"MLModelId": {},
						"MLModelName": {},
						"MLModelType": {},
						"Parameters": {
							"shape": "S1d"
						},
						"TrainingDataSourceId": {},
						"Recipe": {},
						"RecipeUri": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"MLModelId": {}
					}
				}
			},
			"CreateRealtimeEndpoint": {
				"input": {
					"type": "structure",
					"required": [
						"MLModelId"
					],
					"members": {
						"MLModelId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"MLModelId": {},
						"RealtimeEndpointInfo": {
							"shape": "S1j"
						}
					}
				}
			},
			"DeleteBatchPrediction": {
				"input": {
					"type": "structure",
					"required": [
						"BatchPredictionId"
					],
					"members": {
						"BatchPredictionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BatchPredictionId": {}
					}
				}
			},
			"DeleteDataSource": {
				"input": {
					"type": "structure",
					"required": [
						"DataSourceId"
					],
					"members": {
						"DataSourceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DataSourceId": {}
					}
				}
			},
			"DeleteEvaluation": {
				"input": {
					"type": "structure",
					"required": [
						"EvaluationId"
					],
					"members": {
						"EvaluationId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EvaluationId": {}
					}
				}
			},
			"DeleteMLModel": {
				"input": {
					"type": "structure",
					"required": [
						"MLModelId"
					],
					"members": {
						"MLModelId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"MLModelId": {}
					}
				}
			},
			"DeleteRealtimeEndpoint": {
				"input": {
					"type": "structure",
					"required": [
						"MLModelId"
					],
					"members": {
						"MLModelId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"MLModelId": {},
						"RealtimeEndpointInfo": {
							"shape": "S1j"
						}
					}
				}
			},
			"DeleteTags": {
				"input": {
					"type": "structure",
					"required": [
						"TagKeys",
						"ResourceId",
						"ResourceType"
					],
					"members": {
						"TagKeys": {
							"type": "list",
							"member": {}
						},
						"ResourceId": {},
						"ResourceType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResourceId": {},
						"ResourceType": {}
					}
				}
			},
			"DescribeBatchPredictions": {
				"input": {
					"type": "structure",
					"members": {
						"FilterVariable": {},
						"EQ": {},
						"GT": {},
						"LT": {},
						"GE": {},
						"LE": {},
						"NE": {},
						"Prefix": {},
						"SortOrder": {},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Results": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"BatchPredictionId": {},
									"MLModelId": {},
									"BatchPredictionDataSourceId": {},
									"InputDataLocationS3": {},
									"CreatedByIamUser": {},
									"CreatedAt": {
										"type": "timestamp"
									},
									"LastUpdatedAt": {
										"type": "timestamp"
									},
									"Name": {},
									"Status": {},
									"OutputUri": {},
									"Message": {},
									"ComputeTime": {
										"type": "long"
									},
									"FinishedAt": {
										"type": "timestamp"
									},
									"StartedAt": {
										"type": "timestamp"
									},
									"TotalRecordCount": {
										"type": "long"
									},
									"InvalidRecordCount": {
										"type": "long"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeDataSources": {
				"input": {
					"type": "structure",
					"members": {
						"FilterVariable": {},
						"EQ": {},
						"GT": {},
						"LT": {},
						"GE": {},
						"LE": {},
						"NE": {},
						"Prefix": {},
						"SortOrder": {},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Results": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DataSourceId": {},
									"DataLocationS3": {},
									"DataRearrangement": {},
									"CreatedByIamUser": {},
									"CreatedAt": {
										"type": "timestamp"
									},
									"LastUpdatedAt": {
										"type": "timestamp"
									},
									"DataSizeInBytes": {
										"type": "long"
									},
									"NumberOfFiles": {
										"type": "long"
									},
									"Name": {},
									"Status": {},
									"Message": {},
									"RedshiftMetadata": {
										"shape": "S2i"
									},
									"RDSMetadata": {
										"shape": "S2j"
									},
									"RoleARN": {},
									"ComputeStatistics": {
										"type": "boolean"
									},
									"ComputeTime": {
										"type": "long"
									},
									"FinishedAt": {
										"type": "timestamp"
									},
									"StartedAt": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeEvaluations": {
				"input": {
					"type": "structure",
					"members": {
						"FilterVariable": {},
						"EQ": {},
						"GT": {},
						"LT": {},
						"GE": {},
						"LE": {},
						"NE": {},
						"Prefix": {},
						"SortOrder": {},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Results": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"EvaluationId": {},
									"MLModelId": {},
									"EvaluationDataSourceId": {},
									"InputDataLocationS3": {},
									"CreatedByIamUser": {},
									"CreatedAt": {
										"type": "timestamp"
									},
									"LastUpdatedAt": {
										"type": "timestamp"
									},
									"Name": {},
									"Status": {},
									"PerformanceMetrics": {
										"shape": "S2q"
									},
									"Message": {},
									"ComputeTime": {
										"type": "long"
									},
									"FinishedAt": {
										"type": "timestamp"
									},
									"StartedAt": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeMLModels": {
				"input": {
					"type": "structure",
					"members": {
						"FilterVariable": {},
						"EQ": {},
						"GT": {},
						"LT": {},
						"GE": {},
						"LE": {},
						"NE": {},
						"Prefix": {},
						"SortOrder": {},
						"NextToken": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Results": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"MLModelId": {},
									"TrainingDataSourceId": {},
									"CreatedByIamUser": {},
									"CreatedAt": {
										"type": "timestamp"
									},
									"LastUpdatedAt": {
										"type": "timestamp"
									},
									"Name": {},
									"Status": {},
									"SizeInBytes": {
										"type": "long"
									},
									"EndpointInfo": {
										"shape": "S1j"
									},
									"TrainingParameters": {
										"shape": "S1d"
									},
									"InputDataLocationS3": {},
									"Algorithm": {},
									"MLModelType": {},
									"ScoreThreshold": {
										"type": "float"
									},
									"ScoreThresholdLastUpdatedAt": {
										"type": "timestamp"
									},
									"Message": {},
									"ComputeTime": {
										"type": "long"
									},
									"FinishedAt": {
										"type": "timestamp"
									},
									"StartedAt": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"ResourceType"
					],
					"members": {
						"ResourceId": {},
						"ResourceType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResourceId": {},
						"ResourceType": {},
						"Tags": {
							"shape": "S2"
						}
					}
				}
			},
			"GetBatchPrediction": {
				"input": {
					"type": "structure",
					"required": [
						"BatchPredictionId"
					],
					"members": {
						"BatchPredictionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BatchPredictionId": {},
						"MLModelId": {},
						"BatchPredictionDataSourceId": {},
						"InputDataLocationS3": {},
						"CreatedByIamUser": {},
						"CreatedAt": {
							"type": "timestamp"
						},
						"LastUpdatedAt": {
							"type": "timestamp"
						},
						"Name": {},
						"Status": {},
						"OutputUri": {},
						"LogUri": {},
						"Message": {},
						"ComputeTime": {
							"type": "long"
						},
						"FinishedAt": {
							"type": "timestamp"
						},
						"StartedAt": {
							"type": "timestamp"
						},
						"TotalRecordCount": {
							"type": "long"
						},
						"InvalidRecordCount": {
							"type": "long"
						}
					}
				}
			},
			"GetDataSource": {
				"input": {
					"type": "structure",
					"required": [
						"DataSourceId"
					],
					"members": {
						"DataSourceId": {},
						"Verbose": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DataSourceId": {},
						"DataLocationS3": {},
						"DataRearrangement": {},
						"CreatedByIamUser": {},
						"CreatedAt": {
							"type": "timestamp"
						},
						"LastUpdatedAt": {
							"type": "timestamp"
						},
						"DataSizeInBytes": {
							"type": "long"
						},
						"NumberOfFiles": {
							"type": "long"
						},
						"Name": {},
						"Status": {},
						"LogUri": {},
						"Message": {},
						"RedshiftMetadata": {
							"shape": "S2i"
						},
						"RDSMetadata": {
							"shape": "S2j"
						},
						"RoleARN": {},
						"ComputeStatistics": {
							"type": "boolean"
						},
						"ComputeTime": {
							"type": "long"
						},
						"FinishedAt": {
							"type": "timestamp"
						},
						"StartedAt": {
							"type": "timestamp"
						},
						"DataSourceSchema": {}
					}
				}
			},
			"GetEvaluation": {
				"input": {
					"type": "structure",
					"required": [
						"EvaluationId"
					],
					"members": {
						"EvaluationId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EvaluationId": {},
						"MLModelId": {},
						"EvaluationDataSourceId": {},
						"InputDataLocationS3": {},
						"CreatedByIamUser": {},
						"CreatedAt": {
							"type": "timestamp"
						},
						"LastUpdatedAt": {
							"type": "timestamp"
						},
						"Name": {},
						"Status": {},
						"PerformanceMetrics": {
							"shape": "S2q"
						},
						"LogUri": {},
						"Message": {},
						"ComputeTime": {
							"type": "long"
						},
						"FinishedAt": {
							"type": "timestamp"
						},
						"StartedAt": {
							"type": "timestamp"
						}
					}
				}
			},
			"GetMLModel": {
				"input": {
					"type": "structure",
					"required": [
						"MLModelId"
					],
					"members": {
						"MLModelId": {},
						"Verbose": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"MLModelId": {},
						"TrainingDataSourceId": {},
						"CreatedByIamUser": {},
						"CreatedAt": {
							"type": "timestamp"
						},
						"LastUpdatedAt": {
							"type": "timestamp"
						},
						"Name": {},
						"Status": {},
						"SizeInBytes": {
							"type": "long"
						},
						"EndpointInfo": {
							"shape": "S1j"
						},
						"TrainingParameters": {
							"shape": "S1d"
						},
						"InputDataLocationS3": {},
						"MLModelType": {},
						"ScoreThreshold": {
							"type": "float"
						},
						"ScoreThresholdLastUpdatedAt": {
							"type": "timestamp"
						},
						"LogUri": {},
						"Message": {},
						"ComputeTime": {
							"type": "long"
						},
						"FinishedAt": {
							"type": "timestamp"
						},
						"StartedAt": {
							"type": "timestamp"
						},
						"Recipe": {},
						"Schema": {}
					}
				}
			},
			"Predict": {
				"input": {
					"type": "structure",
					"required": [
						"MLModelId",
						"Record",
						"PredictEndpoint"
					],
					"members": {
						"MLModelId": {},
						"Record": {
							"type": "map",
							"key": {},
							"value": {}
						},
						"PredictEndpoint": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Prediction": {
							"type": "structure",
							"members": {
								"predictedLabel": {},
								"predictedValue": {
									"type": "float"
								},
								"predictedScores": {
									"type": "map",
									"key": {},
									"value": {
										"type": "float"
									}
								},
								"details": {
									"type": "map",
									"key": {},
									"value": {}
								}
							}
						}
					}
				}
			},
			"UpdateBatchPrediction": {
				"input": {
					"type": "structure",
					"required": [
						"BatchPredictionId",
						"BatchPredictionName"
					],
					"members": {
						"BatchPredictionId": {},
						"BatchPredictionName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BatchPredictionId": {}
					}
				}
			},
			"UpdateDataSource": {
				"input": {
					"type": "structure",
					"required": [
						"DataSourceId",
						"DataSourceName"
					],
					"members": {
						"DataSourceId": {},
						"DataSourceName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DataSourceId": {}
					}
				}
			},
			"UpdateEvaluation": {
				"input": {
					"type": "structure",
					"required": [
						"EvaluationId",
						"EvaluationName"
					],
					"members": {
						"EvaluationId": {},
						"EvaluationName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EvaluationId": {}
					}
				}
			},
			"UpdateMLModel": {
				"input": {
					"type": "structure",
					"required": [
						"MLModelId"
					],
					"members": {
						"MLModelId": {},
						"MLModelName": {},
						"ScoreThreshold": {
							"type": "float"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"MLModelId": {}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sf": {
				"type": "structure",
				"required": [
					"InstanceIdentifier",
					"DatabaseName"
				],
				"members": {
					"InstanceIdentifier": {},
					"DatabaseName": {}
				}
			},
			"Sy": {
				"type": "structure",
				"required": [
					"DatabaseName",
					"ClusterIdentifier"
				],
				"members": {
					"DatabaseName": {},
					"ClusterIdentifier": {}
				}
			},
			"S1d": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1j": {
				"type": "structure",
				"members": {
					"PeakRequestsPerSecond": {
						"type": "integer"
					},
					"CreatedAt": {
						"type": "timestamp"
					},
					"EndpointUrl": {},
					"EndpointStatus": {}
				}
			},
			"S2i": {
				"type": "structure",
				"members": {
					"RedshiftDatabase": {
						"shape": "Sy"
					},
					"DatabaseUserName": {},
					"SelectSqlQuery": {}
				}
			},
			"S2j": {
				"type": "structure",
				"members": {
					"Database": {
						"shape": "Sf"
					},
					"DatabaseUserName": {},
					"SelectSqlQuery": {},
					"ResourceRole": {},
					"ServiceRole": {},
					"DataPipelineId": {}
				}
			},
			"S2q": {
				"type": "structure",
				"members": {
					"Properties": {
						"type": "map",
						"key": {},
						"value": {}
					}
				}
			}
		},
		"examples": {}
	};

/***/ }),
/* 514 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeBatchPredictions": {
				"limit_key": "Limit",
				"output_token": "NextToken",
				"input_token": "NextToken",
				"result_key": "Results"
			},
			"DescribeDataSources": {
				"limit_key": "Limit",
				"output_token": "NextToken",
				"input_token": "NextToken",
				"result_key": "Results"
			},
			"DescribeEvaluations": {
				"limit_key": "Limit",
				"output_token": "NextToken",
				"input_token": "NextToken",
				"result_key": "Results"
			},
			"DescribeMLModels": {
				"limit_key": "Limit",
				"output_token": "NextToken",
				"input_token": "NextToken",
				"result_key": "Results"
			}
		}
	};

/***/ }),
/* 515 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"DataSourceAvailable": {
				"delay": 30,
				"operation": "DescribeDataSources",
				"maxAttempts": 60,
				"acceptors": [
					{
						"expected": "COMPLETED",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Results[].Status"
					},
					{
						"expected": "FAILED",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Results[].Status"
					}
				]
			},
			"MLModelAvailable": {
				"delay": 30,
				"operation": "DescribeMLModels",
				"maxAttempts": 60,
				"acceptors": [
					{
						"expected": "COMPLETED",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Results[].Status"
					},
					{
						"expected": "FAILED",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Results[].Status"
					}
				]
			},
			"EvaluationAvailable": {
				"delay": 30,
				"operation": "DescribeEvaluations",
				"maxAttempts": 60,
				"acceptors": [
					{
						"expected": "COMPLETED",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Results[].Status"
					},
					{
						"expected": "FAILED",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Results[].Status"
					}
				]
			},
			"BatchPredictionAvailable": {
				"delay": 30,
				"operation": "DescribeBatchPredictions",
				"maxAttempts": 60,
				"acceptors": [
					{
						"expected": "COMPLETED",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Results[].Status"
					},
					{
						"expected": "FAILED",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Results[].Status"
					}
				]
			}
		}
	};

/***/ }),
/* 516 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['marketplacecommerceanalytics'] = {};
	AWS.MarketplaceCommerceAnalytics = Service.defineService('marketplacecommerceanalytics', ['2015-07-01']);
	Object.defineProperty(apiLoader.services['marketplacecommerceanalytics'], '2015-07-01', {
	  get: function get() {
	    var model = __webpack_require__(517);
	    model.paginators = __webpack_require__(518).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.MarketplaceCommerceAnalytics;


/***/ }),
/* 517 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-07-01",
			"endpointPrefix": "marketplacecommerceanalytics",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS Marketplace Commerce Analytics",
			"signatureVersion": "v4",
			"signingName": "marketplacecommerceanalytics",
			"targetPrefix": "MarketplaceCommerceAnalytics20150701",
			"uid": "marketplacecommerceanalytics-2015-07-01"
		},
		"operations": {
			"GenerateDataSet": {
				"input": {
					"type": "structure",
					"required": [
						"dataSetType",
						"dataSetPublicationDate",
						"roleNameArn",
						"destinationS3BucketName",
						"snsTopicArn"
					],
					"members": {
						"dataSetType": {},
						"dataSetPublicationDate": {
							"type": "timestamp"
						},
						"roleNameArn": {},
						"destinationS3BucketName": {},
						"destinationS3Prefix": {},
						"snsTopicArn": {},
						"customerDefinedValues": {
							"shape": "S8"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"dataSetRequestId": {}
					}
				}
			},
			"StartSupportDataExport": {
				"input": {
					"type": "structure",
					"required": [
						"dataSetType",
						"fromDate",
						"roleNameArn",
						"destinationS3BucketName",
						"snsTopicArn"
					],
					"members": {
						"dataSetType": {},
						"fromDate": {
							"type": "timestamp"
						},
						"roleNameArn": {},
						"destinationS3BucketName": {},
						"destinationS3Prefix": {},
						"snsTopicArn": {},
						"customerDefinedValues": {
							"shape": "S8"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"dataSetRequestId": {}
					}
				}
			}
		},
		"shapes": {
			"S8": {
				"type": "map",
				"key": {},
				"value": {}
			}
		}
	};

/***/ }),
/* 518 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 519 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['marketplacemetering'] = {};
	AWS.MarketplaceMetering = Service.defineService('marketplacemetering', ['2016-01-14']);
	Object.defineProperty(apiLoader.services['marketplacemetering'], '2016-01-14', {
	  get: function get() {
	    var model = __webpack_require__(520);
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.MarketplaceMetering;


/***/ }),
/* 520 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"uid": "meteringmarketplace-2016-01-14",
			"apiVersion": "2016-01-14",
			"endpointPrefix": "metering.marketplace",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWSMarketplace Metering",
			"signatureVersion": "v4",
			"signingName": "aws-marketplace",
			"targetPrefix": "AWSMPMeteringService"
		},
		"operations": {
			"BatchMeterUsage": {
				"input": {
					"type": "structure",
					"required": [
						"UsageRecords",
						"ProductCode"
					],
					"members": {
						"UsageRecords": {
							"shape": "S2"
						},
						"ProductCode": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Results": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"UsageRecord": {
										"shape": "S3"
									},
									"MeteringRecordId": {},
									"Status": {}
								}
							}
						},
						"UnprocessedRecords": {
							"shape": "S2"
						}
					}
				}
			},
			"MeterUsage": {
				"input": {
					"type": "structure",
					"required": [
						"ProductCode",
						"Timestamp",
						"UsageDimension",
						"UsageQuantity",
						"DryRun"
					],
					"members": {
						"ProductCode": {},
						"Timestamp": {
							"type": "timestamp"
						},
						"UsageDimension": {},
						"UsageQuantity": {
							"type": "integer"
						},
						"DryRun": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"MeteringRecordId": {}
					}
				}
			},
			"ResolveCustomer": {
				"input": {
					"type": "structure",
					"required": [
						"RegistrationToken"
					],
					"members": {
						"RegistrationToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CustomerIdentifier": {},
						"ProductCode": {}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "list",
				"member": {
					"shape": "S3"
				}
			},
			"S3": {
				"type": "structure",
				"required": [
					"Timestamp",
					"CustomerIdentifier",
					"Dimension",
					"Quantity"
				],
				"members": {
					"Timestamp": {
						"type": "timestamp"
					},
					"CustomerIdentifier": {},
					"Dimension": {},
					"Quantity": {
						"type": "integer"
					}
				}
			}
		}
	};

/***/ }),
/* 521 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['mturk'] = {};
	AWS.MTurk = Service.defineService('mturk', ['2017-01-17']);
	Object.defineProperty(apiLoader.services['mturk'], '2017-01-17', {
	  get: function get() {
	    var model = __webpack_require__(522);
	    model.paginators = __webpack_require__(523).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.MTurk;


/***/ }),
/* 522 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2017-01-17",
			"endpointPrefix": "mturk-requester",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Amazon MTurk",
			"serviceFullName": "Amazon Mechanical Turk",
			"signatureVersion": "v4",
			"targetPrefix": "MTurkRequesterServiceV20170117",
			"uid": "mturk-requester-2017-01-17"
		},
		"operations": {
			"AcceptQualificationRequest": {
				"input": {
					"type": "structure",
					"required": [
						"QualificationRequestId"
					],
					"members": {
						"QualificationRequestId": {},
						"IntegerValue": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ApproveAssignment": {
				"input": {
					"type": "structure",
					"required": [
						"AssignmentId"
					],
					"members": {
						"AssignmentId": {},
						"RequesterFeedback": {},
						"OverrideRejection": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"AssociateQualificationWithWorker": {
				"input": {
					"type": "structure",
					"required": [
						"QualificationTypeId",
						"WorkerId"
					],
					"members": {
						"QualificationTypeId": {},
						"WorkerId": {},
						"IntegerValue": {
							"type": "integer"
						},
						"SendNotification": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateAdditionalAssignmentsForHIT": {
				"input": {
					"type": "structure",
					"required": [
						"HITId"
					],
					"members": {
						"HITId": {},
						"NumberOfAdditionalAssignments": {
							"type": "integer"
						},
						"UniqueRequestToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateHIT": {
				"input": {
					"type": "structure",
					"required": [
						"LifetimeInSeconds",
						"AssignmentDurationInSeconds",
						"Reward",
						"Title",
						"Description"
					],
					"members": {
						"MaxAssignments": {
							"type": "integer"
						},
						"AutoApprovalDelayInSeconds": {
							"type": "long"
						},
						"LifetimeInSeconds": {
							"type": "long"
						},
						"AssignmentDurationInSeconds": {
							"type": "long"
						},
						"Reward": {},
						"Title": {},
						"Keywords": {},
						"Description": {},
						"Question": {},
						"RequesterAnnotation": {},
						"QualificationRequirements": {
							"shape": "Si"
						},
						"UniqueRequestToken": {},
						"AssignmentReviewPolicy": {
							"shape": "Sp"
						},
						"HITReviewPolicy": {
							"shape": "Sp"
						},
						"HITLayoutId": {},
						"HITLayoutParameters": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HIT": {
							"shape": "Sy"
						}
					}
				}
			},
			"CreateHITType": {
				"input": {
					"type": "structure",
					"required": [
						"AssignmentDurationInSeconds",
						"Reward",
						"Title",
						"Description"
					],
					"members": {
						"AutoApprovalDelayInSeconds": {
							"type": "long"
						},
						"AssignmentDurationInSeconds": {
							"type": "long"
						},
						"Reward": {},
						"Title": {},
						"Keywords": {},
						"Description": {},
						"QualificationRequirements": {
							"shape": "Si"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HITTypeId": {}
					}
				},
				"idempotent": true
			},
			"CreateHITWithHITType": {
				"input": {
					"type": "structure",
					"required": [
						"HITTypeId",
						"LifetimeInSeconds"
					],
					"members": {
						"HITTypeId": {},
						"MaxAssignments": {
							"type": "integer"
						},
						"LifetimeInSeconds": {
							"type": "long"
						},
						"Question": {},
						"RequesterAnnotation": {},
						"UniqueRequestToken": {},
						"AssignmentReviewPolicy": {
							"shape": "Sp"
						},
						"HITReviewPolicy": {
							"shape": "Sp"
						},
						"HITLayoutId": {},
						"HITLayoutParameters": {
							"shape": "Sv"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HIT": {
							"shape": "Sy"
						}
					}
				}
			},
			"CreateQualificationType": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Description",
						"QualificationTypeStatus"
					],
					"members": {
						"Name": {},
						"Keywords": {},
						"Description": {},
						"QualificationTypeStatus": {},
						"RetryDelayInSeconds": {
							"type": "long"
						},
						"Test": {},
						"AnswerKey": {},
						"TestDurationInSeconds": {
							"type": "long"
						},
						"AutoGranted": {
							"type": "boolean"
						},
						"AutoGrantedValue": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"QualificationType": {
							"shape": "S19"
						}
					}
				}
			},
			"CreateWorkerBlock": {
				"input": {
					"type": "structure",
					"required": [
						"WorkerId",
						"Reason"
					],
					"members": {
						"WorkerId": {},
						"Reason": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteHIT": {
				"input": {
					"type": "structure",
					"required": [
						"HITId"
					],
					"members": {
						"HITId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"DeleteQualificationType": {
				"input": {
					"type": "structure",
					"required": [
						"QualificationTypeId"
					],
					"members": {
						"QualificationTypeId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"DeleteWorkerBlock": {
				"input": {
					"type": "structure",
					"required": [
						"WorkerId"
					],
					"members": {
						"WorkerId": {},
						"Reason": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"DisassociateQualificationFromWorker": {
				"input": {
					"type": "structure",
					"required": [
						"WorkerId",
						"QualificationTypeId"
					],
					"members": {
						"WorkerId": {},
						"QualificationTypeId": {},
						"Reason": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"GetAccountBalance": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"AvailableBalance": {},
						"OnHoldBalance": {}
					}
				},
				"idempotent": true
			},
			"GetAssignment": {
				"input": {
					"type": "structure",
					"required": [
						"AssignmentId"
					],
					"members": {
						"AssignmentId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Assignment": {
							"shape": "S1o"
						},
						"HIT": {
							"shape": "Sy"
						}
					}
				},
				"idempotent": true
			},
			"GetFileUploadURL": {
				"input": {
					"type": "structure",
					"required": [
						"AssignmentId",
						"QuestionIdentifier"
					],
					"members": {
						"AssignmentId": {},
						"QuestionIdentifier": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FileUploadURL": {}
					}
				},
				"idempotent": true
			},
			"GetHIT": {
				"input": {
					"type": "structure",
					"required": [
						"HITId"
					],
					"members": {
						"HITId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HIT": {
							"shape": "Sy"
						}
					}
				},
				"idempotent": true
			},
			"GetQualificationScore": {
				"input": {
					"type": "structure",
					"required": [
						"QualificationTypeId",
						"WorkerId"
					],
					"members": {
						"QualificationTypeId": {},
						"WorkerId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Qualification": {
							"shape": "S1w"
						}
					}
				},
				"idempotent": true
			},
			"GetQualificationType": {
				"input": {
					"type": "structure",
					"required": [
						"QualificationTypeId"
					],
					"members": {
						"QualificationTypeId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"QualificationType": {
							"shape": "S19"
						}
					}
				},
				"idempotent": true
			},
			"ListAssignmentsForHIT": {
				"input": {
					"type": "structure",
					"required": [
						"HITId"
					],
					"members": {
						"HITId": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						},
						"AssignmentStatuses": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"NumResults": {
							"type": "integer"
						},
						"Assignments": {
							"type": "list",
							"member": {
								"shape": "S1o"
							}
						}
					}
				},
				"idempotent": true
			},
			"ListBonusPayments": {
				"input": {
					"type": "structure",
					"members": {
						"HITId": {},
						"AssignmentId": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NumResults": {
							"type": "integer"
						},
						"NextToken": {},
						"BonusPayments": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WorkerId": {},
									"BonusAmount": {},
									"AssignmentId": {},
									"Reason": {},
									"GrantTime": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				},
				"idempotent": true
			},
			"ListHITs": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"NumResults": {
							"type": "integer"
						},
						"HITs": {
							"shape": "S2c"
						}
					}
				},
				"idempotent": true
			},
			"ListHITsForQualificationType": {
				"input": {
					"type": "structure",
					"required": [
						"QualificationTypeId"
					],
					"members": {
						"QualificationTypeId": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"NumResults": {
							"type": "integer"
						},
						"HITs": {
							"shape": "S2c"
						}
					}
				},
				"idempotent": true
			},
			"ListQualificationRequests": {
				"input": {
					"type": "structure",
					"members": {
						"QualificationTypeId": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NumResults": {
							"type": "integer"
						},
						"NextToken": {},
						"QualificationRequests": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"QualificationRequestId": {},
									"QualificationTypeId": {},
									"WorkerId": {},
									"Test": {},
									"Answer": {},
									"SubmitTime": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				},
				"idempotent": true
			},
			"ListQualificationTypes": {
				"input": {
					"type": "structure",
					"required": [
						"MustBeRequestable"
					],
					"members": {
						"Query": {},
						"MustBeRequestable": {
							"type": "boolean"
						},
						"MustBeOwnedByCaller": {
							"type": "boolean"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NumResults": {
							"type": "integer"
						},
						"NextToken": {},
						"QualificationTypes": {
							"type": "list",
							"member": {
								"shape": "S19"
							}
						}
					}
				},
				"idempotent": true
			},
			"ListReviewPolicyResultsForHIT": {
				"input": {
					"type": "structure",
					"required": [
						"HITId"
					],
					"members": {
						"HITId": {},
						"PolicyLevels": {
							"type": "list",
							"member": {}
						},
						"RetrieveActions": {
							"type": "boolean"
						},
						"RetrieveResults": {
							"type": "boolean"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"HITId": {},
						"AssignmentReviewPolicy": {
							"shape": "Sp"
						},
						"HITReviewPolicy": {
							"shape": "Sp"
						},
						"AssignmentReviewReport": {
							"shape": "S2q"
						},
						"HITReviewReport": {
							"shape": "S2q"
						},
						"NextToken": {}
					}
				},
				"idempotent": true
			},
			"ListReviewableHITs": {
				"input": {
					"type": "structure",
					"members": {
						"HITTypeId": {},
						"Status": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"NumResults": {
							"type": "integer"
						},
						"HITs": {
							"shape": "S2c"
						}
					}
				},
				"idempotent": true
			},
			"ListWorkerBlocks": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"NumResults": {
							"type": "integer"
						},
						"WorkerBlocks": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WorkerId": {},
									"Reason": {}
								}
							}
						}
					}
				},
				"idempotent": true
			},
			"ListWorkersWithQualificationType": {
				"input": {
					"type": "structure",
					"required": [
						"QualificationTypeId"
					],
					"members": {
						"QualificationTypeId": {},
						"Status": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"NumResults": {
							"type": "integer"
						},
						"Qualifications": {
							"type": "list",
							"member": {
								"shape": "S1w"
							}
						}
					}
				},
				"idempotent": true
			},
			"NotifyWorkers": {
				"input": {
					"type": "structure",
					"required": [
						"Subject",
						"MessageText",
						"WorkerIds"
					],
					"members": {
						"Subject": {},
						"MessageText": {},
						"WorkerIds": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NotifyWorkersFailureStatuses": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"NotifyWorkersFailureCode": {},
									"NotifyWorkersFailureMessage": {},
									"WorkerId": {}
								}
							}
						}
					}
				}
			},
			"RejectAssignment": {
				"input": {
					"type": "structure",
					"required": [
						"AssignmentId"
					],
					"members": {
						"AssignmentId": {},
						"RequesterFeedback": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"RejectQualificationRequest": {
				"input": {
					"type": "structure",
					"required": [
						"QualificationRequestId"
					],
					"members": {
						"QualificationRequestId": {},
						"Reason": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"SendBonus": {
				"input": {
					"type": "structure",
					"required": [
						"WorkerId",
						"BonusAmount",
						"AssignmentId"
					],
					"members": {
						"WorkerId": {},
						"BonusAmount": {},
						"AssignmentId": {},
						"Reason": {},
						"UniqueRequestToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"SendTestEventNotification": {
				"input": {
					"type": "structure",
					"required": [
						"Notification",
						"TestEventType"
					],
					"members": {
						"Notification": {
							"shape": "S3j"
						},
						"TestEventType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateExpirationForHIT": {
				"input": {
					"type": "structure",
					"required": [
						"HITId"
					],
					"members": {
						"HITId": {},
						"ExpireAt": {
							"type": "timestamp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"UpdateHITReviewStatus": {
				"input": {
					"type": "structure",
					"required": [
						"HITId"
					],
					"members": {
						"HITId": {},
						"Revert": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"UpdateHITTypeOfHIT": {
				"input": {
					"type": "structure",
					"required": [
						"HITId",
						"HITTypeId"
					],
					"members": {
						"HITId": {},
						"HITTypeId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"UpdateNotificationSettings": {
				"input": {
					"type": "structure",
					"required": [
						"HITTypeId"
					],
					"members": {
						"HITTypeId": {},
						"Notification": {
							"shape": "S3j"
						},
						"Active": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"UpdateQualificationType": {
				"input": {
					"type": "structure",
					"required": [
						"QualificationTypeId"
					],
					"members": {
						"QualificationTypeId": {},
						"Description": {},
						"QualificationTypeStatus": {},
						"Test": {},
						"AnswerKey": {},
						"TestDurationInSeconds": {
							"type": "long"
						},
						"RetryDelayInSeconds": {
							"type": "long"
						},
						"AutoGranted": {
							"type": "boolean"
						},
						"AutoGrantedValue": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"QualificationType": {
							"shape": "S19"
						}
					}
				}
			}
		},
		"shapes": {
			"Si": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"QualificationTypeId",
						"Comparator"
					],
					"members": {
						"QualificationTypeId": {},
						"Comparator": {},
						"IntegerValues": {
							"type": "list",
							"member": {
								"type": "integer"
							}
						},
						"LocaleValues": {
							"type": "list",
							"member": {
								"shape": "Sn"
							}
						},
						"RequiredToPreview": {
							"type": "boolean"
						}
					}
				}
			},
			"Sn": {
				"type": "structure",
				"required": [
					"Country"
				],
				"members": {
					"Country": {},
					"Subdivision": {}
				}
			},
			"Sp": {
				"type": "structure",
				"members": {
					"PolicyName": {},
					"Parameters": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"Key": {},
								"Values": {
									"shape": "Ss"
								},
								"MapEntries": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Key": {},
											"Values": {
												"shape": "Ss"
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"Ss": {
				"type": "list",
				"member": {}
			},
			"Sv": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Name": {},
						"Value": {}
					}
				}
			},
			"Sy": {
				"type": "structure",
				"members": {
					"HITId": {},
					"HITTypeId": {},
					"HITGroupId": {},
					"HITLayoutId": {},
					"CreationTime": {
						"type": "timestamp"
					},
					"Title": {},
					"Description": {},
					"Question": {},
					"Keywords": {},
					"HITStatus": {},
					"MaxAssignments": {
						"type": "integer"
					},
					"Reward": {},
					"AutoApprovalDelayInSeconds": {
						"type": "long"
					},
					"Expiration": {
						"type": "timestamp"
					},
					"AssignmentDurationInSeconds": {
						"type": "long"
					},
					"RequesterAnnotation": {},
					"QualificationRequirements": {
						"shape": "Si"
					},
					"HITReviewStatus": {},
					"NumberOfAssignmentsPending": {
						"type": "integer"
					},
					"NumberOfAssignmentsAvailable": {
						"type": "integer"
					},
					"NumberOfAssignmentsCompleted": {
						"type": "integer"
					}
				}
			},
			"S19": {
				"type": "structure",
				"members": {
					"QualificationTypeId": {},
					"CreationTime": {
						"type": "timestamp"
					},
					"Name": {},
					"Description": {},
					"Keywords": {},
					"QualificationTypeStatus": {},
					"Test": {},
					"TestDurationInSeconds": {
						"type": "long"
					},
					"AnswerKey": {},
					"RetryDelayInSeconds": {
						"type": "long"
					},
					"IsRequestable": {
						"type": "boolean"
					},
					"AutoGranted": {
						"type": "boolean"
					},
					"AutoGrantedValue": {
						"type": "integer"
					}
				}
			},
			"S1o": {
				"type": "structure",
				"members": {
					"AssignmentId": {},
					"WorkerId": {},
					"HITId": {},
					"AssignmentStatus": {},
					"AutoApprovalTime": {
						"type": "timestamp"
					},
					"AcceptTime": {
						"type": "timestamp"
					},
					"SubmitTime": {
						"type": "timestamp"
					},
					"ApprovalTime": {
						"type": "timestamp"
					},
					"RejectionTime": {
						"type": "timestamp"
					},
					"Deadline": {
						"type": "timestamp"
					},
					"Answer": {},
					"RequesterFeedback": {}
				}
			},
			"S1w": {
				"type": "structure",
				"members": {
					"QualificationTypeId": {},
					"WorkerId": {},
					"GrantTime": {
						"type": "timestamp"
					},
					"IntegerValue": {
						"type": "integer"
					},
					"LocaleValue": {
						"shape": "Sn"
					},
					"Status": {}
				}
			},
			"S2c": {
				"type": "list",
				"member": {
					"shape": "Sy"
				}
			},
			"S2q": {
				"type": "structure",
				"members": {
					"ReviewResults": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"ActionId": {},
								"SubjectId": {},
								"SubjectType": {},
								"QuestionId": {},
								"Key": {},
								"Value": {}
							}
						}
					},
					"ReviewActions": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"ActionId": {},
								"ActionName": {},
								"TargetId": {},
								"TargetType": {},
								"Status": {},
								"CompleteTime": {
									"type": "timestamp"
								},
								"Result": {},
								"ErrorCode": {}
							}
						}
					}
				}
			},
			"S3j": {
				"type": "structure",
				"required": [
					"Destination",
					"Transport"
				],
				"members": {
					"Destination": {},
					"Transport": {},
					"Version": {},
					"EventTypes": {
						"type": "list",
						"member": {}
					}
				}
			}
		}
	};

/***/ }),
/* 523 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListAssignmentsForHIT": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListBonusPayments": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListHITs": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListHITsForQualificationType": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListQualificationRequests": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListQualificationTypes": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListReviewPolicyResultsForHIT": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListReviewableHITs": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListWorkerBlocks": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListWorkersWithQualificationType": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			}
		}
	};

/***/ }),
/* 524 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['mobileanalytics'] = {};
	AWS.MobileAnalytics = Service.defineService('mobileanalytics', ['2014-06-05']);
	Object.defineProperty(apiLoader.services['mobileanalytics'], '2014-06-05', {
	  get: function get() {
	    var model = __webpack_require__(525);
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.MobileAnalytics;


/***/ }),
/* 525 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-06-05",
			"endpointPrefix": "mobileanalytics",
			"serviceFullName": "Amazon Mobile Analytics",
			"signatureVersion": "v4",
			"protocol": "rest-json"
		},
		"operations": {
			"PutEvents": {
				"http": {
					"requestUri": "/2014-06-05/events",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"required": [
						"events",
						"clientContext"
					],
					"members": {
						"events": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"eventType",
									"timestamp"
								],
								"members": {
									"eventType": {},
									"timestamp": {},
									"session": {
										"type": "structure",
										"members": {
											"id": {},
											"duration": {
												"type": "long"
											},
											"startTimestamp": {},
											"stopTimestamp": {}
										}
									},
									"version": {},
									"attributes": {
										"type": "map",
										"key": {},
										"value": {}
									},
									"metrics": {
										"type": "map",
										"key": {},
										"value": {
											"type": "double"
										}
									}
								}
							}
						},
						"clientContext": {
							"location": "header",
							"locationName": "x-amz-Client-Context"
						},
						"clientContextEncoding": {
							"location": "header",
							"locationName": "x-amz-Client-Context-Encoding"
						}
					}
				}
			}
		},
		"shapes": {}
	};

/***/ }),
/* 526 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['opsworks'] = {};
	AWS.OpsWorks = Service.defineService('opsworks', ['2013-02-18']);
	Object.defineProperty(apiLoader.services['opsworks'], '2013-02-18', {
	  get: function get() {
	    var model = __webpack_require__(527);
	    model.paginators = __webpack_require__(528).pagination;
	    model.waiters = __webpack_require__(529).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.OpsWorks;


/***/ }),
/* 527 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2013-02-18",
			"endpointPrefix": "opsworks",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS OpsWorks",
			"signatureVersion": "v4",
			"targetPrefix": "OpsWorks_20130218",
			"uid": "opsworks-2013-02-18"
		},
		"operations": {
			"AssignInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId",
						"LayerIds"
					],
					"members": {
						"InstanceId": {},
						"LayerIds": {
							"shape": "S3"
						}
					}
				}
			},
			"AssignVolume": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeId"
					],
					"members": {
						"VolumeId": {},
						"InstanceId": {}
					}
				}
			},
			"AssociateElasticIp": {
				"input": {
					"type": "structure",
					"required": [
						"ElasticIp"
					],
					"members": {
						"ElasticIp": {},
						"InstanceId": {}
					}
				}
			},
			"AttachElasticLoadBalancer": {
				"input": {
					"type": "structure",
					"required": [
						"ElasticLoadBalancerName",
						"LayerId"
					],
					"members": {
						"ElasticLoadBalancerName": {},
						"LayerId": {}
					}
				}
			},
			"CloneStack": {
				"input": {
					"type": "structure",
					"required": [
						"SourceStackId",
						"ServiceRoleArn"
					],
					"members": {
						"SourceStackId": {},
						"Name": {},
						"Region": {},
						"VpcId": {},
						"Attributes": {
							"shape": "S8"
						},
						"ServiceRoleArn": {},
						"DefaultInstanceProfileArn": {},
						"DefaultOs": {},
						"HostnameTheme": {},
						"DefaultAvailabilityZone": {},
						"DefaultSubnetId": {},
						"CustomJson": {},
						"ConfigurationManager": {
							"shape": "Sa"
						},
						"ChefConfiguration": {
							"shape": "Sb"
						},
						"UseCustomCookbooks": {
							"type": "boolean"
						},
						"UseOpsworksSecurityGroups": {
							"type": "boolean"
						},
						"CustomCookbooksSource": {
							"shape": "Sd"
						},
						"DefaultSshKeyName": {},
						"ClonePermissions": {
							"type": "boolean"
						},
						"CloneAppIds": {
							"shape": "S3"
						},
						"DefaultRootDeviceType": {},
						"AgentVersion": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StackId": {}
					}
				}
			},
			"CreateApp": {
				"input": {
					"type": "structure",
					"required": [
						"StackId",
						"Name",
						"Type"
					],
					"members": {
						"StackId": {},
						"Shortname": {},
						"Name": {},
						"Description": {},
						"DataSources": {
							"shape": "Si"
						},
						"Type": {},
						"AppSource": {
							"shape": "Sd"
						},
						"Domains": {
							"shape": "S3"
						},
						"EnableSsl": {
							"type": "boolean"
						},
						"SslConfiguration": {
							"shape": "Sl"
						},
						"Attributes": {
							"shape": "Sm"
						},
						"Environment": {
							"shape": "So"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AppId": {}
					}
				}
			},
			"CreateDeployment": {
				"input": {
					"type": "structure",
					"required": [
						"StackId",
						"Command"
					],
					"members": {
						"StackId": {},
						"AppId": {},
						"InstanceIds": {
							"shape": "S3"
						},
						"LayerIds": {
							"shape": "S3"
						},
						"Command": {
							"shape": "Ss"
						},
						"Comment": {},
						"CustomJson": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DeploymentId": {}
					}
				}
			},
			"CreateInstance": {
				"input": {
					"type": "structure",
					"required": [
						"StackId",
						"LayerIds",
						"InstanceType"
					],
					"members": {
						"StackId": {},
						"LayerIds": {
							"shape": "S3"
						},
						"InstanceType": {},
						"AutoScalingType": {},
						"Hostname": {},
						"Os": {},
						"AmiId": {},
						"SshKeyName": {},
						"AvailabilityZone": {},
						"VirtualizationType": {},
						"SubnetId": {},
						"Architecture": {},
						"RootDeviceType": {},
						"BlockDeviceMappings": {
							"shape": "Sz"
						},
						"InstallUpdatesOnBoot": {
							"type": "boolean"
						},
						"EbsOptimized": {
							"type": "boolean"
						},
						"AgentVersion": {},
						"Tenancy": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceId": {}
					}
				}
			},
			"CreateLayer": {
				"input": {
					"type": "structure",
					"required": [
						"StackId",
						"Type",
						"Name",
						"Shortname"
					],
					"members": {
						"StackId": {},
						"Type": {},
						"Name": {},
						"Shortname": {},
						"Attributes": {
							"shape": "S17"
						},
						"CloudWatchLogsConfiguration": {
							"shape": "S19"
						},
						"CustomInstanceProfileArn": {},
						"CustomJson": {},
						"CustomSecurityGroupIds": {
							"shape": "S3"
						},
						"Packages": {
							"shape": "S3"
						},
						"VolumeConfigurations": {
							"shape": "S1f"
						},
						"EnableAutoHealing": {
							"type": "boolean"
						},
						"AutoAssignElasticIps": {
							"type": "boolean"
						},
						"AutoAssignPublicIps": {
							"type": "boolean"
						},
						"CustomRecipes": {
							"shape": "S1h"
						},
						"InstallUpdatesOnBoot": {
							"type": "boolean"
						},
						"UseEbsOptimizedInstances": {
							"type": "boolean"
						},
						"LifecycleEventConfiguration": {
							"shape": "S1i"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"LayerId": {}
					}
				}
			},
			"CreateStack": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Region",
						"ServiceRoleArn",
						"DefaultInstanceProfileArn"
					],
					"members": {
						"Name": {},
						"Region": {},
						"VpcId": {},
						"Attributes": {
							"shape": "S8"
						},
						"ServiceRoleArn": {},
						"DefaultInstanceProfileArn": {},
						"DefaultOs": {},
						"HostnameTheme": {},
						"DefaultAvailabilityZone": {},
						"DefaultSubnetId": {},
						"CustomJson": {},
						"ConfigurationManager": {
							"shape": "Sa"
						},
						"ChefConfiguration": {
							"shape": "Sb"
						},
						"UseCustomCookbooks": {
							"type": "boolean"
						},
						"UseOpsworksSecurityGroups": {
							"type": "boolean"
						},
						"CustomCookbooksSource": {
							"shape": "Sd"
						},
						"DefaultSshKeyName": {},
						"DefaultRootDeviceType": {},
						"AgentVersion": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StackId": {}
					}
				}
			},
			"CreateUserProfile": {
				"input": {
					"type": "structure",
					"required": [
						"IamUserArn"
					],
					"members": {
						"IamUserArn": {},
						"SshUsername": {},
						"SshPublicKey": {},
						"AllowSelfManagement": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IamUserArn": {}
					}
				}
			},
			"DeleteApp": {
				"input": {
					"type": "structure",
					"required": [
						"AppId"
					],
					"members": {
						"AppId": {}
					}
				}
			},
			"DeleteInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {},
						"DeleteElasticIp": {
							"type": "boolean"
						},
						"DeleteVolumes": {
							"type": "boolean"
						}
					}
				}
			},
			"DeleteLayer": {
				"input": {
					"type": "structure",
					"required": [
						"LayerId"
					],
					"members": {
						"LayerId": {}
					}
				}
			},
			"DeleteStack": {
				"input": {
					"type": "structure",
					"required": [
						"StackId"
					],
					"members": {
						"StackId": {}
					}
				}
			},
			"DeleteUserProfile": {
				"input": {
					"type": "structure",
					"required": [
						"IamUserArn"
					],
					"members": {
						"IamUserArn": {}
					}
				}
			},
			"DeregisterEcsCluster": {
				"input": {
					"type": "structure",
					"required": [
						"EcsClusterArn"
					],
					"members": {
						"EcsClusterArn": {}
					}
				}
			},
			"DeregisterElasticIp": {
				"input": {
					"type": "structure",
					"required": [
						"ElasticIp"
					],
					"members": {
						"ElasticIp": {}
					}
				}
			},
			"DeregisterInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {}
					}
				}
			},
			"DeregisterRdsDbInstance": {
				"input": {
					"type": "structure",
					"required": [
						"RdsDbInstanceArn"
					],
					"members": {
						"RdsDbInstanceArn": {}
					}
				}
			},
			"DeregisterVolume": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeId"
					],
					"members": {
						"VolumeId": {}
					}
				}
			},
			"DescribeAgentVersions": {
				"input": {
					"type": "structure",
					"members": {
						"StackId": {},
						"ConfigurationManager": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AgentVersions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Version": {},
									"ConfigurationManager": {
										"shape": "Sa"
									}
								}
							}
						}
					}
				}
			},
			"DescribeApps": {
				"input": {
					"type": "structure",
					"members": {
						"StackId": {},
						"AppIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Apps": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AppId": {},
									"StackId": {},
									"Shortname": {},
									"Name": {},
									"Description": {},
									"DataSources": {
										"shape": "Si"
									},
									"Type": {},
									"AppSource": {
										"shape": "Sd"
									},
									"Domains": {
										"shape": "S3"
									},
									"EnableSsl": {
										"type": "boolean"
									},
									"SslConfiguration": {
										"shape": "Sl"
									},
									"Attributes": {
										"shape": "Sm"
									},
									"CreatedAt": {},
									"Environment": {
										"shape": "So"
									}
								}
							}
						}
					}
				}
			},
			"DescribeCommands": {
				"input": {
					"type": "structure",
					"members": {
						"DeploymentId": {},
						"InstanceId": {},
						"CommandIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Commands": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"CommandId": {},
									"InstanceId": {},
									"DeploymentId": {},
									"CreatedAt": {},
									"AcknowledgedAt": {},
									"CompletedAt": {},
									"Status": {},
									"ExitCode": {
										"type": "integer"
									},
									"LogUrl": {},
									"Type": {}
								}
							}
						}
					}
				}
			},
			"DescribeDeployments": {
				"input": {
					"type": "structure",
					"members": {
						"StackId": {},
						"AppId": {},
						"DeploymentIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Deployments": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DeploymentId": {},
									"StackId": {},
									"AppId": {},
									"CreatedAt": {},
									"CompletedAt": {},
									"Duration": {
										"type": "integer"
									},
									"IamUserArn": {},
									"Comment": {},
									"Command": {
										"shape": "Ss"
									},
									"Status": {},
									"CustomJson": {},
									"InstanceIds": {
										"shape": "S3"
									}
								}
							}
						}
					}
				}
			},
			"DescribeEcsClusters": {
				"input": {
					"type": "structure",
					"members": {
						"EcsClusterArns": {
							"shape": "S3"
						},
						"StackId": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EcsClusters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"EcsClusterArn": {},
									"EcsClusterName": {},
									"StackId": {},
									"RegisteredAt": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeElasticIps": {
				"input": {
					"type": "structure",
					"members": {
						"InstanceId": {},
						"StackId": {},
						"Ips": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ElasticIps": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Ip": {},
									"Name": {},
									"Domain": {},
									"Region": {},
									"InstanceId": {}
								}
							}
						}
					}
				}
			},
			"DescribeElasticLoadBalancers": {
				"input": {
					"type": "structure",
					"members": {
						"StackId": {},
						"LayerIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ElasticLoadBalancers": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ElasticLoadBalancerName": {},
									"Region": {},
									"DnsName": {},
									"StackId": {},
									"LayerId": {},
									"VpcId": {},
									"AvailabilityZones": {
										"shape": "S3"
									},
									"SubnetIds": {
										"shape": "S3"
									},
									"Ec2InstanceIds": {
										"shape": "S3"
									}
								}
							}
						}
					}
				}
			},
			"DescribeInstances": {
				"input": {
					"type": "structure",
					"members": {
						"StackId": {},
						"LayerId": {},
						"InstanceIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Instances": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AgentVersion": {},
									"AmiId": {},
									"Architecture": {},
									"Arn": {},
									"AutoScalingType": {},
									"AvailabilityZone": {},
									"BlockDeviceMappings": {
										"shape": "Sz"
									},
									"CreatedAt": {},
									"EbsOptimized": {
										"type": "boolean"
									},
									"Ec2InstanceId": {},
									"EcsClusterArn": {},
									"EcsContainerInstanceArn": {},
									"ElasticIp": {},
									"Hostname": {},
									"InfrastructureClass": {},
									"InstallUpdatesOnBoot": {
										"type": "boolean"
									},
									"InstanceId": {},
									"InstanceProfileArn": {},
									"InstanceType": {},
									"LastServiceErrorId": {},
									"LayerIds": {
										"shape": "S3"
									},
									"Os": {},
									"Platform": {},
									"PrivateDns": {},
									"PrivateIp": {},
									"PublicDns": {},
									"PublicIp": {},
									"RegisteredBy": {},
									"ReportedAgentVersion": {},
									"ReportedOs": {
										"type": "structure",
										"members": {
											"Family": {},
											"Name": {},
											"Version": {}
										}
									},
									"RootDeviceType": {},
									"RootDeviceVolumeId": {},
									"SecurityGroupIds": {
										"shape": "S3"
									},
									"SshHostDsaKeyFingerprint": {},
									"SshHostRsaKeyFingerprint": {},
									"SshKeyName": {},
									"StackId": {},
									"Status": {},
									"SubnetId": {},
									"Tenancy": {},
									"VirtualizationType": {}
								}
							}
						}
					}
				}
			},
			"DescribeLayers": {
				"input": {
					"type": "structure",
					"members": {
						"StackId": {},
						"LayerIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Layers": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Arn": {},
									"StackId": {},
									"LayerId": {},
									"Type": {},
									"Name": {},
									"Shortname": {},
									"Attributes": {
										"shape": "S17"
									},
									"CloudWatchLogsConfiguration": {
										"shape": "S19"
									},
									"CustomInstanceProfileArn": {},
									"CustomJson": {},
									"CustomSecurityGroupIds": {
										"shape": "S3"
									},
									"DefaultSecurityGroupNames": {
										"shape": "S3"
									},
									"Packages": {
										"shape": "S3"
									},
									"VolumeConfigurations": {
										"shape": "S1f"
									},
									"EnableAutoHealing": {
										"type": "boolean"
									},
									"AutoAssignElasticIps": {
										"type": "boolean"
									},
									"AutoAssignPublicIps": {
										"type": "boolean"
									},
									"DefaultRecipes": {
										"shape": "S1h"
									},
									"CustomRecipes": {
										"shape": "S1h"
									},
									"CreatedAt": {},
									"InstallUpdatesOnBoot": {
										"type": "boolean"
									},
									"UseEbsOptimizedInstances": {
										"type": "boolean"
									},
									"LifecycleEventConfiguration": {
										"shape": "S1i"
									}
								}
							}
						}
					}
				}
			},
			"DescribeLoadBasedAutoScaling": {
				"input": {
					"type": "structure",
					"required": [
						"LayerIds"
					],
					"members": {
						"LayerIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"LoadBasedAutoScalingConfigurations": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"LayerId": {},
									"Enable": {
										"type": "boolean"
									},
									"UpScaling": {
										"shape": "S36"
									},
									"DownScaling": {
										"shape": "S36"
									}
								}
							}
						}
					}
				}
			},
			"DescribeMyUserProfile": {
				"output": {
					"type": "structure",
					"members": {
						"UserProfile": {
							"type": "structure",
							"members": {
								"IamUserArn": {},
								"Name": {},
								"SshUsername": {},
								"SshPublicKey": {}
							}
						}
					}
				}
			},
			"DescribePermissions": {
				"input": {
					"type": "structure",
					"members": {
						"IamUserArn": {},
						"StackId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Permissions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"StackId": {},
									"IamUserArn": {},
									"AllowSsh": {
										"type": "boolean"
									},
									"AllowSudo": {
										"type": "boolean"
									},
									"Level": {}
								}
							}
						}
					}
				}
			},
			"DescribeRaidArrays": {
				"input": {
					"type": "structure",
					"members": {
						"InstanceId": {},
						"StackId": {},
						"RaidArrayIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RaidArrays": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"RaidArrayId": {},
									"InstanceId": {},
									"Name": {},
									"RaidLevel": {
										"type": "integer"
									},
									"NumberOfDisks": {
										"type": "integer"
									},
									"Size": {
										"type": "integer"
									},
									"Device": {},
									"MountPoint": {},
									"AvailabilityZone": {},
									"CreatedAt": {},
									"StackId": {},
									"VolumeType": {},
									"Iops": {
										"type": "integer"
									}
								}
							}
						}
					}
				}
			},
			"DescribeRdsDbInstances": {
				"input": {
					"type": "structure",
					"required": [
						"StackId"
					],
					"members": {
						"StackId": {},
						"RdsDbInstanceArns": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RdsDbInstances": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"RdsDbInstanceArn": {},
									"DbInstanceIdentifier": {},
									"DbUser": {},
									"DbPassword": {},
									"Region": {},
									"Address": {},
									"Engine": {},
									"StackId": {},
									"MissingOnRds": {
										"type": "boolean"
									}
								}
							}
						}
					}
				}
			},
			"DescribeServiceErrors": {
				"input": {
					"type": "structure",
					"members": {
						"StackId": {},
						"InstanceId": {},
						"ServiceErrorIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ServiceErrors": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ServiceErrorId": {},
									"StackId": {},
									"InstanceId": {},
									"Type": {},
									"Message": {},
									"CreatedAt": {}
								}
							}
						}
					}
				}
			},
			"DescribeStackProvisioningParameters": {
				"input": {
					"type": "structure",
					"required": [
						"StackId"
					],
					"members": {
						"StackId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AgentInstallerUrl": {},
						"Parameters": {
							"type": "map",
							"key": {},
							"value": {}
						}
					}
				}
			},
			"DescribeStackSummary": {
				"input": {
					"type": "structure",
					"required": [
						"StackId"
					],
					"members": {
						"StackId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StackSummary": {
							"type": "structure",
							"members": {
								"StackId": {},
								"Name": {},
								"Arn": {},
								"LayersCount": {
									"type": "integer"
								},
								"AppsCount": {
									"type": "integer"
								},
								"InstancesCount": {
									"type": "structure",
									"members": {
										"Assigning": {
											"type": "integer"
										},
										"Booting": {
											"type": "integer"
										},
										"ConnectionLost": {
											"type": "integer"
										},
										"Deregistering": {
											"type": "integer"
										},
										"Online": {
											"type": "integer"
										},
										"Pending": {
											"type": "integer"
										},
										"Rebooting": {
											"type": "integer"
										},
										"Registered": {
											"type": "integer"
										},
										"Registering": {
											"type": "integer"
										},
										"Requested": {
											"type": "integer"
										},
										"RunningSetup": {
											"type": "integer"
										},
										"SetupFailed": {
											"type": "integer"
										},
										"ShuttingDown": {
											"type": "integer"
										},
										"StartFailed": {
											"type": "integer"
										},
										"Stopped": {
											"type": "integer"
										},
										"Stopping": {
											"type": "integer"
										},
										"Terminated": {
											"type": "integer"
										},
										"Terminating": {
											"type": "integer"
										},
										"Unassigning": {
											"type": "integer"
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeStacks": {
				"input": {
					"type": "structure",
					"members": {
						"StackIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Stacks": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"StackId": {},
									"Name": {},
									"Arn": {},
									"Region": {},
									"VpcId": {},
									"Attributes": {
										"shape": "S8"
									},
									"ServiceRoleArn": {},
									"DefaultInstanceProfileArn": {},
									"DefaultOs": {},
									"HostnameTheme": {},
									"DefaultAvailabilityZone": {},
									"DefaultSubnetId": {},
									"CustomJson": {},
									"ConfigurationManager": {
										"shape": "Sa"
									},
									"ChefConfiguration": {
										"shape": "Sb"
									},
									"UseCustomCookbooks": {
										"type": "boolean"
									},
									"UseOpsworksSecurityGroups": {
										"type": "boolean"
									},
									"CustomCookbooksSource": {
										"shape": "Sd"
									},
									"DefaultSshKeyName": {},
									"CreatedAt": {},
									"DefaultRootDeviceType": {},
									"AgentVersion": {}
								}
							}
						}
					}
				}
			},
			"DescribeTimeBasedAutoScaling": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceIds"
					],
					"members": {
						"InstanceIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TimeBasedAutoScalingConfigurations": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"InstanceId": {},
									"AutoScalingSchedule": {
										"shape": "S46"
									}
								}
							}
						}
					}
				}
			},
			"DescribeUserProfiles": {
				"input": {
					"type": "structure",
					"members": {
						"IamUserArns": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserProfiles": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"IamUserArn": {},
									"Name": {},
									"SshUsername": {},
									"SshPublicKey": {},
									"AllowSelfManagement": {
										"type": "boolean"
									}
								}
							}
						}
					}
				}
			},
			"DescribeVolumes": {
				"input": {
					"type": "structure",
					"members": {
						"InstanceId": {},
						"StackId": {},
						"RaidArrayId": {},
						"VolumeIds": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Volumes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"VolumeId": {},
									"Ec2VolumeId": {},
									"Name": {},
									"RaidArrayId": {},
									"InstanceId": {},
									"Status": {},
									"Size": {
										"type": "integer"
									},
									"Device": {},
									"MountPoint": {},
									"Region": {},
									"AvailabilityZone": {},
									"VolumeType": {},
									"Iops": {
										"type": "integer"
									}
								}
							}
						}
					}
				}
			},
			"DetachElasticLoadBalancer": {
				"input": {
					"type": "structure",
					"required": [
						"ElasticLoadBalancerName",
						"LayerId"
					],
					"members": {
						"ElasticLoadBalancerName": {},
						"LayerId": {}
					}
				}
			},
			"DisassociateElasticIp": {
				"input": {
					"type": "structure",
					"required": [
						"ElasticIp"
					],
					"members": {
						"ElasticIp": {}
					}
				}
			},
			"GetHostnameSuggestion": {
				"input": {
					"type": "structure",
					"required": [
						"LayerId"
					],
					"members": {
						"LayerId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"LayerId": {},
						"Hostname": {}
					}
				}
			},
			"GrantAccess": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {},
						"ValidForInMinutes": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TemporaryCredential": {
							"type": "structure",
							"members": {
								"Username": {},
								"Password": {},
								"ValidForInMinutes": {
									"type": "integer"
								},
								"InstanceId": {}
							}
						}
					}
				}
			},
			"ListTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn"
					],
					"members": {
						"ResourceArn": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "S4v"
						},
						"NextToken": {}
					}
				}
			},
			"RebootInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {}
					}
				}
			},
			"RegisterEcsCluster": {
				"input": {
					"type": "structure",
					"required": [
						"EcsClusterArn",
						"StackId"
					],
					"members": {
						"EcsClusterArn": {},
						"StackId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EcsClusterArn": {}
					}
				}
			},
			"RegisterElasticIp": {
				"input": {
					"type": "structure",
					"required": [
						"ElasticIp",
						"StackId"
					],
					"members": {
						"ElasticIp": {},
						"StackId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ElasticIp": {}
					}
				}
			},
			"RegisterInstance": {
				"input": {
					"type": "structure",
					"required": [
						"StackId"
					],
					"members": {
						"StackId": {},
						"Hostname": {},
						"PublicIp": {},
						"PrivateIp": {},
						"RsaPublicKey": {},
						"RsaPublicKeyFingerprint": {},
						"InstanceIdentity": {
							"type": "structure",
							"members": {
								"Document": {},
								"Signature": {}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceId": {}
					}
				}
			},
			"RegisterRdsDbInstance": {
				"input": {
					"type": "structure",
					"required": [
						"StackId",
						"RdsDbInstanceArn",
						"DbUser",
						"DbPassword"
					],
					"members": {
						"StackId": {},
						"RdsDbInstanceArn": {},
						"DbUser": {},
						"DbPassword": {}
					}
				}
			},
			"RegisterVolume": {
				"input": {
					"type": "structure",
					"required": [
						"StackId"
					],
					"members": {
						"Ec2VolumeId": {},
						"StackId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VolumeId": {}
					}
				}
			},
			"SetLoadBasedAutoScaling": {
				"input": {
					"type": "structure",
					"required": [
						"LayerId"
					],
					"members": {
						"LayerId": {},
						"Enable": {
							"type": "boolean"
						},
						"UpScaling": {
							"shape": "S36"
						},
						"DownScaling": {
							"shape": "S36"
						}
					}
				}
			},
			"SetPermission": {
				"input": {
					"type": "structure",
					"required": [
						"StackId",
						"IamUserArn"
					],
					"members": {
						"StackId": {},
						"IamUserArn": {},
						"AllowSsh": {
							"type": "boolean"
						},
						"AllowSudo": {
							"type": "boolean"
						},
						"Level": {}
					}
				}
			},
			"SetTimeBasedAutoScaling": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {},
						"AutoScalingSchedule": {
							"shape": "S46"
						}
					}
				}
			},
			"StartInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {}
					}
				}
			},
			"StartStack": {
				"input": {
					"type": "structure",
					"required": [
						"StackId"
					],
					"members": {
						"StackId": {}
					}
				}
			},
			"StopInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {}
					}
				}
			},
			"StopStack": {
				"input": {
					"type": "structure",
					"required": [
						"StackId"
					],
					"members": {
						"StackId": {}
					}
				}
			},
			"TagResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn",
						"Tags"
					],
					"members": {
						"ResourceArn": {},
						"Tags": {
							"shape": "S4v"
						}
					}
				}
			},
			"UnassignInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {}
					}
				}
			},
			"UnassignVolume": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeId"
					],
					"members": {
						"VolumeId": {}
					}
				}
			},
			"UntagResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn",
						"TagKeys"
					],
					"members": {
						"ResourceArn": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"UpdateApp": {
				"input": {
					"type": "structure",
					"required": [
						"AppId"
					],
					"members": {
						"AppId": {},
						"Name": {},
						"Description": {},
						"DataSources": {
							"shape": "Si"
						},
						"Type": {},
						"AppSource": {
							"shape": "Sd"
						},
						"Domains": {
							"shape": "S3"
						},
						"EnableSsl": {
							"type": "boolean"
						},
						"SslConfiguration": {
							"shape": "Sl"
						},
						"Attributes": {
							"shape": "Sm"
						},
						"Environment": {
							"shape": "So"
						}
					}
				}
			},
			"UpdateElasticIp": {
				"input": {
					"type": "structure",
					"required": [
						"ElasticIp"
					],
					"members": {
						"ElasticIp": {},
						"Name": {}
					}
				}
			},
			"UpdateInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {},
						"LayerIds": {
							"shape": "S3"
						},
						"InstanceType": {},
						"AutoScalingType": {},
						"Hostname": {},
						"Os": {},
						"AmiId": {},
						"SshKeyName": {},
						"Architecture": {},
						"InstallUpdatesOnBoot": {
							"type": "boolean"
						},
						"EbsOptimized": {
							"type": "boolean"
						},
						"AgentVersion": {}
					}
				}
			},
			"UpdateLayer": {
				"input": {
					"type": "structure",
					"required": [
						"LayerId"
					],
					"members": {
						"LayerId": {},
						"Name": {},
						"Shortname": {},
						"Attributes": {
							"shape": "S17"
						},
						"CloudWatchLogsConfiguration": {
							"shape": "S19"
						},
						"CustomInstanceProfileArn": {},
						"CustomJson": {},
						"CustomSecurityGroupIds": {
							"shape": "S3"
						},
						"Packages": {
							"shape": "S3"
						},
						"VolumeConfigurations": {
							"shape": "S1f"
						},
						"EnableAutoHealing": {
							"type": "boolean"
						},
						"AutoAssignElasticIps": {
							"type": "boolean"
						},
						"AutoAssignPublicIps": {
							"type": "boolean"
						},
						"CustomRecipes": {
							"shape": "S1h"
						},
						"InstallUpdatesOnBoot": {
							"type": "boolean"
						},
						"UseEbsOptimizedInstances": {
							"type": "boolean"
						},
						"LifecycleEventConfiguration": {
							"shape": "S1i"
						}
					}
				}
			},
			"UpdateMyUserProfile": {
				"input": {
					"type": "structure",
					"members": {
						"SshPublicKey": {}
					}
				}
			},
			"UpdateRdsDbInstance": {
				"input": {
					"type": "structure",
					"required": [
						"RdsDbInstanceArn"
					],
					"members": {
						"RdsDbInstanceArn": {},
						"DbUser": {},
						"DbPassword": {}
					}
				}
			},
			"UpdateStack": {
				"input": {
					"type": "structure",
					"required": [
						"StackId"
					],
					"members": {
						"StackId": {},
						"Name": {},
						"Attributes": {
							"shape": "S8"
						},
						"ServiceRoleArn": {},
						"DefaultInstanceProfileArn": {},
						"DefaultOs": {},
						"HostnameTheme": {},
						"DefaultAvailabilityZone": {},
						"DefaultSubnetId": {},
						"CustomJson": {},
						"ConfigurationManager": {
							"shape": "Sa"
						},
						"ChefConfiguration": {
							"shape": "Sb"
						},
						"UseCustomCookbooks": {
							"type": "boolean"
						},
						"CustomCookbooksSource": {
							"shape": "Sd"
						},
						"DefaultSshKeyName": {},
						"DefaultRootDeviceType": {},
						"UseOpsworksSecurityGroups": {
							"type": "boolean"
						},
						"AgentVersion": {}
					}
				}
			},
			"UpdateUserProfile": {
				"input": {
					"type": "structure",
					"required": [
						"IamUserArn"
					],
					"members": {
						"IamUserArn": {},
						"SshUsername": {},
						"SshPublicKey": {},
						"AllowSelfManagement": {
							"type": "boolean"
						}
					}
				}
			},
			"UpdateVolume": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeId"
					],
					"members": {
						"VolumeId": {},
						"Name": {},
						"MountPoint": {}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {}
			},
			"S8": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"Sa": {
				"type": "structure",
				"members": {
					"Name": {},
					"Version": {}
				}
			},
			"Sb": {
				"type": "structure",
				"members": {
					"ManageBerkshelf": {
						"type": "boolean"
					},
					"BerkshelfVersion": {}
				}
			},
			"Sd": {
				"type": "structure",
				"members": {
					"Type": {},
					"Url": {},
					"Username": {},
					"Password": {},
					"SshKey": {},
					"Revision": {}
				}
			},
			"Si": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Type": {},
						"Arn": {},
						"DatabaseName": {}
					}
				}
			},
			"Sl": {
				"type": "structure",
				"required": [
					"Certificate",
					"PrivateKey"
				],
				"members": {
					"Certificate": {},
					"PrivateKey": {},
					"Chain": {}
				}
			},
			"Sm": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"So": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key",
						"Value"
					],
					"members": {
						"Key": {},
						"Value": {},
						"Secure": {
							"type": "boolean"
						}
					}
				}
			},
			"Ss": {
				"type": "structure",
				"required": [
					"Name"
				],
				"members": {
					"Name": {},
					"Args": {
						"type": "map",
						"key": {},
						"value": {
							"shape": "S3"
						}
					}
				}
			},
			"Sz": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"DeviceName": {},
						"NoDevice": {},
						"VirtualName": {},
						"Ebs": {
							"type": "structure",
							"members": {
								"SnapshotId": {},
								"Iops": {
									"type": "integer"
								},
								"VolumeSize": {
									"type": "integer"
								},
								"VolumeType": {},
								"DeleteOnTermination": {
									"type": "boolean"
								}
							}
						}
					}
				}
			},
			"S17": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S19": {
				"type": "structure",
				"members": {
					"Enabled": {
						"type": "boolean"
					},
					"LogStreams": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"LogGroupName": {},
								"DatetimeFormat": {},
								"TimeZone": {},
								"File": {},
								"FileFingerprintLines": {},
								"MultiLineStartPattern": {},
								"InitialPosition": {},
								"Encoding": {},
								"BufferDuration": {
									"type": "integer"
								},
								"BatchCount": {
									"type": "integer"
								},
								"BatchSize": {
									"type": "integer"
								}
							}
						}
					}
				}
			},
			"S1f": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"MountPoint",
						"NumberOfDisks",
						"Size"
					],
					"members": {
						"MountPoint": {},
						"RaidLevel": {
							"type": "integer"
						},
						"NumberOfDisks": {
							"type": "integer"
						},
						"Size": {
							"type": "integer"
						},
						"VolumeType": {},
						"Iops": {
							"type": "integer"
						}
					}
				}
			},
			"S1h": {
				"type": "structure",
				"members": {
					"Setup": {
						"shape": "S3"
					},
					"Configure": {
						"shape": "S3"
					},
					"Deploy": {
						"shape": "S3"
					},
					"Undeploy": {
						"shape": "S3"
					},
					"Shutdown": {
						"shape": "S3"
					}
				}
			},
			"S1i": {
				"type": "structure",
				"members": {
					"Shutdown": {
						"type": "structure",
						"members": {
							"ExecutionTimeout": {
								"type": "integer"
							},
							"DelayUntilElbConnectionsDrained": {
								"type": "boolean"
							}
						}
					}
				}
			},
			"S36": {
				"type": "structure",
				"members": {
					"InstanceCount": {
						"type": "integer"
					},
					"ThresholdsWaitTime": {
						"type": "integer"
					},
					"IgnoreMetricsTime": {
						"type": "integer"
					},
					"CpuThreshold": {
						"type": "double"
					},
					"MemoryThreshold": {
						"type": "double"
					},
					"LoadThreshold": {
						"type": "double"
					},
					"Alarms": {
						"shape": "S3"
					}
				}
			},
			"S46": {
				"type": "structure",
				"members": {
					"Monday": {
						"shape": "S47"
					},
					"Tuesday": {
						"shape": "S47"
					},
					"Wednesday": {
						"shape": "S47"
					},
					"Thursday": {
						"shape": "S47"
					},
					"Friday": {
						"shape": "S47"
					},
					"Saturday": {
						"shape": "S47"
					},
					"Sunday": {
						"shape": "S47"
					}
				}
			},
			"S47": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S4v": {
				"type": "map",
				"key": {},
				"value": {}
			}
		}
	};

/***/ }),
/* 528 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeApps": {
				"result_key": "Apps"
			},
			"DescribeCommands": {
				"result_key": "Commands"
			},
			"DescribeDeployments": {
				"result_key": "Deployments"
			},
			"DescribeEcsClusters": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "EcsClusters"
			},
			"DescribeElasticIps": {
				"result_key": "ElasticIps"
			},
			"DescribeElasticLoadBalancers": {
				"result_key": "ElasticLoadBalancers"
			},
			"DescribeInstances": {
				"result_key": "Instances"
			},
			"DescribeLayers": {
				"result_key": "Layers"
			},
			"DescribeLoadBasedAutoScaling": {
				"result_key": "LoadBasedAutoScalingConfigurations"
			},
			"DescribePermissions": {
				"result_key": "Permissions"
			},
			"DescribeRaidArrays": {
				"result_key": "RaidArrays"
			},
			"DescribeServiceErrors": {
				"result_key": "ServiceErrors"
			},
			"DescribeStacks": {
				"result_key": "Stacks"
			},
			"DescribeTimeBasedAutoScaling": {
				"result_key": "TimeBasedAutoScalingConfigurations"
			},
			"DescribeUserProfiles": {
				"result_key": "UserProfiles"
			},
			"DescribeVolumes": {
				"result_key": "Volumes"
			}
		}
	};

/***/ }),
/* 529 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"AppExists": {
				"delay": 1,
				"operation": "DescribeApps",
				"maxAttempts": 40,
				"acceptors": [
					{
						"expected": 200,
						"matcher": "status",
						"state": "success"
					},
					{
						"matcher": "status",
						"expected": 400,
						"state": "failure"
					}
				]
			},
			"DeploymentSuccessful": {
				"delay": 15,
				"operation": "DescribeDeployments",
				"maxAttempts": 40,
				"description": "Wait until a deployment has completed successfully",
				"acceptors": [
					{
						"expected": "successful",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Deployments[].Status"
					},
					{
						"expected": "failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Deployments[].Status"
					}
				]
			},
			"InstanceOnline": {
				"delay": 15,
				"operation": "DescribeInstances",
				"maxAttempts": 40,
				"description": "Wait until OpsWorks instance is online.",
				"acceptors": [
					{
						"expected": "online",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Instances[].Status"
					},
					{
						"expected": "setup_failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "shutting_down",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "start_failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "stopped",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "stopping",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "terminating",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "terminated",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "stop_failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					}
				]
			},
			"InstanceRegistered": {
				"delay": 15,
				"operation": "DescribeInstances",
				"maxAttempts": 40,
				"description": "Wait until OpsWorks instance is registered.",
				"acceptors": [
					{
						"expected": "registered",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Instances[].Status"
					},
					{
						"expected": "setup_failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "shutting_down",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "stopped",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "stopping",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "terminating",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "terminated",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "stop_failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					}
				]
			},
			"InstanceStopped": {
				"delay": 15,
				"operation": "DescribeInstances",
				"maxAttempts": 40,
				"description": "Wait until OpsWorks instance is stopped.",
				"acceptors": [
					{
						"expected": "stopped",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Instances[].Status"
					},
					{
						"expected": "booting",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "online",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "pending",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "rebooting",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "requested",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "running_setup",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "setup_failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "start_failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "stop_failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					}
				]
			},
			"InstanceTerminated": {
				"delay": 15,
				"operation": "DescribeInstances",
				"maxAttempts": 40,
				"description": "Wait until OpsWorks instance is terminated.",
				"acceptors": [
					{
						"expected": "terminated",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Instances[].Status"
					},
					{
						"expected": "ResourceNotFoundException",
						"matcher": "error",
						"state": "success"
					},
					{
						"expected": "booting",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "online",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "pending",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "rebooting",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "requested",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "running_setup",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "setup_failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					},
					{
						"expected": "start_failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Instances[].Status"
					}
				]
			}
		}
	};

/***/ }),
/* 530 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['opsworkscm'] = {};
	AWS.OpsWorksCM = Service.defineService('opsworkscm', ['2016-11-01']);
	Object.defineProperty(apiLoader.services['opsworkscm'], '2016-11-01', {
	  get: function get() {
	    var model = __webpack_require__(531);
	    model.paginators = __webpack_require__(532).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.OpsWorksCM;


/***/ }),
/* 531 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-11-01",
			"endpointPrefix": "opsworks-cm",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "OpsWorksCM",
			"serviceFullName": "AWS OpsWorks for Chef Automate",
			"signatureVersion": "v4",
			"signingName": "opsworks-cm",
			"targetPrefix": "OpsWorksCM_V2016_11_01",
			"uid": "opsworkscm-2016-11-01"
		},
		"operations": {
			"AssociateNode": {
				"input": {
					"type": "structure",
					"required": [
						"ServerName",
						"NodeName",
						"EngineAttributes"
					],
					"members": {
						"ServerName": {},
						"NodeName": {},
						"EngineAttributes": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NodeAssociationStatusToken": {}
					}
				}
			},
			"CreateBackup": {
				"input": {
					"type": "structure",
					"required": [
						"ServerName"
					],
					"members": {
						"ServerName": {},
						"Description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Backup": {
							"shape": "Sd"
						}
					}
				}
			},
			"CreateServer": {
				"input": {
					"type": "structure",
					"required": [
						"ServerName",
						"InstanceProfileArn",
						"InstanceType",
						"ServiceRoleArn"
					],
					"members": {
						"AssociatePublicIpAddress": {
							"type": "boolean"
						},
						"DisableAutomatedBackup": {
							"type": "boolean"
						},
						"Engine": {},
						"EngineModel": {},
						"EngineVersion": {},
						"EngineAttributes": {
							"shape": "S4"
						},
						"BackupRetentionCount": {
							"type": "integer"
						},
						"ServerName": {},
						"InstanceProfileArn": {},
						"InstanceType": {},
						"KeyPair": {},
						"PreferredMaintenanceWindow": {},
						"PreferredBackupWindow": {},
						"SecurityGroupIds": {
							"shape": "Sj"
						},
						"ServiceRoleArn": {},
						"SubnetIds": {
							"shape": "Sj"
						},
						"BackupId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Server": {
							"shape": "Ss"
						}
					}
				}
			},
			"DeleteBackup": {
				"input": {
					"type": "structure",
					"required": [
						"BackupId"
					],
					"members": {
						"BackupId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteServer": {
				"input": {
					"type": "structure",
					"required": [
						"ServerName"
					],
					"members": {
						"ServerName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeAccountAttributes": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attributes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"Maximum": {
										"type": "integer"
									},
									"Used": {
										"type": "integer"
									}
								}
							}
						}
					}
				}
			},
			"DescribeBackups": {
				"input": {
					"type": "structure",
					"members": {
						"BackupId": {},
						"ServerName": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Backups": {
							"type": "list",
							"member": {
								"shape": "Sd"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"required": [
						"ServerName"
					],
					"members": {
						"ServerName": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ServerEvents": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"CreatedAt": {
										"type": "timestamp"
									},
									"ServerName": {},
									"Message": {},
									"LogUrl": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeNodeAssociationStatus": {
				"input": {
					"type": "structure",
					"required": [
						"NodeAssociationStatusToken",
						"ServerName"
					],
					"members": {
						"NodeAssociationStatusToken": {},
						"ServerName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NodeAssociationStatus": {}
					}
				}
			},
			"DescribeServers": {
				"input": {
					"type": "structure",
					"members": {
						"ServerName": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Servers": {
							"type": "list",
							"member": {
								"shape": "Ss"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DisassociateNode": {
				"input": {
					"type": "structure",
					"required": [
						"ServerName",
						"NodeName"
					],
					"members": {
						"ServerName": {},
						"NodeName": {},
						"EngineAttributes": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NodeAssociationStatusToken": {}
					}
				}
			},
			"RestoreServer": {
				"input": {
					"type": "structure",
					"required": [
						"BackupId",
						"ServerName"
					],
					"members": {
						"BackupId": {},
						"ServerName": {},
						"InstanceType": {},
						"KeyPair": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"StartMaintenance": {
				"input": {
					"type": "structure",
					"required": [
						"ServerName"
					],
					"members": {
						"ServerName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Server": {
							"shape": "Ss"
						}
					}
				}
			},
			"UpdateServer": {
				"input": {
					"type": "structure",
					"required": [
						"ServerName"
					],
					"members": {
						"DisableAutomatedBackup": {
							"type": "boolean"
						},
						"BackupRetentionCount": {
							"type": "integer"
						},
						"ServerName": {},
						"PreferredMaintenanceWindow": {},
						"PreferredBackupWindow": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Server": {
							"shape": "Ss"
						}
					}
				}
			},
			"UpdateServerEngineAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"ServerName",
						"AttributeName"
					],
					"members": {
						"ServerName": {},
						"AttributeName": {},
						"AttributeValue": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Server": {
							"shape": "Ss"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Name": {},
						"Value": {
							"type": "string",
							"sensitive": true
						}
					}
				}
			},
			"Sd": {
				"type": "structure",
				"members": {
					"BackupArn": {},
					"BackupId": {},
					"BackupType": {},
					"CreatedAt": {
						"type": "timestamp"
					},
					"Description": {},
					"Engine": {},
					"EngineModel": {},
					"EngineVersion": {},
					"InstanceProfileArn": {},
					"InstanceType": {},
					"KeyPair": {},
					"PreferredBackupWindow": {},
					"PreferredMaintenanceWindow": {},
					"S3DataSize": {
						"deprecated": true,
						"type": "integer"
					},
					"S3DataUrl": {
						"deprecated": true
					},
					"S3LogUrl": {},
					"SecurityGroupIds": {
						"shape": "Sj"
					},
					"ServerName": {},
					"ServiceRoleArn": {},
					"Status": {},
					"StatusDescription": {},
					"SubnetIds": {
						"shape": "Sj"
					},
					"ToolsVersion": {},
					"UserArn": {}
				}
			},
			"Sj": {
				"type": "list",
				"member": {}
			},
			"Ss": {
				"type": "structure",
				"members": {
					"AssociatePublicIpAddress": {
						"type": "boolean"
					},
					"BackupRetentionCount": {
						"type": "integer"
					},
					"ServerName": {},
					"CreatedAt": {
						"type": "timestamp"
					},
					"CloudFormationStackArn": {},
					"DisableAutomatedBackup": {
						"type": "boolean"
					},
					"Endpoint": {},
					"Engine": {},
					"EngineModel": {},
					"EngineAttributes": {
						"shape": "S4"
					},
					"EngineVersion": {},
					"InstanceProfileArn": {},
					"InstanceType": {},
					"KeyPair": {},
					"MaintenanceStatus": {},
					"PreferredMaintenanceWindow": {},
					"PreferredBackupWindow": {},
					"SecurityGroupIds": {
						"shape": "Sj"
					},
					"ServiceRoleArn": {},
					"Status": {},
					"StatusReason": {},
					"SubnetIds": {
						"shape": "Sj"
					},
					"ServerArn": {}
				}
			}
		}
	};

/***/ }),
/* 532 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 533 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['organizations'] = {};
	AWS.Organizations = Service.defineService('organizations', ['2016-11-28']);
	Object.defineProperty(apiLoader.services['organizations'], '2016-11-28', {
	  get: function get() {
	    var model = __webpack_require__(534);
	    model.paginators = __webpack_require__(535).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Organizations;


/***/ }),
/* 534 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-11-28",
			"endpointPrefix": "organizations",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Organizations",
			"serviceFullName": "AWS Organizations",
			"signatureVersion": "v4",
			"targetPrefix": "AWSOrganizationsV20161128",
			"timestampFormat": "unixTimestamp",
			"uid": "organizations-2016-11-28"
		},
		"operations": {
			"AcceptHandshake": {
				"input": {
					"type": "structure",
					"required": [
						"HandshakeId"
					],
					"members": {
						"HandshakeId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Handshake": {
							"shape": "S4"
						}
					}
				}
			},
			"AttachPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyId",
						"TargetId"
					],
					"members": {
						"PolicyId": {},
						"TargetId": {}
					}
				}
			},
			"CancelHandshake": {
				"input": {
					"type": "structure",
					"required": [
						"HandshakeId"
					],
					"members": {
						"HandshakeId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Handshake": {
							"shape": "S4"
						}
					}
				}
			},
			"CreateAccount": {
				"input": {
					"type": "structure",
					"required": [
						"Email",
						"AccountName"
					],
					"members": {
						"Email": {
							"shape": "Sn"
						},
						"AccountName": {
							"shape": "So"
						},
						"RoleName": {},
						"IamUserAccessToBilling": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CreateAccountStatus": {
							"shape": "Ss"
						}
					}
				}
			},
			"CreateOrganization": {
				"input": {
					"type": "structure",
					"members": {
						"FeatureSet": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Organization": {
							"shape": "S10"
						}
					}
				}
			},
			"CreateOrganizationalUnit": {
				"input": {
					"type": "structure",
					"required": [
						"ParentId",
						"Name"
					],
					"members": {
						"ParentId": {},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"OrganizationalUnit": {
							"shape": "S1c"
						}
					}
				}
			},
			"CreatePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"Content",
						"Description",
						"Name",
						"Type"
					],
					"members": {
						"Content": {},
						"Description": {},
						"Name": {},
						"Type": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Policy": {
							"shape": "S1k"
						}
					}
				}
			},
			"DeclineHandshake": {
				"input": {
					"type": "structure",
					"required": [
						"HandshakeId"
					],
					"members": {
						"HandshakeId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Handshake": {
							"shape": "S4"
						}
					}
				}
			},
			"DeleteOrganization": {},
			"DeleteOrganizationalUnit": {
				"input": {
					"type": "structure",
					"required": [
						"OrganizationalUnitId"
					],
					"members": {
						"OrganizationalUnitId": {}
					}
				}
			},
			"DeletePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyId"
					],
					"members": {
						"PolicyId": {}
					}
				}
			},
			"DescribeAccount": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId"
					],
					"members": {
						"AccountId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Account": {
							"shape": "S1u"
						}
					}
				}
			},
			"DescribeCreateAccountStatus": {
				"input": {
					"type": "structure",
					"required": [
						"CreateAccountRequestId"
					],
					"members": {
						"CreateAccountRequestId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CreateAccountStatus": {
							"shape": "Ss"
						}
					}
				}
			},
			"DescribeHandshake": {
				"input": {
					"type": "structure",
					"required": [
						"HandshakeId"
					],
					"members": {
						"HandshakeId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Handshake": {
							"shape": "S4"
						}
					}
				}
			},
			"DescribeOrganization": {
				"output": {
					"type": "structure",
					"members": {
						"Organization": {
							"shape": "S10"
						}
					}
				}
			},
			"DescribeOrganizationalUnit": {
				"input": {
					"type": "structure",
					"required": [
						"OrganizationalUnitId"
					],
					"members": {
						"OrganizationalUnitId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"OrganizationalUnit": {
							"shape": "S1c"
						}
					}
				}
			},
			"DescribePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyId"
					],
					"members": {
						"PolicyId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Policy": {
							"shape": "S1k"
						}
					}
				}
			},
			"DetachPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyId",
						"TargetId"
					],
					"members": {
						"PolicyId": {},
						"TargetId": {}
					}
				}
			},
			"DisablePolicyType": {
				"input": {
					"type": "structure",
					"required": [
						"RootId",
						"PolicyType"
					],
					"members": {
						"RootId": {},
						"PolicyType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Root": {
							"shape": "S2a"
						}
					}
				}
			},
			"EnableAllFeatures": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"Handshake": {
							"shape": "S4"
						}
					}
				}
			},
			"EnablePolicyType": {
				"input": {
					"type": "structure",
					"required": [
						"RootId",
						"PolicyType"
					],
					"members": {
						"RootId": {},
						"PolicyType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Root": {
							"shape": "S2a"
						}
					}
				}
			},
			"InviteAccountToOrganization": {
				"input": {
					"type": "structure",
					"required": [
						"Target"
					],
					"members": {
						"Target": {
							"shape": "S7"
						},
						"Notes": {
							"type": "string",
							"sensitive": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Handshake": {
							"shape": "S4"
						}
					}
				}
			},
			"LeaveOrganization": {},
			"ListAccounts": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Accounts": {
							"shape": "S2o"
						},
						"NextToken": {}
					}
				}
			},
			"ListAccountsForParent": {
				"input": {
					"type": "structure",
					"required": [
						"ParentId"
					],
					"members": {
						"ParentId": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Accounts": {
							"shape": "S2o"
						},
						"NextToken": {}
					}
				}
			},
			"ListChildren": {
				"input": {
					"type": "structure",
					"required": [
						"ParentId",
						"ChildType"
					],
					"members": {
						"ParentId": {},
						"ChildType": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Children": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Type": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListCreateAccountStatus": {
				"input": {
					"type": "structure",
					"members": {
						"States": {
							"type": "list",
							"member": {}
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CreateAccountStatuses": {
							"type": "list",
							"member": {
								"shape": "Ss"
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListHandshakesForAccount": {
				"input": {
					"type": "structure",
					"members": {
						"Filter": {
							"shape": "S32"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Handshakes": {
							"shape": "S34"
						},
						"NextToken": {}
					}
				}
			},
			"ListHandshakesForOrganization": {
				"input": {
					"type": "structure",
					"members": {
						"Filter": {
							"shape": "S32"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Handshakes": {
							"shape": "S34"
						},
						"NextToken": {}
					}
				}
			},
			"ListOrganizationalUnitsForParent": {
				"input": {
					"type": "structure",
					"required": [
						"ParentId"
					],
					"members": {
						"ParentId": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"OrganizationalUnits": {
							"type": "list",
							"member": {
								"shape": "S1c"
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListParents": {
				"input": {
					"type": "structure",
					"required": [
						"ChildId"
					],
					"members": {
						"ChildId": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Parents": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Type": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"Filter"
					],
					"members": {
						"Filter": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Policies": {
							"shape": "S3h"
						},
						"NextToken": {}
					}
				}
			},
			"ListPoliciesForTarget": {
				"input": {
					"type": "structure",
					"required": [
						"TargetId",
						"Filter"
					],
					"members": {
						"TargetId": {},
						"Filter": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Policies": {
							"shape": "S3h"
						},
						"NextToken": {}
					}
				}
			},
			"ListRoots": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Roots": {
							"type": "list",
							"member": {
								"shape": "S2a"
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListTargetsForPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyId"
					],
					"members": {
						"PolicyId": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Targets": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"TargetId": {},
									"Arn": {},
									"Name": {},
									"Type": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"MoveAccount": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId",
						"SourceParentId",
						"DestinationParentId"
					],
					"members": {
						"AccountId": {},
						"SourceParentId": {},
						"DestinationParentId": {}
					}
				}
			},
			"RemoveAccountFromOrganization": {
				"input": {
					"type": "structure",
					"required": [
						"AccountId"
					],
					"members": {
						"AccountId": {}
					}
				}
			},
			"UpdateOrganizationalUnit": {
				"input": {
					"type": "structure",
					"required": [
						"OrganizationalUnitId"
					],
					"members": {
						"OrganizationalUnitId": {},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"OrganizationalUnit": {
							"shape": "S1c"
						}
					}
				}
			},
			"UpdatePolicy": {
				"input": {
					"type": "structure",
					"required": [
						"PolicyId"
					],
					"members": {
						"PolicyId": {},
						"Name": {},
						"Description": {},
						"Content": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Policy": {
							"shape": "S1k"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"members": {
					"Id": {},
					"Arn": {},
					"Parties": {
						"type": "list",
						"member": {
							"shape": "S7"
						}
					},
					"State": {},
					"RequestedTimestamp": {
						"type": "timestamp"
					},
					"ExpirationTimestamp": {
						"type": "timestamp"
					},
					"Action": {},
					"Resources": {
						"shape": "Sd"
					}
				}
			},
			"S7": {
				"type": "structure",
				"members": {
					"Id": {
						"type": "string",
						"sensitive": true
					},
					"Type": {}
				}
			},
			"Sd": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Value": {
							"type": "string",
							"sensitive": true
						},
						"Type": {},
						"Resources": {
							"shape": "Sd"
						}
					}
				}
			},
			"Sn": {
				"type": "string",
				"sensitive": true
			},
			"So": {
				"type": "string",
				"sensitive": true
			},
			"Ss": {
				"type": "structure",
				"members": {
					"Id": {},
					"AccountName": {
						"shape": "So"
					},
					"State": {},
					"RequestedTimestamp": {
						"type": "timestamp"
					},
					"CompletedTimestamp": {
						"type": "timestamp"
					},
					"AccountId": {},
					"FailureReason": {}
				}
			},
			"S10": {
				"type": "structure",
				"members": {
					"Id": {},
					"Arn": {},
					"FeatureSet": {},
					"MasterAccountArn": {},
					"MasterAccountId": {},
					"MasterAccountEmail": {
						"shape": "Sn"
					},
					"AvailablePolicyTypes": {
						"shape": "S14"
					}
				}
			},
			"S14": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Type": {},
						"Status": {}
					}
				}
			},
			"S1c": {
				"type": "structure",
				"members": {
					"Id": {},
					"Arn": {},
					"Name": {}
				}
			},
			"S1k": {
				"type": "structure",
				"members": {
					"PolicySummary": {
						"shape": "S1l"
					},
					"Content": {}
				}
			},
			"S1l": {
				"type": "structure",
				"members": {
					"Id": {},
					"Arn": {},
					"Name": {},
					"Description": {},
					"Type": {},
					"AwsManaged": {
						"type": "boolean"
					}
				}
			},
			"S1u": {
				"type": "structure",
				"members": {
					"Id": {},
					"Arn": {},
					"Email": {
						"shape": "Sn"
					},
					"Name": {
						"shape": "So"
					},
					"Status": {},
					"JoinedMethod": {},
					"JoinedTimestamp": {
						"type": "timestamp"
					}
				}
			},
			"S2a": {
				"type": "structure",
				"members": {
					"Id": {},
					"Arn": {},
					"Name": {},
					"PolicyTypes": {
						"shape": "S14"
					}
				}
			},
			"S2o": {
				"type": "list",
				"member": {
					"shape": "S1u"
				}
			},
			"S32": {
				"type": "structure",
				"members": {
					"ActionType": {},
					"ParentHandshakeId": {}
				}
			},
			"S34": {
				"type": "list",
				"member": {
					"shape": "S4"
				}
			},
			"S3h": {
				"type": "list",
				"member": {
					"shape": "S1l"
				}
			}
		}
	};

/***/ }),
/* 535 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListAccounts": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListAccountsForParent": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListChildren": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListCreateAccountStatus": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListHandshakesForAccount": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListHandshakesForOrganization": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListOrganizationalUnitsForParent": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListParents": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListPolicies": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListPoliciesForTarget": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListRoots": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListTargetsForPolicy": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			}
		}
	};

/***/ }),
/* 536 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['pinpoint'] = {};
	AWS.Pinpoint = Service.defineService('pinpoint', ['2016-12-01']);
	Object.defineProperty(apiLoader.services['pinpoint'], '2016-12-01', {
	  get: function get() {
	    var model = __webpack_require__(537);
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Pinpoint;


/***/ }),
/* 537 */
/***/ (function(module, exports) {

	module.exports = {
		"metadata": {
			"apiVersion": "2016-12-01",
			"endpointPrefix": "pinpoint",
			"signingName": "mobiletargeting",
			"signatureVersion": "v4",
			"serviceFullName": "Amazon Pinpoint",
			"protocol": "rest-json",
			"jsonVersion": "1.1"
		},
		"operations": {
			"CreateCampaign": {
				"http": {
					"requestUri": "/v1/apps/{application-id}/campaigns",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"WriteCampaignRequest": {
							"shape": "S3"
						}
					},
					"required": [
						"ApplicationId",
						"WriteCampaignRequest"
					],
					"payload": "WriteCampaignRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"CampaignResponse": {
							"shape": "Sj"
						}
					},
					"required": [
						"CampaignResponse"
					],
					"payload": "CampaignResponse"
				}
			},
			"CreateImportJob": {
				"http": {
					"requestUri": "/v1/apps/{application-id}/jobs/import",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"ImportJobRequest": {
							"type": "structure",
							"members": {
								"DefineSegment": {
									"type": "boolean"
								},
								"ExternalId": {},
								"Format": {},
								"RegisterEndpoints": {
									"type": "boolean"
								},
								"RoleArn": {},
								"S3Url": {},
								"SegmentId": {},
								"SegmentName": {}
							}
						}
					},
					"required": [
						"ApplicationId",
						"ImportJobRequest"
					],
					"payload": "ImportJobRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"ImportJobResponse": {
							"shape": "Ss"
						}
					},
					"required": [
						"ImportJobResponse"
					],
					"payload": "ImportJobResponse"
				}
			},
			"CreateSegment": {
				"http": {
					"requestUri": "/v1/apps/{application-id}/segments",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"WriteSegmentRequest": {
							"shape": "Sx"
						}
					},
					"required": [
						"ApplicationId",
						"WriteSegmentRequest"
					],
					"payload": "WriteSegmentRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"SegmentResponse": {
							"shape": "S1b"
						}
					},
					"required": [
						"SegmentResponse"
					],
					"payload": "SegmentResponse"
				}
			},
			"DeleteApnsChannel": {
				"http": {
					"method": "DELETE",
					"requestUri": "/v1/apps/{application-id}/channels/apns",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"APNSChannelResponse": {
							"shape": "S1h"
						}
					},
					"required": [
						"APNSChannelResponse"
					],
					"payload": "APNSChannelResponse"
				}
			},
			"DeleteApnsSandboxChannel": {
				"http": {
					"method": "DELETE",
					"requestUri": "/v1/apps/{application-id}/channels/apns_sandbox",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"APNSSandboxChannelResponse": {
							"shape": "S1k"
						}
					},
					"required": [
						"APNSSandboxChannelResponse"
					],
					"payload": "APNSSandboxChannelResponse"
				}
			},
			"DeleteCampaign": {
				"http": {
					"method": "DELETE",
					"requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"CampaignId": {
							"location": "uri",
							"locationName": "campaign-id"
						}
					},
					"required": [
						"CampaignId",
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"CampaignResponse": {
							"shape": "Sj"
						}
					},
					"required": [
						"CampaignResponse"
					],
					"payload": "CampaignResponse"
				}
			},
			"DeleteEmailChannel": {
				"http": {
					"method": "DELETE",
					"requestUri": "/v1/apps/{application-id}/channels/email",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"EmailChannelResponse": {
							"shape": "S1p"
						}
					},
					"required": [
						"EmailChannelResponse"
					],
					"payload": "EmailChannelResponse"
				}
			},
			"DeleteEventStream": {
				"http": {
					"method": "DELETE",
					"requestUri": "/v1/apps/{application-id}/eventstream",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"EventStream": {
							"shape": "S1s"
						}
					},
					"required": [
						"EventStream"
					],
					"payload": "EventStream"
				}
			},
			"DeleteGcmChannel": {
				"http": {
					"method": "DELETE",
					"requestUri": "/v1/apps/{application-id}/channels/gcm",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"GCMChannelResponse": {
							"shape": "S1v"
						}
					},
					"required": [
						"GCMChannelResponse"
					],
					"payload": "GCMChannelResponse"
				}
			},
			"DeleteSegment": {
				"http": {
					"method": "DELETE",
					"requestUri": "/v1/apps/{application-id}/segments/{segment-id}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"SegmentId": {
							"location": "uri",
							"locationName": "segment-id"
						}
					},
					"required": [
						"SegmentId",
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"SegmentResponse": {
							"shape": "S1b"
						}
					},
					"required": [
						"SegmentResponse"
					],
					"payload": "SegmentResponse"
				}
			},
			"DeleteSmsChannel": {
				"http": {
					"method": "DELETE",
					"requestUri": "/v1/apps/{application-id}/channels/sms",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"SMSChannelResponse": {
							"shape": "S20"
						}
					},
					"required": [
						"SMSChannelResponse"
					],
					"payload": "SMSChannelResponse"
				}
			},
			"GetApnsChannel": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/channels/apns",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"APNSChannelResponse": {
							"shape": "S1h"
						}
					},
					"required": [
						"APNSChannelResponse"
					],
					"payload": "APNSChannelResponse"
				}
			},
			"GetApnsSandboxChannel": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/channels/apns_sandbox",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"APNSSandboxChannelResponse": {
							"shape": "S1k"
						}
					},
					"required": [
						"APNSSandboxChannelResponse"
					],
					"payload": "APNSSandboxChannelResponse"
				}
			},
			"GetApplicationSettings": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/settings",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"ApplicationSettingsResource": {
							"shape": "S27"
						}
					},
					"required": [
						"ApplicationSettingsResource"
					],
					"payload": "ApplicationSettingsResource"
				}
			},
			"GetCampaign": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"CampaignId": {
							"location": "uri",
							"locationName": "campaign-id"
						}
					},
					"required": [
						"CampaignId",
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"CampaignResponse": {
							"shape": "Sj"
						}
					},
					"required": [
						"CampaignResponse"
					],
					"payload": "CampaignResponse"
				}
			},
			"GetCampaignActivities": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}/activities",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"CampaignId": {
							"location": "uri",
							"locationName": "campaign-id"
						},
						"PageSize": {
							"location": "querystring",
							"locationName": "page-size"
						},
						"Token": {
							"location": "querystring",
							"locationName": "token"
						}
					},
					"required": [
						"ApplicationId",
						"CampaignId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"ActivitiesResponse": {
							"type": "structure",
							"members": {
								"Item": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"ApplicationId": {},
											"CampaignId": {},
											"End": {},
											"Id": {},
											"Result": {},
											"ScheduledStart": {},
											"Start": {},
											"State": {},
											"SuccessfulEndpointCount": {
												"type": "integer"
											},
											"TimezonesCompletedCount": {
												"type": "integer"
											},
											"TimezonesTotalCount": {
												"type": "integer"
											},
											"TotalEndpointCount": {
												"type": "integer"
											},
											"TreatmentId": {}
										}
									}
								}
							}
						}
					},
					"required": [
						"ActivitiesResponse"
					],
					"payload": "ActivitiesResponse"
				}
			},
			"GetCampaignVersion": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"CampaignId": {
							"location": "uri",
							"locationName": "campaign-id"
						},
						"Version": {
							"location": "uri",
							"locationName": "version"
						}
					},
					"required": [
						"Version",
						"ApplicationId",
						"CampaignId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"CampaignResponse": {
							"shape": "Sj"
						}
					},
					"required": [
						"CampaignResponse"
					],
					"payload": "CampaignResponse"
				}
			},
			"GetCampaignVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"CampaignId": {
							"location": "uri",
							"locationName": "campaign-id"
						},
						"PageSize": {
							"location": "querystring",
							"locationName": "page-size"
						},
						"Token": {
							"location": "querystring",
							"locationName": "token"
						}
					},
					"required": [
						"ApplicationId",
						"CampaignId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"CampaignsResponse": {
							"shape": "S2j"
						}
					},
					"required": [
						"CampaignsResponse"
					],
					"payload": "CampaignsResponse"
				}
			},
			"GetCampaigns": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/campaigns",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"PageSize": {
							"location": "querystring",
							"locationName": "page-size"
						},
						"Token": {
							"location": "querystring",
							"locationName": "token"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"CampaignsResponse": {
							"shape": "S2j"
						}
					},
					"required": [
						"CampaignsResponse"
					],
					"payload": "CampaignsResponse"
				}
			},
			"GetEmailChannel": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/channels/email",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"EmailChannelResponse": {
							"shape": "S1p"
						}
					},
					"required": [
						"EmailChannelResponse"
					],
					"payload": "EmailChannelResponse"
				}
			},
			"GetEndpoint": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/endpoints/{endpoint-id}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"EndpointId": {
							"location": "uri",
							"locationName": "endpoint-id"
						}
					},
					"required": [
						"ApplicationId",
						"EndpointId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"EndpointResponse": {
							"type": "structure",
							"members": {
								"Address": {},
								"ApplicationId": {},
								"Attributes": {
									"shape": "S2s"
								},
								"ChannelType": {},
								"CohortId": {},
								"CreationDate": {},
								"Demographic": {
									"shape": "S2u"
								},
								"EffectiveDate": {},
								"EndpointStatus": {},
								"Id": {},
								"Location": {
									"shape": "S2v"
								},
								"Metrics": {
									"shape": "S2x"
								},
								"OptOut": {},
								"RequestId": {},
								"User": {
									"shape": "S2y"
								},
								"ShardId": {}
							}
						}
					},
					"required": [
						"EndpointResponse"
					],
					"payload": "EndpointResponse"
				}
			},
			"GetEventStream": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/eventstream",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"EventStream": {
							"shape": "S1s"
						}
					},
					"required": [
						"EventStream"
					],
					"payload": "EventStream"
				}
			},
			"GetGcmChannel": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/channels/gcm",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"GCMChannelResponse": {
							"shape": "S1v"
						}
					},
					"required": [
						"GCMChannelResponse"
					],
					"payload": "GCMChannelResponse"
				}
			},
			"GetImportJob": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/jobs/import/{job-id}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"JobId": {
							"location": "uri",
							"locationName": "job-id"
						}
					},
					"required": [
						"ApplicationId",
						"JobId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"ImportJobResponse": {
							"shape": "Ss"
						}
					},
					"required": [
						"ImportJobResponse"
					],
					"payload": "ImportJobResponse"
				}
			},
			"GetImportJobs": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/jobs/import",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"PageSize": {
							"location": "querystring",
							"locationName": "page-size"
						},
						"Token": {
							"location": "querystring",
							"locationName": "token"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"ImportJobsResponse": {
							"shape": "S37"
						}
					},
					"required": [
						"ImportJobsResponse"
					],
					"payload": "ImportJobsResponse"
				}
			},
			"GetSegment": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/segments/{segment-id}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"SegmentId": {
							"location": "uri",
							"locationName": "segment-id"
						}
					},
					"required": [
						"SegmentId",
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"SegmentResponse": {
							"shape": "S1b"
						}
					},
					"required": [
						"SegmentResponse"
					],
					"payload": "SegmentResponse"
				}
			},
			"GetSegmentImportJobs": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/segments/{segment-id}/jobs/import",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"PageSize": {
							"location": "querystring",
							"locationName": "page-size"
						},
						"SegmentId": {
							"location": "uri",
							"locationName": "segment-id"
						},
						"Token": {
							"location": "querystring",
							"locationName": "token"
						}
					},
					"required": [
						"SegmentId",
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"ImportJobsResponse": {
							"shape": "S37"
						}
					},
					"required": [
						"ImportJobsResponse"
					],
					"payload": "ImportJobsResponse"
				}
			},
			"GetSegmentVersion": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"SegmentId": {
							"location": "uri",
							"locationName": "segment-id"
						},
						"Version": {
							"location": "uri",
							"locationName": "version"
						}
					},
					"required": [
						"SegmentId",
						"Version",
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"SegmentResponse": {
							"shape": "S1b"
						}
					},
					"required": [
						"SegmentResponse"
					],
					"payload": "SegmentResponse"
				}
			},
			"GetSegmentVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/segments/{segment-id}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"PageSize": {
							"location": "querystring",
							"locationName": "page-size"
						},
						"SegmentId": {
							"location": "uri",
							"locationName": "segment-id"
						},
						"Token": {
							"location": "querystring",
							"locationName": "token"
						}
					},
					"required": [
						"SegmentId",
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"SegmentsResponse": {
							"shape": "S3h"
						}
					},
					"required": [
						"SegmentsResponse"
					],
					"payload": "SegmentsResponse"
				}
			},
			"GetSegments": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/segments",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"PageSize": {
							"location": "querystring",
							"locationName": "page-size"
						},
						"Token": {
							"location": "querystring",
							"locationName": "token"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"SegmentsResponse": {
							"shape": "S3h"
						}
					},
					"required": [
						"SegmentsResponse"
					],
					"payload": "SegmentsResponse"
				}
			},
			"GetSmsChannel": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/apps/{application-id}/channels/sms",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"SMSChannelResponse": {
							"shape": "S20"
						}
					},
					"required": [
						"SMSChannelResponse"
					],
					"payload": "SMSChannelResponse"
				}
			},
			"PutEventStream": {
				"http": {
					"requestUri": "/v1/apps/{application-id}/eventstream",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"WriteEventStream": {
							"type": "structure",
							"members": {
								"DestinationStreamArn": {},
								"ExternalId": {},
								"RoleArn": {}
							}
						}
					},
					"required": [
						"ApplicationId",
						"WriteEventStream"
					],
					"payload": "WriteEventStream"
				},
				"output": {
					"type": "structure",
					"members": {
						"EventStream": {
							"shape": "S1s"
						}
					},
					"required": [
						"EventStream"
					],
					"payload": "EventStream"
				}
			},
			"SendMessages": {
				"http": {
					"requestUri": "/v1/apps/{application-id}/messages",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"MessageRequest": {
							"type": "structure",
							"members": {
								"Addresses": {
									"type": "map",
									"key": {},
									"value": {
										"type": "structure",
										"members": {
											"BodyOverride": {},
											"ChannelType": {},
											"Context": {
												"shape": "S3u"
											},
											"RawContent": {},
											"Substitutions": {
												"shape": "S2s"
											},
											"TitleOverride": {}
										}
									}
								},
								"Context": {
									"shape": "S3u"
								},
								"MessageConfiguration": {
									"type": "structure",
									"members": {
										"APNSMessage": {
											"type": "structure",
											"members": {
												"Action": {},
												"Badge": {
													"type": "integer"
												},
												"Body": {},
												"Category": {},
												"Data": {
													"shape": "S3u"
												},
												"MediaUrl": {},
												"RawContent": {},
												"SilentPush": {
													"type": "boolean"
												},
												"Sound": {},
												"Substitutions": {
													"shape": "S2s"
												},
												"ThreadId": {},
												"Title": {},
												"Url": {}
											}
										},
										"DefaultMessage": {
											"type": "structure",
											"members": {
												"Body": {},
												"Substitutions": {
													"shape": "S2s"
												}
											}
										},
										"DefaultPushNotificationMessage": {
											"type": "structure",
											"members": {
												"Action": {},
												"Body": {},
												"Data": {
													"shape": "S3u"
												},
												"SilentPush": {
													"type": "boolean"
												},
												"Substitutions": {
													"shape": "S2s"
												},
												"Title": {},
												"Url": {}
											}
										},
										"GCMMessage": {
											"type": "structure",
											"members": {
												"Action": {},
												"Body": {},
												"CollapseKey": {},
												"Data": {
													"shape": "S3u"
												},
												"IconReference": {},
												"ImageIconUrl": {},
												"ImageUrl": {},
												"RawContent": {},
												"RestrictedPackageName": {},
												"SilentPush": {
													"type": "boolean"
												},
												"SmallImageIconUrl": {},
												"Sound": {},
												"Substitutions": {
													"shape": "S2s"
												},
												"Title": {},
												"Url": {}
											}
										},
										"SMSMessage": {
											"type": "structure",
											"members": {
												"Body": {},
												"MessageType": {},
												"SenderId": {},
												"Substitutions": {
													"shape": "S2s"
												}
											}
										}
									}
								}
							}
						}
					},
					"required": [
						"ApplicationId",
						"MessageRequest"
					],
					"payload": "MessageRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"MessageResponse": {
							"type": "structure",
							"members": {
								"ApplicationId": {},
								"RequestId": {},
								"Result": {
									"type": "map",
									"key": {},
									"value": {
										"type": "structure",
										"members": {
											"DeliveryStatus": {},
											"StatusCode": {
												"type": "integer"
											},
											"StatusMessage": {},
											"UpdatedToken": {}
										}
									}
								}
							}
						}
					},
					"required": [
						"MessageResponse"
					],
					"payload": "MessageResponse"
				}
			},
			"UpdateApnsChannel": {
				"http": {
					"method": "PUT",
					"requestUri": "/v1/apps/{application-id}/channels/apns",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"APNSChannelRequest": {
							"type": "structure",
							"members": {
								"Certificate": {},
								"Enabled": {
									"type": "boolean"
								},
								"PrivateKey": {}
							}
						},
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId",
						"APNSChannelRequest"
					],
					"payload": "APNSChannelRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"APNSChannelResponse": {
							"shape": "S1h"
						}
					},
					"required": [
						"APNSChannelResponse"
					],
					"payload": "APNSChannelResponse"
				}
			},
			"UpdateApnsSandboxChannel": {
				"http": {
					"method": "PUT",
					"requestUri": "/v1/apps/{application-id}/channels/apns_sandbox",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"APNSSandboxChannelRequest": {
							"type": "structure",
							"members": {
								"Certificate": {},
								"Enabled": {
									"type": "boolean"
								},
								"PrivateKey": {}
							}
						},
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						}
					},
					"required": [
						"ApplicationId",
						"APNSSandboxChannelRequest"
					],
					"payload": "APNSSandboxChannelRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"APNSSandboxChannelResponse": {
							"shape": "S1k"
						}
					},
					"required": [
						"APNSSandboxChannelResponse"
					],
					"payload": "APNSSandboxChannelResponse"
				}
			},
			"UpdateApplicationSettings": {
				"http": {
					"method": "PUT",
					"requestUri": "/v1/apps/{application-id}/settings",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"WriteApplicationSettingsRequest": {
							"type": "structure",
							"members": {
								"Limits": {
									"shape": "Sh"
								},
								"QuietTime": {
									"shape": "Sf"
								}
							}
						}
					},
					"required": [
						"ApplicationId",
						"WriteApplicationSettingsRequest"
					],
					"payload": "WriteApplicationSettingsRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"ApplicationSettingsResource": {
							"shape": "S27"
						}
					},
					"required": [
						"ApplicationSettingsResource"
					],
					"payload": "ApplicationSettingsResource"
				}
			},
			"UpdateCampaign": {
				"http": {
					"method": "PUT",
					"requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"CampaignId": {
							"location": "uri",
							"locationName": "campaign-id"
						},
						"WriteCampaignRequest": {
							"shape": "S3"
						}
					},
					"required": [
						"CampaignId",
						"ApplicationId",
						"WriteCampaignRequest"
					],
					"payload": "WriteCampaignRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"CampaignResponse": {
							"shape": "Sj"
						}
					},
					"required": [
						"CampaignResponse"
					],
					"payload": "CampaignResponse"
				}
			},
			"UpdateEmailChannel": {
				"http": {
					"method": "PUT",
					"requestUri": "/v1/apps/{application-id}/channels/email",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"EmailChannelRequest": {
							"type": "structure",
							"members": {
								"Enabled": {
									"type": "boolean"
								},
								"FromAddress": {},
								"Identity": {},
								"RoleArn": {}
							}
						}
					},
					"required": [
						"ApplicationId",
						"EmailChannelRequest"
					],
					"payload": "EmailChannelRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"EmailChannelResponse": {
							"shape": "S1p"
						}
					},
					"required": [
						"EmailChannelResponse"
					],
					"payload": "EmailChannelResponse"
				}
			},
			"UpdateEndpoint": {
				"http": {
					"method": "PUT",
					"requestUri": "/v1/apps/{application-id}/endpoints/{endpoint-id}",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"EndpointId": {
							"location": "uri",
							"locationName": "endpoint-id"
						},
						"EndpointRequest": {
							"type": "structure",
							"members": {
								"Address": {},
								"Attributes": {
									"shape": "S2s"
								},
								"ChannelType": {},
								"Demographic": {
									"shape": "S2u"
								},
								"EffectiveDate": {},
								"EndpointStatus": {},
								"Location": {
									"shape": "S2v"
								},
								"Metrics": {
									"shape": "S2x"
								},
								"OptOut": {},
								"RequestId": {},
								"User": {
									"shape": "S2y"
								}
							}
						}
					},
					"required": [
						"ApplicationId",
						"EndpointId",
						"EndpointRequest"
					],
					"payload": "EndpointRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"MessageBody": {
							"shape": "S4n"
						}
					},
					"required": [
						"MessageBody"
					],
					"payload": "MessageBody"
				}
			},
			"UpdateEndpointsBatch": {
				"http": {
					"method": "PUT",
					"requestUri": "/v1/apps/{application-id}/endpoints",
					"responseCode": 202
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"EndpointBatchRequest": {
							"type": "structure",
							"members": {
								"Item": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Address": {},
											"Attributes": {
												"shape": "S2s"
											},
											"ChannelType": {},
											"Demographic": {
												"shape": "S2u"
											},
											"EffectiveDate": {},
											"EndpointStatus": {},
											"Id": {},
											"Location": {
												"shape": "S2v"
											},
											"Metrics": {
												"shape": "S2x"
											},
											"OptOut": {},
											"RequestId": {},
											"User": {
												"shape": "S2y"
											}
										}
									}
								}
							}
						}
					},
					"required": [
						"ApplicationId",
						"EndpointBatchRequest"
					],
					"payload": "EndpointBatchRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"MessageBody": {
							"shape": "S4n"
						}
					},
					"required": [
						"MessageBody"
					],
					"payload": "MessageBody"
				}
			},
			"UpdateGcmChannel": {
				"http": {
					"method": "PUT",
					"requestUri": "/v1/apps/{application-id}/channels/gcm",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"GCMChannelRequest": {
							"type": "structure",
							"members": {
								"ApiKey": {},
								"Enabled": {
									"type": "boolean"
								}
							}
						}
					},
					"required": [
						"ApplicationId",
						"GCMChannelRequest"
					],
					"payload": "GCMChannelRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"GCMChannelResponse": {
							"shape": "S1v"
						}
					},
					"required": [
						"GCMChannelResponse"
					],
					"payload": "GCMChannelResponse"
				}
			},
			"UpdateSegment": {
				"http": {
					"method": "PUT",
					"requestUri": "/v1/apps/{application-id}/segments/{segment-id}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"SegmentId": {
							"location": "uri",
							"locationName": "segment-id"
						},
						"WriteSegmentRequest": {
							"shape": "Sx"
						}
					},
					"required": [
						"SegmentId",
						"ApplicationId",
						"WriteSegmentRequest"
					],
					"payload": "WriteSegmentRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"SegmentResponse": {
							"shape": "S1b"
						}
					},
					"required": [
						"SegmentResponse"
					],
					"payload": "SegmentResponse"
				}
			},
			"UpdateSmsChannel": {
				"http": {
					"method": "PUT",
					"requestUri": "/v1/apps/{application-id}/channels/sms",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ApplicationId": {
							"location": "uri",
							"locationName": "application-id"
						},
						"SMSChannelRequest": {
							"type": "structure",
							"members": {
								"Enabled": {
									"type": "boolean"
								},
								"SenderId": {}
							}
						}
					},
					"required": [
						"ApplicationId",
						"SMSChannelRequest"
					],
					"payload": "SMSChannelRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"SMSChannelResponse": {
							"shape": "S20"
						}
					},
					"required": [
						"SMSChannelResponse"
					],
					"payload": "SMSChannelResponse"
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "structure",
				"members": {
					"AdditionalTreatments": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"MessageConfiguration": {
									"shape": "S6"
								},
								"Schedule": {
									"shape": "Sd"
								},
								"SizePercent": {
									"type": "integer"
								},
								"TreatmentDescription": {},
								"TreatmentName": {}
							}
						}
					},
					"Description": {},
					"HoldoutPercent": {
						"type": "integer"
					},
					"IsPaused": {
						"type": "boolean"
					},
					"Limits": {
						"shape": "Sh"
					},
					"MessageConfiguration": {
						"shape": "S6"
					},
					"Name": {},
					"Schedule": {
						"shape": "Sd"
					},
					"SegmentId": {},
					"SegmentVersion": {
						"type": "integer"
					},
					"TreatmentDescription": {},
					"TreatmentName": {}
				}
			},
			"S6": {
				"type": "structure",
				"members": {
					"APNSMessage": {
						"shape": "S7"
					},
					"DefaultMessage": {
						"shape": "S7"
					},
					"EmailMessage": {
						"type": "structure",
						"members": {
							"Body": {},
							"HtmlBody": {},
							"Title": {}
						}
					},
					"GCMMessage": {
						"shape": "S7"
					},
					"SMSMessage": {
						"type": "structure",
						"members": {
							"Body": {},
							"MessageType": {},
							"SenderId": {}
						}
					}
				}
			},
			"S7": {
				"type": "structure",
				"members": {
					"Action": {},
					"Body": {},
					"ImageIconUrl": {},
					"ImageSmallIconUrl": {},
					"ImageUrl": {},
					"JsonBody": {},
					"MediaUrl": {},
					"SilentPush": {
						"type": "boolean"
					},
					"Title": {},
					"Url": {}
				}
			},
			"Sd": {
				"type": "structure",
				"members": {
					"EndTime": {},
					"Frequency": {},
					"IsLocalTime": {
						"type": "boolean"
					},
					"QuietTime": {
						"shape": "Sf"
					},
					"StartTime": {},
					"Timezone": {}
				}
			},
			"Sf": {
				"type": "structure",
				"members": {
					"End": {},
					"Start": {}
				}
			},
			"Sh": {
				"type": "structure",
				"members": {
					"Daily": {
						"type": "integer"
					},
					"Total": {
						"type": "integer"
					}
				}
			},
			"Sj": {
				"type": "structure",
				"members": {
					"AdditionalTreatments": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"Id": {},
								"MessageConfiguration": {
									"shape": "S6"
								},
								"Schedule": {
									"shape": "Sd"
								},
								"SizePercent": {
									"type": "integer"
								},
								"State": {
									"shape": "Sm"
								},
								"TreatmentDescription": {},
								"TreatmentName": {}
							}
						}
					},
					"ApplicationId": {},
					"CreationDate": {},
					"DefaultState": {
						"shape": "Sm"
					},
					"Description": {},
					"HoldoutPercent": {
						"type": "integer"
					},
					"Id": {},
					"IsPaused": {
						"type": "boolean"
					},
					"LastModifiedDate": {},
					"Limits": {
						"shape": "Sh"
					},
					"MessageConfiguration": {
						"shape": "S6"
					},
					"Name": {},
					"Schedule": {
						"shape": "Sd"
					},
					"SegmentId": {},
					"SegmentVersion": {
						"type": "integer"
					},
					"State": {
						"shape": "Sm"
					},
					"TreatmentDescription": {},
					"TreatmentName": {},
					"Version": {
						"type": "integer"
					}
				}
			},
			"Sm": {
				"type": "structure",
				"members": {
					"CampaignStatus": {}
				}
			},
			"Ss": {
				"type": "structure",
				"members": {
					"ApplicationId": {},
					"CompletedPieces": {
						"type": "integer"
					},
					"CompletionDate": {},
					"CreationDate": {},
					"Definition": {
						"type": "structure",
						"members": {
							"DefineSegment": {
								"type": "boolean"
							},
							"ExternalId": {},
							"Format": {},
							"RegisterEndpoints": {
								"type": "boolean"
							},
							"RoleArn": {},
							"S3Url": {},
							"SegmentId": {},
							"SegmentName": {}
						}
					},
					"FailedPieces": {
						"type": "integer"
					},
					"Failures": {
						"shape": "Su"
					},
					"Id": {},
					"JobStatus": {},
					"TotalFailures": {
						"type": "integer"
					},
					"TotalPieces": {
						"type": "integer"
					},
					"TotalProcessed": {
						"type": "integer"
					},
					"Type": {}
				}
			},
			"Su": {
				"type": "list",
				"member": {}
			},
			"Sx": {
				"type": "structure",
				"members": {
					"Dimensions": {
						"shape": "Sy"
					},
					"Name": {}
				}
			},
			"Sy": {
				"type": "structure",
				"members": {
					"Attributes": {
						"shape": "Sz"
					},
					"Behavior": {
						"type": "structure",
						"members": {
							"Recency": {
								"type": "structure",
								"members": {
									"Duration": {},
									"RecencyType": {}
								}
							}
						}
					},
					"Demographic": {
						"type": "structure",
						"members": {
							"AppVersion": {
								"shape": "S17"
							},
							"Channel": {
								"shape": "S17"
							},
							"DeviceType": {
								"shape": "S17"
							},
							"Make": {
								"shape": "S17"
							},
							"Model": {
								"shape": "S17"
							},
							"Platform": {
								"shape": "S17"
							}
						}
					},
					"Location": {
						"type": "structure",
						"members": {
							"Country": {
								"shape": "S17"
							}
						}
					},
					"UserAttributes": {
						"shape": "Sz"
					}
				}
			},
			"Sz": {
				"type": "map",
				"key": {},
				"value": {
					"type": "structure",
					"members": {
						"AttributeType": {},
						"Values": {
							"shape": "Su"
						}
					}
				}
			},
			"S17": {
				"type": "structure",
				"members": {
					"DimensionType": {},
					"Values": {
						"shape": "Su"
					}
				}
			},
			"S1b": {
				"type": "structure",
				"members": {
					"ApplicationId": {},
					"CreationDate": {},
					"Dimensions": {
						"shape": "Sy"
					},
					"Id": {},
					"ImportDefinition": {
						"type": "structure",
						"members": {
							"ChannelCounts": {
								"type": "map",
								"key": {},
								"value": {
									"type": "integer"
								}
							},
							"ExternalId": {},
							"Format": {},
							"RoleArn": {},
							"S3Url": {},
							"Size": {
								"type": "integer"
							}
						}
					},
					"LastModifiedDate": {},
					"Name": {},
					"SegmentType": {},
					"Version": {
						"type": "integer"
					}
				}
			},
			"S1h": {
				"type": "structure",
				"members": {
					"ApplicationId": {},
					"CreationDate": {},
					"Enabled": {
						"type": "boolean"
					},
					"Id": {},
					"IsArchived": {
						"type": "boolean"
					},
					"LastModifiedBy": {},
					"LastModifiedDate": {},
					"Platform": {},
					"Version": {
						"type": "integer"
					}
				}
			},
			"S1k": {
				"type": "structure",
				"members": {
					"ApplicationId": {},
					"CreationDate": {},
					"Enabled": {
						"type": "boolean"
					},
					"Id": {},
					"IsArchived": {
						"type": "boolean"
					},
					"LastModifiedBy": {},
					"LastModifiedDate": {},
					"Platform": {},
					"Version": {
						"type": "integer"
					}
				}
			},
			"S1p": {
				"type": "structure",
				"members": {
					"ApplicationId": {},
					"CreationDate": {},
					"Enabled": {
						"type": "boolean"
					},
					"FromAddress": {},
					"Id": {},
					"Identity": {},
					"IsArchived": {
						"type": "boolean"
					},
					"LastModifiedBy": {},
					"LastModifiedDate": {},
					"Platform": {},
					"RoleArn": {},
					"Version": {
						"type": "integer"
					}
				}
			},
			"S1s": {
				"type": "structure",
				"members": {
					"ApplicationId": {},
					"DestinationStreamArn": {},
					"ExternalId": {},
					"LastModifiedDate": {},
					"LastUpdatedBy": {},
					"RoleArn": {}
				}
			},
			"S1v": {
				"type": "structure",
				"members": {
					"ApplicationId": {},
					"CreationDate": {},
					"Credential": {},
					"Enabled": {
						"type": "boolean"
					},
					"Id": {},
					"IsArchived": {
						"type": "boolean"
					},
					"LastModifiedBy": {},
					"LastModifiedDate": {},
					"Platform": {},
					"Version": {
						"type": "integer"
					}
				}
			},
			"S20": {
				"type": "structure",
				"members": {
					"ApplicationId": {},
					"CreationDate": {},
					"Enabled": {
						"type": "boolean"
					},
					"Id": {},
					"IsArchived": {
						"type": "boolean"
					},
					"LastModifiedBy": {},
					"LastModifiedDate": {},
					"Platform": {},
					"SenderId": {},
					"ShortCode": {},
					"Version": {
						"type": "integer"
					}
				}
			},
			"S27": {
				"type": "structure",
				"members": {
					"ApplicationId": {},
					"LastModifiedDate": {},
					"Limits": {
						"shape": "Sh"
					},
					"QuietTime": {
						"shape": "Sf"
					}
				}
			},
			"S2j": {
				"type": "structure",
				"members": {
					"Item": {
						"type": "list",
						"member": {
							"shape": "Sj"
						}
					},
					"NextToken": {}
				}
			},
			"S2s": {
				"type": "map",
				"key": {},
				"value": {
					"shape": "Su"
				}
			},
			"S2u": {
				"type": "structure",
				"members": {
					"AppVersion": {},
					"Locale": {},
					"Make": {},
					"Model": {},
					"ModelVersion": {},
					"Platform": {},
					"PlatformVersion": {},
					"Timezone": {}
				}
			},
			"S2v": {
				"type": "structure",
				"members": {
					"City": {},
					"Country": {},
					"Latitude": {
						"type": "double"
					},
					"Longitude": {
						"type": "double"
					},
					"PostalCode": {},
					"Region": {}
				}
			},
			"S2x": {
				"type": "map",
				"key": {},
				"value": {
					"type": "double"
				}
			},
			"S2y": {
				"type": "structure",
				"members": {
					"UserAttributes": {
						"shape": "S2s"
					},
					"UserId": {}
				}
			},
			"S37": {
				"type": "structure",
				"members": {
					"Item": {
						"type": "list",
						"member": {
							"shape": "Ss"
						}
					},
					"NextToken": {}
				}
			},
			"S3h": {
				"type": "structure",
				"members": {
					"Item": {
						"type": "list",
						"member": {
							"shape": "S1b"
						}
					},
					"NextToken": {}
				}
			},
			"S3u": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S4n": {
				"type": "structure",
				"members": {
					"Message": {},
					"RequestID": {}
				}
			}
		}
	};

/***/ }),
/* 538 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['polly'] = {};
	AWS.Polly = Service.defineService('polly', ['2016-06-10']);
	__webpack_require__(539);
	Object.defineProperty(apiLoader.services['polly'], '2016-06-10', {
	  get: function get() {
	    var model = __webpack_require__(541);
	    model.paginators = __webpack_require__(542).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Polly;


/***/ }),
/* 539 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(540);

/***/ }),
/* 540 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var rest = __webpack_require__(13);

	/**
	 * A presigner object can be used to generate presigned urls for the Polly service.
	 */
	AWS.Polly.Presigner = AWS.util.inherit({
	    /**
	     * Creates a presigner object with a set of configuration options.
	     *
	     * @option options params [map] An optional map of parameters to bind to every
	     *   request sent by this service object.
	     * @option options service [AWS.Polly] An optional pre-configured instance
	     *  of the AWS.Polly service object to use for requests. The object may
	     *  bound parameters used by the presigner.
	     * @see AWS.Polly.constructor
	     */
	    constructor: function Signer(options) {
	        options = options || {};
	        this.options = options;
	        this.service = options.service;
	        this.bindServiceObject(options);
	        this._operations = {};
	    },

	    /**
	     * @api private
	     */
	    bindServiceObject: function bindServiceObject(options) {
	        options = options || {};
	        if (!this.service) {
	            this.service = new AWS.Polly(options);
	        } else {
	            var config = AWS.util.copy(this.service.config);
	            this.service = new this.service.constructor.__super__(config);
	            this.service.config.params = AWS.util.merge(this.service.config.params || {}, options.params);
	        }
	    },

	    /**
	     * @api private
	     */
	    modifyInputMembers: function modifyInputMembers(input) {
	        // make copies of the input so we don't overwrite the api
	        // need to be careful to copy anything we access/modify
	        var modifiedInput = AWS.util.copy(input);
	        modifiedInput.members = AWS.util.copy(input.members);
	        AWS.util.each(input.members, function(name, member) {
	            modifiedInput.members[name] = AWS.util.copy(member);
	            // update location and locationName
	            if (!member.location || member.location === 'body') {
	                modifiedInput.members[name].location = 'querystring';
	                modifiedInput.members[name].locationName = name;
	            }
	        });
	        return modifiedInput;
	    },

	    /**
	     * @api private
	     */
	    convertPostToGet: function convertPostToGet(req) {
	        // convert method
	        req.httpRequest.method = 'GET';

	        var operation = req.service.api.operations[req.operation];
	        // get cached operation input first
	        var input = this._operations[req.operation];
	        if (!input) {
	            // modify the original input
	            this._operations[req.operation] = input = this.modifyInputMembers(operation.input);
	        }

	        var uri = rest.generateURI(req.httpRequest.endpoint.path, operation.httpPath, input, req.params);

	        req.httpRequest.path = uri;
	        req.httpRequest.body = '';

	        // don't need these headers on a GET request
	        delete req.httpRequest.headers['Content-Length'];
	        delete req.httpRequest.headers['Content-Type'];
	    },

	    /**
	     * @overload getSynthesizeSpeechUrl(params = {}, [expires = 3600], [callback])
	     *   Generate a presigned url for {AWS.Polly.synthesizeSpeech}.
	     *   @note You must ensure that you have static or previously resolved
	     *     credentials if you call this method synchronously (with no callback),
	     *     otherwise it may not properly sign the request. If you cannot guarantee
	     *     this (you are using an asynchronous credential provider, i.e., EC2
	     *     IAM roles), you should always call this method with an asynchronous
	     *     callback.
	     *   @param params [map] parameters to pass to the operation. See the {AWS.Polly.synthesizeSpeech}
	     *     operation for the expected operation parameters.
	     *   @param expires [Integer] (3600) the number of seconds to expire the pre-signed URL operation in.
	     *     Defaults to 1 hour.
	     *   @return [string] if called synchronously (with no callback), returns the signed URL.
	     *   @return [null] nothing is returned if a callback is provided.
	     *   @callback callback function (err, url)
	     *     If a callback is supplied, it is called when a signed URL has been generated.
	     *     @param err [Error] the error object returned from the presigner.
	     *     @param url [String] the signed URL.
	     *   @see AWS.Polly.synthesizeSpeech
	     */
	    getSynthesizeSpeechUrl: function getSynthesizeSpeechUrl(params, expires, callback) {
	        var self = this;
	        var request = this.service.makeRequest('synthesizeSpeech', params);
	        // remove existing build listeners
	        request.removeAllListeners('build');
	        request.on('build', function(req) {
	            self.convertPostToGet(req);
	        });
	        return request.presign(expires, callback);
	    }
	});


/***/ }),
/* 541 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-06-10",
			"endpointPrefix": "polly",
			"protocol": "rest-json",
			"serviceFullName": "Amazon Polly",
			"signatureVersion": "v4",
			"uid": "polly-2016-06-10"
		},
		"operations": {
			"DeleteLexicon": {
				"http": {
					"method": "DELETE",
					"requestUri": "/v1/lexicons/{LexiconName}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {
							"shape": "S2",
							"location": "uri",
							"locationName": "LexiconName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeVoices": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/voices",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"LanguageCode": {
							"location": "querystring",
							"locationName": "LanguageCode"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Voices": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Gender": {},
									"Id": {},
									"LanguageCode": {},
									"LanguageName": {},
									"Name": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"GetLexicon": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/lexicons/{LexiconName}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {
							"shape": "S2",
							"location": "uri",
							"locationName": "LexiconName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Lexicon": {
							"type": "structure",
							"members": {
								"Content": {},
								"Name": {
									"shape": "S2"
								}
							}
						},
						"LexiconAttributes": {
							"shape": "Si"
						}
					}
				}
			},
			"ListLexicons": {
				"http": {
					"method": "GET",
					"requestUri": "/v1/lexicons",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Lexicons": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {
										"shape": "S2"
									},
									"Attributes": {
										"shape": "Si"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"PutLexicon": {
				"http": {
					"method": "PUT",
					"requestUri": "/v1/lexicons/{LexiconName}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Content"
					],
					"members": {
						"Name": {
							"shape": "S2",
							"location": "uri",
							"locationName": "LexiconName"
						},
						"Content": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"SynthesizeSpeech": {
				"http": {
					"requestUri": "/v1/speech",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"OutputFormat",
						"Text",
						"VoiceId"
					],
					"members": {
						"LexiconNames": {
							"type": "list",
							"member": {
								"shape": "S2"
							}
						},
						"OutputFormat": {},
						"SampleRate": {},
						"SpeechMarkTypes": {
							"type": "list",
							"member": {}
						},
						"Text": {},
						"TextType": {},
						"VoiceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AudioStream": {
							"type": "blob",
							"streaming": true
						},
						"ContentType": {
							"location": "header",
							"locationName": "Content-Type"
						},
						"RequestCharacters": {
							"location": "header",
							"locationName": "x-amzn-RequestCharacters",
							"type": "integer"
						}
					},
					"payload": "AudioStream"
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "string",
				"sensitive": true
			},
			"Si": {
				"type": "structure",
				"members": {
					"Alphabet": {},
					"LanguageCode": {},
					"LastModified": {
						"type": "timestamp"
					},
					"LexiconArn": {},
					"LexemesCount": {
						"type": "integer"
					},
					"Size": {
						"type": "integer"
					}
				}
			}
		}
	};

/***/ }),
/* 542 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 543 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['rds'] = {};
	AWS.RDS = Service.defineService('rds', ['2013-01-10', '2013-02-12', '2013-09-09', '2014-09-01', '2014-09-01*', '2014-10-31']);
	__webpack_require__(544);
	Object.defineProperty(apiLoader.services['rds'], '2013-01-10', {
	  get: function get() {
	    var model = __webpack_require__(546);
	    model.paginators = __webpack_require__(547).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});
	Object.defineProperty(apiLoader.services['rds'], '2013-02-12', {
	  get: function get() {
	    var model = __webpack_require__(548);
	    model.paginators = __webpack_require__(549).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});
	Object.defineProperty(apiLoader.services['rds'], '2013-09-09', {
	  get: function get() {
	    var model = __webpack_require__(550);
	    model.paginators = __webpack_require__(551).pagination;
	    model.waiters = __webpack_require__(552).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});
	Object.defineProperty(apiLoader.services['rds'], '2014-09-01', {
	  get: function get() {
	    var model = __webpack_require__(553);
	    model.paginators = __webpack_require__(554).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});
	Object.defineProperty(apiLoader.services['rds'], '2014-10-31', {
	  get: function get() {
	    var model = __webpack_require__(555);
	    model.paginators = __webpack_require__(556).pagination;
	    model.waiters = __webpack_require__(557).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.RDS;


/***/ }),
/* 544 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	__webpack_require__(545);
	 /**
	  * @api private
	  */
	 var crossRegionOperations = ['copyDBSnapshot', 'createDBInstanceReadReplica', 'createDBCluster', 'copyDBClusterSnapshot'];

	 AWS.util.update(AWS.RDS.prototype, {
	   /**
	    * @api private
	    */
	   setupRequestListeners: function setupRequestListeners(request) {
	     if (crossRegionOperations.indexOf(request.operation) !== -1 &&
	         request.params.SourceRegion) {
	       request.params = AWS.util.copy(request.params);
	       if (request.params.PreSignedUrl ||
	           request.params.SourceRegion === this.config.region) {
	         delete request.params.SourceRegion;
	       } else {
	         var doesParamValidation = !!this.config.paramValidation;
	         // remove the validate parameters listener so we can re-add it after we build the URL
	         if (doesParamValidation) {
	           request.removeListener('validate', AWS.EventListeners.Core.VALIDATE_PARAMETERS);
	         }
	         request.onAsync('validate', this.buildCrossRegionPresignedUrl);
	         if (doesParamValidation) {
	           request.addListener('validate', AWS.EventListeners.Core.VALIDATE_PARAMETERS);
	         }
	       }
	     }
	   },

	   /**
	    * @api private
	    */
	   buildCrossRegionPresignedUrl: function buildCrossRegionPresignedUrl(req, done) {
	     var config = AWS.util.copy(req.service.config);
	     config.region = req.params.SourceRegion;
	     delete req.params.SourceRegion;
	     delete config.endpoint;
	     // relevant params for the operation will already be in req.params
	     delete config.params;
	     config.signatureVersion = 'v4';
	     var destinationRegion = req.service.config.region;

	     var svc = new req.service.constructor(config);
	     var newReq = svc[req.operation](AWS.util.copy(req.params));
	     newReq.on('build', function addDestinationRegionParam(request) {
	       var httpRequest = request.httpRequest;
	       httpRequest.params.DestinationRegion = destinationRegion;
	       httpRequest.body = AWS.util.queryParamsToString(httpRequest.params);
	     });
	     newReq.presign(function(err, url) {
	       if (err) done(err);
	       else {
	         req.params.PreSignedUrl = url;
	         done();
	       }
	     });
	   }
	 });

/***/ }),
/* 545 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	/**
	 * @api private
	 */
	var service = null;

	/**
	 * @api private
	 */
	var api = {
	    signatureVersion: 'v4',
	    signingName: 'rds-db'
	};

	/**
	 * @api private
	 */
	var requiredAuthTokenOptions = {
	    region: 'string',
	    hostname: 'string',
	    port: 'number',
	    username: 'string'
	};

	/**
	 * A signer object can be used to generate an auth token to a database.
	 */
	AWS.RDS.Signer = AWS.util.inherit({
	    /**
	     * Creates a signer object can be used to generate an auth token.
	     *
	     * @option options credentials [AWS.Credentials] the AWS credentials
	     *   to sign requests with. Uses the default credential provider chain
	     *   if not specified.
	     * @option options hostname [String] the hostname of the database to connect to.
	     * @option options port [Number] the port number the database is listening on.
	     * @option options region [String] the region the database is located in.
	     * @option options username [String] the username to login as.
	     * @example Passing in options to constructor
	     *   var signer = new AWS.RDS.Signer({
	     *     credentials: new AWS.SharedIniFileCredentials({profile: 'default'}),
	     *     region: 'us-east-1',
	     *     hostname: 'db.us-east-1.rds.amazonaws.com',
	     *     port: 8000,
	     *     username: 'name'
	     *   });
	     */
	    constructor: function Signer(options) {
	        this.options = options || {};
	    },

	    /**
	     * @api private
	     * Strips the protocol from a url.
	     */
	    convertUrlToAuthToken: function convertUrlToAuthToken(url) {
	        // we are always using https as the protocol
	        var protocol = 'https://';
	        if (url.indexOf(protocol) === 0) {
	            return url.substring(protocol.length);
	        }
	    },

	    /**
	     * @overload getAuthToken(options = {}, [callback])
	     *   Generate an auth token to a database.
	     *   @note You must ensure that you have static or previously resolved
	     *     credentials if you call this method synchronously (with no callback),
	     *     otherwise it may not properly sign the request. If you cannot guarantee
	     *     this (you are using an asynchronous credential provider, i.e., EC2
	     *     IAM roles), you should always call this method with an asynchronous
	     *     callback.
	     *
	     *   @param options [map] The fields to use when generating an auth token.
	     *     Any options specified here will be merged on top of any options passed
	     *     to AWS.RDS.Signer:
	     *
	     *     * **credentials** (AWS.Credentials) &mdash; the AWS credentials
	     *         to sign requests with. Uses the default credential provider chain
	     *         if not specified.
	     *     * **hostname** (String) &mdash; the hostname of the database to connect to.
	     *     * **port** (Number) &mdash; the port number the database is listening on.
	     *     * **region** (String) &mdash; the region the database is located in.
	     *     * **username** (String) &mdash; the username to login as.
	     *   @return [String] if called synchronously (with no callback), returns the
	     *     auth token.
	     *   @return [null] nothing is returned if a callback is provided.
	     *   @callback callback function (err, token)
	     *     If a callback is supplied, it is called when an auth token has been generated.
	     *     @param err [Error] the error object returned from the signer.
	     *     @param token [String] the auth token.
	     *
	     *   @example Generating an auth token synchronously
	     *     var signer = new AWS.RDS.Signer({
	     *       // configure options
	     *       region: 'us-east-1',
	     *       username: 'default',
	     *       hostname: 'db.us-east-1.amazonaws.com',
	     *       port: 8000
	     *     });
	     *     var token = signer.getAuthToken({
	     *       // these options are merged with those defined when creating the signer, overriding in the case of a duplicate option
	     *       // credentials are not specified here or when creating the signer, so default credential provider will be used
	     *       username: 'test' // overriding username
	     *     });
	     *   @example Generating an auth token asynchronously
	     *     var signer = new AWS.RDS.Signer({
	     *       // configure options
	     *       region: 'us-east-1',
	     *       username: 'default',
	     *       hostname: 'db.us-east-1.amazonaws.com',
	     *       port: 8000
	     *     });
	     *     signer.getAuthToken({
	     *       // these options are merged with those defined when creating the signer, overriding in the case of a duplicate option
	     *       // credentials are not specified here or when creating the signer, so default credential provider will be used
	     *       username: 'test' // overriding username
	     *     }, function(err, token) {
	     *       if (err) {
	     *         // handle error
	     *       } else {
	     *         // use token
	     *       }
	     *     });
	     *
	     */
	    getAuthToken: function getAuthToken(options, callback) {
	        if (typeof options === 'function' && callback === undefined) {
	            callback = options;
	            options = {};
	        }
	        var self = this;
	        var hasCallback = typeof callback === 'function';
	        // merge options with existing options
	        options = AWS.util.merge(this.options, options);
	        // validate options
	        var optionsValidation = this.validateAuthTokenOptions(options);
	        if (optionsValidation !== true) {
	            if (hasCallback) {
	                return callback(optionsValidation, null);
	            }
	            throw optionsValidation;
	        }

	        // 15 minutes
	        var expires = 900;
	        // create service to generate a request from
	        var serviceOptions = {
	            region: options.region,
	            endpoint: new AWS.Endpoint(options.hostname + ':' + options.port),
	            paramValidation: false,
	            signatureVersion: 'v4'
	        };
	        if (options.credentials) {
	            serviceOptions.credentials = options.credentials;
	        }
	        service = new AWS.Service(serviceOptions);
	        // ensure the SDK is using sigv4 signing (config is not enough)
	        service.api = api;

	        var request = service.makeRequest();
	        // add listeners to request to properly build auth token
	        this.modifyRequestForAuthToken(request, options);

	        if (hasCallback) {
	            request.presign(expires, function(err, url) {
	                if (url) {
	                    url = self.convertUrlToAuthToken(url);
	                }
	                callback(err, url);
	            });
	        } else {
	            var url = request.presign(expires);
	            return this.convertUrlToAuthToken(url);
	        }
	    },

	    /**
	     * @api private
	     * Modifies a request to allow the presigner to generate an auth token.
	     */
	    modifyRequestForAuthToken: function modifyRequestForAuthToken(request, options) {
	        request.on('build', request.buildAsGet);
	        var httpRequest = request.httpRequest;
	        httpRequest.body = AWS.util.queryParamsToString({
	            Action: 'connect',
	            DBUser: options.username
	        });
	    },

	    /**
	     * @api private
	     * Validates that the options passed in contain all the keys with values of the correct type that
	     *   are needed to generate an auth token.
	     */
	    validateAuthTokenOptions: function validateAuthTokenOptions(options) {
	        // iterate over all keys in options
	        var message = '';
	        options = options || {};
	        for (var key in requiredAuthTokenOptions) {
	            if (!Object.prototype.hasOwnProperty.call(requiredAuthTokenOptions, key)) {
	                continue;
	            }
	            if (typeof options[key] !== requiredAuthTokenOptions[key]) {
	                message += 'option \'' + key + '\' should have been type \'' + requiredAuthTokenOptions[key] + '\', was \'' + typeof options[key] + '\'.\n';
	            }
	        }
	        if (message.length) {
	            return AWS.util.error(new Error(), {
	                code: 'InvalidParameter',
	                message: message
	            });
	        }
	        return true;
	    }
	});

/***/ }),
/* 546 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2013-01-10",
			"endpointPrefix": "rds",
			"protocol": "query",
			"serviceAbbreviation": "Amazon RDS",
			"serviceFullName": "Amazon Relational Database Service",
			"signatureVersion": "v4",
			"uid": "rds-2013-01-10",
			"xmlNamespace": "http://rds.amazonaws.com/doc/2013-01-10/"
		},
		"operations": {
			"AddSourceIdentifierToSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SourceIdentifier"
					],
					"members": {
						"SubscriptionName": {},
						"SourceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "AddSourceIdentifierToSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"AddTagsToResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"Tags"
					],
					"members": {
						"ResourceName": {},
						"Tags": {
							"shape": "S9"
						}
					}
				}
			},
			"AuthorizeDBSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupId": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "AuthorizeDBSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			},
			"CopyDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBSnapshotIdentifier",
						"TargetDBSnapshotIdentifier"
					],
					"members": {
						"SourceDBSnapshotIdentifier": {},
						"TargetDBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "CopyDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sk"
						}
					}
				}
			},
			"CreateDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"AllocatedStorage",
						"DBInstanceClass",
						"Engine",
						"MasterUsername",
						"MasterUserPassword"
					],
					"members": {
						"DBName": {},
						"DBInstanceIdentifier": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"DBInstanceClass": {},
						"Engine": {},
						"MasterUsername": {},
						"MasterUserPassword": {},
						"DBSecurityGroups": {
							"shape": "Sp"
						},
						"VpcSecurityGroupIds": {
							"shape": "Sq"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"PreferredMaintenanceWindow": {},
						"DBParameterGroupName": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {},
						"Port": {
							"type": "integer"
						},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"CharacterSetName": {},
						"PubliclyAccessible": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"CreateDBInstanceReadReplica": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"SourceDBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"SourceDBInstanceIdentifier": {},
						"DBInstanceClass": {},
						"AvailabilityZone": {},
						"Port": {
							"type": "integer"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"PubliclyAccessible": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBInstanceReadReplicaResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"CreateDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName",
						"DBParameterGroupFamily",
						"Description"
					],
					"members": {
						"DBParameterGroupName": {},
						"DBParameterGroupFamily": {},
						"Description": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDBParameterGroupResult",
					"type": "structure",
					"members": {
						"DBParameterGroup": {
							"shape": "S1c"
						}
					}
				}
			},
			"CreateDBSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName",
						"DBSecurityGroupDescription"
					],
					"members": {
						"DBSecurityGroupName": {},
						"DBSecurityGroupDescription": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSecurityGroupResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			},
			"CreateDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier",
						"DBInstanceIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {},
						"DBInstanceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sk"
						}
					}
				}
			},
			"CreateDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName",
						"DBSubnetGroupDescription",
						"SubnetIds"
					],
					"members": {
						"DBSubnetGroupName": {},
						"DBSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S1i"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSubnetGroupResult",
					"type": "structure",
					"members": {
						"DBSubnetGroup": {
							"shape": "S11"
						}
					}
				}
			},
			"CreateEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SnsTopicArn"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "S6"
						},
						"SourceIds": {
							"shape": "S5"
						},
						"Enabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"CreateOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName",
						"EngineName",
						"MajorEngineVersion",
						"OptionGroupDescription"
					],
					"members": {
						"OptionGroupName": {},
						"EngineName": {},
						"MajorEngineVersion": {},
						"OptionGroupDescription": {}
					}
				},
				"output": {
					"resultWrapper": "CreateOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "S1o"
						}
					}
				}
			},
			"DeleteDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"SkipFinalSnapshot": {
							"type": "boolean"
						},
						"FinalDBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"DeleteDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {}
					}
				}
			},
			"DeleteDBSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {}
					}
				}
			},
			"DeleteDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sk"
						}
					}
				}
			},
			"DeleteDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName"
					],
					"members": {
						"DBSubnetGroupName": {}
					}
				}
			},
			"DeleteEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"DeleteOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName"
					],
					"members": {
						"OptionGroupName": {}
					}
				}
			},
			"DescribeDBEngineVersions": {
				"input": {
					"type": "structure",
					"members": {
						"Engine": {},
						"EngineVersion": {},
						"DBParameterGroupFamily": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"DefaultOnly": {
							"type": "boolean"
						},
						"ListSupportedCharacterSets": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBEngineVersionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBEngineVersions": {
							"type": "list",
							"member": {
								"locationName": "DBEngineVersion",
								"type": "structure",
								"members": {
									"Engine": {},
									"EngineVersion": {},
									"DBParameterGroupFamily": {},
									"DBEngineDescription": {},
									"DBEngineVersionDescription": {},
									"DefaultCharacterSet": {
										"shape": "S25"
									},
									"SupportedCharacterSets": {
										"type": "list",
										"member": {
											"shape": "S25",
											"locationName": "CharacterSet"
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeDBInstances": {
				"input": {
					"type": "structure",
					"members": {
						"DBInstanceIdentifier": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBInstancesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBInstances": {
							"type": "list",
							"member": {
								"shape": "St",
								"locationName": "DBInstance"
							}
						}
					}
				}
			},
			"DescribeDBParameterGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBParameterGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBParameterGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBParameterGroups": {
							"type": "list",
							"member": {
								"shape": "S1c",
								"locationName": "DBParameterGroup"
							}
						}
					}
				}
			},
			"DescribeDBParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {},
						"Source": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBParametersResult",
					"type": "structure",
					"members": {
						"Parameters": {
							"shape": "S2f"
						},
						"Marker": {}
					}
				}
			},
			"DescribeDBSecurityGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBSecurityGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSecurityGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSecurityGroups": {
							"type": "list",
							"member": {
								"shape": "Sd",
								"locationName": "DBSecurityGroup"
							}
						}
					}
				}
			},
			"DescribeDBSnapshots": {
				"input": {
					"type": "structure",
					"members": {
						"DBInstanceIdentifier": {},
						"DBSnapshotIdentifier": {},
						"SnapshotType": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSnapshotsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSnapshots": {
							"type": "list",
							"member": {
								"shape": "Sk",
								"locationName": "DBSnapshot"
							}
						}
					}
				}
			},
			"DescribeDBSubnetGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBSubnetGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSubnetGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSubnetGroups": {
							"type": "list",
							"member": {
								"shape": "S11",
								"locationName": "DBSubnetGroup"
							}
						}
					}
				}
			},
			"DescribeEngineDefaultParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupFamily"
					],
					"members": {
						"DBParameterGroupFamily": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEngineDefaultParametersResult",
					"type": "structure",
					"members": {
						"EngineDefaults": {
							"type": "structure",
							"members": {
								"DBParameterGroupFamily": {},
								"Marker": {},
								"Parameters": {
									"shape": "S2f"
								}
							},
							"wrapper": true
						}
					}
				}
			},
			"DescribeEventCategories": {
				"input": {
					"type": "structure",
					"members": {
						"SourceType": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventCategoriesResult",
					"type": "structure",
					"members": {
						"EventCategoriesMapList": {
							"type": "list",
							"member": {
								"locationName": "EventCategoriesMap",
								"type": "structure",
								"members": {
									"SourceType": {},
									"EventCategories": {
										"shape": "S6"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DescribeEventSubscriptions": {
				"input": {
					"type": "structure",
					"members": {
						"SubscriptionName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventSubscriptionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"EventSubscriptionsList": {
							"type": "list",
							"member": {
								"shape": "S4",
								"locationName": "EventSubscription"
							}
						}
					}
				}
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"members": {
						"SourceIdentifier": {},
						"SourceType": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Duration": {
							"type": "integer"
						},
						"EventCategories": {
							"shape": "S6"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"Events": {
							"type": "list",
							"member": {
								"locationName": "Event",
								"type": "structure",
								"members": {
									"SourceIdentifier": {},
									"SourceType": {},
									"Message": {},
									"EventCategories": {
										"shape": "S6"
									},
									"Date": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeOptionGroupOptions": {
				"input": {
					"type": "structure",
					"required": [
						"EngineName"
					],
					"members": {
						"EngineName": {},
						"MajorEngineVersion": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOptionGroupOptionsResult",
					"type": "structure",
					"members": {
						"OptionGroupOptions": {
							"type": "list",
							"member": {
								"locationName": "OptionGroupOption",
								"type": "structure",
								"members": {
									"Name": {},
									"Description": {},
									"EngineName": {},
									"MajorEngineVersion": {},
									"MinimumRequiredMinorEngineVersion": {},
									"PortRequired": {
										"type": "boolean"
									},
									"DefaultPort": {
										"type": "integer"
									},
									"OptionsDependedOn": {
										"type": "list",
										"member": {
											"locationName": "OptionName"
										}
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeOptionGroups": {
				"input": {
					"type": "structure",
					"members": {
						"OptionGroupName": {},
						"Marker": {},
						"MaxRecords": {
							"type": "integer"
						},
						"EngineName": {},
						"MajorEngineVersion": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOptionGroupsResult",
					"type": "structure",
					"members": {
						"OptionGroupsList": {
							"type": "list",
							"member": {
								"shape": "S1o",
								"locationName": "OptionGroup"
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeOrderableDBInstanceOptions": {
				"input": {
					"type": "structure",
					"required": [
						"Engine"
					],
					"members": {
						"Engine": {},
						"EngineVersion": {},
						"DBInstanceClass": {},
						"LicenseModel": {},
						"Vpc": {
							"type": "boolean"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOrderableDBInstanceOptionsResult",
					"type": "structure",
					"members": {
						"OrderableDBInstanceOptions": {
							"type": "list",
							"member": {
								"locationName": "OrderableDBInstanceOption",
								"type": "structure",
								"members": {
									"Engine": {},
									"EngineVersion": {},
									"DBInstanceClass": {},
									"LicenseModel": {},
									"AvailabilityZones": {
										"type": "list",
										"member": {
											"shape": "S14",
											"locationName": "AvailabilityZone"
										}
									},
									"MultiAZCapable": {
										"type": "boolean"
									},
									"ReadReplicaCapable": {
										"type": "boolean"
									},
									"Vpc": {
										"type": "boolean"
									}
								},
								"wrapper": true
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeReservedDBInstances": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedDBInstanceId": {},
						"ReservedDBInstancesOfferingId": {},
						"DBInstanceClass": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedDBInstancesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedDBInstances": {
							"type": "list",
							"member": {
								"shape": "S3m",
								"locationName": "ReservedDBInstance"
							}
						}
					}
				}
			},
			"DescribeReservedDBInstancesOfferings": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedDBInstancesOfferingId": {},
						"DBInstanceClass": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedDBInstancesOfferingsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedDBInstancesOfferings": {
							"type": "list",
							"member": {
								"locationName": "ReservedDBInstancesOffering",
								"type": "structure",
								"members": {
									"ReservedDBInstancesOfferingId": {},
									"DBInstanceClass": {},
									"Duration": {
										"type": "integer"
									},
									"FixedPrice": {
										"type": "double"
									},
									"UsagePrice": {
										"type": "double"
									},
									"CurrencyCode": {},
									"ProductDescription": {},
									"OfferingType": {},
									"MultiAZ": {
										"type": "boolean"
									},
									"RecurringCharges": {
										"shape": "S3o"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName"
					],
					"members": {
						"ResourceName": {}
					}
				},
				"output": {
					"resultWrapper": "ListTagsForResourceResult",
					"type": "structure",
					"members": {
						"TagList": {
							"shape": "S9"
						}
					}
				}
			},
			"ModifyDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"DBInstanceClass": {},
						"DBSecurityGroups": {
							"shape": "Sp"
						},
						"VpcSecurityGroupIds": {
							"shape": "Sq"
						},
						"ApplyImmediately": {
							"type": "boolean"
						},
						"MasterUserPassword": {},
						"DBParameterGroupName": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {},
						"PreferredMaintenanceWindow": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AllowMajorVersionUpgrade": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"NewDBInstanceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"ModifyDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName",
						"Parameters"
					],
					"members": {
						"DBParameterGroupName": {},
						"Parameters": {
							"shape": "S2f"
						}
					}
				},
				"output": {
					"shape": "S3z",
					"resultWrapper": "ModifyDBParameterGroupResult"
				}
			},
			"ModifyDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName",
						"SubnetIds"
					],
					"members": {
						"DBSubnetGroupName": {},
						"DBSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S1i"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBSubnetGroupResult",
					"type": "structure",
					"members": {
						"DBSubnetGroup": {
							"shape": "S11"
						}
					}
				}
			},
			"ModifyEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "S6"
						},
						"Enabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"ModifyOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName"
					],
					"members": {
						"OptionGroupName": {},
						"OptionsToInclude": {
							"type": "list",
							"member": {
								"locationName": "OptionConfiguration",
								"type": "structure",
								"required": [
									"OptionName"
								],
								"members": {
									"OptionName": {},
									"Port": {
										"type": "integer"
									},
									"DBSecurityGroupMemberships": {
										"shape": "Sp"
									},
									"VpcSecurityGroupMemberships": {
										"shape": "Sq"
									}
								}
							}
						},
						"OptionsToRemove": {
							"type": "list",
							"member": {}
						},
						"ApplyImmediately": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "S1o"
						}
					}
				}
			},
			"PromoteReadReplica": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {}
					}
				},
				"output": {
					"resultWrapper": "PromoteReadReplicaResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"PurchaseReservedDBInstancesOffering": {
				"input": {
					"type": "structure",
					"required": [
						"ReservedDBInstancesOfferingId"
					],
					"members": {
						"ReservedDBInstancesOfferingId": {},
						"ReservedDBInstanceId": {},
						"DBInstanceCount": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "PurchaseReservedDBInstancesOfferingResult",
					"type": "structure",
					"members": {
						"ReservedDBInstance": {
							"shape": "S3m"
						}
					}
				}
			},
			"RebootDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"ForceFailover": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "RebootDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"RemoveSourceIdentifierFromSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SourceIdentifier"
					],
					"members": {
						"SubscriptionName": {},
						"SourceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "RemoveSourceIdentifierFromSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"RemoveTagsFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"TagKeys"
					],
					"members": {
						"ResourceName": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"ResetDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {},
						"ResetAllParameters": {
							"type": "boolean"
						},
						"Parameters": {
							"shape": "S2f"
						}
					}
				},
				"output": {
					"shape": "S3z",
					"resultWrapper": "ResetDBParameterGroupResult"
				}
			},
			"RestoreDBInstanceFromDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"DBSnapshotIdentifier": {},
						"DBInstanceClass": {},
						"Port": {
							"type": "integer"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"DBName": {},
						"Engine": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBInstanceFromDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"RestoreDBInstanceToPointInTime": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBInstanceIdentifier",
						"TargetDBInstanceIdentifier"
					],
					"members": {
						"SourceDBInstanceIdentifier": {},
						"TargetDBInstanceIdentifier": {},
						"RestoreTime": {
							"type": "timestamp"
						},
						"UseLatestRestorableTime": {
							"type": "boolean"
						},
						"DBInstanceClass": {},
						"Port": {
							"type": "integer"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"DBName": {},
						"Engine": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBInstanceToPointInTimeResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"RevokeDBSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupId": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "RevokeDBSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"members": {
					"Id": {},
					"CustomerAwsId": {},
					"CustSubscriptionId": {},
					"SnsTopicArn": {},
					"Status": {},
					"SubscriptionCreationTime": {},
					"SourceType": {},
					"SourceIdsList": {
						"shape": "S5"
					},
					"EventCategoriesList": {
						"shape": "S6"
					},
					"Enabled": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"S5": {
				"type": "list",
				"member": {
					"locationName": "SourceId"
				}
			},
			"S6": {
				"type": "list",
				"member": {
					"locationName": "EventCategory"
				}
			},
			"S9": {
				"type": "list",
				"member": {
					"locationName": "Tag",
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sd": {
				"type": "structure",
				"members": {
					"OwnerId": {},
					"DBSecurityGroupName": {},
					"DBSecurityGroupDescription": {},
					"VpcId": {},
					"EC2SecurityGroups": {
						"type": "list",
						"member": {
							"locationName": "EC2SecurityGroup",
							"type": "structure",
							"members": {
								"Status": {},
								"EC2SecurityGroupName": {},
								"EC2SecurityGroupId": {},
								"EC2SecurityGroupOwnerId": {}
							}
						}
					},
					"IPRanges": {
						"type": "list",
						"member": {
							"locationName": "IPRange",
							"type": "structure",
							"members": {
								"Status": {},
								"CIDRIP": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"Sk": {
				"type": "structure",
				"members": {
					"DBSnapshotIdentifier": {},
					"DBInstanceIdentifier": {},
					"SnapshotCreateTime": {
						"type": "timestamp"
					},
					"Engine": {},
					"AllocatedStorage": {
						"type": "integer"
					},
					"Status": {},
					"Port": {
						"type": "integer"
					},
					"AvailabilityZone": {},
					"VpcId": {},
					"InstanceCreateTime": {
						"type": "timestamp"
					},
					"MasterUsername": {},
					"EngineVersion": {},
					"LicenseModel": {},
					"SnapshotType": {},
					"Iops": {
						"type": "integer"
					}
				},
				"wrapper": true
			},
			"Sp": {
				"type": "list",
				"member": {
					"locationName": "DBSecurityGroupName"
				}
			},
			"Sq": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupId"
				}
			},
			"St": {
				"type": "structure",
				"members": {
					"DBInstanceIdentifier": {},
					"DBInstanceClass": {},
					"Engine": {},
					"DBInstanceStatus": {},
					"MasterUsername": {},
					"DBName": {},
					"Endpoint": {
						"type": "structure",
						"members": {
							"Address": {},
							"Port": {
								"type": "integer"
							}
						}
					},
					"AllocatedStorage": {
						"type": "integer"
					},
					"InstanceCreateTime": {
						"type": "timestamp"
					},
					"PreferredBackupWindow": {},
					"BackupRetentionPeriod": {
						"type": "integer"
					},
					"DBSecurityGroups": {
						"shape": "Sv"
					},
					"VpcSecurityGroups": {
						"shape": "Sx"
					},
					"DBParameterGroups": {
						"type": "list",
						"member": {
							"locationName": "DBParameterGroup",
							"type": "structure",
							"members": {
								"DBParameterGroupName": {},
								"ParameterApplyStatus": {}
							}
						}
					},
					"AvailabilityZone": {},
					"DBSubnetGroup": {
						"shape": "S11"
					},
					"PreferredMaintenanceWindow": {},
					"PendingModifiedValues": {
						"type": "structure",
						"members": {
							"DBInstanceClass": {},
							"AllocatedStorage": {
								"type": "integer"
							},
							"MasterUserPassword": {},
							"Port": {
								"type": "integer"
							},
							"BackupRetentionPeriod": {
								"type": "integer"
							},
							"MultiAZ": {
								"type": "boolean"
							},
							"EngineVersion": {},
							"Iops": {
								"type": "integer"
							},
							"DBInstanceIdentifier": {}
						}
					},
					"LatestRestorableTime": {
						"type": "timestamp"
					},
					"MultiAZ": {
						"type": "boolean"
					},
					"EngineVersion": {},
					"AutoMinorVersionUpgrade": {
						"type": "boolean"
					},
					"ReadReplicaSourceDBInstanceIdentifier": {},
					"ReadReplicaDBInstanceIdentifiers": {
						"type": "list",
						"member": {
							"locationName": "ReadReplicaDBInstanceIdentifier"
						}
					},
					"LicenseModel": {},
					"Iops": {
						"type": "integer"
					},
					"OptionGroupMembership": {
						"type": "structure",
						"members": {
							"OptionGroupName": {},
							"Status": {}
						}
					},
					"CharacterSetName": {},
					"SecondaryAvailabilityZone": {},
					"PubliclyAccessible": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"Sv": {
				"type": "list",
				"member": {
					"locationName": "DBSecurityGroup",
					"type": "structure",
					"members": {
						"DBSecurityGroupName": {},
						"Status": {}
					}
				}
			},
			"Sx": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupMembership",
					"type": "structure",
					"members": {
						"VpcSecurityGroupId": {},
						"Status": {}
					}
				}
			},
			"S11": {
				"type": "structure",
				"members": {
					"DBSubnetGroupName": {},
					"DBSubnetGroupDescription": {},
					"VpcId": {},
					"SubnetGroupStatus": {},
					"Subnets": {
						"type": "list",
						"member": {
							"locationName": "Subnet",
							"type": "structure",
							"members": {
								"SubnetIdentifier": {},
								"SubnetAvailabilityZone": {
									"shape": "S14"
								},
								"SubnetStatus": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"S14": {
				"type": "structure",
				"members": {
					"Name": {},
					"ProvisionedIopsCapable": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"S1c": {
				"type": "structure",
				"members": {
					"DBParameterGroupName": {},
					"DBParameterGroupFamily": {},
					"Description": {}
				},
				"wrapper": true
			},
			"S1i": {
				"type": "list",
				"member": {
					"locationName": "SubnetIdentifier"
				}
			},
			"S1o": {
				"type": "structure",
				"members": {
					"OptionGroupName": {},
					"OptionGroupDescription": {},
					"EngineName": {},
					"MajorEngineVersion": {},
					"Options": {
						"type": "list",
						"member": {
							"locationName": "Option",
							"type": "structure",
							"members": {
								"OptionName": {},
								"OptionDescription": {},
								"Port": {
									"type": "integer"
								},
								"DBSecurityGroupMemberships": {
									"shape": "Sv"
								},
								"VpcSecurityGroupMemberships": {
									"shape": "Sx"
								}
							}
						}
					},
					"AllowsVpcAndNonVpcInstanceMemberships": {
						"type": "boolean"
					},
					"VpcId": {}
				},
				"wrapper": true
			},
			"S25": {
				"type": "structure",
				"members": {
					"CharacterSetName": {},
					"CharacterSetDescription": {}
				}
			},
			"S2f": {
				"type": "list",
				"member": {
					"locationName": "Parameter",
					"type": "structure",
					"members": {
						"ParameterName": {},
						"ParameterValue": {},
						"Description": {},
						"Source": {},
						"ApplyType": {},
						"DataType": {},
						"AllowedValues": {},
						"IsModifiable": {
							"type": "boolean"
						},
						"MinimumEngineVersion": {},
						"ApplyMethod": {}
					}
				}
			},
			"S3m": {
				"type": "structure",
				"members": {
					"ReservedDBInstanceId": {},
					"ReservedDBInstancesOfferingId": {},
					"DBInstanceClass": {},
					"StartTime": {
						"type": "timestamp"
					},
					"Duration": {
						"type": "integer"
					},
					"FixedPrice": {
						"type": "double"
					},
					"UsagePrice": {
						"type": "double"
					},
					"CurrencyCode": {},
					"DBInstanceCount": {
						"type": "integer"
					},
					"ProductDescription": {},
					"OfferingType": {},
					"MultiAZ": {
						"type": "boolean"
					},
					"State": {},
					"RecurringCharges": {
						"shape": "S3o"
					}
				},
				"wrapper": true
			},
			"S3o": {
				"type": "list",
				"member": {
					"locationName": "RecurringCharge",
					"type": "structure",
					"members": {
						"RecurringChargeAmount": {
							"type": "double"
						},
						"RecurringChargeFrequency": {}
					},
					"wrapper": true
				}
			},
			"S3z": {
				"type": "structure",
				"members": {
					"DBParameterGroupName": {}
				}
			}
		}
	};

/***/ }),
/* 547 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeDBEngineVersions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBEngineVersions"
			},
			"DescribeDBInstances": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBInstances"
			},
			"DescribeDBParameterGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBParameterGroups"
			},
			"DescribeDBParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Parameters"
			},
			"DescribeDBSecurityGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSecurityGroups"
			},
			"DescribeDBSnapshots": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSnapshots"
			},
			"DescribeDBSubnetGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSubnetGroups"
			},
			"DescribeEngineDefaultParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "EngineDefaults.Marker",
				"result_key": "EngineDefaults.Parameters"
			},
			"DescribeEventSubscriptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "EventSubscriptionsList"
			},
			"DescribeEvents": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Events"
			},
			"DescribeOptionGroupOptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OptionGroupOptions"
			},
			"DescribeOptionGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OptionGroupsList"
			},
			"DescribeOrderableDBInstanceOptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OrderableDBInstanceOptions"
			},
			"DescribeReservedDBInstances": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedDBInstances"
			},
			"DescribeReservedDBInstancesOfferings": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedDBInstancesOfferings"
			},
			"ListTagsForResource": {
				"result_key": "TagList"
			}
		}
	};

/***/ }),
/* 548 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2013-02-12",
			"endpointPrefix": "rds",
			"protocol": "query",
			"serviceAbbreviation": "Amazon RDS",
			"serviceFullName": "Amazon Relational Database Service",
			"signatureVersion": "v4",
			"uid": "rds-2013-02-12",
			"xmlNamespace": "http://rds.amazonaws.com/doc/2013-02-12/"
		},
		"operations": {
			"AddSourceIdentifierToSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SourceIdentifier"
					],
					"members": {
						"SubscriptionName": {},
						"SourceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "AddSourceIdentifierToSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"AddTagsToResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"Tags"
					],
					"members": {
						"ResourceName": {},
						"Tags": {
							"shape": "S9"
						}
					}
				}
			},
			"AuthorizeDBSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupId": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "AuthorizeDBSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			},
			"CopyDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBSnapshotIdentifier",
						"TargetDBSnapshotIdentifier"
					],
					"members": {
						"SourceDBSnapshotIdentifier": {},
						"TargetDBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "CopyDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sk"
						}
					}
				}
			},
			"CreateDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"AllocatedStorage",
						"DBInstanceClass",
						"Engine",
						"MasterUsername",
						"MasterUserPassword"
					],
					"members": {
						"DBName": {},
						"DBInstanceIdentifier": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"DBInstanceClass": {},
						"Engine": {},
						"MasterUsername": {},
						"MasterUserPassword": {},
						"DBSecurityGroups": {
							"shape": "Sp"
						},
						"VpcSecurityGroupIds": {
							"shape": "Sq"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"PreferredMaintenanceWindow": {},
						"DBParameterGroupName": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {},
						"Port": {
							"type": "integer"
						},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"CharacterSetName": {},
						"PubliclyAccessible": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"CreateDBInstanceReadReplica": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"SourceDBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"SourceDBInstanceIdentifier": {},
						"DBInstanceClass": {},
						"AvailabilityZone": {},
						"Port": {
							"type": "integer"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"PubliclyAccessible": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBInstanceReadReplicaResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"CreateDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName",
						"DBParameterGroupFamily",
						"Description"
					],
					"members": {
						"DBParameterGroupName": {},
						"DBParameterGroupFamily": {},
						"Description": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDBParameterGroupResult",
					"type": "structure",
					"members": {
						"DBParameterGroup": {
							"shape": "S1d"
						}
					}
				}
			},
			"CreateDBSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName",
						"DBSecurityGroupDescription"
					],
					"members": {
						"DBSecurityGroupName": {},
						"DBSecurityGroupDescription": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSecurityGroupResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			},
			"CreateDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier",
						"DBInstanceIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {},
						"DBInstanceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sk"
						}
					}
				}
			},
			"CreateDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName",
						"DBSubnetGroupDescription",
						"SubnetIds"
					],
					"members": {
						"DBSubnetGroupName": {},
						"DBSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S1j"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSubnetGroupResult",
					"type": "structure",
					"members": {
						"DBSubnetGroup": {
							"shape": "S11"
						}
					}
				}
			},
			"CreateEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SnsTopicArn"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "S6"
						},
						"SourceIds": {
							"shape": "S5"
						},
						"Enabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"CreateOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName",
						"EngineName",
						"MajorEngineVersion",
						"OptionGroupDescription"
					],
					"members": {
						"OptionGroupName": {},
						"EngineName": {},
						"MajorEngineVersion": {},
						"OptionGroupDescription": {}
					}
				},
				"output": {
					"resultWrapper": "CreateOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "S1p"
						}
					}
				}
			},
			"DeleteDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"SkipFinalSnapshot": {
							"type": "boolean"
						},
						"FinalDBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"DeleteDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {}
					}
				}
			},
			"DeleteDBSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {}
					}
				}
			},
			"DeleteDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sk"
						}
					}
				}
			},
			"DeleteDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName"
					],
					"members": {
						"DBSubnetGroupName": {}
					}
				}
			},
			"DeleteEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"DeleteOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName"
					],
					"members": {
						"OptionGroupName": {}
					}
				}
			},
			"DescribeDBEngineVersions": {
				"input": {
					"type": "structure",
					"members": {
						"Engine": {},
						"EngineVersion": {},
						"DBParameterGroupFamily": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"DefaultOnly": {
							"type": "boolean"
						},
						"ListSupportedCharacterSets": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBEngineVersionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBEngineVersions": {
							"type": "list",
							"member": {
								"locationName": "DBEngineVersion",
								"type": "structure",
								"members": {
									"Engine": {},
									"EngineVersion": {},
									"DBParameterGroupFamily": {},
									"DBEngineDescription": {},
									"DBEngineVersionDescription": {},
									"DefaultCharacterSet": {
										"shape": "S28"
									},
									"SupportedCharacterSets": {
										"type": "list",
										"member": {
											"shape": "S28",
											"locationName": "CharacterSet"
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeDBInstances": {
				"input": {
					"type": "structure",
					"members": {
						"DBInstanceIdentifier": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBInstancesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBInstances": {
							"type": "list",
							"member": {
								"shape": "St",
								"locationName": "DBInstance"
							}
						}
					}
				}
			},
			"DescribeDBLogFiles": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"FilenameContains": {},
						"FileLastWritten": {
							"type": "long"
						},
						"FileSize": {
							"type": "long"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBLogFilesResult",
					"type": "structure",
					"members": {
						"DescribeDBLogFiles": {
							"type": "list",
							"member": {
								"locationName": "DescribeDBLogFilesDetails",
								"type": "structure",
								"members": {
									"LogFileName": {},
									"LastWritten": {
										"type": "long"
									},
									"Size": {
										"type": "long"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeDBParameterGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBParameterGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBParameterGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBParameterGroups": {
							"type": "list",
							"member": {
								"shape": "S1d",
								"locationName": "DBParameterGroup"
							}
						}
					}
				}
			},
			"DescribeDBParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {},
						"Source": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBParametersResult",
					"type": "structure",
					"members": {
						"Parameters": {
							"shape": "S2n"
						},
						"Marker": {}
					}
				}
			},
			"DescribeDBSecurityGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBSecurityGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSecurityGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSecurityGroups": {
							"type": "list",
							"member": {
								"shape": "Sd",
								"locationName": "DBSecurityGroup"
							}
						}
					}
				}
			},
			"DescribeDBSnapshots": {
				"input": {
					"type": "structure",
					"members": {
						"DBInstanceIdentifier": {},
						"DBSnapshotIdentifier": {},
						"SnapshotType": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSnapshotsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSnapshots": {
							"type": "list",
							"member": {
								"shape": "Sk",
								"locationName": "DBSnapshot"
							}
						}
					}
				}
			},
			"DescribeDBSubnetGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBSubnetGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSubnetGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSubnetGroups": {
							"type": "list",
							"member": {
								"shape": "S11",
								"locationName": "DBSubnetGroup"
							}
						}
					}
				}
			},
			"DescribeEngineDefaultParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupFamily"
					],
					"members": {
						"DBParameterGroupFamily": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEngineDefaultParametersResult",
					"type": "structure",
					"members": {
						"EngineDefaults": {
							"type": "structure",
							"members": {
								"DBParameterGroupFamily": {},
								"Marker": {},
								"Parameters": {
									"shape": "S2n"
								}
							},
							"wrapper": true
						}
					}
				}
			},
			"DescribeEventCategories": {
				"input": {
					"type": "structure",
					"members": {
						"SourceType": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventCategoriesResult",
					"type": "structure",
					"members": {
						"EventCategoriesMapList": {
							"type": "list",
							"member": {
								"locationName": "EventCategoriesMap",
								"type": "structure",
								"members": {
									"SourceType": {},
									"EventCategories": {
										"shape": "S6"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DescribeEventSubscriptions": {
				"input": {
					"type": "structure",
					"members": {
						"SubscriptionName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventSubscriptionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"EventSubscriptionsList": {
							"type": "list",
							"member": {
								"shape": "S4",
								"locationName": "EventSubscription"
							}
						}
					}
				}
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"members": {
						"SourceIdentifier": {},
						"SourceType": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Duration": {
							"type": "integer"
						},
						"EventCategories": {
							"shape": "S6"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"Events": {
							"type": "list",
							"member": {
								"locationName": "Event",
								"type": "structure",
								"members": {
									"SourceIdentifier": {},
									"SourceType": {},
									"Message": {},
									"EventCategories": {
										"shape": "S6"
									},
									"Date": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeOptionGroupOptions": {
				"input": {
					"type": "structure",
					"required": [
						"EngineName"
					],
					"members": {
						"EngineName": {},
						"MajorEngineVersion": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOptionGroupOptionsResult",
					"type": "structure",
					"members": {
						"OptionGroupOptions": {
							"type": "list",
							"member": {
								"locationName": "OptionGroupOption",
								"type": "structure",
								"members": {
									"Name": {},
									"Description": {},
									"EngineName": {},
									"MajorEngineVersion": {},
									"MinimumRequiredMinorEngineVersion": {},
									"PortRequired": {
										"type": "boolean"
									},
									"DefaultPort": {
										"type": "integer"
									},
									"OptionsDependedOn": {
										"type": "list",
										"member": {
											"locationName": "OptionName"
										}
									},
									"Persistent": {
										"type": "boolean"
									},
									"OptionGroupOptionSettings": {
										"type": "list",
										"member": {
											"locationName": "OptionGroupOptionSetting",
											"type": "structure",
											"members": {
												"SettingName": {},
												"SettingDescription": {},
												"DefaultValue": {},
												"ApplyType": {},
												"AllowedValues": {},
												"IsModifiable": {
													"type": "boolean"
												}
											}
										}
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeOptionGroups": {
				"input": {
					"type": "structure",
					"members": {
						"OptionGroupName": {},
						"Marker": {},
						"MaxRecords": {
							"type": "integer"
						},
						"EngineName": {},
						"MajorEngineVersion": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOptionGroupsResult",
					"type": "structure",
					"members": {
						"OptionGroupsList": {
							"type": "list",
							"member": {
								"shape": "S1p",
								"locationName": "OptionGroup"
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeOrderableDBInstanceOptions": {
				"input": {
					"type": "structure",
					"required": [
						"Engine"
					],
					"members": {
						"Engine": {},
						"EngineVersion": {},
						"DBInstanceClass": {},
						"LicenseModel": {},
						"Vpc": {
							"type": "boolean"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOrderableDBInstanceOptionsResult",
					"type": "structure",
					"members": {
						"OrderableDBInstanceOptions": {
							"type": "list",
							"member": {
								"locationName": "OrderableDBInstanceOption",
								"type": "structure",
								"members": {
									"Engine": {},
									"EngineVersion": {},
									"DBInstanceClass": {},
									"LicenseModel": {},
									"AvailabilityZones": {
										"type": "list",
										"member": {
											"shape": "S14",
											"locationName": "AvailabilityZone"
										}
									},
									"MultiAZCapable": {
										"type": "boolean"
									},
									"ReadReplicaCapable": {
										"type": "boolean"
									},
									"Vpc": {
										"type": "boolean"
									}
								},
								"wrapper": true
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeReservedDBInstances": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedDBInstanceId": {},
						"ReservedDBInstancesOfferingId": {},
						"DBInstanceClass": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedDBInstancesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedDBInstances": {
							"type": "list",
							"member": {
								"shape": "S3w",
								"locationName": "ReservedDBInstance"
							}
						}
					}
				}
			},
			"DescribeReservedDBInstancesOfferings": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedDBInstancesOfferingId": {},
						"DBInstanceClass": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedDBInstancesOfferingsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedDBInstancesOfferings": {
							"type": "list",
							"member": {
								"locationName": "ReservedDBInstancesOffering",
								"type": "structure",
								"members": {
									"ReservedDBInstancesOfferingId": {},
									"DBInstanceClass": {},
									"Duration": {
										"type": "integer"
									},
									"FixedPrice": {
										"type": "double"
									},
									"UsagePrice": {
										"type": "double"
									},
									"CurrencyCode": {},
									"ProductDescription": {},
									"OfferingType": {},
									"MultiAZ": {
										"type": "boolean"
									},
									"RecurringCharges": {
										"shape": "S3y"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DownloadDBLogFilePortion": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"LogFileName"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"LogFileName": {},
						"Marker": {},
						"NumberOfLines": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DownloadDBLogFilePortionResult",
					"type": "structure",
					"members": {
						"LogFileData": {},
						"Marker": {},
						"AdditionalDataPending": {
							"type": "boolean"
						}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName"
					],
					"members": {
						"ResourceName": {}
					}
				},
				"output": {
					"resultWrapper": "ListTagsForResourceResult",
					"type": "structure",
					"members": {
						"TagList": {
							"shape": "S9"
						}
					}
				}
			},
			"ModifyDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"DBInstanceClass": {},
						"DBSecurityGroups": {
							"shape": "Sp"
						},
						"VpcSecurityGroupIds": {
							"shape": "Sq"
						},
						"ApplyImmediately": {
							"type": "boolean"
						},
						"MasterUserPassword": {},
						"DBParameterGroupName": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {},
						"PreferredMaintenanceWindow": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AllowMajorVersionUpgrade": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"NewDBInstanceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"ModifyDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName",
						"Parameters"
					],
					"members": {
						"DBParameterGroupName": {},
						"Parameters": {
							"shape": "S2n"
						}
					}
				},
				"output": {
					"shape": "S4b",
					"resultWrapper": "ModifyDBParameterGroupResult"
				}
			},
			"ModifyDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName",
						"SubnetIds"
					],
					"members": {
						"DBSubnetGroupName": {},
						"DBSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S1j"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBSubnetGroupResult",
					"type": "structure",
					"members": {
						"DBSubnetGroup": {
							"shape": "S11"
						}
					}
				}
			},
			"ModifyEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "S6"
						},
						"Enabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"ModifyOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName"
					],
					"members": {
						"OptionGroupName": {},
						"OptionsToInclude": {
							"type": "list",
							"member": {
								"locationName": "OptionConfiguration",
								"type": "structure",
								"required": [
									"OptionName"
								],
								"members": {
									"OptionName": {},
									"Port": {
										"type": "integer"
									},
									"DBSecurityGroupMemberships": {
										"shape": "Sp"
									},
									"VpcSecurityGroupMemberships": {
										"shape": "Sq"
									},
									"OptionSettings": {
										"type": "list",
										"member": {
											"shape": "S1t",
											"locationName": "OptionSetting"
										}
									}
								}
							}
						},
						"OptionsToRemove": {
							"type": "list",
							"member": {}
						},
						"ApplyImmediately": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "S1p"
						}
					}
				}
			},
			"PromoteReadReplica": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {}
					}
				},
				"output": {
					"resultWrapper": "PromoteReadReplicaResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"PurchaseReservedDBInstancesOffering": {
				"input": {
					"type": "structure",
					"required": [
						"ReservedDBInstancesOfferingId"
					],
					"members": {
						"ReservedDBInstancesOfferingId": {},
						"ReservedDBInstanceId": {},
						"DBInstanceCount": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "PurchaseReservedDBInstancesOfferingResult",
					"type": "structure",
					"members": {
						"ReservedDBInstance": {
							"shape": "S3w"
						}
					}
				}
			},
			"RebootDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"ForceFailover": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "RebootDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"RemoveSourceIdentifierFromSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SourceIdentifier"
					],
					"members": {
						"SubscriptionName": {},
						"SourceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "RemoveSourceIdentifierFromSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"RemoveTagsFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"TagKeys"
					],
					"members": {
						"ResourceName": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"ResetDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {},
						"ResetAllParameters": {
							"type": "boolean"
						},
						"Parameters": {
							"shape": "S2n"
						}
					}
				},
				"output": {
					"shape": "S4b",
					"resultWrapper": "ResetDBParameterGroupResult"
				}
			},
			"RestoreDBInstanceFromDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"DBSnapshotIdentifier": {},
						"DBInstanceClass": {},
						"Port": {
							"type": "integer"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"DBName": {},
						"Engine": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBInstanceFromDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"RestoreDBInstanceToPointInTime": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBInstanceIdentifier",
						"TargetDBInstanceIdentifier"
					],
					"members": {
						"SourceDBInstanceIdentifier": {},
						"TargetDBInstanceIdentifier": {},
						"RestoreTime": {
							"type": "timestamp"
						},
						"UseLatestRestorableTime": {
							"type": "boolean"
						},
						"DBInstanceClass": {},
						"Port": {
							"type": "integer"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"DBName": {},
						"Engine": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBInstanceToPointInTimeResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"RevokeDBSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupId": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "RevokeDBSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"members": {
					"CustomerAwsId": {},
					"CustSubscriptionId": {},
					"SnsTopicArn": {},
					"Status": {},
					"SubscriptionCreationTime": {},
					"SourceType": {},
					"SourceIdsList": {
						"shape": "S5"
					},
					"EventCategoriesList": {
						"shape": "S6"
					},
					"Enabled": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"S5": {
				"type": "list",
				"member": {
					"locationName": "SourceId"
				}
			},
			"S6": {
				"type": "list",
				"member": {
					"locationName": "EventCategory"
				}
			},
			"S9": {
				"type": "list",
				"member": {
					"locationName": "Tag",
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sd": {
				"type": "structure",
				"members": {
					"OwnerId": {},
					"DBSecurityGroupName": {},
					"DBSecurityGroupDescription": {},
					"VpcId": {},
					"EC2SecurityGroups": {
						"type": "list",
						"member": {
							"locationName": "EC2SecurityGroup",
							"type": "structure",
							"members": {
								"Status": {},
								"EC2SecurityGroupName": {},
								"EC2SecurityGroupId": {},
								"EC2SecurityGroupOwnerId": {}
							}
						}
					},
					"IPRanges": {
						"type": "list",
						"member": {
							"locationName": "IPRange",
							"type": "structure",
							"members": {
								"Status": {},
								"CIDRIP": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"Sk": {
				"type": "structure",
				"members": {
					"DBSnapshotIdentifier": {},
					"DBInstanceIdentifier": {},
					"SnapshotCreateTime": {
						"type": "timestamp"
					},
					"Engine": {},
					"AllocatedStorage": {
						"type": "integer"
					},
					"Status": {},
					"Port": {
						"type": "integer"
					},
					"AvailabilityZone": {},
					"VpcId": {},
					"InstanceCreateTime": {
						"type": "timestamp"
					},
					"MasterUsername": {},
					"EngineVersion": {},
					"LicenseModel": {},
					"SnapshotType": {},
					"Iops": {
						"type": "integer"
					},
					"OptionGroupName": {}
				},
				"wrapper": true
			},
			"Sp": {
				"type": "list",
				"member": {
					"locationName": "DBSecurityGroupName"
				}
			},
			"Sq": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupId"
				}
			},
			"St": {
				"type": "structure",
				"members": {
					"DBInstanceIdentifier": {},
					"DBInstanceClass": {},
					"Engine": {},
					"DBInstanceStatus": {},
					"MasterUsername": {},
					"DBName": {},
					"Endpoint": {
						"type": "structure",
						"members": {
							"Address": {},
							"Port": {
								"type": "integer"
							}
						}
					},
					"AllocatedStorage": {
						"type": "integer"
					},
					"InstanceCreateTime": {
						"type": "timestamp"
					},
					"PreferredBackupWindow": {},
					"BackupRetentionPeriod": {
						"type": "integer"
					},
					"DBSecurityGroups": {
						"shape": "Sv"
					},
					"VpcSecurityGroups": {
						"shape": "Sx"
					},
					"DBParameterGroups": {
						"type": "list",
						"member": {
							"locationName": "DBParameterGroup",
							"type": "structure",
							"members": {
								"DBParameterGroupName": {},
								"ParameterApplyStatus": {}
							}
						}
					},
					"AvailabilityZone": {},
					"DBSubnetGroup": {
						"shape": "S11"
					},
					"PreferredMaintenanceWindow": {},
					"PendingModifiedValues": {
						"type": "structure",
						"members": {
							"DBInstanceClass": {},
							"AllocatedStorage": {
								"type": "integer"
							},
							"MasterUserPassword": {},
							"Port": {
								"type": "integer"
							},
							"BackupRetentionPeriod": {
								"type": "integer"
							},
							"MultiAZ": {
								"type": "boolean"
							},
							"EngineVersion": {},
							"Iops": {
								"type": "integer"
							},
							"DBInstanceIdentifier": {}
						}
					},
					"LatestRestorableTime": {
						"type": "timestamp"
					},
					"MultiAZ": {
						"type": "boolean"
					},
					"EngineVersion": {},
					"AutoMinorVersionUpgrade": {
						"type": "boolean"
					},
					"ReadReplicaSourceDBInstanceIdentifier": {},
					"ReadReplicaDBInstanceIdentifiers": {
						"type": "list",
						"member": {
							"locationName": "ReadReplicaDBInstanceIdentifier"
						}
					},
					"LicenseModel": {},
					"Iops": {
						"type": "integer"
					},
					"OptionGroupMemberships": {
						"type": "list",
						"member": {
							"locationName": "OptionGroupMembership",
							"type": "structure",
							"members": {
								"OptionGroupName": {},
								"Status": {}
							}
						}
					},
					"CharacterSetName": {},
					"SecondaryAvailabilityZone": {},
					"PubliclyAccessible": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"Sv": {
				"type": "list",
				"member": {
					"locationName": "DBSecurityGroup",
					"type": "structure",
					"members": {
						"DBSecurityGroupName": {},
						"Status": {}
					}
				}
			},
			"Sx": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupMembership",
					"type": "structure",
					"members": {
						"VpcSecurityGroupId": {},
						"Status": {}
					}
				}
			},
			"S11": {
				"type": "structure",
				"members": {
					"DBSubnetGroupName": {},
					"DBSubnetGroupDescription": {},
					"VpcId": {},
					"SubnetGroupStatus": {},
					"Subnets": {
						"type": "list",
						"member": {
							"locationName": "Subnet",
							"type": "structure",
							"members": {
								"SubnetIdentifier": {},
								"SubnetAvailabilityZone": {
									"shape": "S14"
								},
								"SubnetStatus": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"S14": {
				"type": "structure",
				"members": {
					"Name": {},
					"ProvisionedIopsCapable": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"S1d": {
				"type": "structure",
				"members": {
					"DBParameterGroupName": {},
					"DBParameterGroupFamily": {},
					"Description": {}
				},
				"wrapper": true
			},
			"S1j": {
				"type": "list",
				"member": {
					"locationName": "SubnetIdentifier"
				}
			},
			"S1p": {
				"type": "structure",
				"members": {
					"OptionGroupName": {},
					"OptionGroupDescription": {},
					"EngineName": {},
					"MajorEngineVersion": {},
					"Options": {
						"type": "list",
						"member": {
							"locationName": "Option",
							"type": "structure",
							"members": {
								"OptionName": {},
								"OptionDescription": {},
								"Persistent": {
									"type": "boolean"
								},
								"Port": {
									"type": "integer"
								},
								"OptionSettings": {
									"type": "list",
									"member": {
										"shape": "S1t",
										"locationName": "OptionSetting"
									}
								},
								"DBSecurityGroupMemberships": {
									"shape": "Sv"
								},
								"VpcSecurityGroupMemberships": {
									"shape": "Sx"
								}
							}
						}
					},
					"AllowsVpcAndNonVpcInstanceMemberships": {
						"type": "boolean"
					},
					"VpcId": {}
				},
				"wrapper": true
			},
			"S1t": {
				"type": "structure",
				"members": {
					"Name": {},
					"Value": {},
					"DefaultValue": {},
					"Description": {},
					"ApplyType": {},
					"DataType": {},
					"AllowedValues": {},
					"IsModifiable": {
						"type": "boolean"
					},
					"IsCollection": {
						"type": "boolean"
					}
				}
			},
			"S28": {
				"type": "structure",
				"members": {
					"CharacterSetName": {},
					"CharacterSetDescription": {}
				}
			},
			"S2n": {
				"type": "list",
				"member": {
					"locationName": "Parameter",
					"type": "structure",
					"members": {
						"ParameterName": {},
						"ParameterValue": {},
						"Description": {},
						"Source": {},
						"ApplyType": {},
						"DataType": {},
						"AllowedValues": {},
						"IsModifiable": {
							"type": "boolean"
						},
						"MinimumEngineVersion": {},
						"ApplyMethod": {}
					}
				}
			},
			"S3w": {
				"type": "structure",
				"members": {
					"ReservedDBInstanceId": {},
					"ReservedDBInstancesOfferingId": {},
					"DBInstanceClass": {},
					"StartTime": {
						"type": "timestamp"
					},
					"Duration": {
						"type": "integer"
					},
					"FixedPrice": {
						"type": "double"
					},
					"UsagePrice": {
						"type": "double"
					},
					"CurrencyCode": {},
					"DBInstanceCount": {
						"type": "integer"
					},
					"ProductDescription": {},
					"OfferingType": {},
					"MultiAZ": {
						"type": "boolean"
					},
					"State": {},
					"RecurringCharges": {
						"shape": "S3y"
					}
				},
				"wrapper": true
			},
			"S3y": {
				"type": "list",
				"member": {
					"locationName": "RecurringCharge",
					"type": "structure",
					"members": {
						"RecurringChargeAmount": {
							"type": "double"
						},
						"RecurringChargeFrequency": {}
					},
					"wrapper": true
				}
			},
			"S4b": {
				"type": "structure",
				"members": {
					"DBParameterGroupName": {}
				}
			}
		}
	};

/***/ }),
/* 549 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeDBEngineVersions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBEngineVersions"
			},
			"DescribeDBInstances": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBInstances"
			},
			"DescribeDBLogFiles": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DescribeDBLogFiles"
			},
			"DescribeDBParameterGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBParameterGroups"
			},
			"DescribeDBParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Parameters"
			},
			"DescribeDBSecurityGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSecurityGroups"
			},
			"DescribeDBSnapshots": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSnapshots"
			},
			"DescribeDBSubnetGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSubnetGroups"
			},
			"DescribeEngineDefaultParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "EngineDefaults.Marker",
				"result_key": "EngineDefaults.Parameters"
			},
			"DescribeEventSubscriptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "EventSubscriptionsList"
			},
			"DescribeEvents": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Events"
			},
			"DescribeOptionGroupOptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OptionGroupOptions"
			},
			"DescribeOptionGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OptionGroupsList"
			},
			"DescribeOrderableDBInstanceOptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OrderableDBInstanceOptions"
			},
			"DescribeReservedDBInstances": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedDBInstances"
			},
			"DescribeReservedDBInstancesOfferings": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedDBInstancesOfferings"
			},
			"DownloadDBLogFilePortion": {
				"input_token": "Marker",
				"limit_key": "NumberOfLines",
				"more_results": "AdditionalDataPending",
				"output_token": "Marker",
				"result_key": "LogFileData"
			},
			"ListTagsForResource": {
				"result_key": "TagList"
			}
		}
	};

/***/ }),
/* 550 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2013-09-09",
			"endpointPrefix": "rds",
			"protocol": "query",
			"serviceAbbreviation": "Amazon RDS",
			"serviceFullName": "Amazon Relational Database Service",
			"signatureVersion": "v4",
			"uid": "rds-2013-09-09",
			"xmlNamespace": "http://rds.amazonaws.com/doc/2013-09-09/"
		},
		"operations": {
			"AddSourceIdentifierToSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SourceIdentifier"
					],
					"members": {
						"SubscriptionName": {},
						"SourceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "AddSourceIdentifierToSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"AddTagsToResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"Tags"
					],
					"members": {
						"ResourceName": {},
						"Tags": {
							"shape": "S9"
						}
					}
				}
			},
			"AuthorizeDBSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupId": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "AuthorizeDBSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			},
			"CopyDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBSnapshotIdentifier",
						"TargetDBSnapshotIdentifier"
					],
					"members": {
						"SourceDBSnapshotIdentifier": {},
						"TargetDBSnapshotIdentifier": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CopyDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sk"
						}
					}
				}
			},
			"CreateDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"AllocatedStorage",
						"DBInstanceClass",
						"Engine",
						"MasterUsername",
						"MasterUserPassword"
					],
					"members": {
						"DBName": {},
						"DBInstanceIdentifier": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"DBInstanceClass": {},
						"Engine": {},
						"MasterUsername": {},
						"MasterUserPassword": {},
						"DBSecurityGroups": {
							"shape": "Sp"
						},
						"VpcSecurityGroupIds": {
							"shape": "Sq"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"PreferredMaintenanceWindow": {},
						"DBParameterGroupName": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {},
						"Port": {
							"type": "integer"
						},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"CharacterSetName": {},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"CreateDBInstanceReadReplica": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"SourceDBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"SourceDBInstanceIdentifier": {},
						"DBInstanceClass": {},
						"AvailabilityZone": {},
						"Port": {
							"type": "integer"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "S9"
						},
						"DBSubnetGroupName": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDBInstanceReadReplicaResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"CreateDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName",
						"DBParameterGroupFamily",
						"Description"
					],
					"members": {
						"DBParameterGroupName": {},
						"DBParameterGroupFamily": {},
						"Description": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBParameterGroupResult",
					"type": "structure",
					"members": {
						"DBParameterGroup": {
							"shape": "S1f"
						}
					}
				}
			},
			"CreateDBSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName",
						"DBSecurityGroupDescription"
					],
					"members": {
						"DBSecurityGroupName": {},
						"DBSecurityGroupDescription": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSecurityGroupResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			},
			"CreateDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier",
						"DBInstanceIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {},
						"DBInstanceIdentifier": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sk"
						}
					}
				}
			},
			"CreateDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName",
						"DBSubnetGroupDescription",
						"SubnetIds"
					],
					"members": {
						"DBSubnetGroupName": {},
						"DBSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S1l"
						},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSubnetGroupResult",
					"type": "structure",
					"members": {
						"DBSubnetGroup": {
							"shape": "S11"
						}
					}
				}
			},
			"CreateEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SnsTopicArn"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "S6"
						},
						"SourceIds": {
							"shape": "S5"
						},
						"Enabled": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"CreateOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName",
						"EngineName",
						"MajorEngineVersion",
						"OptionGroupDescription"
					],
					"members": {
						"OptionGroupName": {},
						"EngineName": {},
						"MajorEngineVersion": {},
						"OptionGroupDescription": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "S1r"
						}
					}
				}
			},
			"DeleteDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"SkipFinalSnapshot": {
							"type": "boolean"
						},
						"FinalDBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"DeleteDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {}
					}
				}
			},
			"DeleteDBSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {}
					}
				}
			},
			"DeleteDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sk"
						}
					}
				}
			},
			"DeleteDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName"
					],
					"members": {
						"DBSubnetGroupName": {}
					}
				}
			},
			"DeleteEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"DeleteOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName"
					],
					"members": {
						"OptionGroupName": {}
					}
				}
			},
			"DescribeDBEngineVersions": {
				"input": {
					"type": "structure",
					"members": {
						"Engine": {},
						"EngineVersion": {},
						"DBParameterGroupFamily": {},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"DefaultOnly": {
							"type": "boolean"
						},
						"ListSupportedCharacterSets": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBEngineVersionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBEngineVersions": {
							"type": "list",
							"member": {
								"locationName": "DBEngineVersion",
								"type": "structure",
								"members": {
									"Engine": {},
									"EngineVersion": {},
									"DBParameterGroupFamily": {},
									"DBEngineDescription": {},
									"DBEngineVersionDescription": {},
									"DefaultCharacterSet": {
										"shape": "S2d"
									},
									"SupportedCharacterSets": {
										"type": "list",
										"member": {
											"shape": "S2d",
											"locationName": "CharacterSet"
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeDBInstances": {
				"input": {
					"type": "structure",
					"members": {
						"DBInstanceIdentifier": {},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBInstancesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBInstances": {
							"type": "list",
							"member": {
								"shape": "St",
								"locationName": "DBInstance"
							}
						}
					}
				}
			},
			"DescribeDBLogFiles": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"FilenameContains": {},
						"FileLastWritten": {
							"type": "long"
						},
						"FileSize": {
							"type": "long"
						},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBLogFilesResult",
					"type": "structure",
					"members": {
						"DescribeDBLogFiles": {
							"type": "list",
							"member": {
								"locationName": "DescribeDBLogFilesDetails",
								"type": "structure",
								"members": {
									"LogFileName": {},
									"LastWritten": {
										"type": "long"
									},
									"Size": {
										"type": "long"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeDBParameterGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBParameterGroupName": {},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBParameterGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBParameterGroups": {
							"type": "list",
							"member": {
								"shape": "S1f",
								"locationName": "DBParameterGroup"
							}
						}
					}
				}
			},
			"DescribeDBParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {},
						"Source": {},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBParametersResult",
					"type": "structure",
					"members": {
						"Parameters": {
							"shape": "S2s"
						},
						"Marker": {}
					}
				}
			},
			"DescribeDBSecurityGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBSecurityGroupName": {},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSecurityGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSecurityGroups": {
							"type": "list",
							"member": {
								"shape": "Sd",
								"locationName": "DBSecurityGroup"
							}
						}
					}
				}
			},
			"DescribeDBSnapshots": {
				"input": {
					"type": "structure",
					"members": {
						"DBInstanceIdentifier": {},
						"DBSnapshotIdentifier": {},
						"SnapshotType": {},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSnapshotsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSnapshots": {
							"type": "list",
							"member": {
								"shape": "Sk",
								"locationName": "DBSnapshot"
							}
						}
					}
				}
			},
			"DescribeDBSubnetGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBSubnetGroupName": {},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSubnetGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSubnetGroups": {
							"type": "list",
							"member": {
								"shape": "S11",
								"locationName": "DBSubnetGroup"
							}
						}
					}
				}
			},
			"DescribeEngineDefaultParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupFamily"
					],
					"members": {
						"DBParameterGroupFamily": {},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEngineDefaultParametersResult",
					"type": "structure",
					"members": {
						"EngineDefaults": {
							"type": "structure",
							"members": {
								"DBParameterGroupFamily": {},
								"Marker": {},
								"Parameters": {
									"shape": "S2s"
								}
							},
							"wrapper": true
						}
					}
				}
			},
			"DescribeEventCategories": {
				"input": {
					"type": "structure",
					"members": {
						"SourceType": {},
						"Filters": {
							"shape": "S27"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventCategoriesResult",
					"type": "structure",
					"members": {
						"EventCategoriesMapList": {
							"type": "list",
							"member": {
								"locationName": "EventCategoriesMap",
								"type": "structure",
								"members": {
									"SourceType": {},
									"EventCategories": {
										"shape": "S6"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DescribeEventSubscriptions": {
				"input": {
					"type": "structure",
					"members": {
						"SubscriptionName": {},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventSubscriptionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"EventSubscriptionsList": {
							"type": "list",
							"member": {
								"shape": "S4",
								"locationName": "EventSubscription"
							}
						}
					}
				}
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"members": {
						"SourceIdentifier": {},
						"SourceType": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Duration": {
							"type": "integer"
						},
						"EventCategories": {
							"shape": "S6"
						},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"Events": {
							"type": "list",
							"member": {
								"locationName": "Event",
								"type": "structure",
								"members": {
									"SourceIdentifier": {},
									"SourceType": {},
									"Message": {},
									"EventCategories": {
										"shape": "S6"
									},
									"Date": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeOptionGroupOptions": {
				"input": {
					"type": "structure",
					"required": [
						"EngineName"
					],
					"members": {
						"EngineName": {},
						"MajorEngineVersion": {},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOptionGroupOptionsResult",
					"type": "structure",
					"members": {
						"OptionGroupOptions": {
							"type": "list",
							"member": {
								"locationName": "OptionGroupOption",
								"type": "structure",
								"members": {
									"Name": {},
									"Description": {},
									"EngineName": {},
									"MajorEngineVersion": {},
									"MinimumRequiredMinorEngineVersion": {},
									"PortRequired": {
										"type": "boolean"
									},
									"DefaultPort": {
										"type": "integer"
									},
									"OptionsDependedOn": {
										"type": "list",
										"member": {
											"locationName": "OptionName"
										}
									},
									"Persistent": {
										"type": "boolean"
									},
									"Permanent": {
										"type": "boolean"
									},
									"OptionGroupOptionSettings": {
										"type": "list",
										"member": {
											"locationName": "OptionGroupOptionSetting",
											"type": "structure",
											"members": {
												"SettingName": {},
												"SettingDescription": {},
												"DefaultValue": {},
												"ApplyType": {},
												"AllowedValues": {},
												"IsModifiable": {
													"type": "boolean"
												}
											}
										}
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeOptionGroups": {
				"input": {
					"type": "structure",
					"members": {
						"OptionGroupName": {},
						"Filters": {
							"shape": "S27"
						},
						"Marker": {},
						"MaxRecords": {
							"type": "integer"
						},
						"EngineName": {},
						"MajorEngineVersion": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOptionGroupsResult",
					"type": "structure",
					"members": {
						"OptionGroupsList": {
							"type": "list",
							"member": {
								"shape": "S1r",
								"locationName": "OptionGroup"
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeOrderableDBInstanceOptions": {
				"input": {
					"type": "structure",
					"required": [
						"Engine"
					],
					"members": {
						"Engine": {},
						"EngineVersion": {},
						"DBInstanceClass": {},
						"LicenseModel": {},
						"Vpc": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOrderableDBInstanceOptionsResult",
					"type": "structure",
					"members": {
						"OrderableDBInstanceOptions": {
							"type": "list",
							"member": {
								"locationName": "OrderableDBInstanceOption",
								"type": "structure",
								"members": {
									"Engine": {},
									"EngineVersion": {},
									"DBInstanceClass": {},
									"LicenseModel": {},
									"AvailabilityZones": {
										"type": "list",
										"member": {
											"shape": "S14",
											"locationName": "AvailabilityZone"
										}
									},
									"MultiAZCapable": {
										"type": "boolean"
									},
									"ReadReplicaCapable": {
										"type": "boolean"
									},
									"Vpc": {
										"type": "boolean"
									}
								},
								"wrapper": true
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeReservedDBInstances": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedDBInstanceId": {},
						"ReservedDBInstancesOfferingId": {},
						"DBInstanceClass": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedDBInstancesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedDBInstances": {
							"type": "list",
							"member": {
								"shape": "S41",
								"locationName": "ReservedDBInstance"
							}
						}
					}
				}
			},
			"DescribeReservedDBInstancesOfferings": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedDBInstancesOfferingId": {},
						"DBInstanceClass": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S27"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedDBInstancesOfferingsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedDBInstancesOfferings": {
							"type": "list",
							"member": {
								"locationName": "ReservedDBInstancesOffering",
								"type": "structure",
								"members": {
									"ReservedDBInstancesOfferingId": {},
									"DBInstanceClass": {},
									"Duration": {
										"type": "integer"
									},
									"FixedPrice": {
										"type": "double"
									},
									"UsagePrice": {
										"type": "double"
									},
									"CurrencyCode": {},
									"ProductDescription": {},
									"OfferingType": {},
									"MultiAZ": {
										"type": "boolean"
									},
									"RecurringCharges": {
										"shape": "S43"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DownloadDBLogFilePortion": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"LogFileName"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"LogFileName": {},
						"Marker": {},
						"NumberOfLines": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DownloadDBLogFilePortionResult",
					"type": "structure",
					"members": {
						"LogFileData": {},
						"Marker": {},
						"AdditionalDataPending": {
							"type": "boolean"
						}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName"
					],
					"members": {
						"ResourceName": {},
						"Filters": {
							"shape": "S27"
						}
					}
				},
				"output": {
					"resultWrapper": "ListTagsForResourceResult",
					"type": "structure",
					"members": {
						"TagList": {
							"shape": "S9"
						}
					}
				}
			},
			"ModifyDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"DBInstanceClass": {},
						"DBSecurityGroups": {
							"shape": "Sp"
						},
						"VpcSecurityGroupIds": {
							"shape": "Sq"
						},
						"ApplyImmediately": {
							"type": "boolean"
						},
						"MasterUserPassword": {},
						"DBParameterGroupName": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {},
						"PreferredMaintenanceWindow": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AllowMajorVersionUpgrade": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"NewDBInstanceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"ModifyDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName",
						"Parameters"
					],
					"members": {
						"DBParameterGroupName": {},
						"Parameters": {
							"shape": "S2s"
						}
					}
				},
				"output": {
					"shape": "S4g",
					"resultWrapper": "ModifyDBParameterGroupResult"
				}
			},
			"ModifyDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName",
						"SubnetIds"
					],
					"members": {
						"DBSubnetGroupName": {},
						"DBSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S1l"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBSubnetGroupResult",
					"type": "structure",
					"members": {
						"DBSubnetGroup": {
							"shape": "S11"
						}
					}
				}
			},
			"ModifyEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "S6"
						},
						"Enabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"ModifyOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName"
					],
					"members": {
						"OptionGroupName": {},
						"OptionsToInclude": {
							"type": "list",
							"member": {
								"locationName": "OptionConfiguration",
								"type": "structure",
								"required": [
									"OptionName"
								],
								"members": {
									"OptionName": {},
									"Port": {
										"type": "integer"
									},
									"DBSecurityGroupMemberships": {
										"shape": "Sp"
									},
									"VpcSecurityGroupMemberships": {
										"shape": "Sq"
									},
									"OptionSettings": {
										"type": "list",
										"member": {
											"shape": "S1v",
											"locationName": "OptionSetting"
										}
									}
								}
							}
						},
						"OptionsToRemove": {
							"type": "list",
							"member": {}
						},
						"ApplyImmediately": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "S1r"
						}
					}
				}
			},
			"PromoteReadReplica": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {}
					}
				},
				"output": {
					"resultWrapper": "PromoteReadReplicaResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"PurchaseReservedDBInstancesOffering": {
				"input": {
					"type": "structure",
					"required": [
						"ReservedDBInstancesOfferingId"
					],
					"members": {
						"ReservedDBInstancesOfferingId": {},
						"ReservedDBInstanceId": {},
						"DBInstanceCount": {
							"type": "integer"
						},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "PurchaseReservedDBInstancesOfferingResult",
					"type": "structure",
					"members": {
						"ReservedDBInstance": {
							"shape": "S41"
						}
					}
				}
			},
			"RebootDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"ForceFailover": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "RebootDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"RemoveSourceIdentifierFromSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SourceIdentifier"
					],
					"members": {
						"SubscriptionName": {},
						"SourceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "RemoveSourceIdentifierFromSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"RemoveTagsFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"TagKeys"
					],
					"members": {
						"ResourceName": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"ResetDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {},
						"ResetAllParameters": {
							"type": "boolean"
						},
						"Parameters": {
							"shape": "S2s"
						}
					}
				},
				"output": {
					"shape": "S4g",
					"resultWrapper": "ResetDBParameterGroupResult"
				}
			},
			"RestoreDBInstanceFromDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"DBSnapshotIdentifier": {},
						"DBInstanceClass": {},
						"Port": {
							"type": "integer"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"DBName": {},
						"Engine": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBInstanceFromDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"RestoreDBInstanceToPointInTime": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBInstanceIdentifier",
						"TargetDBInstanceIdentifier"
					],
					"members": {
						"SourceDBInstanceIdentifier": {},
						"TargetDBInstanceIdentifier": {},
						"RestoreTime": {
							"type": "timestamp"
						},
						"UseLatestRestorableTime": {
							"type": "boolean"
						},
						"DBInstanceClass": {},
						"Port": {
							"type": "integer"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"DBName": {},
						"Engine": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBInstanceToPointInTimeResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "St"
						}
					}
				}
			},
			"RevokeDBSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupId": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "RevokeDBSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"members": {
					"CustomerAwsId": {},
					"CustSubscriptionId": {},
					"SnsTopicArn": {},
					"Status": {},
					"SubscriptionCreationTime": {},
					"SourceType": {},
					"SourceIdsList": {
						"shape": "S5"
					},
					"EventCategoriesList": {
						"shape": "S6"
					},
					"Enabled": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"S5": {
				"type": "list",
				"member": {
					"locationName": "SourceId"
				}
			},
			"S6": {
				"type": "list",
				"member": {
					"locationName": "EventCategory"
				}
			},
			"S9": {
				"type": "list",
				"member": {
					"locationName": "Tag",
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sd": {
				"type": "structure",
				"members": {
					"OwnerId": {},
					"DBSecurityGroupName": {},
					"DBSecurityGroupDescription": {},
					"VpcId": {},
					"EC2SecurityGroups": {
						"type": "list",
						"member": {
							"locationName": "EC2SecurityGroup",
							"type": "structure",
							"members": {
								"Status": {},
								"EC2SecurityGroupName": {},
								"EC2SecurityGroupId": {},
								"EC2SecurityGroupOwnerId": {}
							}
						}
					},
					"IPRanges": {
						"type": "list",
						"member": {
							"locationName": "IPRange",
							"type": "structure",
							"members": {
								"Status": {},
								"CIDRIP": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"Sk": {
				"type": "structure",
				"members": {
					"DBSnapshotIdentifier": {},
					"DBInstanceIdentifier": {},
					"SnapshotCreateTime": {
						"type": "timestamp"
					},
					"Engine": {},
					"AllocatedStorage": {
						"type": "integer"
					},
					"Status": {},
					"Port": {
						"type": "integer"
					},
					"AvailabilityZone": {},
					"VpcId": {},
					"InstanceCreateTime": {
						"type": "timestamp"
					},
					"MasterUsername": {},
					"EngineVersion": {},
					"LicenseModel": {},
					"SnapshotType": {},
					"Iops": {
						"type": "integer"
					},
					"OptionGroupName": {},
					"PercentProgress": {
						"type": "integer"
					},
					"SourceRegion": {}
				},
				"wrapper": true
			},
			"Sp": {
				"type": "list",
				"member": {
					"locationName": "DBSecurityGroupName"
				}
			},
			"Sq": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupId"
				}
			},
			"St": {
				"type": "structure",
				"members": {
					"DBInstanceIdentifier": {},
					"DBInstanceClass": {},
					"Engine": {},
					"DBInstanceStatus": {},
					"MasterUsername": {},
					"DBName": {},
					"Endpoint": {
						"type": "structure",
						"members": {
							"Address": {},
							"Port": {
								"type": "integer"
							}
						}
					},
					"AllocatedStorage": {
						"type": "integer"
					},
					"InstanceCreateTime": {
						"type": "timestamp"
					},
					"PreferredBackupWindow": {},
					"BackupRetentionPeriod": {
						"type": "integer"
					},
					"DBSecurityGroups": {
						"shape": "Sv"
					},
					"VpcSecurityGroups": {
						"shape": "Sx"
					},
					"DBParameterGroups": {
						"type": "list",
						"member": {
							"locationName": "DBParameterGroup",
							"type": "structure",
							"members": {
								"DBParameterGroupName": {},
								"ParameterApplyStatus": {}
							}
						}
					},
					"AvailabilityZone": {},
					"DBSubnetGroup": {
						"shape": "S11"
					},
					"PreferredMaintenanceWindow": {},
					"PendingModifiedValues": {
						"type": "structure",
						"members": {
							"DBInstanceClass": {},
							"AllocatedStorage": {
								"type": "integer"
							},
							"MasterUserPassword": {},
							"Port": {
								"type": "integer"
							},
							"BackupRetentionPeriod": {
								"type": "integer"
							},
							"MultiAZ": {
								"type": "boolean"
							},
							"EngineVersion": {},
							"Iops": {
								"type": "integer"
							},
							"DBInstanceIdentifier": {}
						}
					},
					"LatestRestorableTime": {
						"type": "timestamp"
					},
					"MultiAZ": {
						"type": "boolean"
					},
					"EngineVersion": {},
					"AutoMinorVersionUpgrade": {
						"type": "boolean"
					},
					"ReadReplicaSourceDBInstanceIdentifier": {},
					"ReadReplicaDBInstanceIdentifiers": {
						"type": "list",
						"member": {
							"locationName": "ReadReplicaDBInstanceIdentifier"
						}
					},
					"LicenseModel": {},
					"Iops": {
						"type": "integer"
					},
					"OptionGroupMemberships": {
						"type": "list",
						"member": {
							"locationName": "OptionGroupMembership",
							"type": "structure",
							"members": {
								"OptionGroupName": {},
								"Status": {}
							}
						}
					},
					"CharacterSetName": {},
					"SecondaryAvailabilityZone": {},
					"PubliclyAccessible": {
						"type": "boolean"
					},
					"StatusInfos": {
						"type": "list",
						"member": {
							"locationName": "DBInstanceStatusInfo",
							"type": "structure",
							"members": {
								"StatusType": {},
								"Normal": {
									"type": "boolean"
								},
								"Status": {},
								"Message": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"Sv": {
				"type": "list",
				"member": {
					"locationName": "DBSecurityGroup",
					"type": "structure",
					"members": {
						"DBSecurityGroupName": {},
						"Status": {}
					}
				}
			},
			"Sx": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupMembership",
					"type": "structure",
					"members": {
						"VpcSecurityGroupId": {},
						"Status": {}
					}
				}
			},
			"S11": {
				"type": "structure",
				"members": {
					"DBSubnetGroupName": {},
					"DBSubnetGroupDescription": {},
					"VpcId": {},
					"SubnetGroupStatus": {},
					"Subnets": {
						"type": "list",
						"member": {
							"locationName": "Subnet",
							"type": "structure",
							"members": {
								"SubnetIdentifier": {},
								"SubnetAvailabilityZone": {
									"shape": "S14"
								},
								"SubnetStatus": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"S14": {
				"type": "structure",
				"members": {
					"Name": {},
					"ProvisionedIopsCapable": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"S1f": {
				"type": "structure",
				"members": {
					"DBParameterGroupName": {},
					"DBParameterGroupFamily": {},
					"Description": {}
				},
				"wrapper": true
			},
			"S1l": {
				"type": "list",
				"member": {
					"locationName": "SubnetIdentifier"
				}
			},
			"S1r": {
				"type": "structure",
				"members": {
					"OptionGroupName": {},
					"OptionGroupDescription": {},
					"EngineName": {},
					"MajorEngineVersion": {},
					"Options": {
						"type": "list",
						"member": {
							"locationName": "Option",
							"type": "structure",
							"members": {
								"OptionName": {},
								"OptionDescription": {},
								"Persistent": {
									"type": "boolean"
								},
								"Permanent": {
									"type": "boolean"
								},
								"Port": {
									"type": "integer"
								},
								"OptionSettings": {
									"type": "list",
									"member": {
										"shape": "S1v",
										"locationName": "OptionSetting"
									}
								},
								"DBSecurityGroupMemberships": {
									"shape": "Sv"
								},
								"VpcSecurityGroupMemberships": {
									"shape": "Sx"
								}
							}
						}
					},
					"AllowsVpcAndNonVpcInstanceMemberships": {
						"type": "boolean"
					},
					"VpcId": {}
				},
				"wrapper": true
			},
			"S1v": {
				"type": "structure",
				"members": {
					"Name": {},
					"Value": {},
					"DefaultValue": {},
					"Description": {},
					"ApplyType": {},
					"DataType": {},
					"AllowedValues": {},
					"IsModifiable": {
						"type": "boolean"
					},
					"IsCollection": {
						"type": "boolean"
					}
				}
			},
			"S27": {
				"type": "list",
				"member": {
					"locationName": "Filter",
					"type": "structure",
					"required": [
						"Name",
						"Values"
					],
					"members": {
						"Name": {},
						"Values": {
							"type": "list",
							"member": {
								"locationName": "Value"
							}
						}
					}
				}
			},
			"S2d": {
				"type": "structure",
				"members": {
					"CharacterSetName": {},
					"CharacterSetDescription": {}
				}
			},
			"S2s": {
				"type": "list",
				"member": {
					"locationName": "Parameter",
					"type": "structure",
					"members": {
						"ParameterName": {},
						"ParameterValue": {},
						"Description": {},
						"Source": {},
						"ApplyType": {},
						"DataType": {},
						"AllowedValues": {},
						"IsModifiable": {
							"type": "boolean"
						},
						"MinimumEngineVersion": {},
						"ApplyMethod": {}
					}
				}
			},
			"S41": {
				"type": "structure",
				"members": {
					"ReservedDBInstanceId": {},
					"ReservedDBInstancesOfferingId": {},
					"DBInstanceClass": {},
					"StartTime": {
						"type": "timestamp"
					},
					"Duration": {
						"type": "integer"
					},
					"FixedPrice": {
						"type": "double"
					},
					"UsagePrice": {
						"type": "double"
					},
					"CurrencyCode": {},
					"DBInstanceCount": {
						"type": "integer"
					},
					"ProductDescription": {},
					"OfferingType": {},
					"MultiAZ": {
						"type": "boolean"
					},
					"State": {},
					"RecurringCharges": {
						"shape": "S43"
					}
				},
				"wrapper": true
			},
			"S43": {
				"type": "list",
				"member": {
					"locationName": "RecurringCharge",
					"type": "structure",
					"members": {
						"RecurringChargeAmount": {
							"type": "double"
						},
						"RecurringChargeFrequency": {}
					},
					"wrapper": true
				}
			},
			"S4g": {
				"type": "structure",
				"members": {
					"DBParameterGroupName": {}
				}
			}
		}
	};

/***/ }),
/* 551 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeDBEngineVersions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBEngineVersions"
			},
			"DescribeDBInstances": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBInstances"
			},
			"DescribeDBLogFiles": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DescribeDBLogFiles"
			},
			"DescribeDBParameterGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBParameterGroups"
			},
			"DescribeDBParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Parameters"
			},
			"DescribeDBSecurityGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSecurityGroups"
			},
			"DescribeDBSnapshots": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSnapshots"
			},
			"DescribeDBSubnetGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSubnetGroups"
			},
			"DescribeEngineDefaultParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "EngineDefaults.Marker",
				"result_key": "EngineDefaults.Parameters"
			},
			"DescribeEventSubscriptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "EventSubscriptionsList"
			},
			"DescribeEvents": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Events"
			},
			"DescribeOptionGroupOptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OptionGroupOptions"
			},
			"DescribeOptionGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OptionGroupsList"
			},
			"DescribeOrderableDBInstanceOptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OrderableDBInstanceOptions"
			},
			"DescribeReservedDBInstances": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedDBInstances"
			},
			"DescribeReservedDBInstancesOfferings": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedDBInstancesOfferings"
			},
			"DownloadDBLogFilePortion": {
				"input_token": "Marker",
				"limit_key": "NumberOfLines",
				"more_results": "AdditionalDataPending",
				"output_token": "Marker",
				"result_key": "LogFileData"
			},
			"ListTagsForResource": {
				"result_key": "TagList"
			}
		}
	};

/***/ }),
/* 552 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"DBInstanceAvailable": {
				"delay": 30,
				"operation": "DescribeDBInstances",
				"maxAttempts": 60,
				"acceptors": [
					{
						"expected": "available",
						"matcher": "pathAll",
						"state": "success",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "deleted",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "deleting",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "incompatible-restore",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "incompatible-parameters",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "incompatible-parameters",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "incompatible-restore",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					}
				]
			},
			"DBInstanceDeleted": {
				"delay": 30,
				"operation": "DescribeDBInstances",
				"maxAttempts": 60,
				"acceptors": [
					{
						"expected": "deleted",
						"matcher": "pathAll",
						"state": "success",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "creating",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "modifying",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "rebooting",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "resetting-master-credentials",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					}
				]
			}
		}
	};

/***/ }),
/* 553 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-09-01",
			"endpointPrefix": "rds",
			"protocol": "query",
			"serviceAbbreviation": "Amazon RDS",
			"serviceFullName": "Amazon Relational Database Service",
			"signatureVersion": "v4",
			"uid": "rds-2014-09-01",
			"xmlNamespace": "http://rds.amazonaws.com/doc/2014-09-01/"
		},
		"operations": {
			"AddSourceIdentifierToSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SourceIdentifier"
					],
					"members": {
						"SubscriptionName": {},
						"SourceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "AddSourceIdentifierToSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"AddTagsToResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"Tags"
					],
					"members": {
						"ResourceName": {},
						"Tags": {
							"shape": "S9"
						}
					}
				}
			},
			"AuthorizeDBSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupId": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "AuthorizeDBSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			},
			"CopyDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBParameterGroupIdentifier",
						"TargetDBParameterGroupIdentifier",
						"TargetDBParameterGroupDescription"
					],
					"members": {
						"SourceDBParameterGroupIdentifier": {},
						"TargetDBParameterGroupIdentifier": {},
						"TargetDBParameterGroupDescription": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CopyDBParameterGroupResult",
					"type": "structure",
					"members": {
						"DBParameterGroup": {
							"shape": "Sk"
						}
					}
				}
			},
			"CopyDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBSnapshotIdentifier",
						"TargetDBSnapshotIdentifier"
					],
					"members": {
						"SourceDBSnapshotIdentifier": {},
						"TargetDBSnapshotIdentifier": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CopyDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sn"
						}
					}
				}
			},
			"CopyOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"SourceOptionGroupIdentifier",
						"TargetOptionGroupIdentifier",
						"TargetOptionGroupDescription"
					],
					"members": {
						"SourceOptionGroupIdentifier": {},
						"TargetOptionGroupIdentifier": {},
						"TargetOptionGroupDescription": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CopyOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "St"
						}
					}
				}
			},
			"CreateDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"AllocatedStorage",
						"DBInstanceClass",
						"Engine",
						"MasterUsername",
						"MasterUserPassword"
					],
					"members": {
						"DBName": {},
						"DBInstanceIdentifier": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"DBInstanceClass": {},
						"Engine": {},
						"MasterUsername": {},
						"MasterUserPassword": {},
						"DBSecurityGroups": {
							"shape": "S13"
						},
						"VpcSecurityGroupIds": {
							"shape": "S14"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"PreferredMaintenanceWindow": {},
						"DBParameterGroupName": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {},
						"Port": {
							"type": "integer"
						},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"CharacterSetName": {},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "S9"
						},
						"StorageType": {},
						"TdeCredentialArn": {},
						"TdeCredentialPassword": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S17"
						}
					}
				}
			},
			"CreateDBInstanceReadReplica": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"SourceDBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"SourceDBInstanceIdentifier": {},
						"DBInstanceClass": {},
						"AvailabilityZone": {},
						"Port": {
							"type": "integer"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "S9"
						},
						"DBSubnetGroupName": {},
						"StorageType": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDBInstanceReadReplicaResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S17"
						}
					}
				}
			},
			"CreateDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName",
						"DBParameterGroupFamily",
						"Description"
					],
					"members": {
						"DBParameterGroupName": {},
						"DBParameterGroupFamily": {},
						"Description": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBParameterGroupResult",
					"type": "structure",
					"members": {
						"DBParameterGroup": {
							"shape": "Sk"
						}
					}
				}
			},
			"CreateDBSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName",
						"DBSecurityGroupDescription"
					],
					"members": {
						"DBSecurityGroupName": {},
						"DBSecurityGroupDescription": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSecurityGroupResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			},
			"CreateDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier",
						"DBInstanceIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {},
						"DBInstanceIdentifier": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sn"
						}
					}
				}
			},
			"CreateDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName",
						"DBSubnetGroupDescription",
						"SubnetIds"
					],
					"members": {
						"DBSubnetGroupName": {},
						"DBSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S1u"
						},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSubnetGroupResult",
					"type": "structure",
					"members": {
						"DBSubnetGroup": {
							"shape": "S1b"
						}
					}
				}
			},
			"CreateEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SnsTopicArn"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "S6"
						},
						"SourceIds": {
							"shape": "S5"
						},
						"Enabled": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"CreateOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName",
						"EngineName",
						"MajorEngineVersion",
						"OptionGroupDescription"
					],
					"members": {
						"OptionGroupName": {},
						"EngineName": {},
						"MajorEngineVersion": {},
						"OptionGroupDescription": {},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "St"
						}
					}
				}
			},
			"DeleteDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"SkipFinalSnapshot": {
							"type": "boolean"
						},
						"FinalDBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S17"
						}
					}
				}
			},
			"DeleteDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {}
					}
				}
			},
			"DeleteDBSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {}
					}
				}
			},
			"DeleteDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "Sn"
						}
					}
				}
			},
			"DeleteDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName"
					],
					"members": {
						"DBSubnetGroupName": {}
					}
				}
			},
			"DeleteEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"DeleteOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName"
					],
					"members": {
						"OptionGroupName": {}
					}
				}
			},
			"DescribeDBEngineVersions": {
				"input": {
					"type": "structure",
					"members": {
						"Engine": {},
						"EngineVersion": {},
						"DBParameterGroupFamily": {},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"DefaultOnly": {
							"type": "boolean"
						},
						"ListSupportedCharacterSets": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBEngineVersionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBEngineVersions": {
							"type": "list",
							"member": {
								"locationName": "DBEngineVersion",
								"type": "structure",
								"members": {
									"Engine": {},
									"EngineVersion": {},
									"DBParameterGroupFamily": {},
									"DBEngineDescription": {},
									"DBEngineVersionDescription": {},
									"DefaultCharacterSet": {
										"shape": "S2h"
									},
									"SupportedCharacterSets": {
										"type": "list",
										"member": {
											"shape": "S2h",
											"locationName": "CharacterSet"
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeDBInstances": {
				"input": {
					"type": "structure",
					"members": {
						"DBInstanceIdentifier": {},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBInstancesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBInstances": {
							"type": "list",
							"member": {
								"shape": "S17",
								"locationName": "DBInstance"
							}
						}
					}
				}
			},
			"DescribeDBLogFiles": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"FilenameContains": {},
						"FileLastWritten": {
							"type": "long"
						},
						"FileSize": {
							"type": "long"
						},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBLogFilesResult",
					"type": "structure",
					"members": {
						"DescribeDBLogFiles": {
							"type": "list",
							"member": {
								"locationName": "DescribeDBLogFilesDetails",
								"type": "structure",
								"members": {
									"LogFileName": {},
									"LastWritten": {
										"type": "long"
									},
									"Size": {
										"type": "long"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeDBParameterGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBParameterGroupName": {},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBParameterGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBParameterGroups": {
							"type": "list",
							"member": {
								"shape": "Sk",
								"locationName": "DBParameterGroup"
							}
						}
					}
				}
			},
			"DescribeDBParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {},
						"Source": {},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBParametersResult",
					"type": "structure",
					"members": {
						"Parameters": {
							"shape": "S2w"
						},
						"Marker": {}
					}
				}
			},
			"DescribeDBSecurityGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBSecurityGroupName": {},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSecurityGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSecurityGroups": {
							"type": "list",
							"member": {
								"shape": "Sd",
								"locationName": "DBSecurityGroup"
							}
						}
					}
				}
			},
			"DescribeDBSnapshots": {
				"input": {
					"type": "structure",
					"members": {
						"DBInstanceIdentifier": {},
						"DBSnapshotIdentifier": {},
						"SnapshotType": {},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSnapshotsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSnapshots": {
							"type": "list",
							"member": {
								"shape": "Sn",
								"locationName": "DBSnapshot"
							}
						}
					}
				}
			},
			"DescribeDBSubnetGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBSubnetGroupName": {},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSubnetGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSubnetGroups": {
							"type": "list",
							"member": {
								"shape": "S1b",
								"locationName": "DBSubnetGroup"
							}
						}
					}
				}
			},
			"DescribeEngineDefaultParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupFamily"
					],
					"members": {
						"DBParameterGroupFamily": {},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEngineDefaultParametersResult",
					"type": "structure",
					"members": {
						"EngineDefaults": {
							"type": "structure",
							"members": {
								"DBParameterGroupFamily": {},
								"Marker": {},
								"Parameters": {
									"shape": "S2w"
								}
							},
							"wrapper": true
						}
					}
				}
			},
			"DescribeEventCategories": {
				"input": {
					"type": "structure",
					"members": {
						"SourceType": {},
						"Filters": {
							"shape": "S2b"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventCategoriesResult",
					"type": "structure",
					"members": {
						"EventCategoriesMapList": {
							"type": "list",
							"member": {
								"locationName": "EventCategoriesMap",
								"type": "structure",
								"members": {
									"SourceType": {},
									"EventCategories": {
										"shape": "S6"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DescribeEventSubscriptions": {
				"input": {
					"type": "structure",
					"members": {
						"SubscriptionName": {},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventSubscriptionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"EventSubscriptionsList": {
							"type": "list",
							"member": {
								"shape": "S4",
								"locationName": "EventSubscription"
							}
						}
					}
				}
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"members": {
						"SourceIdentifier": {},
						"SourceType": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Duration": {
							"type": "integer"
						},
						"EventCategories": {
							"shape": "S6"
						},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"Events": {
							"type": "list",
							"member": {
								"locationName": "Event",
								"type": "structure",
								"members": {
									"SourceIdentifier": {},
									"SourceType": {},
									"Message": {},
									"EventCategories": {
										"shape": "S6"
									},
									"Date": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeOptionGroupOptions": {
				"input": {
					"type": "structure",
					"required": [
						"EngineName"
					],
					"members": {
						"EngineName": {},
						"MajorEngineVersion": {},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOptionGroupOptionsResult",
					"type": "structure",
					"members": {
						"OptionGroupOptions": {
							"type": "list",
							"member": {
								"locationName": "OptionGroupOption",
								"type": "structure",
								"members": {
									"Name": {},
									"Description": {},
									"EngineName": {},
									"MajorEngineVersion": {},
									"MinimumRequiredMinorEngineVersion": {},
									"PortRequired": {
										"type": "boolean"
									},
									"DefaultPort": {
										"type": "integer"
									},
									"OptionsDependedOn": {
										"type": "list",
										"member": {
											"locationName": "OptionName"
										}
									},
									"Persistent": {
										"type": "boolean"
									},
									"Permanent": {
										"type": "boolean"
									},
									"OptionGroupOptionSettings": {
										"type": "list",
										"member": {
											"locationName": "OptionGroupOptionSetting",
											"type": "structure",
											"members": {
												"SettingName": {},
												"SettingDescription": {},
												"DefaultValue": {},
												"ApplyType": {},
												"AllowedValues": {},
												"IsModifiable": {
													"type": "boolean"
												}
											}
										}
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeOptionGroups": {
				"input": {
					"type": "structure",
					"members": {
						"OptionGroupName": {},
						"Filters": {
							"shape": "S2b"
						},
						"Marker": {},
						"MaxRecords": {
							"type": "integer"
						},
						"EngineName": {},
						"MajorEngineVersion": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOptionGroupsResult",
					"type": "structure",
					"members": {
						"OptionGroupsList": {
							"type": "list",
							"member": {
								"shape": "St",
								"locationName": "OptionGroup"
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeOrderableDBInstanceOptions": {
				"input": {
					"type": "structure",
					"required": [
						"Engine"
					],
					"members": {
						"Engine": {},
						"EngineVersion": {},
						"DBInstanceClass": {},
						"LicenseModel": {},
						"Vpc": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOrderableDBInstanceOptionsResult",
					"type": "structure",
					"members": {
						"OrderableDBInstanceOptions": {
							"type": "list",
							"member": {
								"locationName": "OrderableDBInstanceOption",
								"type": "structure",
								"members": {
									"Engine": {},
									"EngineVersion": {},
									"DBInstanceClass": {},
									"LicenseModel": {},
									"AvailabilityZones": {
										"type": "list",
										"member": {
											"shape": "S1e",
											"locationName": "AvailabilityZone"
										}
									},
									"MultiAZCapable": {
										"type": "boolean"
									},
									"ReadReplicaCapable": {
										"type": "boolean"
									},
									"Vpc": {
										"type": "boolean"
									},
									"StorageType": {},
									"SupportsIops": {
										"type": "boolean"
									}
								},
								"wrapper": true
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeReservedDBInstances": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedDBInstanceId": {},
						"ReservedDBInstancesOfferingId": {},
						"DBInstanceClass": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedDBInstancesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedDBInstances": {
							"type": "list",
							"member": {
								"shape": "S45",
								"locationName": "ReservedDBInstance"
							}
						}
					}
				}
			},
			"DescribeReservedDBInstancesOfferings": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedDBInstancesOfferingId": {},
						"DBInstanceClass": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S2b"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedDBInstancesOfferingsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedDBInstancesOfferings": {
							"type": "list",
							"member": {
								"locationName": "ReservedDBInstancesOffering",
								"type": "structure",
								"members": {
									"ReservedDBInstancesOfferingId": {},
									"DBInstanceClass": {},
									"Duration": {
										"type": "integer"
									},
									"FixedPrice": {
										"type": "double"
									},
									"UsagePrice": {
										"type": "double"
									},
									"CurrencyCode": {},
									"ProductDescription": {},
									"OfferingType": {},
									"MultiAZ": {
										"type": "boolean"
									},
									"RecurringCharges": {
										"shape": "S47"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DownloadDBLogFilePortion": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"LogFileName"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"LogFileName": {},
						"Marker": {},
						"NumberOfLines": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DownloadDBLogFilePortionResult",
					"type": "structure",
					"members": {
						"LogFileData": {},
						"Marker": {},
						"AdditionalDataPending": {
							"type": "boolean"
						}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName"
					],
					"members": {
						"ResourceName": {},
						"Filters": {
							"shape": "S2b"
						}
					}
				},
				"output": {
					"resultWrapper": "ListTagsForResourceResult",
					"type": "structure",
					"members": {
						"TagList": {
							"shape": "S9"
						}
					}
				}
			},
			"ModifyDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"DBInstanceClass": {},
						"DBSecurityGroups": {
							"shape": "S13"
						},
						"VpcSecurityGroupIds": {
							"shape": "S14"
						},
						"ApplyImmediately": {
							"type": "boolean"
						},
						"MasterUserPassword": {},
						"DBParameterGroupName": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {},
						"PreferredMaintenanceWindow": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AllowMajorVersionUpgrade": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"NewDBInstanceIdentifier": {},
						"StorageType": {},
						"TdeCredentialArn": {},
						"TdeCredentialPassword": {}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S17"
						}
					}
				}
			},
			"ModifyDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName",
						"Parameters"
					],
					"members": {
						"DBParameterGroupName": {},
						"Parameters": {
							"shape": "S2w"
						}
					}
				},
				"output": {
					"shape": "S4k",
					"resultWrapper": "ModifyDBParameterGroupResult"
				}
			},
			"ModifyDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName",
						"SubnetIds"
					],
					"members": {
						"DBSubnetGroupName": {},
						"DBSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S1u"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBSubnetGroupResult",
					"type": "structure",
					"members": {
						"DBSubnetGroup": {
							"shape": "S1b"
						}
					}
				}
			},
			"ModifyEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "S6"
						},
						"Enabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"ModifyOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName"
					],
					"members": {
						"OptionGroupName": {},
						"OptionsToInclude": {
							"type": "list",
							"member": {
								"locationName": "OptionConfiguration",
								"type": "structure",
								"required": [
									"OptionName"
								],
								"members": {
									"OptionName": {},
									"Port": {
										"type": "integer"
									},
									"DBSecurityGroupMemberships": {
										"shape": "S13"
									},
									"VpcSecurityGroupMemberships": {
										"shape": "S14"
									},
									"OptionSettings": {
										"type": "list",
										"member": {
											"shape": "Sx",
											"locationName": "OptionSetting"
										}
									}
								}
							}
						},
						"OptionsToRemove": {
							"type": "list",
							"member": {}
						},
						"ApplyImmediately": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "St"
						}
					}
				}
			},
			"PromoteReadReplica": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {}
					}
				},
				"output": {
					"resultWrapper": "PromoteReadReplicaResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S17"
						}
					}
				}
			},
			"PurchaseReservedDBInstancesOffering": {
				"input": {
					"type": "structure",
					"required": [
						"ReservedDBInstancesOfferingId"
					],
					"members": {
						"ReservedDBInstancesOfferingId": {},
						"ReservedDBInstanceId": {},
						"DBInstanceCount": {
							"type": "integer"
						},
						"Tags": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "PurchaseReservedDBInstancesOfferingResult",
					"type": "structure",
					"members": {
						"ReservedDBInstance": {
							"shape": "S45"
						}
					}
				}
			},
			"RebootDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"ForceFailover": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "RebootDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S17"
						}
					}
				}
			},
			"RemoveSourceIdentifierFromSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SourceIdentifier"
					],
					"members": {
						"SubscriptionName": {},
						"SourceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "RemoveSourceIdentifierFromSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S4"
						}
					}
				}
			},
			"RemoveTagsFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"TagKeys"
					],
					"members": {
						"ResourceName": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"ResetDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {},
						"ResetAllParameters": {
							"type": "boolean"
						},
						"Parameters": {
							"shape": "S2w"
						}
					}
				},
				"output": {
					"shape": "S4k",
					"resultWrapper": "ResetDBParameterGroupResult"
				}
			},
			"RestoreDBInstanceFromDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"DBSnapshotIdentifier": {},
						"DBInstanceClass": {},
						"Port": {
							"type": "integer"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"DBName": {},
						"Engine": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"Tags": {
							"shape": "S9"
						},
						"StorageType": {},
						"TdeCredentialArn": {},
						"TdeCredentialPassword": {}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBInstanceFromDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S17"
						}
					}
				}
			},
			"RestoreDBInstanceToPointInTime": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBInstanceIdentifier",
						"TargetDBInstanceIdentifier"
					],
					"members": {
						"SourceDBInstanceIdentifier": {},
						"TargetDBInstanceIdentifier": {},
						"RestoreTime": {
							"type": "timestamp"
						},
						"UseLatestRestorableTime": {
							"type": "boolean"
						},
						"DBInstanceClass": {},
						"Port": {
							"type": "integer"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"DBName": {},
						"Engine": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"Tags": {
							"shape": "S9"
						},
						"StorageType": {},
						"TdeCredentialArn": {},
						"TdeCredentialPassword": {}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBInstanceToPointInTimeResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S17"
						}
					}
				}
			},
			"RevokeDBSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupId": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "RevokeDBSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sd"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"members": {
					"CustomerAwsId": {},
					"CustSubscriptionId": {},
					"SnsTopicArn": {},
					"Status": {},
					"SubscriptionCreationTime": {},
					"SourceType": {},
					"SourceIdsList": {
						"shape": "S5"
					},
					"EventCategoriesList": {
						"shape": "S6"
					},
					"Enabled": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"S5": {
				"type": "list",
				"member": {
					"locationName": "SourceId"
				}
			},
			"S6": {
				"type": "list",
				"member": {
					"locationName": "EventCategory"
				}
			},
			"S9": {
				"type": "list",
				"member": {
					"locationName": "Tag",
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sd": {
				"type": "structure",
				"members": {
					"OwnerId": {},
					"DBSecurityGroupName": {},
					"DBSecurityGroupDescription": {},
					"VpcId": {},
					"EC2SecurityGroups": {
						"type": "list",
						"member": {
							"locationName": "EC2SecurityGroup",
							"type": "structure",
							"members": {
								"Status": {},
								"EC2SecurityGroupName": {},
								"EC2SecurityGroupId": {},
								"EC2SecurityGroupOwnerId": {}
							}
						}
					},
					"IPRanges": {
						"type": "list",
						"member": {
							"locationName": "IPRange",
							"type": "structure",
							"members": {
								"Status": {},
								"CIDRIP": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"Sk": {
				"type": "structure",
				"members": {
					"DBParameterGroupName": {},
					"DBParameterGroupFamily": {},
					"Description": {}
				},
				"wrapper": true
			},
			"Sn": {
				"type": "structure",
				"members": {
					"DBSnapshotIdentifier": {},
					"DBInstanceIdentifier": {},
					"SnapshotCreateTime": {
						"type": "timestamp"
					},
					"Engine": {},
					"AllocatedStorage": {
						"type": "integer"
					},
					"Status": {},
					"Port": {
						"type": "integer"
					},
					"AvailabilityZone": {},
					"VpcId": {},
					"InstanceCreateTime": {
						"type": "timestamp"
					},
					"MasterUsername": {},
					"EngineVersion": {},
					"LicenseModel": {},
					"SnapshotType": {},
					"Iops": {
						"type": "integer"
					},
					"OptionGroupName": {},
					"PercentProgress": {
						"type": "integer"
					},
					"SourceRegion": {},
					"StorageType": {},
					"TdeCredentialArn": {}
				},
				"wrapper": true
			},
			"St": {
				"type": "structure",
				"members": {
					"OptionGroupName": {},
					"OptionGroupDescription": {},
					"EngineName": {},
					"MajorEngineVersion": {},
					"Options": {
						"type": "list",
						"member": {
							"locationName": "Option",
							"type": "structure",
							"members": {
								"OptionName": {},
								"OptionDescription": {},
								"Persistent": {
									"type": "boolean"
								},
								"Permanent": {
									"type": "boolean"
								},
								"Port": {
									"type": "integer"
								},
								"OptionSettings": {
									"type": "list",
									"member": {
										"shape": "Sx",
										"locationName": "OptionSetting"
									}
								},
								"DBSecurityGroupMemberships": {
									"shape": "Sy"
								},
								"VpcSecurityGroupMemberships": {
									"shape": "S10"
								}
							}
						}
					},
					"AllowsVpcAndNonVpcInstanceMemberships": {
						"type": "boolean"
					},
					"VpcId": {}
				},
				"wrapper": true
			},
			"Sx": {
				"type": "structure",
				"members": {
					"Name": {},
					"Value": {},
					"DefaultValue": {},
					"Description": {},
					"ApplyType": {},
					"DataType": {},
					"AllowedValues": {},
					"IsModifiable": {
						"type": "boolean"
					},
					"IsCollection": {
						"type": "boolean"
					}
				}
			},
			"Sy": {
				"type": "list",
				"member": {
					"locationName": "DBSecurityGroup",
					"type": "structure",
					"members": {
						"DBSecurityGroupName": {},
						"Status": {}
					}
				}
			},
			"S10": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupMembership",
					"type": "structure",
					"members": {
						"VpcSecurityGroupId": {},
						"Status": {}
					}
				}
			},
			"S13": {
				"type": "list",
				"member": {
					"locationName": "DBSecurityGroupName"
				}
			},
			"S14": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupId"
				}
			},
			"S17": {
				"type": "structure",
				"members": {
					"DBInstanceIdentifier": {},
					"DBInstanceClass": {},
					"Engine": {},
					"DBInstanceStatus": {},
					"MasterUsername": {},
					"DBName": {},
					"Endpoint": {
						"type": "structure",
						"members": {
							"Address": {},
							"Port": {
								"type": "integer"
							}
						}
					},
					"AllocatedStorage": {
						"type": "integer"
					},
					"InstanceCreateTime": {
						"type": "timestamp"
					},
					"PreferredBackupWindow": {},
					"BackupRetentionPeriod": {
						"type": "integer"
					},
					"DBSecurityGroups": {
						"shape": "Sy"
					},
					"VpcSecurityGroups": {
						"shape": "S10"
					},
					"DBParameterGroups": {
						"type": "list",
						"member": {
							"locationName": "DBParameterGroup",
							"type": "structure",
							"members": {
								"DBParameterGroupName": {},
								"ParameterApplyStatus": {}
							}
						}
					},
					"AvailabilityZone": {},
					"DBSubnetGroup": {
						"shape": "S1b"
					},
					"PreferredMaintenanceWindow": {},
					"PendingModifiedValues": {
						"type": "structure",
						"members": {
							"DBInstanceClass": {},
							"AllocatedStorage": {
								"type": "integer"
							},
							"MasterUserPassword": {},
							"Port": {
								"type": "integer"
							},
							"BackupRetentionPeriod": {
								"type": "integer"
							},
							"MultiAZ": {
								"type": "boolean"
							},
							"EngineVersion": {},
							"Iops": {
								"type": "integer"
							},
							"DBInstanceIdentifier": {},
							"StorageType": {}
						}
					},
					"LatestRestorableTime": {
						"type": "timestamp"
					},
					"MultiAZ": {
						"type": "boolean"
					},
					"EngineVersion": {},
					"AutoMinorVersionUpgrade": {
						"type": "boolean"
					},
					"ReadReplicaSourceDBInstanceIdentifier": {},
					"ReadReplicaDBInstanceIdentifiers": {
						"type": "list",
						"member": {
							"locationName": "ReadReplicaDBInstanceIdentifier"
						}
					},
					"LicenseModel": {},
					"Iops": {
						"type": "integer"
					},
					"OptionGroupMemberships": {
						"type": "list",
						"member": {
							"locationName": "OptionGroupMembership",
							"type": "structure",
							"members": {
								"OptionGroupName": {},
								"Status": {}
							}
						}
					},
					"CharacterSetName": {},
					"SecondaryAvailabilityZone": {},
					"PubliclyAccessible": {
						"type": "boolean"
					},
					"StatusInfos": {
						"type": "list",
						"member": {
							"locationName": "DBInstanceStatusInfo",
							"type": "structure",
							"members": {
								"StatusType": {},
								"Normal": {
									"type": "boolean"
								},
								"Status": {},
								"Message": {}
							}
						}
					},
					"StorageType": {},
					"TdeCredentialArn": {}
				},
				"wrapper": true
			},
			"S1b": {
				"type": "structure",
				"members": {
					"DBSubnetGroupName": {},
					"DBSubnetGroupDescription": {},
					"VpcId": {},
					"SubnetGroupStatus": {},
					"Subnets": {
						"type": "list",
						"member": {
							"locationName": "Subnet",
							"type": "structure",
							"members": {
								"SubnetIdentifier": {},
								"SubnetAvailabilityZone": {
									"shape": "S1e"
								},
								"SubnetStatus": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"S1e": {
				"type": "structure",
				"members": {
					"Name": {}
				},
				"wrapper": true
			},
			"S1u": {
				"type": "list",
				"member": {
					"locationName": "SubnetIdentifier"
				}
			},
			"S2b": {
				"type": "list",
				"member": {
					"locationName": "Filter",
					"type": "structure",
					"required": [
						"Name",
						"Values"
					],
					"members": {
						"Name": {},
						"Values": {
							"type": "list",
							"member": {
								"locationName": "Value"
							}
						}
					}
				}
			},
			"S2h": {
				"type": "structure",
				"members": {
					"CharacterSetName": {},
					"CharacterSetDescription": {}
				}
			},
			"S2w": {
				"type": "list",
				"member": {
					"locationName": "Parameter",
					"type": "structure",
					"members": {
						"ParameterName": {},
						"ParameterValue": {},
						"Description": {},
						"Source": {},
						"ApplyType": {},
						"DataType": {},
						"AllowedValues": {},
						"IsModifiable": {
							"type": "boolean"
						},
						"MinimumEngineVersion": {},
						"ApplyMethod": {}
					}
				}
			},
			"S45": {
				"type": "structure",
				"members": {
					"ReservedDBInstanceId": {},
					"ReservedDBInstancesOfferingId": {},
					"DBInstanceClass": {},
					"StartTime": {
						"type": "timestamp"
					},
					"Duration": {
						"type": "integer"
					},
					"FixedPrice": {
						"type": "double"
					},
					"UsagePrice": {
						"type": "double"
					},
					"CurrencyCode": {},
					"DBInstanceCount": {
						"type": "integer"
					},
					"ProductDescription": {},
					"OfferingType": {},
					"MultiAZ": {
						"type": "boolean"
					},
					"State": {},
					"RecurringCharges": {
						"shape": "S47"
					}
				},
				"wrapper": true
			},
			"S47": {
				"type": "list",
				"member": {
					"locationName": "RecurringCharge",
					"type": "structure",
					"members": {
						"RecurringChargeAmount": {
							"type": "double"
						},
						"RecurringChargeFrequency": {}
					},
					"wrapper": true
				}
			},
			"S4k": {
				"type": "structure",
				"members": {
					"DBParameterGroupName": {}
				}
			}
		}
	};

/***/ }),
/* 554 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 555 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-10-31",
			"endpointPrefix": "rds",
			"protocol": "query",
			"serviceAbbreviation": "Amazon RDS",
			"serviceFullName": "Amazon Relational Database Service",
			"signatureVersion": "v4",
			"uid": "rds-2014-10-31",
			"xmlNamespace": "http://rds.amazonaws.com/doc/2014-10-31/"
		},
		"operations": {
			"AddRoleToDBCluster": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterIdentifier",
						"RoleArn"
					],
					"members": {
						"DBClusterIdentifier": {},
						"RoleArn": {}
					}
				}
			},
			"AddSourceIdentifierToSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SourceIdentifier"
					],
					"members": {
						"SubscriptionName": {},
						"SourceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "AddSourceIdentifierToSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S5"
						}
					}
				}
			},
			"AddTagsToResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"Tags"
					],
					"members": {
						"ResourceName": {},
						"Tags": {
							"shape": "Sa"
						}
					}
				}
			},
			"ApplyPendingMaintenanceAction": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceIdentifier",
						"ApplyAction",
						"OptInType"
					],
					"members": {
						"ResourceIdentifier": {},
						"ApplyAction": {},
						"OptInType": {}
					}
				},
				"output": {
					"resultWrapper": "ApplyPendingMaintenanceActionResult",
					"type": "structure",
					"members": {
						"ResourcePendingMaintenanceActions": {
							"shape": "Se"
						}
					}
				}
			},
			"AuthorizeDBSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupId": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "AuthorizeDBSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sk"
						}
					}
				}
			},
			"CopyDBClusterParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBClusterParameterGroupIdentifier",
						"TargetDBClusterParameterGroupIdentifier",
						"TargetDBClusterParameterGroupDescription"
					],
					"members": {
						"SourceDBClusterParameterGroupIdentifier": {},
						"TargetDBClusterParameterGroupIdentifier": {},
						"TargetDBClusterParameterGroupDescription": {},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "CopyDBClusterParameterGroupResult",
					"type": "structure",
					"members": {
						"DBClusterParameterGroup": {
							"shape": "Sr"
						}
					}
				}
			},
			"CopyDBClusterSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBClusterSnapshotIdentifier",
						"TargetDBClusterSnapshotIdentifier"
					],
					"members": {
						"SourceDBClusterSnapshotIdentifier": {},
						"TargetDBClusterSnapshotIdentifier": {},
						"KmsKeyId": {},
						"PreSignedUrl": {},
						"CopyTags": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "Sa"
						},
						"SourceRegion": {}
					}
				},
				"output": {
					"resultWrapper": "CopyDBClusterSnapshotResult",
					"type": "structure",
					"members": {
						"DBClusterSnapshot": {
							"shape": "Sv"
						}
					}
				}
			},
			"CopyDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBParameterGroupIdentifier",
						"TargetDBParameterGroupIdentifier",
						"TargetDBParameterGroupDescription"
					],
					"members": {
						"SourceDBParameterGroupIdentifier": {},
						"TargetDBParameterGroupIdentifier": {},
						"TargetDBParameterGroupDescription": {},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "CopyDBParameterGroupResult",
					"type": "structure",
					"members": {
						"DBParameterGroup": {
							"shape": "S10"
						}
					}
				}
			},
			"CopyDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBSnapshotIdentifier",
						"TargetDBSnapshotIdentifier"
					],
					"members": {
						"SourceDBSnapshotIdentifier": {},
						"TargetDBSnapshotIdentifier": {},
						"KmsKeyId": {},
						"Tags": {
							"shape": "Sa"
						},
						"CopyTags": {
							"type": "boolean"
						},
						"PreSignedUrl": {},
						"OptionGroupName": {},
						"SourceRegion": {}
					}
				},
				"output": {
					"resultWrapper": "CopyDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "S13"
						}
					}
				}
			},
			"CopyOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"SourceOptionGroupIdentifier",
						"TargetOptionGroupIdentifier",
						"TargetOptionGroupDescription"
					],
					"members": {
						"SourceOptionGroupIdentifier": {},
						"TargetOptionGroupIdentifier": {},
						"TargetOptionGroupDescription": {},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "CopyOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "S17"
						}
					}
				}
			},
			"CreateDBCluster": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterIdentifier",
						"Engine"
					],
					"members": {
						"AvailabilityZones": {
							"shape": "Sw"
						},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"CharacterSetName": {},
						"DatabaseName": {},
						"DBClusterIdentifier": {},
						"DBClusterParameterGroupName": {},
						"VpcSecurityGroupIds": {
							"shape": "S1h"
						},
						"DBSubnetGroupName": {},
						"Engine": {},
						"EngineVersion": {},
						"Port": {
							"type": "integer"
						},
						"MasterUsername": {},
						"MasterUserPassword": {},
						"OptionGroupName": {},
						"PreferredBackupWindow": {},
						"PreferredMaintenanceWindow": {},
						"ReplicationSourceIdentifier": {},
						"Tags": {
							"shape": "Sa"
						},
						"StorageEncrypted": {
							"type": "boolean"
						},
						"KmsKeyId": {},
						"PreSignedUrl": {},
						"EnableIAMDatabaseAuthentication": {
							"type": "boolean"
						},
						"SourceRegion": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDBClusterResult",
					"type": "structure",
					"members": {
						"DBCluster": {
							"shape": "S1j"
						}
					}
				}
			},
			"CreateDBClusterParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterParameterGroupName",
						"DBParameterGroupFamily",
						"Description"
					],
					"members": {
						"DBClusterParameterGroupName": {},
						"DBParameterGroupFamily": {},
						"Description": {},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBClusterParameterGroupResult",
					"type": "structure",
					"members": {
						"DBClusterParameterGroup": {
							"shape": "Sr"
						}
					}
				}
			},
			"CreateDBClusterSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterSnapshotIdentifier",
						"DBClusterIdentifier"
					],
					"members": {
						"DBClusterSnapshotIdentifier": {},
						"DBClusterIdentifier": {},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBClusterSnapshotResult",
					"type": "structure",
					"members": {
						"DBClusterSnapshot": {
							"shape": "Sv"
						}
					}
				}
			},
			"CreateDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"DBInstanceClass",
						"Engine"
					],
					"members": {
						"DBName": {},
						"DBInstanceIdentifier": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"DBInstanceClass": {},
						"Engine": {},
						"MasterUsername": {},
						"MasterUserPassword": {},
						"DBSecurityGroups": {
							"shape": "S1w"
						},
						"VpcSecurityGroupIds": {
							"shape": "S1h"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"PreferredMaintenanceWindow": {},
						"DBParameterGroupName": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {},
						"Port": {
							"type": "integer"
						},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"CharacterSetName": {},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "Sa"
						},
						"DBClusterIdentifier": {},
						"StorageType": {},
						"TdeCredentialArn": {},
						"TdeCredentialPassword": {},
						"StorageEncrypted": {
							"type": "boolean"
						},
						"KmsKeyId": {},
						"Domain": {},
						"CopyTagsToSnapshot": {
							"type": "boolean"
						},
						"MonitoringInterval": {
							"type": "integer"
						},
						"MonitoringRoleArn": {},
						"DomainIAMRoleName": {},
						"PromotionTier": {
							"type": "integer"
						},
						"Timezone": {},
						"EnableIAMDatabaseAuthentication": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S1y"
						}
					}
				}
			},
			"CreateDBInstanceReadReplica": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"SourceDBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"SourceDBInstanceIdentifier": {},
						"DBInstanceClass": {},
						"AvailabilityZone": {},
						"Port": {
							"type": "integer"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "Sa"
						},
						"DBSubnetGroupName": {},
						"StorageType": {},
						"CopyTagsToSnapshot": {
							"type": "boolean"
						},
						"MonitoringInterval": {
							"type": "integer"
						},
						"MonitoringRoleArn": {},
						"KmsKeyId": {},
						"PreSignedUrl": {},
						"EnableIAMDatabaseAuthentication": {
							"type": "boolean"
						},
						"SourceRegion": {}
					}
				},
				"output": {
					"resultWrapper": "CreateDBInstanceReadReplicaResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S1y"
						}
					}
				}
			},
			"CreateDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName",
						"DBParameterGroupFamily",
						"Description"
					],
					"members": {
						"DBParameterGroupName": {},
						"DBParameterGroupFamily": {},
						"Description": {},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBParameterGroupResult",
					"type": "structure",
					"members": {
						"DBParameterGroup": {
							"shape": "S10"
						}
					}
				}
			},
			"CreateDBSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName",
						"DBSecurityGroupDescription"
					],
					"members": {
						"DBSecurityGroupName": {},
						"DBSecurityGroupDescription": {},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSecurityGroupResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sk"
						}
					}
				}
			},
			"CreateDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier",
						"DBInstanceIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {},
						"DBInstanceIdentifier": {},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "S13"
						}
					}
				}
			},
			"CreateDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName",
						"DBSubnetGroupDescription",
						"SubnetIds"
					],
					"members": {
						"DBSubnetGroupName": {},
						"DBSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S2o"
						},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateDBSubnetGroupResult",
					"type": "structure",
					"members": {
						"DBSubnetGroup": {
							"shape": "S22"
						}
					}
				}
			},
			"CreateEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SnsTopicArn"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "S7"
						},
						"SourceIds": {
							"shape": "S6"
						},
						"Enabled": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S5"
						}
					}
				}
			},
			"CreateOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName",
						"EngineName",
						"MajorEngineVersion",
						"OptionGroupDescription"
					],
					"members": {
						"OptionGroupName": {},
						"EngineName": {},
						"MajorEngineVersion": {},
						"OptionGroupDescription": {},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "S17"
						}
					}
				}
			},
			"DeleteDBCluster": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterIdentifier"
					],
					"members": {
						"DBClusterIdentifier": {},
						"SkipFinalSnapshot": {
							"type": "boolean"
						},
						"FinalDBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBClusterResult",
					"type": "structure",
					"members": {
						"DBCluster": {
							"shape": "S1j"
						}
					}
				}
			},
			"DeleteDBClusterParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterParameterGroupName"
					],
					"members": {
						"DBClusterParameterGroupName": {}
					}
				}
			},
			"DeleteDBClusterSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterSnapshotIdentifier"
					],
					"members": {
						"DBClusterSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBClusterSnapshotResult",
					"type": "structure",
					"members": {
						"DBClusterSnapshot": {
							"shape": "Sv"
						}
					}
				}
			},
			"DeleteDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"SkipFinalSnapshot": {
							"type": "boolean"
						},
						"FinalDBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S1y"
						}
					}
				}
			},
			"DeleteDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {}
					}
				}
			},
			"DeleteDBSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {}
					}
				}
			},
			"DeleteDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "S13"
						}
					}
				}
			},
			"DeleteDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName"
					],
					"members": {
						"DBSubnetGroupName": {}
					}
				}
			},
			"DeleteEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S5"
						}
					}
				}
			},
			"DeleteOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName"
					],
					"members": {
						"OptionGroupName": {}
					}
				}
			},
			"DescribeAccountAttributes": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"resultWrapper": "DescribeAccountAttributesResult",
					"type": "structure",
					"members": {
						"AccountQuotas": {
							"type": "list",
							"member": {
								"locationName": "AccountQuota",
								"type": "structure",
								"members": {
									"AccountQuotaName": {},
									"Used": {
										"type": "long"
									},
									"Max": {
										"type": "long"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DescribeCertificates": {
				"input": {
					"type": "structure",
					"members": {
						"CertificateIdentifier": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeCertificatesResult",
					"type": "structure",
					"members": {
						"Certificates": {
							"type": "list",
							"member": {
								"locationName": "Certificate",
								"type": "structure",
								"members": {
									"CertificateIdentifier": {},
									"CertificateType": {},
									"Thumbprint": {},
									"ValidFrom": {
										"type": "timestamp"
									},
									"ValidTill": {
										"type": "timestamp"
									},
									"CertificateArn": {}
								},
								"wrapper": true
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeDBClusterParameterGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBClusterParameterGroupName": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBClusterParameterGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBClusterParameterGroups": {
							"type": "list",
							"member": {
								"shape": "Sr",
								"locationName": "DBClusterParameterGroup"
							}
						}
					}
				}
			},
			"DescribeDBClusterParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterParameterGroupName"
					],
					"members": {
						"DBClusterParameterGroupName": {},
						"Source": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBClusterParametersResult",
					"type": "structure",
					"members": {
						"Parameters": {
							"shape": "S3q"
						},
						"Marker": {}
					}
				}
			},
			"DescribeDBClusterSnapshotAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterSnapshotIdentifier"
					],
					"members": {
						"DBClusterSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBClusterSnapshotAttributesResult",
					"type": "structure",
					"members": {
						"DBClusterSnapshotAttributesResult": {
							"shape": "S3v"
						}
					}
				}
			},
			"DescribeDBClusterSnapshots": {
				"input": {
					"type": "structure",
					"members": {
						"DBClusterIdentifier": {},
						"DBClusterSnapshotIdentifier": {},
						"SnapshotType": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"IncludeShared": {
							"type": "boolean"
						},
						"IncludePublic": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBClusterSnapshotsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBClusterSnapshots": {
							"type": "list",
							"member": {
								"shape": "Sv",
								"locationName": "DBClusterSnapshot"
							}
						}
					}
				}
			},
			"DescribeDBClusters": {
				"input": {
					"type": "structure",
					"members": {
						"DBClusterIdentifier": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBClustersResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBClusters": {
							"type": "list",
							"member": {
								"shape": "S1j",
								"locationName": "DBCluster"
							}
						}
					}
				}
			},
			"DescribeDBEngineVersions": {
				"input": {
					"type": "structure",
					"members": {
						"Engine": {},
						"EngineVersion": {},
						"DBParameterGroupFamily": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"DefaultOnly": {
							"type": "boolean"
						},
						"ListSupportedCharacterSets": {
							"type": "boolean"
						},
						"ListSupportedTimezones": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBEngineVersionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBEngineVersions": {
							"type": "list",
							"member": {
								"locationName": "DBEngineVersion",
								"type": "structure",
								"members": {
									"Engine": {},
									"EngineVersion": {},
									"DBParameterGroupFamily": {},
									"DBEngineDescription": {},
									"DBEngineVersionDescription": {},
									"DefaultCharacterSet": {
										"shape": "S49"
									},
									"SupportedCharacterSets": {
										"type": "list",
										"member": {
											"shape": "S49",
											"locationName": "CharacterSet"
										}
									},
									"ValidUpgradeTarget": {
										"type": "list",
										"member": {
											"locationName": "UpgradeTarget",
											"type": "structure",
											"members": {
												"Engine": {},
												"EngineVersion": {},
												"Description": {},
												"AutoUpgrade": {
													"type": "boolean"
												},
												"IsMajorVersionUpgrade": {
													"type": "boolean"
												}
											}
										}
									},
									"SupportedTimezones": {
										"type": "list",
										"member": {
											"locationName": "Timezone",
											"type": "structure",
											"members": {
												"TimezoneName": {}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeDBInstances": {
				"input": {
					"type": "structure",
					"members": {
						"DBInstanceIdentifier": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBInstancesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBInstances": {
							"type": "list",
							"member": {
								"shape": "S1y",
								"locationName": "DBInstance"
							}
						}
					}
				}
			},
			"DescribeDBLogFiles": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"FilenameContains": {},
						"FileLastWritten": {
							"type": "long"
						},
						"FileSize": {
							"type": "long"
						},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBLogFilesResult",
					"type": "structure",
					"members": {
						"DescribeDBLogFiles": {
							"type": "list",
							"member": {
								"locationName": "DescribeDBLogFilesDetails",
								"type": "structure",
								"members": {
									"LogFileName": {},
									"LastWritten": {
										"type": "long"
									},
									"Size": {
										"type": "long"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeDBParameterGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBParameterGroupName": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBParameterGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBParameterGroups": {
							"type": "list",
							"member": {
								"shape": "S10",
								"locationName": "DBParameterGroup"
							}
						}
					}
				}
			},
			"DescribeDBParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {},
						"Source": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBParametersResult",
					"type": "structure",
					"members": {
						"Parameters": {
							"shape": "S3q"
						},
						"Marker": {}
					}
				}
			},
			"DescribeDBSecurityGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBSecurityGroupName": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSecurityGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSecurityGroups": {
							"type": "list",
							"member": {
								"shape": "Sk",
								"locationName": "DBSecurityGroup"
							}
						}
					}
				}
			},
			"DescribeDBSnapshotAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSnapshotAttributesResult",
					"type": "structure",
					"members": {
						"DBSnapshotAttributesResult": {
							"shape": "S4w"
						}
					}
				}
			},
			"DescribeDBSnapshots": {
				"input": {
					"type": "structure",
					"members": {
						"DBInstanceIdentifier": {},
						"DBSnapshotIdentifier": {},
						"SnapshotType": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"IncludeShared": {
							"type": "boolean"
						},
						"IncludePublic": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSnapshotsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSnapshots": {
							"type": "list",
							"member": {
								"shape": "S13",
								"locationName": "DBSnapshot"
							}
						}
					}
				}
			},
			"DescribeDBSubnetGroups": {
				"input": {
					"type": "structure",
					"members": {
						"DBSubnetGroupName": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDBSubnetGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"DBSubnetGroups": {
							"type": "list",
							"member": {
								"shape": "S22",
								"locationName": "DBSubnetGroup"
							}
						}
					}
				}
			},
			"DescribeEngineDefaultClusterParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupFamily"
					],
					"members": {
						"DBParameterGroupFamily": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEngineDefaultClusterParametersResult",
					"type": "structure",
					"members": {
						"EngineDefaults": {
							"shape": "S57"
						}
					}
				}
			},
			"DescribeEngineDefaultParameters": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupFamily"
					],
					"members": {
						"DBParameterGroupFamily": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEngineDefaultParametersResult",
					"type": "structure",
					"members": {
						"EngineDefaults": {
							"shape": "S57"
						}
					}
				}
			},
			"DescribeEventCategories": {
				"input": {
					"type": "structure",
					"members": {
						"SourceType": {},
						"Filters": {
							"shape": "S3f"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventCategoriesResult",
					"type": "structure",
					"members": {
						"EventCategoriesMapList": {
							"type": "list",
							"member": {
								"locationName": "EventCategoriesMap",
								"type": "structure",
								"members": {
									"SourceType": {},
									"EventCategories": {
										"shape": "S7"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DescribeEventSubscriptions": {
				"input": {
					"type": "structure",
					"members": {
						"SubscriptionName": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventSubscriptionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"EventSubscriptionsList": {
							"type": "list",
							"member": {
								"shape": "S5",
								"locationName": "EventSubscription"
							}
						}
					}
				}
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"members": {
						"SourceIdentifier": {},
						"SourceType": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Duration": {
							"type": "integer"
						},
						"EventCategories": {
							"shape": "S7"
						},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"Events": {
							"type": "list",
							"member": {
								"locationName": "Event",
								"type": "structure",
								"members": {
									"SourceIdentifier": {},
									"SourceType": {},
									"Message": {},
									"EventCategories": {
										"shape": "S7"
									},
									"Date": {
										"type": "timestamp"
									},
									"SourceArn": {}
								}
							}
						}
					}
				}
			},
			"DescribeOptionGroupOptions": {
				"input": {
					"type": "structure",
					"required": [
						"EngineName"
					],
					"members": {
						"EngineName": {},
						"MajorEngineVersion": {},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOptionGroupOptionsResult",
					"type": "structure",
					"members": {
						"OptionGroupOptions": {
							"type": "list",
							"member": {
								"locationName": "OptionGroupOption",
								"type": "structure",
								"members": {
									"Name": {},
									"Description": {},
									"EngineName": {},
									"MajorEngineVersion": {},
									"MinimumRequiredMinorEngineVersion": {},
									"PortRequired": {
										"type": "boolean"
									},
									"DefaultPort": {
										"type": "integer"
									},
									"OptionsDependedOn": {
										"type": "list",
										"member": {
											"locationName": "OptionName"
										}
									},
									"OptionsConflictsWith": {
										"type": "list",
										"member": {
											"locationName": "OptionConflictName"
										}
									},
									"Persistent": {
										"type": "boolean"
									},
									"Permanent": {
										"type": "boolean"
									},
									"OptionGroupOptionSettings": {
										"type": "list",
										"member": {
											"locationName": "OptionGroupOptionSetting",
											"type": "structure",
											"members": {
												"SettingName": {},
												"SettingDescription": {},
												"DefaultValue": {},
												"ApplyType": {},
												"AllowedValues": {},
												"IsModifiable": {
													"type": "boolean"
												}
											}
										}
									},
									"OptionGroupOptionVersions": {
										"type": "list",
										"member": {
											"locationName": "OptionVersion",
											"type": "structure",
											"members": {
												"Version": {},
												"IsDefault": {
													"type": "boolean"
												}
											}
										}
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeOptionGroups": {
				"input": {
					"type": "structure",
					"members": {
						"OptionGroupName": {},
						"Filters": {
							"shape": "S3f"
						},
						"Marker": {},
						"MaxRecords": {
							"type": "integer"
						},
						"EngineName": {},
						"MajorEngineVersion": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOptionGroupsResult",
					"type": "structure",
					"members": {
						"OptionGroupsList": {
							"type": "list",
							"member": {
								"shape": "S17",
								"locationName": "OptionGroup"
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeOrderableDBInstanceOptions": {
				"input": {
					"type": "structure",
					"required": [
						"Engine"
					],
					"members": {
						"Engine": {},
						"EngineVersion": {},
						"DBInstanceClass": {},
						"LicenseModel": {},
						"Vpc": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOrderableDBInstanceOptionsResult",
					"type": "structure",
					"members": {
						"OrderableDBInstanceOptions": {
							"type": "list",
							"member": {
								"locationName": "OrderableDBInstanceOption",
								"type": "structure",
								"members": {
									"Engine": {},
									"EngineVersion": {},
									"DBInstanceClass": {},
									"LicenseModel": {},
									"AvailabilityZones": {
										"type": "list",
										"member": {
											"shape": "S25",
											"locationName": "AvailabilityZone"
										}
									},
									"MultiAZCapable": {
										"type": "boolean"
									},
									"ReadReplicaCapable": {
										"type": "boolean"
									},
									"Vpc": {
										"type": "boolean"
									},
									"SupportsStorageEncryption": {
										"type": "boolean"
									},
									"StorageType": {},
									"SupportsIops": {
										"type": "boolean"
									},
									"SupportsEnhancedMonitoring": {
										"type": "boolean"
									},
									"SupportsIAMDatabaseAuthentication": {
										"type": "boolean"
									}
								},
								"wrapper": true
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribePendingMaintenanceActions": {
				"input": {
					"type": "structure",
					"members": {
						"ResourceIdentifier": {},
						"Filters": {
							"shape": "S3f"
						},
						"Marker": {},
						"MaxRecords": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribePendingMaintenanceActionsResult",
					"type": "structure",
					"members": {
						"PendingMaintenanceActions": {
							"type": "list",
							"member": {
								"shape": "Se",
								"locationName": "ResourcePendingMaintenanceActions"
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeReservedDBInstances": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedDBInstanceId": {},
						"ReservedDBInstancesOfferingId": {},
						"DBInstanceClass": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedDBInstancesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedDBInstances": {
							"type": "list",
							"member": {
								"shape": "S6a",
								"locationName": "ReservedDBInstance"
							}
						}
					}
				}
			},
			"DescribeReservedDBInstancesOfferings": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedDBInstancesOfferingId": {},
						"DBInstanceClass": {},
						"Duration": {},
						"ProductDescription": {},
						"OfferingType": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"Filters": {
							"shape": "S3f"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedDBInstancesOfferingsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedDBInstancesOfferings": {
							"type": "list",
							"member": {
								"locationName": "ReservedDBInstancesOffering",
								"type": "structure",
								"members": {
									"ReservedDBInstancesOfferingId": {},
									"DBInstanceClass": {},
									"Duration": {
										"type": "integer"
									},
									"FixedPrice": {
										"type": "double"
									},
									"UsagePrice": {
										"type": "double"
									},
									"CurrencyCode": {},
									"ProductDescription": {},
									"OfferingType": {},
									"MultiAZ": {
										"type": "boolean"
									},
									"RecurringCharges": {
										"shape": "S6c"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DescribeSourceRegions": {
				"input": {
					"type": "structure",
					"members": {
						"RegionName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"Filters": {
							"shape": "S3f"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeSourceRegionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"SourceRegions": {
							"type": "list",
							"member": {
								"locationName": "SourceRegion",
								"type": "structure",
								"members": {
									"RegionName": {},
									"Endpoint": {},
									"Status": {}
								}
							}
						}
					}
				}
			},
			"DownloadDBLogFilePortion": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"LogFileName"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"LogFileName": {},
						"Marker": {},
						"NumberOfLines": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "DownloadDBLogFilePortionResult",
					"type": "structure",
					"members": {
						"LogFileData": {},
						"Marker": {},
						"AdditionalDataPending": {
							"type": "boolean"
						}
					}
				}
			},
			"FailoverDBCluster": {
				"input": {
					"type": "structure",
					"members": {
						"DBClusterIdentifier": {},
						"TargetDBInstanceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "FailoverDBClusterResult",
					"type": "structure",
					"members": {
						"DBCluster": {
							"shape": "S1j"
						}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName"
					],
					"members": {
						"ResourceName": {},
						"Filters": {
							"shape": "S3f"
						}
					}
				},
				"output": {
					"resultWrapper": "ListTagsForResourceResult",
					"type": "structure",
					"members": {
						"TagList": {
							"shape": "Sa"
						}
					}
				}
			},
			"ModifyDBCluster": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterIdentifier"
					],
					"members": {
						"DBClusterIdentifier": {},
						"NewDBClusterIdentifier": {},
						"ApplyImmediately": {
							"type": "boolean"
						},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"DBClusterParameterGroupName": {},
						"VpcSecurityGroupIds": {
							"shape": "S1h"
						},
						"Port": {
							"type": "integer"
						},
						"MasterUserPassword": {},
						"OptionGroupName": {},
						"PreferredBackupWindow": {},
						"PreferredMaintenanceWindow": {},
						"EnableIAMDatabaseAuthentication": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBClusterResult",
					"type": "structure",
					"members": {
						"DBCluster": {
							"shape": "S1j"
						}
					}
				}
			},
			"ModifyDBClusterParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterParameterGroupName",
						"Parameters"
					],
					"members": {
						"DBClusterParameterGroupName": {},
						"Parameters": {
							"shape": "S3q"
						}
					}
				},
				"output": {
					"shape": "S6v",
					"resultWrapper": "ModifyDBClusterParameterGroupResult"
				}
			},
			"ModifyDBClusterSnapshotAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterSnapshotIdentifier",
						"AttributeName"
					],
					"members": {
						"DBClusterSnapshotIdentifier": {},
						"AttributeName": {},
						"ValuesToAdd": {
							"shape": "S3y"
						},
						"ValuesToRemove": {
							"shape": "S3y"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBClusterSnapshotAttributeResult",
					"type": "structure",
					"members": {
						"DBClusterSnapshotAttributesResult": {
							"shape": "S3v"
						}
					}
				}
			},
			"ModifyDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"AllocatedStorage": {
							"type": "integer"
						},
						"DBInstanceClass": {},
						"DBSubnetGroupName": {},
						"DBSecurityGroups": {
							"shape": "S1w"
						},
						"VpcSecurityGroupIds": {
							"shape": "S1h"
						},
						"ApplyImmediately": {
							"type": "boolean"
						},
						"MasterUserPassword": {},
						"DBParameterGroupName": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {},
						"PreferredMaintenanceWindow": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"EngineVersion": {},
						"AllowMajorVersionUpgrade": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"NewDBInstanceIdentifier": {},
						"StorageType": {},
						"TdeCredentialArn": {},
						"TdeCredentialPassword": {},
						"CACertificateIdentifier": {},
						"Domain": {},
						"CopyTagsToSnapshot": {
							"type": "boolean"
						},
						"MonitoringInterval": {
							"type": "integer"
						},
						"DBPortNumber": {
							"type": "integer"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"MonitoringRoleArn": {},
						"DomainIAMRoleName": {},
						"PromotionTier": {
							"type": "integer"
						},
						"EnableIAMDatabaseAuthentication": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S1y"
						}
					}
				}
			},
			"ModifyDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName",
						"Parameters"
					],
					"members": {
						"DBParameterGroupName": {},
						"Parameters": {
							"shape": "S3q"
						}
					}
				},
				"output": {
					"shape": "S71",
					"resultWrapper": "ModifyDBParameterGroupResult"
				}
			},
			"ModifyDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBSnapshotIdentifier": {},
						"EngineVersion": {}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBSnapshot": {
							"shape": "S13"
						}
					}
				}
			},
			"ModifyDBSnapshotAttribute": {
				"input": {
					"type": "structure",
					"required": [
						"DBSnapshotIdentifier",
						"AttributeName"
					],
					"members": {
						"DBSnapshotIdentifier": {},
						"AttributeName": {},
						"ValuesToAdd": {
							"shape": "S3y"
						},
						"ValuesToRemove": {
							"shape": "S3y"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBSnapshotAttributeResult",
					"type": "structure",
					"members": {
						"DBSnapshotAttributesResult": {
							"shape": "S4w"
						}
					}
				}
			},
			"ModifyDBSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBSubnetGroupName",
						"SubnetIds"
					],
					"members": {
						"DBSubnetGroupName": {},
						"DBSubnetGroupDescription": {},
						"SubnetIds": {
							"shape": "S2o"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyDBSubnetGroupResult",
					"type": "structure",
					"members": {
						"DBSubnetGroup": {
							"shape": "S22"
						}
					}
				}
			},
			"ModifyEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"EventCategories": {
							"shape": "S7"
						},
						"Enabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S5"
						}
					}
				}
			},
			"ModifyOptionGroup": {
				"input": {
					"type": "structure",
					"required": [
						"OptionGroupName"
					],
					"members": {
						"OptionGroupName": {},
						"OptionsToInclude": {
							"type": "list",
							"member": {
								"locationName": "OptionConfiguration",
								"type": "structure",
								"required": [
									"OptionName"
								],
								"members": {
									"OptionName": {},
									"Port": {
										"type": "integer"
									},
									"OptionVersion": {},
									"DBSecurityGroupMemberships": {
										"shape": "S1w"
									},
									"VpcSecurityGroupMemberships": {
										"shape": "S1h"
									},
									"OptionSettings": {
										"type": "list",
										"member": {
											"shape": "S1b",
											"locationName": "OptionSetting"
										}
									}
								}
							}
						},
						"OptionsToRemove": {
							"type": "list",
							"member": {}
						},
						"ApplyImmediately": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyOptionGroupResult",
					"type": "structure",
					"members": {
						"OptionGroup": {
							"shape": "S17"
						}
					}
				}
			},
			"PromoteReadReplica": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"PreferredBackupWindow": {}
					}
				},
				"output": {
					"resultWrapper": "PromoteReadReplicaResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S1y"
						}
					}
				}
			},
			"PromoteReadReplicaDBCluster": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterIdentifier"
					],
					"members": {
						"DBClusterIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "PromoteReadReplicaDBClusterResult",
					"type": "structure",
					"members": {
						"DBCluster": {
							"shape": "S1j"
						}
					}
				}
			},
			"PurchaseReservedDBInstancesOffering": {
				"input": {
					"type": "structure",
					"required": [
						"ReservedDBInstancesOfferingId"
					],
					"members": {
						"ReservedDBInstancesOfferingId": {},
						"ReservedDBInstanceId": {},
						"DBInstanceCount": {
							"type": "integer"
						},
						"Tags": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"resultWrapper": "PurchaseReservedDBInstancesOfferingResult",
					"type": "structure",
					"members": {
						"ReservedDBInstance": {
							"shape": "S6a"
						}
					}
				}
			},
			"RebootDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"ForceFailover": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "RebootDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S1y"
						}
					}
				}
			},
			"RemoveRoleFromDBCluster": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterIdentifier",
						"RoleArn"
					],
					"members": {
						"DBClusterIdentifier": {},
						"RoleArn": {}
					}
				}
			},
			"RemoveSourceIdentifierFromSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SourceIdentifier"
					],
					"members": {
						"SubscriptionName": {},
						"SourceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "RemoveSourceIdentifierFromSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S5"
						}
					}
				}
			},
			"RemoveTagsFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"TagKeys"
					],
					"members": {
						"ResourceName": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"ResetDBClusterParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterParameterGroupName"
					],
					"members": {
						"DBClusterParameterGroupName": {},
						"ResetAllParameters": {
							"type": "boolean"
						},
						"Parameters": {
							"shape": "S3q"
						}
					}
				},
				"output": {
					"shape": "S6v",
					"resultWrapper": "ResetDBClusterParameterGroupResult"
				}
			},
			"ResetDBParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"DBParameterGroupName"
					],
					"members": {
						"DBParameterGroupName": {},
						"ResetAllParameters": {
							"type": "boolean"
						},
						"Parameters": {
							"shape": "S3q"
						}
					}
				},
				"output": {
					"shape": "S71",
					"resultWrapper": "ResetDBParameterGroupResult"
				}
			},
			"RestoreDBClusterFromS3": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterIdentifier",
						"Engine",
						"MasterUsername",
						"MasterUserPassword",
						"SourceEngine",
						"SourceEngineVersion",
						"S3BucketName",
						"S3IngestionRoleArn"
					],
					"members": {
						"AvailabilityZones": {
							"shape": "Sw"
						},
						"BackupRetentionPeriod": {
							"type": "integer"
						},
						"CharacterSetName": {},
						"DatabaseName": {},
						"DBClusterIdentifier": {},
						"DBClusterParameterGroupName": {},
						"VpcSecurityGroupIds": {
							"shape": "S1h"
						},
						"DBSubnetGroupName": {},
						"Engine": {},
						"EngineVersion": {},
						"Port": {
							"type": "integer"
						},
						"MasterUsername": {},
						"MasterUserPassword": {},
						"OptionGroupName": {},
						"PreferredBackupWindow": {},
						"PreferredMaintenanceWindow": {},
						"Tags": {
							"shape": "Sa"
						},
						"StorageEncrypted": {
							"type": "boolean"
						},
						"KmsKeyId": {},
						"EnableIAMDatabaseAuthentication": {
							"type": "boolean"
						},
						"SourceEngine": {},
						"SourceEngineVersion": {},
						"S3BucketName": {},
						"S3Prefix": {},
						"S3IngestionRoleArn": {}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBClusterFromS3Result",
					"type": "structure",
					"members": {
						"DBCluster": {
							"shape": "S1j"
						}
					}
				}
			},
			"RestoreDBClusterFromSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterIdentifier",
						"SnapshotIdentifier",
						"Engine"
					],
					"members": {
						"AvailabilityZones": {
							"shape": "Sw"
						},
						"DBClusterIdentifier": {},
						"SnapshotIdentifier": {},
						"Engine": {},
						"EngineVersion": {},
						"Port": {
							"type": "integer"
						},
						"DBSubnetGroupName": {},
						"DatabaseName": {},
						"OptionGroupName": {},
						"VpcSecurityGroupIds": {
							"shape": "S1h"
						},
						"Tags": {
							"shape": "Sa"
						},
						"KmsKeyId": {},
						"EnableIAMDatabaseAuthentication": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBClusterFromSnapshotResult",
					"type": "structure",
					"members": {
						"DBCluster": {
							"shape": "S1j"
						}
					}
				}
			},
			"RestoreDBClusterToPointInTime": {
				"input": {
					"type": "structure",
					"required": [
						"DBClusterIdentifier",
						"SourceDBClusterIdentifier"
					],
					"members": {
						"DBClusterIdentifier": {},
						"RestoreType": {},
						"SourceDBClusterIdentifier": {},
						"RestoreToTime": {
							"type": "timestamp"
						},
						"UseLatestRestorableTime": {
							"type": "boolean"
						},
						"Port": {
							"type": "integer"
						},
						"DBSubnetGroupName": {},
						"OptionGroupName": {},
						"VpcSecurityGroupIds": {
							"shape": "S1h"
						},
						"Tags": {
							"shape": "Sa"
						},
						"KmsKeyId": {},
						"EnableIAMDatabaseAuthentication": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBClusterToPointInTimeResult",
					"type": "structure",
					"members": {
						"DBCluster": {
							"shape": "S1j"
						}
					}
				}
			},
			"RestoreDBInstanceFromDBSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier",
						"DBSnapshotIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"DBSnapshotIdentifier": {},
						"DBInstanceClass": {},
						"Port": {
							"type": "integer"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"DBName": {},
						"Engine": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"Tags": {
							"shape": "Sa"
						},
						"StorageType": {},
						"TdeCredentialArn": {},
						"TdeCredentialPassword": {},
						"Domain": {},
						"CopyTagsToSnapshot": {
							"type": "boolean"
						},
						"DomainIAMRoleName": {},
						"EnableIAMDatabaseAuthentication": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBInstanceFromDBSnapshotResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S1y"
						}
					}
				}
			},
			"RestoreDBInstanceToPointInTime": {
				"input": {
					"type": "structure",
					"required": [
						"SourceDBInstanceIdentifier",
						"TargetDBInstanceIdentifier"
					],
					"members": {
						"SourceDBInstanceIdentifier": {},
						"TargetDBInstanceIdentifier": {},
						"RestoreTime": {
							"type": "timestamp"
						},
						"UseLatestRestorableTime": {
							"type": "boolean"
						},
						"DBInstanceClass": {},
						"Port": {
							"type": "integer"
						},
						"AvailabilityZone": {},
						"DBSubnetGroupName": {},
						"MultiAZ": {
							"type": "boolean"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"AutoMinorVersionUpgrade": {
							"type": "boolean"
						},
						"LicenseModel": {},
						"DBName": {},
						"Engine": {},
						"Iops": {
							"type": "integer"
						},
						"OptionGroupName": {},
						"CopyTagsToSnapshot": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "Sa"
						},
						"StorageType": {},
						"TdeCredentialArn": {},
						"TdeCredentialPassword": {},
						"Domain": {},
						"DomainIAMRoleName": {},
						"EnableIAMDatabaseAuthentication": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "RestoreDBInstanceToPointInTimeResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S1y"
						}
					}
				}
			},
			"RevokeDBSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"DBSecurityGroupName"
					],
					"members": {
						"DBSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupId": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "RevokeDBSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"DBSecurityGroup": {
							"shape": "Sk"
						}
					}
				}
			},
			"StartDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "StartDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S1y"
						}
					}
				}
			},
			"StopDBInstance": {
				"input": {
					"type": "structure",
					"required": [
						"DBInstanceIdentifier"
					],
					"members": {
						"DBInstanceIdentifier": {},
						"DBSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "StopDBInstanceResult",
					"type": "structure",
					"members": {
						"DBInstance": {
							"shape": "S1y"
						}
					}
				}
			}
		},
		"shapes": {
			"S5": {
				"type": "structure",
				"members": {
					"CustomerAwsId": {},
					"CustSubscriptionId": {},
					"SnsTopicArn": {},
					"Status": {},
					"SubscriptionCreationTime": {},
					"SourceType": {},
					"SourceIdsList": {
						"shape": "S6"
					},
					"EventCategoriesList": {
						"shape": "S7"
					},
					"Enabled": {
						"type": "boolean"
					},
					"EventSubscriptionArn": {}
				},
				"wrapper": true
			},
			"S6": {
				"type": "list",
				"member": {
					"locationName": "SourceId"
				}
			},
			"S7": {
				"type": "list",
				"member": {
					"locationName": "EventCategory"
				}
			},
			"Sa": {
				"type": "list",
				"member": {
					"locationName": "Tag",
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Se": {
				"type": "structure",
				"members": {
					"ResourceIdentifier": {},
					"PendingMaintenanceActionDetails": {
						"type": "list",
						"member": {
							"locationName": "PendingMaintenanceAction",
							"type": "structure",
							"members": {
								"Action": {},
								"AutoAppliedAfterDate": {
									"type": "timestamp"
								},
								"ForcedApplyDate": {
									"type": "timestamp"
								},
								"OptInStatus": {},
								"CurrentApplyDate": {
									"type": "timestamp"
								},
								"Description": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"Sk": {
				"type": "structure",
				"members": {
					"OwnerId": {},
					"DBSecurityGroupName": {},
					"DBSecurityGroupDescription": {},
					"VpcId": {},
					"EC2SecurityGroups": {
						"type": "list",
						"member": {
							"locationName": "EC2SecurityGroup",
							"type": "structure",
							"members": {
								"Status": {},
								"EC2SecurityGroupName": {},
								"EC2SecurityGroupId": {},
								"EC2SecurityGroupOwnerId": {}
							}
						}
					},
					"IPRanges": {
						"type": "list",
						"member": {
							"locationName": "IPRange",
							"type": "structure",
							"members": {
								"Status": {},
								"CIDRIP": {}
							}
						}
					},
					"DBSecurityGroupArn": {}
				},
				"wrapper": true
			},
			"Sr": {
				"type": "structure",
				"members": {
					"DBClusterParameterGroupName": {},
					"DBParameterGroupFamily": {},
					"Description": {},
					"DBClusterParameterGroupArn": {}
				},
				"wrapper": true
			},
			"Sv": {
				"type": "structure",
				"members": {
					"AvailabilityZones": {
						"shape": "Sw"
					},
					"DBClusterSnapshotIdentifier": {},
					"DBClusterIdentifier": {},
					"SnapshotCreateTime": {
						"type": "timestamp"
					},
					"Engine": {},
					"AllocatedStorage": {
						"type": "integer"
					},
					"Status": {},
					"Port": {
						"type": "integer"
					},
					"VpcId": {},
					"ClusterCreateTime": {
						"type": "timestamp"
					},
					"MasterUsername": {},
					"EngineVersion": {},
					"LicenseModel": {},
					"SnapshotType": {},
					"PercentProgress": {
						"type": "integer"
					},
					"StorageEncrypted": {
						"type": "boolean"
					},
					"KmsKeyId": {},
					"DBClusterSnapshotArn": {},
					"SourceDBClusterSnapshotArn": {},
					"IAMDatabaseAuthenticationEnabled": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"Sw": {
				"type": "list",
				"member": {
					"locationName": "AvailabilityZone"
				}
			},
			"S10": {
				"type": "structure",
				"members": {
					"DBParameterGroupName": {},
					"DBParameterGroupFamily": {},
					"Description": {},
					"DBParameterGroupArn": {}
				},
				"wrapper": true
			},
			"S13": {
				"type": "structure",
				"members": {
					"DBSnapshotIdentifier": {},
					"DBInstanceIdentifier": {},
					"SnapshotCreateTime": {
						"type": "timestamp"
					},
					"Engine": {},
					"AllocatedStorage": {
						"type": "integer"
					},
					"Status": {},
					"Port": {
						"type": "integer"
					},
					"AvailabilityZone": {},
					"VpcId": {},
					"InstanceCreateTime": {
						"type": "timestamp"
					},
					"MasterUsername": {},
					"EngineVersion": {},
					"LicenseModel": {},
					"SnapshotType": {},
					"Iops": {
						"type": "integer"
					},
					"OptionGroupName": {},
					"PercentProgress": {
						"type": "integer"
					},
					"SourceRegion": {},
					"SourceDBSnapshotIdentifier": {},
					"StorageType": {},
					"TdeCredentialArn": {},
					"Encrypted": {
						"type": "boolean"
					},
					"KmsKeyId": {},
					"DBSnapshotArn": {},
					"Timezone": {},
					"IAMDatabaseAuthenticationEnabled": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"S17": {
				"type": "structure",
				"members": {
					"OptionGroupName": {},
					"OptionGroupDescription": {},
					"EngineName": {},
					"MajorEngineVersion": {},
					"Options": {
						"type": "list",
						"member": {
							"locationName": "Option",
							"type": "structure",
							"members": {
								"OptionName": {},
								"OptionDescription": {},
								"Persistent": {
									"type": "boolean"
								},
								"Permanent": {
									"type": "boolean"
								},
								"Port": {
									"type": "integer"
								},
								"OptionVersion": {},
								"OptionSettings": {
									"type": "list",
									"member": {
										"shape": "S1b",
										"locationName": "OptionSetting"
									}
								},
								"DBSecurityGroupMemberships": {
									"shape": "S1c"
								},
								"VpcSecurityGroupMemberships": {
									"shape": "S1e"
								}
							}
						}
					},
					"AllowsVpcAndNonVpcInstanceMemberships": {
						"type": "boolean"
					},
					"VpcId": {},
					"OptionGroupArn": {}
				},
				"wrapper": true
			},
			"S1b": {
				"type": "structure",
				"members": {
					"Name": {},
					"Value": {},
					"DefaultValue": {},
					"Description": {},
					"ApplyType": {},
					"DataType": {},
					"AllowedValues": {},
					"IsModifiable": {
						"type": "boolean"
					},
					"IsCollection": {
						"type": "boolean"
					}
				}
			},
			"S1c": {
				"type": "list",
				"member": {
					"locationName": "DBSecurityGroup",
					"type": "structure",
					"members": {
						"DBSecurityGroupName": {},
						"Status": {}
					}
				}
			},
			"S1e": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupMembership",
					"type": "structure",
					"members": {
						"VpcSecurityGroupId": {},
						"Status": {}
					}
				}
			},
			"S1h": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupId"
				}
			},
			"S1j": {
				"type": "structure",
				"members": {
					"AllocatedStorage": {
						"type": "integer"
					},
					"AvailabilityZones": {
						"shape": "Sw"
					},
					"BackupRetentionPeriod": {
						"type": "integer"
					},
					"CharacterSetName": {},
					"DatabaseName": {},
					"DBClusterIdentifier": {},
					"DBClusterParameterGroup": {},
					"DBSubnetGroup": {},
					"Status": {},
					"PercentProgress": {},
					"EarliestRestorableTime": {
						"type": "timestamp"
					},
					"Endpoint": {},
					"ReaderEndpoint": {},
					"MultiAZ": {
						"type": "boolean"
					},
					"Engine": {},
					"EngineVersion": {},
					"LatestRestorableTime": {
						"type": "timestamp"
					},
					"Port": {
						"type": "integer"
					},
					"MasterUsername": {},
					"DBClusterOptionGroupMemberships": {
						"type": "list",
						"member": {
							"locationName": "DBClusterOptionGroup",
							"type": "structure",
							"members": {
								"DBClusterOptionGroupName": {},
								"Status": {}
							}
						}
					},
					"PreferredBackupWindow": {},
					"PreferredMaintenanceWindow": {},
					"ReplicationSourceIdentifier": {},
					"ReadReplicaIdentifiers": {
						"type": "list",
						"member": {
							"locationName": "ReadReplicaIdentifier"
						}
					},
					"DBClusterMembers": {
						"type": "list",
						"member": {
							"locationName": "DBClusterMember",
							"type": "structure",
							"members": {
								"DBInstanceIdentifier": {},
								"IsClusterWriter": {
									"type": "boolean"
								},
								"DBClusterParameterGroupStatus": {},
								"PromotionTier": {
									"type": "integer"
								}
							},
							"wrapper": true
						}
					},
					"VpcSecurityGroups": {
						"shape": "S1e"
					},
					"HostedZoneId": {},
					"StorageEncrypted": {
						"type": "boolean"
					},
					"KmsKeyId": {},
					"DbClusterResourceId": {},
					"DBClusterArn": {},
					"AssociatedRoles": {
						"type": "list",
						"member": {
							"locationName": "DBClusterRole",
							"type": "structure",
							"members": {
								"RoleArn": {},
								"Status": {}
							}
						}
					},
					"IAMDatabaseAuthenticationEnabled": {
						"type": "boolean"
					},
					"CloneGroupId": {},
					"ClusterCreateTime": {
						"type": "timestamp"
					}
				},
				"wrapper": true
			},
			"S1w": {
				"type": "list",
				"member": {
					"locationName": "DBSecurityGroupName"
				}
			},
			"S1y": {
				"type": "structure",
				"members": {
					"DBInstanceIdentifier": {},
					"DBInstanceClass": {},
					"Engine": {},
					"DBInstanceStatus": {},
					"MasterUsername": {},
					"DBName": {},
					"Endpoint": {
						"type": "structure",
						"members": {
							"Address": {},
							"Port": {
								"type": "integer"
							},
							"HostedZoneId": {}
						}
					},
					"AllocatedStorage": {
						"type": "integer"
					},
					"InstanceCreateTime": {
						"type": "timestamp"
					},
					"PreferredBackupWindow": {},
					"BackupRetentionPeriod": {
						"type": "integer"
					},
					"DBSecurityGroups": {
						"shape": "S1c"
					},
					"VpcSecurityGroups": {
						"shape": "S1e"
					},
					"DBParameterGroups": {
						"type": "list",
						"member": {
							"locationName": "DBParameterGroup",
							"type": "structure",
							"members": {
								"DBParameterGroupName": {},
								"ParameterApplyStatus": {}
							}
						}
					},
					"AvailabilityZone": {},
					"DBSubnetGroup": {
						"shape": "S22"
					},
					"PreferredMaintenanceWindow": {},
					"PendingModifiedValues": {
						"type": "structure",
						"members": {
							"DBInstanceClass": {},
							"AllocatedStorage": {
								"type": "integer"
							},
							"MasterUserPassword": {},
							"Port": {
								"type": "integer"
							},
							"BackupRetentionPeriod": {
								"type": "integer"
							},
							"MultiAZ": {
								"type": "boolean"
							},
							"EngineVersion": {},
							"LicenseModel": {},
							"Iops": {
								"type": "integer"
							},
							"DBInstanceIdentifier": {},
							"StorageType": {},
							"CACertificateIdentifier": {},
							"DBSubnetGroupName": {}
						}
					},
					"LatestRestorableTime": {
						"type": "timestamp"
					},
					"MultiAZ": {
						"type": "boolean"
					},
					"EngineVersion": {},
					"AutoMinorVersionUpgrade": {
						"type": "boolean"
					},
					"ReadReplicaSourceDBInstanceIdentifier": {},
					"ReadReplicaDBInstanceIdentifiers": {
						"type": "list",
						"member": {
							"locationName": "ReadReplicaDBInstanceIdentifier"
						}
					},
					"ReadReplicaDBClusterIdentifiers": {
						"type": "list",
						"member": {
							"locationName": "ReadReplicaDBClusterIdentifier"
						}
					},
					"LicenseModel": {},
					"Iops": {
						"type": "integer"
					},
					"OptionGroupMemberships": {
						"type": "list",
						"member": {
							"locationName": "OptionGroupMembership",
							"type": "structure",
							"members": {
								"OptionGroupName": {},
								"Status": {}
							}
						}
					},
					"CharacterSetName": {},
					"SecondaryAvailabilityZone": {},
					"PubliclyAccessible": {
						"type": "boolean"
					},
					"StatusInfos": {
						"type": "list",
						"member": {
							"locationName": "DBInstanceStatusInfo",
							"type": "structure",
							"members": {
								"StatusType": {},
								"Normal": {
									"type": "boolean"
								},
								"Status": {},
								"Message": {}
							}
						}
					},
					"StorageType": {},
					"TdeCredentialArn": {},
					"DbInstancePort": {
						"type": "integer"
					},
					"DBClusterIdentifier": {},
					"StorageEncrypted": {
						"type": "boolean"
					},
					"KmsKeyId": {},
					"DbiResourceId": {},
					"CACertificateIdentifier": {},
					"DomainMemberships": {
						"type": "list",
						"member": {
							"locationName": "DomainMembership",
							"type": "structure",
							"members": {
								"Domain": {},
								"Status": {},
								"FQDN": {},
								"IAMRoleName": {}
							}
						}
					},
					"CopyTagsToSnapshot": {
						"type": "boolean"
					},
					"MonitoringInterval": {
						"type": "integer"
					},
					"EnhancedMonitoringResourceArn": {},
					"MonitoringRoleArn": {},
					"PromotionTier": {
						"type": "integer"
					},
					"DBInstanceArn": {},
					"Timezone": {},
					"IAMDatabaseAuthenticationEnabled": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"S22": {
				"type": "structure",
				"members": {
					"DBSubnetGroupName": {},
					"DBSubnetGroupDescription": {},
					"VpcId": {},
					"SubnetGroupStatus": {},
					"Subnets": {
						"type": "list",
						"member": {
							"locationName": "Subnet",
							"type": "structure",
							"members": {
								"SubnetIdentifier": {},
								"SubnetAvailabilityZone": {
									"shape": "S25"
								},
								"SubnetStatus": {}
							}
						}
					},
					"DBSubnetGroupArn": {}
				},
				"wrapper": true
			},
			"S25": {
				"type": "structure",
				"members": {
					"Name": {}
				},
				"wrapper": true
			},
			"S2o": {
				"type": "list",
				"member": {
					"locationName": "SubnetIdentifier"
				}
			},
			"S3f": {
				"type": "list",
				"member": {
					"locationName": "Filter",
					"type": "structure",
					"required": [
						"Name",
						"Values"
					],
					"members": {
						"Name": {},
						"Values": {
							"type": "list",
							"member": {
								"locationName": "Value"
							}
						}
					}
				}
			},
			"S3q": {
				"type": "list",
				"member": {
					"locationName": "Parameter",
					"type": "structure",
					"members": {
						"ParameterName": {},
						"ParameterValue": {},
						"Description": {},
						"Source": {},
						"ApplyType": {},
						"DataType": {},
						"AllowedValues": {},
						"IsModifiable": {
							"type": "boolean"
						},
						"MinimumEngineVersion": {},
						"ApplyMethod": {}
					}
				}
			},
			"S3v": {
				"type": "structure",
				"members": {
					"DBClusterSnapshotIdentifier": {},
					"DBClusterSnapshotAttributes": {
						"type": "list",
						"member": {
							"locationName": "DBClusterSnapshotAttribute",
							"type": "structure",
							"members": {
								"AttributeName": {},
								"AttributeValues": {
									"shape": "S3y"
								}
							}
						}
					}
				},
				"wrapper": true
			},
			"S3y": {
				"type": "list",
				"member": {
					"locationName": "AttributeValue"
				}
			},
			"S49": {
				"type": "structure",
				"members": {
					"CharacterSetName": {},
					"CharacterSetDescription": {}
				}
			},
			"S4w": {
				"type": "structure",
				"members": {
					"DBSnapshotIdentifier": {},
					"DBSnapshotAttributes": {
						"type": "list",
						"member": {
							"locationName": "DBSnapshotAttribute",
							"type": "structure",
							"members": {
								"AttributeName": {},
								"AttributeValues": {
									"shape": "S3y"
								}
							},
							"wrapper": true
						}
					}
				},
				"wrapper": true
			},
			"S57": {
				"type": "structure",
				"members": {
					"DBParameterGroupFamily": {},
					"Marker": {},
					"Parameters": {
						"shape": "S3q"
					}
				},
				"wrapper": true
			},
			"S6a": {
				"type": "structure",
				"members": {
					"ReservedDBInstanceId": {},
					"ReservedDBInstancesOfferingId": {},
					"DBInstanceClass": {},
					"StartTime": {
						"type": "timestamp"
					},
					"Duration": {
						"type": "integer"
					},
					"FixedPrice": {
						"type": "double"
					},
					"UsagePrice": {
						"type": "double"
					},
					"CurrencyCode": {},
					"DBInstanceCount": {
						"type": "integer"
					},
					"ProductDescription": {},
					"OfferingType": {},
					"MultiAZ": {
						"type": "boolean"
					},
					"State": {},
					"RecurringCharges": {
						"shape": "S6c"
					},
					"ReservedDBInstanceArn": {}
				},
				"wrapper": true
			},
			"S6c": {
				"type": "list",
				"member": {
					"locationName": "RecurringCharge",
					"type": "structure",
					"members": {
						"RecurringChargeAmount": {
							"type": "double"
						},
						"RecurringChargeFrequency": {}
					},
					"wrapper": true
				}
			},
			"S6v": {
				"type": "structure",
				"members": {
					"DBClusterParameterGroupName": {}
				}
			},
			"S71": {
				"type": "structure",
				"members": {
					"DBParameterGroupName": {}
				}
			}
		}
	};

/***/ }),
/* 556 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeDBEngineVersions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBEngineVersions"
			},
			"DescribeDBInstances": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBInstances"
			},
			"DescribeDBLogFiles": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DescribeDBLogFiles"
			},
			"DescribeDBParameterGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBParameterGroups"
			},
			"DescribeDBParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Parameters"
			},
			"DescribeDBSecurityGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSecurityGroups"
			},
			"DescribeDBSnapshots": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSnapshots"
			},
			"DescribeDBSubnetGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "DBSubnetGroups"
			},
			"DescribeEngineDefaultParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "EngineDefaults.Marker",
				"result_key": "EngineDefaults.Parameters"
			},
			"DescribeEventSubscriptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "EventSubscriptionsList"
			},
			"DescribeEvents": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Events"
			},
			"DescribeOptionGroupOptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OptionGroupOptions"
			},
			"DescribeOptionGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OptionGroupsList"
			},
			"DescribeOrderableDBInstanceOptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OrderableDBInstanceOptions"
			},
			"DescribeReservedDBInstances": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedDBInstances"
			},
			"DescribeReservedDBInstancesOfferings": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedDBInstancesOfferings"
			},
			"DownloadDBLogFilePortion": {
				"input_token": "Marker",
				"limit_key": "NumberOfLines",
				"more_results": "AdditionalDataPending",
				"output_token": "Marker",
				"result_key": "LogFileData"
			},
			"ListTagsForResource": {
				"result_key": "TagList"
			}
		}
	};

/***/ }),
/* 557 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"DBInstanceAvailable": {
				"delay": 30,
				"operation": "DescribeDBInstances",
				"maxAttempts": 60,
				"acceptors": [
					{
						"expected": "available",
						"matcher": "pathAll",
						"state": "success",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "deleted",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "deleting",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "incompatible-restore",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "incompatible-parameters",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					}
				]
			},
			"DBInstanceDeleted": {
				"delay": 30,
				"operation": "DescribeDBInstances",
				"maxAttempts": 60,
				"acceptors": [
					{
						"expected": "deleted",
						"matcher": "pathAll",
						"state": "success",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "DBInstanceNotFound",
						"matcher": "error",
						"state": "success"
					},
					{
						"expected": "creating",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "modifying",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "rebooting",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					},
					{
						"expected": "resetting-master-credentials",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "DBInstances[].DBInstanceStatus"
					}
				]
			}
		}
	};

/***/ }),
/* 558 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['redshift'] = {};
	AWS.Redshift = Service.defineService('redshift', ['2012-12-01']);
	Object.defineProperty(apiLoader.services['redshift'], '2012-12-01', {
	  get: function get() {
	    var model = __webpack_require__(559);
	    model.paginators = __webpack_require__(560).pagination;
	    model.waiters = __webpack_require__(561).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Redshift;


/***/ }),
/* 559 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2012-12-01",
			"endpointPrefix": "redshift",
			"protocol": "query",
			"serviceFullName": "Amazon Redshift",
			"signatureVersion": "v4",
			"uid": "redshift-2012-12-01",
			"xmlNamespace": "http://redshift.amazonaws.com/doc/2012-12-01/"
		},
		"operations": {
			"AuthorizeClusterSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterSecurityGroupName"
					],
					"members": {
						"ClusterSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "AuthorizeClusterSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"ClusterSecurityGroup": {
							"shape": "S4"
						}
					}
				}
			},
			"AuthorizeSnapshotAccess": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotIdentifier",
						"AccountWithRestoreAccess"
					],
					"members": {
						"SnapshotIdentifier": {},
						"SnapshotClusterIdentifier": {},
						"AccountWithRestoreAccess": {}
					}
				},
				"output": {
					"resultWrapper": "AuthorizeSnapshotAccessResult",
					"type": "structure",
					"members": {
						"Snapshot": {
							"shape": "Sd"
						}
					}
				}
			},
			"CopyClusterSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SourceSnapshotIdentifier",
						"TargetSnapshotIdentifier"
					],
					"members": {
						"SourceSnapshotIdentifier": {},
						"SourceSnapshotClusterIdentifier": {},
						"TargetSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "CopyClusterSnapshotResult",
					"type": "structure",
					"members": {
						"Snapshot": {
							"shape": "Sd"
						}
					}
				}
			},
			"CreateCluster": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier",
						"NodeType",
						"MasterUsername",
						"MasterUserPassword"
					],
					"members": {
						"DBName": {},
						"ClusterIdentifier": {},
						"ClusterType": {},
						"NodeType": {},
						"MasterUsername": {},
						"MasterUserPassword": {},
						"ClusterSecurityGroups": {
							"shape": "Sp"
						},
						"VpcSecurityGroupIds": {
							"shape": "Sq"
						},
						"ClusterSubnetGroupName": {},
						"AvailabilityZone": {},
						"PreferredMaintenanceWindow": {},
						"ClusterParameterGroupName": {},
						"AutomatedSnapshotRetentionPeriod": {
							"type": "integer"
						},
						"Port": {
							"type": "integer"
						},
						"ClusterVersion": {},
						"AllowVersionUpgrade": {
							"type": "boolean"
						},
						"NumberOfNodes": {
							"type": "integer"
						},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"Encrypted": {
							"type": "boolean"
						},
						"HsmClientCertificateIdentifier": {},
						"HsmConfigurationIdentifier": {},
						"ElasticIp": {},
						"Tags": {
							"shape": "S7"
						},
						"KmsKeyId": {},
						"EnhancedVpcRouting": {
							"type": "boolean"
						},
						"AdditionalInfo": {},
						"IamRoles": {
							"shape": "St"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateClusterResult",
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "Sv"
						}
					}
				}
			},
			"CreateClusterParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ParameterGroupName",
						"ParameterGroupFamily",
						"Description"
					],
					"members": {
						"ParameterGroupName": {},
						"ParameterGroupFamily": {},
						"Description": {},
						"Tags": {
							"shape": "S7"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateClusterParameterGroupResult",
					"type": "structure",
					"members": {
						"ClusterParameterGroup": {
							"shape": "S1g"
						}
					}
				}
			},
			"CreateClusterSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterSecurityGroupName",
						"Description"
					],
					"members": {
						"ClusterSecurityGroupName": {},
						"Description": {},
						"Tags": {
							"shape": "S7"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateClusterSecurityGroupResult",
					"type": "structure",
					"members": {
						"ClusterSecurityGroup": {
							"shape": "S4"
						}
					}
				}
			},
			"CreateClusterSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotIdentifier",
						"ClusterIdentifier"
					],
					"members": {
						"SnapshotIdentifier": {},
						"ClusterIdentifier": {},
						"Tags": {
							"shape": "S7"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateClusterSnapshotResult",
					"type": "structure",
					"members": {
						"Snapshot": {
							"shape": "Sd"
						}
					}
				}
			},
			"CreateClusterSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterSubnetGroupName",
						"Description",
						"SubnetIds"
					],
					"members": {
						"ClusterSubnetGroupName": {},
						"Description": {},
						"SubnetIds": {
							"shape": "S1m"
						},
						"Tags": {
							"shape": "S7"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateClusterSubnetGroupResult",
					"type": "structure",
					"members": {
						"ClusterSubnetGroup": {
							"shape": "S1o"
						}
					}
				}
			},
			"CreateEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName",
						"SnsTopicArn"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"SourceIds": {
							"shape": "S1t"
						},
						"EventCategories": {
							"shape": "S1u"
						},
						"Severity": {},
						"Enabled": {
							"type": "boolean"
						},
						"Tags": {
							"shape": "S7"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S1w"
						}
					}
				}
			},
			"CreateHsmClientCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"HsmClientCertificateIdentifier"
					],
					"members": {
						"HsmClientCertificateIdentifier": {},
						"Tags": {
							"shape": "S7"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateHsmClientCertificateResult",
					"type": "structure",
					"members": {
						"HsmClientCertificate": {
							"shape": "S1z"
						}
					}
				}
			},
			"CreateHsmConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"HsmConfigurationIdentifier",
						"Description",
						"HsmIpAddress",
						"HsmPartitionName",
						"HsmPartitionPassword",
						"HsmServerPublicCertificate"
					],
					"members": {
						"HsmConfigurationIdentifier": {},
						"Description": {},
						"HsmIpAddress": {},
						"HsmPartitionName": {},
						"HsmPartitionPassword": {},
						"HsmServerPublicCertificate": {},
						"Tags": {
							"shape": "S7"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateHsmConfigurationResult",
					"type": "structure",
					"members": {
						"HsmConfiguration": {
							"shape": "S22"
						}
					}
				}
			},
			"CreateSnapshotCopyGrant": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotCopyGrantName"
					],
					"members": {
						"SnapshotCopyGrantName": {},
						"KmsKeyId": {},
						"Tags": {
							"shape": "S7"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateSnapshotCopyGrantResult",
					"type": "structure",
					"members": {
						"SnapshotCopyGrant": {
							"shape": "S25"
						}
					}
				}
			},
			"CreateTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"Tags"
					],
					"members": {
						"ResourceName": {},
						"Tags": {
							"shape": "S7"
						}
					}
				}
			},
			"DeleteCluster": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier"
					],
					"members": {
						"ClusterIdentifier": {},
						"SkipFinalClusterSnapshot": {
							"type": "boolean"
						},
						"FinalClusterSnapshotIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteClusterResult",
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "Sv"
						}
					}
				}
			},
			"DeleteClusterParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ParameterGroupName"
					],
					"members": {
						"ParameterGroupName": {}
					}
				}
			},
			"DeleteClusterSecurityGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterSecurityGroupName"
					],
					"members": {
						"ClusterSecurityGroupName": {}
					}
				}
			},
			"DeleteClusterSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotIdentifier"
					],
					"members": {
						"SnapshotIdentifier": {},
						"SnapshotClusterIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteClusterSnapshotResult",
					"type": "structure",
					"members": {
						"Snapshot": {
							"shape": "Sd"
						}
					}
				}
			},
			"DeleteClusterSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterSubnetGroupName"
					],
					"members": {
						"ClusterSubnetGroupName": {}
					}
				}
			},
			"DeleteEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {}
					}
				}
			},
			"DeleteHsmClientCertificate": {
				"input": {
					"type": "structure",
					"required": [
						"HsmClientCertificateIdentifier"
					],
					"members": {
						"HsmClientCertificateIdentifier": {}
					}
				}
			},
			"DeleteHsmConfiguration": {
				"input": {
					"type": "structure",
					"required": [
						"HsmConfigurationIdentifier"
					],
					"members": {
						"HsmConfigurationIdentifier": {}
					}
				}
			},
			"DeleteSnapshotCopyGrant": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotCopyGrantName"
					],
					"members": {
						"SnapshotCopyGrantName": {}
					}
				}
			},
			"DeleteTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"TagKeys"
					],
					"members": {
						"ResourceName": {},
						"TagKeys": {
							"shape": "S2j"
						}
					}
				}
			},
			"DescribeClusterParameterGroups": {
				"input": {
					"type": "structure",
					"members": {
						"ParameterGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"TagKeys": {
							"shape": "S2j"
						},
						"TagValues": {
							"shape": "S2l"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeClusterParameterGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ParameterGroups": {
							"type": "list",
							"member": {
								"shape": "S1g",
								"locationName": "ClusterParameterGroup"
							}
						}
					}
				}
			},
			"DescribeClusterParameters": {
				"input": {
					"type": "structure",
					"required": [
						"ParameterGroupName"
					],
					"members": {
						"ParameterGroupName": {},
						"Source": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeClusterParametersResult",
					"type": "structure",
					"members": {
						"Parameters": {
							"shape": "S2q"
						},
						"Marker": {}
					}
				}
			},
			"DescribeClusterSecurityGroups": {
				"input": {
					"type": "structure",
					"members": {
						"ClusterSecurityGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"TagKeys": {
							"shape": "S2j"
						},
						"TagValues": {
							"shape": "S2l"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeClusterSecurityGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ClusterSecurityGroups": {
							"type": "list",
							"member": {
								"shape": "S4",
								"locationName": "ClusterSecurityGroup"
							}
						}
					}
				}
			},
			"DescribeClusterSnapshots": {
				"input": {
					"type": "structure",
					"members": {
						"ClusterIdentifier": {},
						"SnapshotIdentifier": {},
						"SnapshotType": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"OwnerAccount": {},
						"TagKeys": {
							"shape": "S2j"
						},
						"TagValues": {
							"shape": "S2l"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeClusterSnapshotsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"Snapshots": {
							"type": "list",
							"member": {
								"shape": "Sd",
								"locationName": "Snapshot"
							}
						}
					}
				}
			},
			"DescribeClusterSubnetGroups": {
				"input": {
					"type": "structure",
					"members": {
						"ClusterSubnetGroupName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"TagKeys": {
							"shape": "S2j"
						},
						"TagValues": {
							"shape": "S2l"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeClusterSubnetGroupsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ClusterSubnetGroups": {
							"type": "list",
							"member": {
								"shape": "S1o",
								"locationName": "ClusterSubnetGroup"
							}
						}
					}
				}
			},
			"DescribeClusterVersions": {
				"input": {
					"type": "structure",
					"members": {
						"ClusterVersion": {},
						"ClusterParameterGroupFamily": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeClusterVersionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ClusterVersions": {
							"type": "list",
							"member": {
								"locationName": "ClusterVersion",
								"type": "structure",
								"members": {
									"ClusterVersion": {},
									"ClusterParameterGroupFamily": {},
									"Description": {}
								}
							}
						}
					}
				}
			},
			"DescribeClusters": {
				"input": {
					"type": "structure",
					"members": {
						"ClusterIdentifier": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"TagKeys": {
							"shape": "S2j"
						},
						"TagValues": {
							"shape": "S2l"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeClustersResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"Clusters": {
							"type": "list",
							"member": {
								"shape": "Sv",
								"locationName": "Cluster"
							}
						}
					}
				}
			},
			"DescribeDefaultClusterParameters": {
				"input": {
					"type": "structure",
					"required": [
						"ParameterGroupFamily"
					],
					"members": {
						"ParameterGroupFamily": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeDefaultClusterParametersResult",
					"type": "structure",
					"members": {
						"DefaultClusterParameters": {
							"type": "structure",
							"members": {
								"ParameterGroupFamily": {},
								"Marker": {},
								"Parameters": {
									"shape": "S2q"
								}
							},
							"wrapper": true
						}
					}
				}
			},
			"DescribeEventCategories": {
				"input": {
					"type": "structure",
					"members": {
						"SourceType": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventCategoriesResult",
					"type": "structure",
					"members": {
						"EventCategoriesMapList": {
							"type": "list",
							"member": {
								"locationName": "EventCategoriesMap",
								"type": "structure",
								"members": {
									"SourceType": {},
									"Events": {
										"type": "list",
										"member": {
											"locationName": "EventInfoMap",
											"type": "structure",
											"members": {
												"EventId": {},
												"EventCategories": {
													"shape": "S1u"
												},
												"EventDescription": {},
												"Severity": {}
											},
											"wrapper": true
										}
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DescribeEventSubscriptions": {
				"input": {
					"type": "structure",
					"members": {
						"SubscriptionName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventSubscriptionsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"EventSubscriptionsList": {
							"type": "list",
							"member": {
								"shape": "S1w",
								"locationName": "EventSubscription"
							}
						}
					}
				}
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"members": {
						"SourceIdentifier": {},
						"SourceType": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Duration": {
							"type": "integer"
						},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeEventsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"Events": {
							"type": "list",
							"member": {
								"locationName": "Event",
								"type": "structure",
								"members": {
									"SourceIdentifier": {},
									"SourceType": {},
									"Message": {},
									"EventCategories": {
										"shape": "S1u"
									},
									"Severity": {},
									"Date": {
										"type": "timestamp"
									},
									"EventId": {}
								}
							}
						}
					}
				}
			},
			"DescribeHsmClientCertificates": {
				"input": {
					"type": "structure",
					"members": {
						"HsmClientCertificateIdentifier": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"TagKeys": {
							"shape": "S2j"
						},
						"TagValues": {
							"shape": "S2l"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeHsmClientCertificatesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"HsmClientCertificates": {
							"type": "list",
							"member": {
								"shape": "S1z",
								"locationName": "HsmClientCertificate"
							}
						}
					}
				}
			},
			"DescribeHsmConfigurations": {
				"input": {
					"type": "structure",
					"members": {
						"HsmConfigurationIdentifier": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"TagKeys": {
							"shape": "S2j"
						},
						"TagValues": {
							"shape": "S2l"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeHsmConfigurationsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"HsmConfigurations": {
							"type": "list",
							"member": {
								"shape": "S22",
								"locationName": "HsmConfiguration"
							}
						}
					}
				}
			},
			"DescribeLoggingStatus": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier"
					],
					"members": {
						"ClusterIdentifier": {}
					}
				},
				"output": {
					"shape": "S3x",
					"resultWrapper": "DescribeLoggingStatusResult"
				}
			},
			"DescribeOrderableClusterOptions": {
				"input": {
					"type": "structure",
					"members": {
						"ClusterVersion": {},
						"NodeType": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeOrderableClusterOptionsResult",
					"type": "structure",
					"members": {
						"OrderableClusterOptions": {
							"type": "list",
							"member": {
								"locationName": "OrderableClusterOption",
								"type": "structure",
								"members": {
									"ClusterVersion": {},
									"ClusterType": {},
									"NodeType": {},
									"AvailabilityZones": {
										"type": "list",
										"member": {
											"shape": "S1r",
											"locationName": "AvailabilityZone"
										}
									}
								},
								"wrapper": true
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeReservedNodeOfferings": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedNodeOfferingId": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedNodeOfferingsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedNodeOfferings": {
							"type": "list",
							"member": {
								"locationName": "ReservedNodeOffering",
								"type": "structure",
								"members": {
									"ReservedNodeOfferingId": {},
									"NodeType": {},
									"Duration": {
										"type": "integer"
									},
									"FixedPrice": {
										"type": "double"
									},
									"UsagePrice": {
										"type": "double"
									},
									"CurrencyCode": {},
									"OfferingType": {},
									"RecurringCharges": {
										"shape": "S47"
									}
								},
								"wrapper": true
							}
						}
					}
				}
			},
			"DescribeReservedNodes": {
				"input": {
					"type": "structure",
					"members": {
						"ReservedNodeId": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReservedNodesResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"ReservedNodes": {
							"type": "list",
							"member": {
								"shape": "S4c",
								"locationName": "ReservedNode"
							}
						}
					}
				}
			},
			"DescribeResize": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier"
					],
					"members": {
						"ClusterIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeResizeResult",
					"type": "structure",
					"members": {
						"TargetNodeType": {},
						"TargetNumberOfNodes": {
							"type": "integer"
						},
						"TargetClusterType": {},
						"Status": {},
						"ImportTablesCompleted": {
							"type": "list",
							"member": {}
						},
						"ImportTablesInProgress": {
							"type": "list",
							"member": {}
						},
						"ImportTablesNotStarted": {
							"type": "list",
							"member": {}
						},
						"AvgResizeRateInMegaBytesPerSecond": {
							"type": "double"
						},
						"TotalResizeDataInMegaBytes": {
							"type": "long"
						},
						"ProgressInMegaBytes": {
							"type": "long"
						},
						"ElapsedTimeInSeconds": {
							"type": "long"
						},
						"EstimatedTimeToCompletionInSeconds": {
							"type": "long"
						}
					}
				}
			},
			"DescribeSnapshotCopyGrants": {
				"input": {
					"type": "structure",
					"members": {
						"SnapshotCopyGrantName": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"TagKeys": {
							"shape": "S2j"
						},
						"TagValues": {
							"shape": "S2l"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeSnapshotCopyGrantsResult",
					"type": "structure",
					"members": {
						"Marker": {},
						"SnapshotCopyGrants": {
							"type": "list",
							"member": {
								"shape": "S25",
								"locationName": "SnapshotCopyGrant"
							}
						}
					}
				}
			},
			"DescribeTableRestoreStatus": {
				"input": {
					"type": "structure",
					"members": {
						"ClusterIdentifier": {},
						"TableRestoreRequestId": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeTableRestoreStatusResult",
					"type": "structure",
					"members": {
						"TableRestoreStatusDetails": {
							"type": "list",
							"member": {
								"shape": "S4q",
								"locationName": "TableRestoreStatus"
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeTags": {
				"input": {
					"type": "structure",
					"members": {
						"ResourceName": {},
						"ResourceType": {},
						"MaxRecords": {
							"type": "integer"
						},
						"Marker": {},
						"TagKeys": {
							"shape": "S2j"
						},
						"TagValues": {
							"shape": "S2l"
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeTagsResult",
					"type": "structure",
					"members": {
						"TaggedResources": {
							"type": "list",
							"member": {
								"locationName": "TaggedResource",
								"type": "structure",
								"members": {
									"Tag": {
										"shape": "S8"
									},
									"ResourceName": {},
									"ResourceType": {}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DisableLogging": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier"
					],
					"members": {
						"ClusterIdentifier": {}
					}
				},
				"output": {
					"shape": "S3x",
					"resultWrapper": "DisableLoggingResult"
				}
			},
			"DisableSnapshotCopy": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier"
					],
					"members": {
						"ClusterIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "DisableSnapshotCopyResult",
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "Sv"
						}
					}
				}
			},
			"EnableLogging": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier",
						"BucketName"
					],
					"members": {
						"ClusterIdentifier": {},
						"BucketName": {},
						"S3KeyPrefix": {}
					}
				},
				"output": {
					"shape": "S3x",
					"resultWrapper": "EnableLoggingResult"
				}
			},
			"EnableSnapshotCopy": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier",
						"DestinationRegion"
					],
					"members": {
						"ClusterIdentifier": {},
						"DestinationRegion": {},
						"RetentionPeriod": {
							"type": "integer"
						},
						"SnapshotCopyGrantName": {}
					}
				},
				"output": {
					"resultWrapper": "EnableSnapshotCopyResult",
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "Sv"
						}
					}
				}
			},
			"GetClusterCredentials": {
				"input": {
					"type": "structure",
					"required": [
						"DbUser",
						"ClusterIdentifier"
					],
					"members": {
						"DbUser": {},
						"DbName": {},
						"ClusterIdentifier": {},
						"DurationSeconds": {
							"type": "integer"
						},
						"AutoCreate": {
							"type": "boolean"
						},
						"DbGroups": {
							"type": "list",
							"member": {
								"locationName": "DbGroup"
							}
						}
					}
				},
				"output": {
					"resultWrapper": "GetClusterCredentialsResult",
					"type": "structure",
					"members": {
						"DbUser": {},
						"DbPassword": {
							"type": "string",
							"sensitive": true
						},
						"Expiration": {
							"type": "timestamp"
						}
					}
				}
			},
			"ModifyCluster": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier"
					],
					"members": {
						"ClusterIdentifier": {},
						"ClusterType": {},
						"NodeType": {},
						"NumberOfNodes": {
							"type": "integer"
						},
						"ClusterSecurityGroups": {
							"shape": "Sp"
						},
						"VpcSecurityGroupIds": {
							"shape": "Sq"
						},
						"MasterUserPassword": {},
						"ClusterParameterGroupName": {},
						"AutomatedSnapshotRetentionPeriod": {
							"type": "integer"
						},
						"PreferredMaintenanceWindow": {},
						"ClusterVersion": {},
						"AllowVersionUpgrade": {
							"type": "boolean"
						},
						"HsmClientCertificateIdentifier": {},
						"HsmConfigurationIdentifier": {},
						"NewClusterIdentifier": {},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"ElasticIp": {},
						"EnhancedVpcRouting": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyClusterResult",
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "Sv"
						}
					}
				}
			},
			"ModifyClusterIamRoles": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier"
					],
					"members": {
						"ClusterIdentifier": {},
						"AddIamRoles": {
							"shape": "St"
						},
						"RemoveIamRoles": {
							"shape": "St"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyClusterIamRolesResult",
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "Sv"
						}
					}
				}
			},
			"ModifyClusterParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ParameterGroupName",
						"Parameters"
					],
					"members": {
						"ParameterGroupName": {},
						"Parameters": {
							"shape": "S2q"
						}
					}
				},
				"output": {
					"shape": "S5b",
					"resultWrapper": "ModifyClusterParameterGroupResult"
				}
			},
			"ModifyClusterSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterSubnetGroupName",
						"SubnetIds"
					],
					"members": {
						"ClusterSubnetGroupName": {},
						"Description": {},
						"SubnetIds": {
							"shape": "S1m"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyClusterSubnetGroupResult",
					"type": "structure",
					"members": {
						"ClusterSubnetGroup": {
							"shape": "S1o"
						}
					}
				}
			},
			"ModifyEventSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionName"
					],
					"members": {
						"SubscriptionName": {},
						"SnsTopicArn": {},
						"SourceType": {},
						"SourceIds": {
							"shape": "S1t"
						},
						"EventCategories": {
							"shape": "S1u"
						},
						"Severity": {},
						"Enabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifyEventSubscriptionResult",
					"type": "structure",
					"members": {
						"EventSubscription": {
							"shape": "S1w"
						}
					}
				}
			},
			"ModifySnapshotCopyRetentionPeriod": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier",
						"RetentionPeriod"
					],
					"members": {
						"ClusterIdentifier": {},
						"RetentionPeriod": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ModifySnapshotCopyRetentionPeriodResult",
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "Sv"
						}
					}
				}
			},
			"PurchaseReservedNodeOffering": {
				"input": {
					"type": "structure",
					"required": [
						"ReservedNodeOfferingId"
					],
					"members": {
						"ReservedNodeOfferingId": {},
						"NodeCount": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "PurchaseReservedNodeOfferingResult",
					"type": "structure",
					"members": {
						"ReservedNode": {
							"shape": "S4c"
						}
					}
				}
			},
			"RebootCluster": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier"
					],
					"members": {
						"ClusterIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "RebootClusterResult",
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "Sv"
						}
					}
				}
			},
			"ResetClusterParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ParameterGroupName"
					],
					"members": {
						"ParameterGroupName": {},
						"ResetAllParameters": {
							"type": "boolean"
						},
						"Parameters": {
							"shape": "S2q"
						}
					}
				},
				"output": {
					"shape": "S5b",
					"resultWrapper": "ResetClusterParameterGroupResult"
				}
			},
			"RestoreFromClusterSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier",
						"SnapshotIdentifier"
					],
					"members": {
						"ClusterIdentifier": {},
						"SnapshotIdentifier": {},
						"SnapshotClusterIdentifier": {},
						"Port": {
							"type": "integer"
						},
						"AvailabilityZone": {},
						"AllowVersionUpgrade": {
							"type": "boolean"
						},
						"ClusterSubnetGroupName": {},
						"PubliclyAccessible": {
							"type": "boolean"
						},
						"OwnerAccount": {},
						"HsmClientCertificateIdentifier": {},
						"HsmConfigurationIdentifier": {},
						"ElasticIp": {},
						"ClusterParameterGroupName": {},
						"ClusterSecurityGroups": {
							"shape": "Sp"
						},
						"VpcSecurityGroupIds": {
							"shape": "Sq"
						},
						"PreferredMaintenanceWindow": {},
						"AutomatedSnapshotRetentionPeriod": {
							"type": "integer"
						},
						"KmsKeyId": {},
						"NodeType": {},
						"EnhancedVpcRouting": {
							"type": "boolean"
						},
						"AdditionalInfo": {},
						"IamRoles": {
							"shape": "St"
						}
					}
				},
				"output": {
					"resultWrapper": "RestoreFromClusterSnapshotResult",
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "Sv"
						}
					}
				}
			},
			"RestoreTableFromClusterSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier",
						"SnapshotIdentifier",
						"SourceDatabaseName",
						"SourceTableName",
						"NewTableName"
					],
					"members": {
						"ClusterIdentifier": {},
						"SnapshotIdentifier": {},
						"SourceDatabaseName": {},
						"SourceSchemaName": {},
						"SourceTableName": {},
						"TargetDatabaseName": {},
						"TargetSchemaName": {},
						"NewTableName": {}
					}
				},
				"output": {
					"resultWrapper": "RestoreTableFromClusterSnapshotResult",
					"type": "structure",
					"members": {
						"TableRestoreStatus": {
							"shape": "S4q"
						}
					}
				}
			},
			"RevokeClusterSecurityGroupIngress": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterSecurityGroupName"
					],
					"members": {
						"ClusterSecurityGroupName": {},
						"CIDRIP": {},
						"EC2SecurityGroupName": {},
						"EC2SecurityGroupOwnerId": {}
					}
				},
				"output": {
					"resultWrapper": "RevokeClusterSecurityGroupIngressResult",
					"type": "structure",
					"members": {
						"ClusterSecurityGroup": {
							"shape": "S4"
						}
					}
				}
			},
			"RevokeSnapshotAccess": {
				"input": {
					"type": "structure",
					"required": [
						"SnapshotIdentifier",
						"AccountWithRestoreAccess"
					],
					"members": {
						"SnapshotIdentifier": {},
						"SnapshotClusterIdentifier": {},
						"AccountWithRestoreAccess": {}
					}
				},
				"output": {
					"resultWrapper": "RevokeSnapshotAccessResult",
					"type": "structure",
					"members": {
						"Snapshot": {
							"shape": "Sd"
						}
					}
				}
			},
			"RotateEncryptionKey": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterIdentifier"
					],
					"members": {
						"ClusterIdentifier": {}
					}
				},
				"output": {
					"resultWrapper": "RotateEncryptionKeyResult",
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "Sv"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"members": {
					"ClusterSecurityGroupName": {},
					"Description": {},
					"EC2SecurityGroups": {
						"type": "list",
						"member": {
							"locationName": "EC2SecurityGroup",
							"type": "structure",
							"members": {
								"Status": {},
								"EC2SecurityGroupName": {},
								"EC2SecurityGroupOwnerId": {},
								"Tags": {
									"shape": "S7"
								}
							}
						}
					},
					"IPRanges": {
						"type": "list",
						"member": {
							"locationName": "IPRange",
							"type": "structure",
							"members": {
								"Status": {},
								"CIDRIP": {},
								"Tags": {
									"shape": "S7"
								}
							}
						}
					},
					"Tags": {
						"shape": "S7"
					}
				},
				"wrapper": true
			},
			"S7": {
				"type": "list",
				"member": {
					"shape": "S8",
					"locationName": "Tag"
				}
			},
			"S8": {
				"type": "structure",
				"members": {
					"Key": {},
					"Value": {}
				}
			},
			"Sd": {
				"type": "structure",
				"members": {
					"SnapshotIdentifier": {},
					"ClusterIdentifier": {},
					"SnapshotCreateTime": {
						"type": "timestamp"
					},
					"Status": {},
					"Port": {
						"type": "integer"
					},
					"AvailabilityZone": {},
					"ClusterCreateTime": {
						"type": "timestamp"
					},
					"MasterUsername": {},
					"ClusterVersion": {},
					"SnapshotType": {},
					"NodeType": {},
					"NumberOfNodes": {
						"type": "integer"
					},
					"DBName": {},
					"VpcId": {},
					"Encrypted": {
						"type": "boolean"
					},
					"KmsKeyId": {},
					"EncryptedWithHSM": {
						"type": "boolean"
					},
					"AccountsWithRestoreAccess": {
						"type": "list",
						"member": {
							"locationName": "AccountWithRestoreAccess",
							"type": "structure",
							"members": {
								"AccountId": {},
								"AccountAlias": {}
							}
						}
					},
					"OwnerAccount": {},
					"TotalBackupSizeInMegaBytes": {
						"type": "double"
					},
					"ActualIncrementalBackupSizeInMegaBytes": {
						"type": "double"
					},
					"BackupProgressInMegaBytes": {
						"type": "double"
					},
					"CurrentBackupRateInMegaBytesPerSecond": {
						"type": "double"
					},
					"EstimatedSecondsToCompletion": {
						"type": "long"
					},
					"ElapsedTimeInSeconds": {
						"type": "long"
					},
					"SourceRegion": {},
					"Tags": {
						"shape": "S7"
					},
					"RestorableNodeTypes": {
						"type": "list",
						"member": {
							"locationName": "NodeType"
						}
					},
					"EnhancedVpcRouting": {
						"type": "boolean"
					}
				},
				"wrapper": true
			},
			"Sp": {
				"type": "list",
				"member": {
					"locationName": "ClusterSecurityGroupName"
				}
			},
			"Sq": {
				"type": "list",
				"member": {
					"locationName": "VpcSecurityGroupId"
				}
			},
			"St": {
				"type": "list",
				"member": {
					"locationName": "IamRoleArn"
				}
			},
			"Sv": {
				"type": "structure",
				"members": {
					"ClusterIdentifier": {},
					"NodeType": {},
					"ClusterStatus": {},
					"ModifyStatus": {},
					"MasterUsername": {},
					"DBName": {},
					"Endpoint": {
						"type": "structure",
						"members": {
							"Address": {},
							"Port": {
								"type": "integer"
							}
						}
					},
					"ClusterCreateTime": {
						"type": "timestamp"
					},
					"AutomatedSnapshotRetentionPeriod": {
						"type": "integer"
					},
					"ClusterSecurityGroups": {
						"type": "list",
						"member": {
							"locationName": "ClusterSecurityGroup",
							"type": "structure",
							"members": {
								"ClusterSecurityGroupName": {},
								"Status": {}
							}
						}
					},
					"VpcSecurityGroups": {
						"type": "list",
						"member": {
							"locationName": "VpcSecurityGroup",
							"type": "structure",
							"members": {
								"VpcSecurityGroupId": {},
								"Status": {}
							}
						}
					},
					"ClusterParameterGroups": {
						"type": "list",
						"member": {
							"locationName": "ClusterParameterGroup",
							"type": "structure",
							"members": {
								"ParameterGroupName": {},
								"ParameterApplyStatus": {},
								"ClusterParameterStatusList": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"ParameterName": {},
											"ParameterApplyStatus": {},
											"ParameterApplyErrorDescription": {}
										}
									}
								}
							}
						}
					},
					"ClusterSubnetGroupName": {},
					"VpcId": {},
					"AvailabilityZone": {},
					"PreferredMaintenanceWindow": {},
					"PendingModifiedValues": {
						"type": "structure",
						"members": {
							"MasterUserPassword": {},
							"NodeType": {},
							"NumberOfNodes": {
								"type": "integer"
							},
							"ClusterType": {},
							"ClusterVersion": {},
							"AutomatedSnapshotRetentionPeriod": {
								"type": "integer"
							},
							"ClusterIdentifier": {},
							"PubliclyAccessible": {
								"type": "boolean"
							},
							"EnhancedVpcRouting": {
								"type": "boolean"
							}
						}
					},
					"ClusterVersion": {},
					"AllowVersionUpgrade": {
						"type": "boolean"
					},
					"NumberOfNodes": {
						"type": "integer"
					},
					"PubliclyAccessible": {
						"type": "boolean"
					},
					"Encrypted": {
						"type": "boolean"
					},
					"RestoreStatus": {
						"type": "structure",
						"members": {
							"Status": {},
							"CurrentRestoreRateInMegaBytesPerSecond": {
								"type": "double"
							},
							"SnapshotSizeInMegaBytes": {
								"type": "long"
							},
							"ProgressInMegaBytes": {
								"type": "long"
							},
							"ElapsedTimeInSeconds": {
								"type": "long"
							},
							"EstimatedTimeToCompletionInSeconds": {
								"type": "long"
							}
						}
					},
					"HsmStatus": {
						"type": "structure",
						"members": {
							"HsmClientCertificateIdentifier": {},
							"HsmConfigurationIdentifier": {},
							"Status": {}
						}
					},
					"ClusterSnapshotCopyStatus": {
						"type": "structure",
						"members": {
							"DestinationRegion": {},
							"RetentionPeriod": {
								"type": "long"
							},
							"SnapshotCopyGrantName": {}
						}
					},
					"ClusterPublicKey": {},
					"ClusterNodes": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"NodeRole": {},
								"PrivateIPAddress": {},
								"PublicIPAddress": {}
							}
						}
					},
					"ElasticIpStatus": {
						"type": "structure",
						"members": {
							"ElasticIp": {},
							"Status": {}
						}
					},
					"ClusterRevisionNumber": {},
					"Tags": {
						"shape": "S7"
					},
					"KmsKeyId": {},
					"EnhancedVpcRouting": {
						"type": "boolean"
					},
					"IamRoles": {
						"type": "list",
						"member": {
							"locationName": "ClusterIamRole",
							"type": "structure",
							"members": {
								"IamRoleArn": {},
								"ApplyStatus": {}
							}
						}
					}
				},
				"wrapper": true
			},
			"S1g": {
				"type": "structure",
				"members": {
					"ParameterGroupName": {},
					"ParameterGroupFamily": {},
					"Description": {},
					"Tags": {
						"shape": "S7"
					}
				},
				"wrapper": true
			},
			"S1m": {
				"type": "list",
				"member": {
					"locationName": "SubnetIdentifier"
				}
			},
			"S1o": {
				"type": "structure",
				"members": {
					"ClusterSubnetGroupName": {},
					"Description": {},
					"VpcId": {},
					"SubnetGroupStatus": {},
					"Subnets": {
						"type": "list",
						"member": {
							"locationName": "Subnet",
							"type": "structure",
							"members": {
								"SubnetIdentifier": {},
								"SubnetAvailabilityZone": {
									"shape": "S1r"
								},
								"SubnetStatus": {}
							}
						}
					},
					"Tags": {
						"shape": "S7"
					}
				},
				"wrapper": true
			},
			"S1r": {
				"type": "structure",
				"members": {
					"Name": {}
				},
				"wrapper": true
			},
			"S1t": {
				"type": "list",
				"member": {
					"locationName": "SourceId"
				}
			},
			"S1u": {
				"type": "list",
				"member": {
					"locationName": "EventCategory"
				}
			},
			"S1w": {
				"type": "structure",
				"members": {
					"CustomerAwsId": {},
					"CustSubscriptionId": {},
					"SnsTopicArn": {},
					"Status": {},
					"SubscriptionCreationTime": {
						"type": "timestamp"
					},
					"SourceType": {},
					"SourceIdsList": {
						"shape": "S1t"
					},
					"EventCategoriesList": {
						"shape": "S1u"
					},
					"Severity": {},
					"Enabled": {
						"type": "boolean"
					},
					"Tags": {
						"shape": "S7"
					}
				},
				"wrapper": true
			},
			"S1z": {
				"type": "structure",
				"members": {
					"HsmClientCertificateIdentifier": {},
					"HsmClientCertificatePublicKey": {},
					"Tags": {
						"shape": "S7"
					}
				},
				"wrapper": true
			},
			"S22": {
				"type": "structure",
				"members": {
					"HsmConfigurationIdentifier": {},
					"Description": {},
					"HsmIpAddress": {},
					"HsmPartitionName": {},
					"Tags": {
						"shape": "S7"
					}
				},
				"wrapper": true
			},
			"S25": {
				"type": "structure",
				"members": {
					"SnapshotCopyGrantName": {},
					"KmsKeyId": {},
					"Tags": {
						"shape": "S7"
					}
				},
				"wrapper": true
			},
			"S2j": {
				"type": "list",
				"member": {
					"locationName": "TagKey"
				}
			},
			"S2l": {
				"type": "list",
				"member": {
					"locationName": "TagValue"
				}
			},
			"S2q": {
				"type": "list",
				"member": {
					"locationName": "Parameter",
					"type": "structure",
					"members": {
						"ParameterName": {},
						"ParameterValue": {},
						"Description": {},
						"Source": {},
						"DataType": {},
						"AllowedValues": {},
						"ApplyType": {},
						"IsModifiable": {
							"type": "boolean"
						},
						"MinimumEngineVersion": {}
					}
				}
			},
			"S3x": {
				"type": "structure",
				"members": {
					"LoggingEnabled": {
						"type": "boolean"
					},
					"BucketName": {},
					"S3KeyPrefix": {},
					"LastSuccessfulDeliveryTime": {
						"type": "timestamp"
					},
					"LastFailureTime": {
						"type": "timestamp"
					},
					"LastFailureMessage": {}
				}
			},
			"S47": {
				"type": "list",
				"member": {
					"locationName": "RecurringCharge",
					"type": "structure",
					"members": {
						"RecurringChargeAmount": {
							"type": "double"
						},
						"RecurringChargeFrequency": {}
					},
					"wrapper": true
				}
			},
			"S4c": {
				"type": "structure",
				"members": {
					"ReservedNodeId": {},
					"ReservedNodeOfferingId": {},
					"NodeType": {},
					"StartTime": {
						"type": "timestamp"
					},
					"Duration": {
						"type": "integer"
					},
					"FixedPrice": {
						"type": "double"
					},
					"UsagePrice": {
						"type": "double"
					},
					"CurrencyCode": {},
					"NodeCount": {
						"type": "integer"
					},
					"State": {},
					"OfferingType": {},
					"RecurringCharges": {
						"shape": "S47"
					}
				},
				"wrapper": true
			},
			"S4q": {
				"type": "structure",
				"members": {
					"TableRestoreRequestId": {},
					"Status": {},
					"Message": {},
					"RequestTime": {
						"type": "timestamp"
					},
					"ProgressInMegaBytes": {
						"type": "long"
					},
					"TotalDataInMegaBytes": {
						"type": "long"
					},
					"ClusterIdentifier": {},
					"SnapshotIdentifier": {},
					"SourceDatabaseName": {},
					"SourceSchemaName": {},
					"SourceTableName": {},
					"TargetDatabaseName": {},
					"TargetSchemaName": {},
					"NewTableName": {}
				},
				"wrapper": true
			},
			"S5b": {
				"type": "structure",
				"members": {
					"ParameterGroupName": {},
					"ParameterGroupStatus": {}
				}
			}
		}
	};

/***/ }),
/* 560 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeClusterParameterGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ParameterGroups"
			},
			"DescribeClusterParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Parameters"
			},
			"DescribeClusterSecurityGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ClusterSecurityGroups"
			},
			"DescribeClusterSnapshots": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Snapshots"
			},
			"DescribeClusterSubnetGroups": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ClusterSubnetGroups"
			},
			"DescribeClusterVersions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ClusterVersions"
			},
			"DescribeClusters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Clusters"
			},
			"DescribeDefaultClusterParameters": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "DefaultClusterParameters.Marker",
				"result_key": "DefaultClusterParameters.Parameters"
			},
			"DescribeEventSubscriptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "EventSubscriptionsList"
			},
			"DescribeEvents": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "Events"
			},
			"DescribeHsmClientCertificates": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "HsmClientCertificates"
			},
			"DescribeHsmConfigurations": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "HsmConfigurations"
			},
			"DescribeOrderableClusterOptions": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "OrderableClusterOptions"
			},
			"DescribeReservedNodeOfferings": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedNodeOfferings"
			},
			"DescribeReservedNodes": {
				"input_token": "Marker",
				"limit_key": "MaxRecords",
				"output_token": "Marker",
				"result_key": "ReservedNodes"
			}
		}
	};

/***/ }),
/* 561 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"ClusterAvailable": {
				"delay": 60,
				"operation": "DescribeClusters",
				"maxAttempts": 30,
				"acceptors": [
					{
						"expected": "available",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Clusters[].ClusterStatus"
					},
					{
						"expected": "deleting",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Clusters[].ClusterStatus"
					},
					{
						"expected": "ClusterNotFound",
						"matcher": "error",
						"state": "retry"
					}
				]
			},
			"ClusterDeleted": {
				"delay": 60,
				"operation": "DescribeClusters",
				"maxAttempts": 30,
				"acceptors": [
					{
						"expected": "ClusterNotFound",
						"matcher": "error",
						"state": "success"
					},
					{
						"expected": "creating",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Clusters[].ClusterStatus"
					},
					{
						"expected": "modifying",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Clusters[].ClusterStatus"
					}
				]
			},
			"ClusterRestored": {
				"operation": "DescribeClusters",
				"maxAttempts": 30,
				"delay": 60,
				"acceptors": [
					{
						"state": "success",
						"matcher": "pathAll",
						"argument": "Clusters[].RestoreStatus.Status",
						"expected": "completed"
					},
					{
						"state": "failure",
						"matcher": "pathAny",
						"argument": "Clusters[].ClusterStatus",
						"expected": "deleting"
					}
				]
			},
			"SnapshotAvailable": {
				"delay": 15,
				"operation": "DescribeClusterSnapshots",
				"maxAttempts": 20,
				"acceptors": [
					{
						"expected": "available",
						"matcher": "pathAll",
						"state": "success",
						"argument": "Snapshots[].Status"
					},
					{
						"expected": "failed",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Snapshots[].Status"
					},
					{
						"expected": "deleted",
						"matcher": "pathAny",
						"state": "failure",
						"argument": "Snapshots[].Status"
					}
				]
			}
		}
	};

/***/ }),
/* 562 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['rekognition'] = {};
	AWS.Rekognition = Service.defineService('rekognition', ['2016-06-27']);
	Object.defineProperty(apiLoader.services['rekognition'], '2016-06-27', {
	  get: function get() {
	    var model = __webpack_require__(563);
	    model.paginators = __webpack_require__(564).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Rekognition;


/***/ }),
/* 563 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-06-27",
			"endpointPrefix": "rekognition",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon Rekognition",
			"signatureVersion": "v4",
			"targetPrefix": "RekognitionService",
			"uid": "rekognition-2016-06-27"
		},
		"operations": {
			"CompareFaces": {
				"input": {
					"type": "structure",
					"required": [
						"SourceImage",
						"TargetImage"
					],
					"members": {
						"SourceImage": {
							"shape": "S2"
						},
						"TargetImage": {
							"shape": "S2"
						},
						"SimilarityThreshold": {
							"type": "float"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SourceImageFace": {
							"type": "structure",
							"members": {
								"BoundingBox": {
									"shape": "Sb"
								},
								"Confidence": {
									"type": "float"
								}
							}
						},
						"FaceMatches": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Similarity": {
										"type": "float"
									},
									"Face": {
										"shape": "Sf"
									}
								}
							}
						},
						"UnmatchedFaces": {
							"type": "list",
							"member": {
								"shape": "Sf"
							}
						},
						"SourceImageOrientationCorrection": {},
						"TargetImageOrientationCorrection": {}
					}
				}
			},
			"CreateCollection": {
				"input": {
					"type": "structure",
					"required": [
						"CollectionId"
					],
					"members": {
						"CollectionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StatusCode": {
							"type": "integer"
						},
						"CollectionArn": {}
					}
				}
			},
			"DeleteCollection": {
				"input": {
					"type": "structure",
					"required": [
						"CollectionId"
					],
					"members": {
						"CollectionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StatusCode": {
							"type": "integer"
						}
					}
				}
			},
			"DeleteFaces": {
				"input": {
					"type": "structure",
					"required": [
						"CollectionId",
						"FaceIds"
					],
					"members": {
						"CollectionId": {},
						"FaceIds": {
							"shape": "Sw"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DeletedFaces": {
							"shape": "Sw"
						}
					}
				}
			},
			"DetectFaces": {
				"input": {
					"type": "structure",
					"required": [
						"Image"
					],
					"members": {
						"Image": {
							"shape": "S2"
						},
						"Attributes": {
							"shape": "S10"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FaceDetails": {
							"type": "list",
							"member": {
								"shape": "S14"
							}
						},
						"OrientationCorrection": {}
					}
				}
			},
			"DetectLabels": {
				"input": {
					"type": "structure",
					"required": [
						"Image"
					],
					"members": {
						"Image": {
							"shape": "S2"
						},
						"MaxLabels": {
							"type": "integer"
						},
						"MinConfidence": {
							"type": "float"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Labels": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"Confidence": {
										"type": "float"
									}
								}
							}
						},
						"OrientationCorrection": {}
					}
				}
			},
			"DetectModerationLabels": {
				"input": {
					"type": "structure",
					"required": [
						"Image"
					],
					"members": {
						"Image": {
							"shape": "S2"
						},
						"MinConfidence": {
							"type": "float"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ModerationLabels": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Confidence": {
										"type": "float"
									},
									"Name": {},
									"ParentName": {}
								}
							}
						}
					}
				}
			},
			"GetCelebrityInfo": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Urls": {
							"shape": "S1u"
						},
						"Name": {}
					}
				}
			},
			"IndexFaces": {
				"input": {
					"type": "structure",
					"required": [
						"CollectionId",
						"Image"
					],
					"members": {
						"CollectionId": {},
						"Image": {
							"shape": "S2"
						},
						"ExternalImageId": {},
						"DetectionAttributes": {
							"shape": "S10"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FaceRecords": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Face": {
										"shape": "S21"
									},
									"FaceDetail": {
										"shape": "S14"
									}
								}
							}
						},
						"OrientationCorrection": {}
					}
				}
			},
			"ListCollections": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CollectionIds": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				}
			},
			"ListFaces": {
				"input": {
					"type": "structure",
					"required": [
						"CollectionId"
					],
					"members": {
						"CollectionId": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Faces": {
							"type": "list",
							"member": {
								"shape": "S21"
							}
						},
						"NextToken": {}
					}
				}
			},
			"RecognizeCelebrities": {
				"input": {
					"type": "structure",
					"required": [
						"Image"
					],
					"members": {
						"Image": {
							"shape": "S2"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CelebrityFaces": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Urls": {
										"shape": "S1u"
									},
									"Name": {},
									"Id": {},
									"Face": {
										"shape": "Sf"
									},
									"MatchConfidence": {
										"type": "float"
									}
								}
							}
						},
						"UnrecognizedFaces": {
							"type": "list",
							"member": {
								"shape": "Sf"
							}
						},
						"OrientationCorrection": {}
					}
				}
			},
			"SearchFaces": {
				"input": {
					"type": "structure",
					"required": [
						"CollectionId",
						"FaceId"
					],
					"members": {
						"CollectionId": {},
						"FaceId": {},
						"MaxFaces": {
							"type": "integer"
						},
						"FaceMatchThreshold": {
							"type": "float"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SearchedFaceId": {},
						"FaceMatches": {
							"shape": "S2j"
						}
					}
				}
			},
			"SearchFacesByImage": {
				"input": {
					"type": "structure",
					"required": [
						"CollectionId",
						"Image"
					],
					"members": {
						"CollectionId": {},
						"Image": {
							"shape": "S2"
						},
						"MaxFaces": {
							"type": "integer"
						},
						"FaceMatchThreshold": {
							"type": "float"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SearchedFaceBoundingBox": {
							"shape": "Sb"
						},
						"SearchedFaceConfidence": {
							"type": "float"
						},
						"FaceMatches": {
							"shape": "S2j"
						}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "structure",
				"members": {
					"Bytes": {
						"type": "blob"
					},
					"S3Object": {
						"type": "structure",
						"members": {
							"Bucket": {},
							"Name": {},
							"Version": {}
						}
					}
				}
			},
			"Sb": {
				"type": "structure",
				"members": {
					"Width": {
						"type": "float"
					},
					"Height": {
						"type": "float"
					},
					"Left": {
						"type": "float"
					},
					"Top": {
						"type": "float"
					}
				}
			},
			"Sf": {
				"type": "structure",
				"members": {
					"BoundingBox": {
						"shape": "Sb"
					},
					"Confidence": {
						"type": "float"
					},
					"Landmarks": {
						"shape": "Sg"
					},
					"Pose": {
						"shape": "Sj"
					},
					"Quality": {
						"shape": "Sl"
					}
				}
			},
			"Sg": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Type": {},
						"X": {
							"type": "float"
						},
						"Y": {
							"type": "float"
						}
					}
				}
			},
			"Sj": {
				"type": "structure",
				"members": {
					"Roll": {
						"type": "float"
					},
					"Yaw": {
						"type": "float"
					},
					"Pitch": {
						"type": "float"
					}
				}
			},
			"Sl": {
				"type": "structure",
				"members": {
					"Brightness": {
						"type": "float"
					},
					"Sharpness": {
						"type": "float"
					}
				}
			},
			"Sw": {
				"type": "list",
				"member": {}
			},
			"S10": {
				"type": "list",
				"member": {}
			},
			"S14": {
				"type": "structure",
				"members": {
					"BoundingBox": {
						"shape": "Sb"
					},
					"AgeRange": {
						"type": "structure",
						"members": {
							"Low": {
								"type": "integer"
							},
							"High": {
								"type": "integer"
							}
						}
					},
					"Smile": {
						"type": "structure",
						"members": {
							"Value": {
								"type": "boolean"
							},
							"Confidence": {
								"type": "float"
							}
						}
					},
					"Eyeglasses": {
						"type": "structure",
						"members": {
							"Value": {
								"type": "boolean"
							},
							"Confidence": {
								"type": "float"
							}
						}
					},
					"Sunglasses": {
						"type": "structure",
						"members": {
							"Value": {
								"type": "boolean"
							},
							"Confidence": {
								"type": "float"
							}
						}
					},
					"Gender": {
						"type": "structure",
						"members": {
							"Value": {},
							"Confidence": {
								"type": "float"
							}
						}
					},
					"Beard": {
						"type": "structure",
						"members": {
							"Value": {
								"type": "boolean"
							},
							"Confidence": {
								"type": "float"
							}
						}
					},
					"Mustache": {
						"type": "structure",
						"members": {
							"Value": {
								"type": "boolean"
							},
							"Confidence": {
								"type": "float"
							}
						}
					},
					"EyesOpen": {
						"type": "structure",
						"members": {
							"Value": {
								"type": "boolean"
							},
							"Confidence": {
								"type": "float"
							}
						}
					},
					"MouthOpen": {
						"type": "structure",
						"members": {
							"Value": {
								"type": "boolean"
							},
							"Confidence": {
								"type": "float"
							}
						}
					},
					"Emotions": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"Type": {},
								"Confidence": {
									"type": "float"
								}
							}
						}
					},
					"Landmarks": {
						"shape": "Sg"
					},
					"Pose": {
						"shape": "Sj"
					},
					"Quality": {
						"shape": "Sl"
					},
					"Confidence": {
						"type": "float"
					}
				}
			},
			"S1u": {
				"type": "list",
				"member": {}
			},
			"S21": {
				"type": "structure",
				"members": {
					"FaceId": {},
					"BoundingBox": {
						"shape": "Sb"
					},
					"ImageId": {},
					"ExternalImageId": {},
					"Confidence": {
						"type": "float"
					}
				}
			},
			"S2j": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Similarity": {
							"type": "float"
						},
						"Face": {
							"shape": "S21"
						}
					}
				}
			}
		}
	};

/***/ }),
/* 564 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListCollections": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "CollectionIds"
			},
			"ListFaces": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "Faces"
			}
		}
	};

/***/ }),
/* 565 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['resourcegroupstaggingapi'] = {};
	AWS.ResourceGroupsTaggingAPI = Service.defineService('resourcegroupstaggingapi', ['2017-01-26']);
	Object.defineProperty(apiLoader.services['resourcegroupstaggingapi'], '2017-01-26', {
	  get: function get() {
	    var model = __webpack_require__(566);
	    model.paginators = __webpack_require__(567).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ResourceGroupsTaggingAPI;


/***/ }),
/* 566 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2017-01-26",
			"endpointPrefix": "tagging",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS Resource Groups Tagging API",
			"signatureVersion": "v4",
			"targetPrefix": "ResourceGroupsTaggingAPI_20170126",
			"uid": "resourcegroupstaggingapi-2017-01-26"
		},
		"operations": {
			"GetResources": {
				"input": {
					"type": "structure",
					"members": {
						"PaginationToken": {},
						"TagFilters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Key": {},
									"Values": {
										"type": "list",
										"member": {}
									}
								}
							}
						},
						"ResourcesPerPage": {
							"type": "integer"
						},
						"TagsPerPage": {
							"type": "integer"
						},
						"ResourceTypeFilters": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PaginationToken": {},
						"ResourceTagMappingList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ResourceARN": {},
									"Tags": {
										"type": "list",
										"member": {
											"type": "structure",
											"required": [
												"Key",
												"Value"
											],
											"members": {
												"Key": {},
												"Value": {}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"GetTagKeys": {
				"input": {
					"type": "structure",
					"members": {
						"PaginationToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PaginationToken": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"GetTagValues": {
				"input": {
					"type": "structure",
					"required": [
						"Key"
					],
					"members": {
						"PaginationToken": {},
						"Key": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PaginationToken": {},
						"TagValues": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"TagResources": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceARNList",
						"Tags"
					],
					"members": {
						"ResourceARNList": {
							"shape": "Sp"
						},
						"Tags": {
							"type": "map",
							"key": {},
							"value": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedResourcesMap": {
							"shape": "Ss"
						}
					}
				}
			},
			"UntagResources": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceARNList",
						"TagKeys"
					],
					"members": {
						"ResourceARNList": {
							"shape": "Sp"
						},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedResourcesMap": {
							"shape": "Ss"
						}
					}
				}
			}
		},
		"shapes": {
			"Sp": {
				"type": "list",
				"member": {}
			},
			"Ss": {
				"type": "map",
				"key": {},
				"value": {
					"type": "structure",
					"members": {
						"StatusCode": {
							"type": "integer"
						},
						"ErrorCode": {},
						"ErrorMessage": {}
					}
				}
			}
		}
	};

/***/ }),
/* 567 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"GetResources": {
				"input_token": "PaginationToken",
				"limit_key": "ResourcesPerPage",
				"output_token": "PaginationToken",
				"result_key": "ResourceTagMappingList"
			},
			"GetTagKeys": {
				"input_token": "PaginationToken",
				"output_token": "PaginationToken",
				"result_key": "TagKeys"
			},
			"GetTagValues": {
				"input_token": "PaginationToken",
				"output_token": "PaginationToken",
				"result_key": "TagValues"
			}
		}
	};

/***/ }),
/* 568 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['route53'] = {};
	AWS.Route53 = Service.defineService('route53', ['2013-04-01']);
	__webpack_require__(569);
	Object.defineProperty(apiLoader.services['route53'], '2013-04-01', {
	  get: function get() {
	    var model = __webpack_require__(570);
	    model.paginators = __webpack_require__(571).pagination;
	    model.waiters = __webpack_require__(572).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Route53;


/***/ }),
/* 569 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	AWS.util.update(AWS.Route53.prototype, {
	  /**
	   * @api private
	   */
	  setupRequestListeners: function setupRequestListeners(request) {
	    request.on('build', this.sanitizeUrl);
	  },

	  /**
	   * @api private
	   */
	  sanitizeUrl: function sanitizeUrl(request) {
	    var path = request.httpRequest.path;
	    request.httpRequest.path = path.replace(/\/%2F\w+%2F/, '/');
	  },

	  /**
	   * @return [Boolean] whether the error can be retried
	   * @api private
	   */
	  retryableError: function retryableError(error) {
	    if (error.code === 'PriorRequestNotComplete' &&
	        error.statusCode === 400) {
	      return true;
	    } else {
	      var _super = AWS.Service.prototype.retryableError;
	      return _super.call(this, error);
	    }
	  }
	});


/***/ }),
/* 570 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2013-04-01",
			"endpointPrefix": "route53",
			"globalEndpoint": "route53.amazonaws.com",
			"protocol": "rest-xml",
			"serviceAbbreviation": "Route 53",
			"serviceFullName": "Amazon Route 53",
			"signatureVersion": "v4",
			"uid": "route53-2013-04-01"
		},
		"operations": {
			"AssociateVPCWithHostedZone": {
				"http": {
					"requestUri": "/2013-04-01/hostedzone/{Id}/associatevpc"
				},
				"input": {
					"locationName": "AssociateVPCWithHostedZoneRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"HostedZoneId",
						"VPC"
					],
					"members": {
						"HostedZoneId": {
							"location": "uri",
							"locationName": "Id"
						},
						"VPC": {
							"shape": "S3"
						},
						"Comment": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ChangeInfo"
					],
					"members": {
						"ChangeInfo": {
							"shape": "S8"
						}
					}
				}
			},
			"ChangeResourceRecordSets": {
				"http": {
					"requestUri": "/2013-04-01/hostedzone/{Id}/rrset/"
				},
				"input": {
					"locationName": "ChangeResourceRecordSetsRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"HostedZoneId",
						"ChangeBatch"
					],
					"members": {
						"HostedZoneId": {
							"location": "uri",
							"locationName": "Id"
						},
						"ChangeBatch": {
							"type": "structure",
							"required": [
								"Changes"
							],
							"members": {
								"Comment": {},
								"Changes": {
									"type": "list",
									"member": {
										"locationName": "Change",
										"type": "structure",
										"required": [
											"Action",
											"ResourceRecordSet"
										],
										"members": {
											"Action": {},
											"ResourceRecordSet": {
												"shape": "Sh"
											}
										}
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ChangeInfo"
					],
					"members": {
						"ChangeInfo": {
							"shape": "S8"
						}
					}
				}
			},
			"ChangeTagsForResource": {
				"http": {
					"requestUri": "/2013-04-01/tags/{ResourceType}/{ResourceId}"
				},
				"input": {
					"locationName": "ChangeTagsForResourceRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"ResourceType",
						"ResourceId"
					],
					"members": {
						"ResourceType": {
							"location": "uri",
							"locationName": "ResourceType"
						},
						"ResourceId": {
							"location": "uri",
							"locationName": "ResourceId"
						},
						"AddTags": {
							"shape": "S15"
						},
						"RemoveTagKeys": {
							"type": "list",
							"member": {
								"locationName": "Key"
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateHealthCheck": {
				"http": {
					"requestUri": "/2013-04-01/healthcheck",
					"responseCode": 201
				},
				"input": {
					"locationName": "CreateHealthCheckRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"CallerReference",
						"HealthCheckConfig"
					],
					"members": {
						"CallerReference": {},
						"HealthCheckConfig": {
							"shape": "S1d"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HealthCheck",
						"Location"
					],
					"members": {
						"HealthCheck": {
							"shape": "S1y"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						}
					}
				}
			},
			"CreateHostedZone": {
				"http": {
					"requestUri": "/2013-04-01/hostedzone",
					"responseCode": 201
				},
				"input": {
					"locationName": "CreateHostedZoneRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"Name",
						"CallerReference"
					],
					"members": {
						"Name": {},
						"VPC": {
							"shape": "S3"
						},
						"CallerReference": {},
						"HostedZoneConfig": {
							"shape": "S2e"
						},
						"DelegationSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HostedZone",
						"ChangeInfo",
						"DelegationSet",
						"Location"
					],
					"members": {
						"HostedZone": {
							"shape": "S2h"
						},
						"ChangeInfo": {
							"shape": "S8"
						},
						"DelegationSet": {
							"shape": "S2j"
						},
						"VPC": {
							"shape": "S3"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						}
					}
				}
			},
			"CreateReusableDelegationSet": {
				"http": {
					"requestUri": "/2013-04-01/delegationset",
					"responseCode": 201
				},
				"input": {
					"locationName": "CreateReusableDelegationSetRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"CallerReference"
					],
					"members": {
						"CallerReference": {},
						"HostedZoneId": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DelegationSet",
						"Location"
					],
					"members": {
						"DelegationSet": {
							"shape": "S2j"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						}
					}
				}
			},
			"CreateTrafficPolicy": {
				"http": {
					"requestUri": "/2013-04-01/trafficpolicy",
					"responseCode": 201
				},
				"input": {
					"locationName": "CreateTrafficPolicyRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"Name",
						"Document"
					],
					"members": {
						"Name": {},
						"Document": {},
						"Comment": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicy",
						"Location"
					],
					"members": {
						"TrafficPolicy": {
							"shape": "S2s"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						}
					}
				}
			},
			"CreateTrafficPolicyInstance": {
				"http": {
					"requestUri": "/2013-04-01/trafficpolicyinstance",
					"responseCode": 201
				},
				"input": {
					"locationName": "CreateTrafficPolicyInstanceRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"HostedZoneId",
						"Name",
						"TTL",
						"TrafficPolicyId",
						"TrafficPolicyVersion"
					],
					"members": {
						"HostedZoneId": {},
						"Name": {},
						"TTL": {
							"type": "long"
						},
						"TrafficPolicyId": {},
						"TrafficPolicyVersion": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicyInstance",
						"Location"
					],
					"members": {
						"TrafficPolicyInstance": {
							"shape": "S2x"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						}
					}
				}
			},
			"CreateTrafficPolicyVersion": {
				"http": {
					"requestUri": "/2013-04-01/trafficpolicy/{Id}",
					"responseCode": 201
				},
				"input": {
					"locationName": "CreateTrafficPolicyVersionRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"Id",
						"Document"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"Document": {},
						"Comment": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicy",
						"Location"
					],
					"members": {
						"TrafficPolicy": {
							"shape": "S2s"
						},
						"Location": {
							"location": "header",
							"locationName": "Location"
						}
					}
				}
			},
			"CreateVPCAssociationAuthorization": {
				"http": {
					"requestUri": "/2013-04-01/hostedzone/{Id}/authorizevpcassociation"
				},
				"input": {
					"locationName": "CreateVPCAssociationAuthorizationRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"HostedZoneId",
						"VPC"
					],
					"members": {
						"HostedZoneId": {
							"location": "uri",
							"locationName": "Id"
						},
						"VPC": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HostedZoneId",
						"VPC"
					],
					"members": {
						"HostedZoneId": {},
						"VPC": {
							"shape": "S3"
						}
					}
				}
			},
			"DeleteHealthCheck": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2013-04-01/healthcheck/{HealthCheckId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"HealthCheckId"
					],
					"members": {
						"HealthCheckId": {
							"location": "uri",
							"locationName": "HealthCheckId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteHostedZone": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2013-04-01/hostedzone/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ChangeInfo"
					],
					"members": {
						"ChangeInfo": {
							"shape": "S8"
						}
					}
				}
			},
			"DeleteReusableDelegationSet": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2013-04-01/delegationset/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteTrafficPolicy": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2013-04-01/trafficpolicy/{Id}/{Version}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id",
						"Version"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"Version": {
							"location": "uri",
							"locationName": "Version",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteTrafficPolicyInstance": {
				"http": {
					"method": "DELETE",
					"requestUri": "/2013-04-01/trafficpolicyinstance/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteVPCAssociationAuthorization": {
				"http": {
					"requestUri": "/2013-04-01/hostedzone/{Id}/deauthorizevpcassociation"
				},
				"input": {
					"locationName": "DeleteVPCAssociationAuthorizationRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"HostedZoneId",
						"VPC"
					],
					"members": {
						"HostedZoneId": {
							"location": "uri",
							"locationName": "Id"
						},
						"VPC": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DisassociateVPCFromHostedZone": {
				"http": {
					"requestUri": "/2013-04-01/hostedzone/{Id}/disassociatevpc"
				},
				"input": {
					"locationName": "DisassociateVPCFromHostedZoneRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"HostedZoneId",
						"VPC"
					],
					"members": {
						"HostedZoneId": {
							"location": "uri",
							"locationName": "Id"
						},
						"VPC": {
							"shape": "S3"
						},
						"Comment": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ChangeInfo"
					],
					"members": {
						"ChangeInfo": {
							"shape": "S8"
						}
					}
				}
			},
			"GetChange": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/change/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ChangeInfo"
					],
					"members": {
						"ChangeInfo": {
							"shape": "S8"
						}
					}
				}
			},
			"GetCheckerIpRanges": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/checkeripranges"
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"required": [
						"CheckerIpRanges"
					],
					"members": {
						"CheckerIpRanges": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"GetGeoLocation": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/geolocation"
				},
				"input": {
					"type": "structure",
					"members": {
						"ContinentCode": {
							"location": "querystring",
							"locationName": "continentcode"
						},
						"CountryCode": {
							"location": "querystring",
							"locationName": "countrycode"
						},
						"SubdivisionCode": {
							"location": "querystring",
							"locationName": "subdivisioncode"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"GeoLocationDetails"
					],
					"members": {
						"GeoLocationDetails": {
							"shape": "S3r"
						}
					}
				}
			},
			"GetHealthCheck": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/healthcheck/{HealthCheckId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"HealthCheckId"
					],
					"members": {
						"HealthCheckId": {
							"location": "uri",
							"locationName": "HealthCheckId"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HealthCheck"
					],
					"members": {
						"HealthCheck": {
							"shape": "S1y"
						}
					}
				}
			},
			"GetHealthCheckCount": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/healthcheckcount"
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"required": [
						"HealthCheckCount"
					],
					"members": {
						"HealthCheckCount": {
							"type": "long"
						}
					}
				}
			},
			"GetHealthCheckLastFailureReason": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/healthcheck/{HealthCheckId}/lastfailurereason"
				},
				"input": {
					"type": "structure",
					"required": [
						"HealthCheckId"
					],
					"members": {
						"HealthCheckId": {
							"location": "uri",
							"locationName": "HealthCheckId"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HealthCheckObservations"
					],
					"members": {
						"HealthCheckObservations": {
							"shape": "S42"
						}
					}
				}
			},
			"GetHealthCheckStatus": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/healthcheck/{HealthCheckId}/status"
				},
				"input": {
					"type": "structure",
					"required": [
						"HealthCheckId"
					],
					"members": {
						"HealthCheckId": {
							"location": "uri",
							"locationName": "HealthCheckId"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HealthCheckObservations"
					],
					"members": {
						"HealthCheckObservations": {
							"shape": "S42"
						}
					}
				}
			},
			"GetHostedZone": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/hostedzone/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HostedZone"
					],
					"members": {
						"HostedZone": {
							"shape": "S2h"
						},
						"DelegationSet": {
							"shape": "S2j"
						},
						"VPCs": {
							"shape": "S4a"
						}
					}
				}
			},
			"GetHostedZoneCount": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/hostedzonecount"
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"required": [
						"HostedZoneCount"
					],
					"members": {
						"HostedZoneCount": {
							"type": "long"
						}
					}
				}
			},
			"GetReusableDelegationSet": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/delegationset/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DelegationSet"
					],
					"members": {
						"DelegationSet": {
							"shape": "S2j"
						}
					}
				}
			},
			"GetTrafficPolicy": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/trafficpolicy/{Id}/{Version}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id",
						"Version"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"Version": {
							"location": "uri",
							"locationName": "Version",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicy"
					],
					"members": {
						"TrafficPolicy": {
							"shape": "S2s"
						}
					}
				}
			},
			"GetTrafficPolicyInstance": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/trafficpolicyinstance/{Id}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicyInstance"
					],
					"members": {
						"TrafficPolicyInstance": {
							"shape": "S2x"
						}
					}
				}
			},
			"GetTrafficPolicyInstanceCount": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/trafficpolicyinstancecount"
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicyInstanceCount"
					],
					"members": {
						"TrafficPolicyInstanceCount": {
							"type": "integer"
						}
					}
				}
			},
			"ListGeoLocations": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/geolocations"
				},
				"input": {
					"type": "structure",
					"members": {
						"StartContinentCode": {
							"location": "querystring",
							"locationName": "startcontinentcode"
						},
						"StartCountryCode": {
							"location": "querystring",
							"locationName": "startcountrycode"
						},
						"StartSubdivisionCode": {
							"location": "querystring",
							"locationName": "startsubdivisioncode"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "maxitems"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"GeoLocationDetailsList",
						"IsTruncated",
						"MaxItems"
					],
					"members": {
						"GeoLocationDetailsList": {
							"type": "list",
							"member": {
								"shape": "S3r",
								"locationName": "GeoLocationDetails"
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"NextContinentCode": {},
						"NextCountryCode": {},
						"NextSubdivisionCode": {},
						"MaxItems": {}
					}
				}
			},
			"ListHealthChecks": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/healthcheck"
				},
				"input": {
					"type": "structure",
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "maxitems"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HealthChecks",
						"Marker",
						"IsTruncated",
						"MaxItems"
					],
					"members": {
						"HealthChecks": {
							"type": "list",
							"member": {
								"shape": "S1y",
								"locationName": "HealthCheck"
							}
						},
						"Marker": {},
						"IsTruncated": {
							"type": "boolean"
						},
						"NextMarker": {},
						"MaxItems": {}
					}
				}
			},
			"ListHostedZones": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/hostedzone"
				},
				"input": {
					"type": "structure",
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "maxitems"
						},
						"DelegationSetId": {
							"location": "querystring",
							"locationName": "delegationsetid"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HostedZones",
						"Marker",
						"IsTruncated",
						"MaxItems"
					],
					"members": {
						"HostedZones": {
							"shape": "S4y"
						},
						"Marker": {},
						"IsTruncated": {
							"type": "boolean"
						},
						"NextMarker": {},
						"MaxItems": {}
					}
				}
			},
			"ListHostedZonesByName": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/hostedzonesbyname"
				},
				"input": {
					"type": "structure",
					"members": {
						"DNSName": {
							"location": "querystring",
							"locationName": "dnsname"
						},
						"HostedZoneId": {
							"location": "querystring",
							"locationName": "hostedzoneid"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "maxitems"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HostedZones",
						"IsTruncated",
						"MaxItems"
					],
					"members": {
						"HostedZones": {
							"shape": "S4y"
						},
						"DNSName": {},
						"HostedZoneId": {},
						"IsTruncated": {
							"type": "boolean"
						},
						"NextDNSName": {},
						"NextHostedZoneId": {},
						"MaxItems": {}
					}
				}
			},
			"ListResourceRecordSets": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/hostedzone/{Id}/rrset"
				},
				"input": {
					"type": "structure",
					"required": [
						"HostedZoneId"
					],
					"members": {
						"HostedZoneId": {
							"location": "uri",
							"locationName": "Id"
						},
						"StartRecordName": {
							"location": "querystring",
							"locationName": "name"
						},
						"StartRecordType": {
							"location": "querystring",
							"locationName": "type"
						},
						"StartRecordIdentifier": {
							"location": "querystring",
							"locationName": "identifier"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "maxitems"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ResourceRecordSets",
						"IsTruncated",
						"MaxItems"
					],
					"members": {
						"ResourceRecordSets": {
							"type": "list",
							"member": {
								"shape": "Sh",
								"locationName": "ResourceRecordSet"
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"NextRecordName": {},
						"NextRecordType": {},
						"NextRecordIdentifier": {},
						"MaxItems": {}
					}
				}
			},
			"ListReusableDelegationSets": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/delegationset"
				},
				"input": {
					"type": "structure",
					"members": {
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "maxitems"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DelegationSets",
						"Marker",
						"IsTruncated",
						"MaxItems"
					],
					"members": {
						"DelegationSets": {
							"type": "list",
							"member": {
								"shape": "S2j",
								"locationName": "DelegationSet"
							}
						},
						"Marker": {},
						"IsTruncated": {
							"type": "boolean"
						},
						"NextMarker": {},
						"MaxItems": {}
					}
				}
			},
			"ListTagsForResource": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/tags/{ResourceType}/{ResourceId}"
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceType",
						"ResourceId"
					],
					"members": {
						"ResourceType": {
							"location": "uri",
							"locationName": "ResourceType"
						},
						"ResourceId": {
							"location": "uri",
							"locationName": "ResourceId"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ResourceTagSet"
					],
					"members": {
						"ResourceTagSet": {
							"shape": "S59"
						}
					}
				}
			},
			"ListTagsForResources": {
				"http": {
					"requestUri": "/2013-04-01/tags/{ResourceType}"
				},
				"input": {
					"locationName": "ListTagsForResourcesRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"ResourceType",
						"ResourceIds"
					],
					"members": {
						"ResourceType": {
							"location": "uri",
							"locationName": "ResourceType"
						},
						"ResourceIds": {
							"type": "list",
							"member": {
								"locationName": "ResourceId"
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"ResourceTagSets"
					],
					"members": {
						"ResourceTagSets": {
							"type": "list",
							"member": {
								"shape": "S59",
								"locationName": "ResourceTagSet"
							}
						}
					}
				}
			},
			"ListTrafficPolicies": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/trafficpolicies"
				},
				"input": {
					"type": "structure",
					"members": {
						"TrafficPolicyIdMarker": {
							"location": "querystring",
							"locationName": "trafficpolicyid"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "maxitems"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicySummaries",
						"IsTruncated",
						"TrafficPolicyIdMarker",
						"MaxItems"
					],
					"members": {
						"TrafficPolicySummaries": {
							"type": "list",
							"member": {
								"locationName": "TrafficPolicySummary",
								"type": "structure",
								"required": [
									"Id",
									"Name",
									"Type",
									"LatestVersion",
									"TrafficPolicyCount"
								],
								"members": {
									"Id": {},
									"Name": {},
									"Type": {},
									"LatestVersion": {
										"type": "integer"
									},
									"TrafficPolicyCount": {
										"type": "integer"
									}
								}
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"TrafficPolicyIdMarker": {},
						"MaxItems": {}
					}
				}
			},
			"ListTrafficPolicyInstances": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/trafficpolicyinstances"
				},
				"input": {
					"type": "structure",
					"members": {
						"HostedZoneIdMarker": {
							"location": "querystring",
							"locationName": "hostedzoneid"
						},
						"TrafficPolicyInstanceNameMarker": {
							"location": "querystring",
							"locationName": "trafficpolicyinstancename"
						},
						"TrafficPolicyInstanceTypeMarker": {
							"location": "querystring",
							"locationName": "trafficpolicyinstancetype"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "maxitems"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicyInstances",
						"IsTruncated",
						"MaxItems"
					],
					"members": {
						"TrafficPolicyInstances": {
							"shape": "S5k"
						},
						"HostedZoneIdMarker": {},
						"TrafficPolicyInstanceNameMarker": {},
						"TrafficPolicyInstanceTypeMarker": {},
						"IsTruncated": {
							"type": "boolean"
						},
						"MaxItems": {}
					}
				}
			},
			"ListTrafficPolicyInstancesByHostedZone": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/trafficpolicyinstances/hostedzone"
				},
				"input": {
					"type": "structure",
					"required": [
						"HostedZoneId"
					],
					"members": {
						"HostedZoneId": {
							"location": "querystring",
							"locationName": "id"
						},
						"TrafficPolicyInstanceNameMarker": {
							"location": "querystring",
							"locationName": "trafficpolicyinstancename"
						},
						"TrafficPolicyInstanceTypeMarker": {
							"location": "querystring",
							"locationName": "trafficpolicyinstancetype"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "maxitems"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicyInstances",
						"IsTruncated",
						"MaxItems"
					],
					"members": {
						"TrafficPolicyInstances": {
							"shape": "S5k"
						},
						"TrafficPolicyInstanceNameMarker": {},
						"TrafficPolicyInstanceTypeMarker": {},
						"IsTruncated": {
							"type": "boolean"
						},
						"MaxItems": {}
					}
				}
			},
			"ListTrafficPolicyInstancesByPolicy": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/trafficpolicyinstances/trafficpolicy"
				},
				"input": {
					"type": "structure",
					"required": [
						"TrafficPolicyId",
						"TrafficPolicyVersion"
					],
					"members": {
						"TrafficPolicyId": {
							"location": "querystring",
							"locationName": "id"
						},
						"TrafficPolicyVersion": {
							"location": "querystring",
							"locationName": "version",
							"type": "integer"
						},
						"HostedZoneIdMarker": {
							"location": "querystring",
							"locationName": "hostedzoneid"
						},
						"TrafficPolicyInstanceNameMarker": {
							"location": "querystring",
							"locationName": "trafficpolicyinstancename"
						},
						"TrafficPolicyInstanceTypeMarker": {
							"location": "querystring",
							"locationName": "trafficpolicyinstancetype"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "maxitems"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicyInstances",
						"IsTruncated",
						"MaxItems"
					],
					"members": {
						"TrafficPolicyInstances": {
							"shape": "S5k"
						},
						"HostedZoneIdMarker": {},
						"TrafficPolicyInstanceNameMarker": {},
						"TrafficPolicyInstanceTypeMarker": {},
						"IsTruncated": {
							"type": "boolean"
						},
						"MaxItems": {}
					}
				}
			},
			"ListTrafficPolicyVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/trafficpolicies/{Id}/versions"
				},
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"TrafficPolicyVersionMarker": {
							"location": "querystring",
							"locationName": "trafficpolicyversion"
						},
						"MaxItems": {
							"location": "querystring",
							"locationName": "maxitems"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicies",
						"IsTruncated",
						"TrafficPolicyVersionMarker",
						"MaxItems"
					],
					"members": {
						"TrafficPolicies": {
							"type": "list",
							"member": {
								"shape": "S2s",
								"locationName": "TrafficPolicy"
							}
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"TrafficPolicyVersionMarker": {},
						"MaxItems": {}
					}
				}
			},
			"ListVPCAssociationAuthorizations": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/hostedzone/{Id}/authorizevpcassociation"
				},
				"input": {
					"type": "structure",
					"required": [
						"HostedZoneId"
					],
					"members": {
						"HostedZoneId": {
							"location": "uri",
							"locationName": "Id"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "nexttoken"
						},
						"MaxResults": {
							"location": "querystring",
							"locationName": "maxresults"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HostedZoneId",
						"VPCs"
					],
					"members": {
						"HostedZoneId": {},
						"NextToken": {},
						"VPCs": {
							"shape": "S4a"
						}
					}
				}
			},
			"TestDNSAnswer": {
				"http": {
					"method": "GET",
					"requestUri": "/2013-04-01/testdnsanswer"
				},
				"input": {
					"type": "structure",
					"required": [
						"HostedZoneId",
						"RecordName",
						"RecordType"
					],
					"members": {
						"HostedZoneId": {
							"location": "querystring",
							"locationName": "hostedzoneid"
						},
						"RecordName": {
							"location": "querystring",
							"locationName": "recordname"
						},
						"RecordType": {
							"location": "querystring",
							"locationName": "recordtype"
						},
						"ResolverIP": {
							"location": "querystring",
							"locationName": "resolverip"
						},
						"EDNS0ClientSubnetIP": {
							"location": "querystring",
							"locationName": "edns0clientsubnetip"
						},
						"EDNS0ClientSubnetMask": {
							"location": "querystring",
							"locationName": "edns0clientsubnetmask"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Nameserver",
						"RecordName",
						"RecordType",
						"RecordData",
						"ResponseCode",
						"Protocol"
					],
					"members": {
						"Nameserver": {},
						"RecordName": {},
						"RecordType": {},
						"RecordData": {
							"type": "list",
							"member": {
								"locationName": "RecordDataEntry"
							}
						},
						"ResponseCode": {},
						"Protocol": {}
					}
				}
			},
			"UpdateHealthCheck": {
				"http": {
					"requestUri": "/2013-04-01/healthcheck/{HealthCheckId}"
				},
				"input": {
					"locationName": "UpdateHealthCheckRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"HealthCheckId"
					],
					"members": {
						"HealthCheckId": {
							"location": "uri",
							"locationName": "HealthCheckId"
						},
						"HealthCheckVersion": {
							"type": "long"
						},
						"IPAddress": {},
						"Port": {
							"type": "integer"
						},
						"ResourcePath": {},
						"FullyQualifiedDomainName": {},
						"SearchString": {},
						"FailureThreshold": {
							"type": "integer"
						},
						"Inverted": {
							"type": "boolean"
						},
						"HealthThreshold": {
							"type": "integer"
						},
						"ChildHealthChecks": {
							"shape": "S1p"
						},
						"EnableSNI": {
							"type": "boolean"
						},
						"Regions": {
							"shape": "S1r"
						},
						"AlarmIdentifier": {
							"shape": "S1t"
						},
						"InsufficientDataHealthStatus": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HealthCheck"
					],
					"members": {
						"HealthCheck": {
							"shape": "S1y"
						}
					}
				}
			},
			"UpdateHostedZoneComment": {
				"http": {
					"requestUri": "/2013-04-01/hostedzone/{Id}"
				},
				"input": {
					"locationName": "UpdateHostedZoneCommentRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"Comment": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"HostedZone"
					],
					"members": {
						"HostedZone": {
							"shape": "S2h"
						}
					}
				}
			},
			"UpdateTrafficPolicyComment": {
				"http": {
					"requestUri": "/2013-04-01/trafficpolicy/{Id}/{Version}"
				},
				"input": {
					"locationName": "UpdateTrafficPolicyCommentRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"Id",
						"Version",
						"Comment"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"Version": {
							"location": "uri",
							"locationName": "Version",
							"type": "integer"
						},
						"Comment": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicy"
					],
					"members": {
						"TrafficPolicy": {
							"shape": "S2s"
						}
					}
				}
			},
			"UpdateTrafficPolicyInstance": {
				"http": {
					"requestUri": "/2013-04-01/trafficpolicyinstance/{Id}"
				},
				"input": {
					"locationName": "UpdateTrafficPolicyInstanceRequest",
					"xmlNamespace": {
						"uri": "https://route53.amazonaws.com/doc/2013-04-01/"
					},
					"type": "structure",
					"required": [
						"Id",
						"TTL",
						"TrafficPolicyId",
						"TrafficPolicyVersion"
					],
					"members": {
						"Id": {
							"location": "uri",
							"locationName": "Id"
						},
						"TTL": {
							"type": "long"
						},
						"TrafficPolicyId": {},
						"TrafficPolicyVersion": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TrafficPolicyInstance"
					],
					"members": {
						"TrafficPolicyInstance": {
							"shape": "S2x"
						}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "structure",
				"members": {
					"VPCRegion": {},
					"VPCId": {}
				}
			},
			"S8": {
				"type": "structure",
				"required": [
					"Id",
					"Status",
					"SubmittedAt"
				],
				"members": {
					"Id": {},
					"Status": {},
					"SubmittedAt": {
						"type": "timestamp"
					},
					"Comment": {}
				}
			},
			"Sh": {
				"type": "structure",
				"required": [
					"Name",
					"Type"
				],
				"members": {
					"Name": {},
					"Type": {},
					"SetIdentifier": {},
					"Weight": {
						"type": "long"
					},
					"Region": {},
					"GeoLocation": {
						"type": "structure",
						"members": {
							"ContinentCode": {},
							"CountryCode": {},
							"SubdivisionCode": {}
						}
					},
					"Failover": {},
					"MultiValueAnswer": {
						"type": "boolean"
					},
					"TTL": {
						"type": "long"
					},
					"ResourceRecords": {
						"type": "list",
						"member": {
							"locationName": "ResourceRecord",
							"type": "structure",
							"required": [
								"Value"
							],
							"members": {
								"Value": {}
							}
						}
					},
					"AliasTarget": {
						"type": "structure",
						"required": [
							"HostedZoneId",
							"DNSName",
							"EvaluateTargetHealth"
						],
						"members": {
							"HostedZoneId": {},
							"DNSName": {},
							"EvaluateTargetHealth": {
								"type": "boolean"
							}
						}
					},
					"HealthCheckId": {},
					"TrafficPolicyInstanceId": {}
				}
			},
			"S15": {
				"type": "list",
				"member": {
					"locationName": "Tag",
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S1d": {
				"type": "structure",
				"required": [
					"Type"
				],
				"members": {
					"IPAddress": {},
					"Port": {
						"type": "integer"
					},
					"Type": {},
					"ResourcePath": {},
					"FullyQualifiedDomainName": {},
					"SearchString": {},
					"RequestInterval": {
						"type": "integer"
					},
					"FailureThreshold": {
						"type": "integer"
					},
					"MeasureLatency": {
						"type": "boolean"
					},
					"Inverted": {
						"type": "boolean"
					},
					"HealthThreshold": {
						"type": "integer"
					},
					"ChildHealthChecks": {
						"shape": "S1p"
					},
					"EnableSNI": {
						"type": "boolean"
					},
					"Regions": {
						"shape": "S1r"
					},
					"AlarmIdentifier": {
						"shape": "S1t"
					},
					"InsufficientDataHealthStatus": {}
				}
			},
			"S1p": {
				"type": "list",
				"member": {
					"locationName": "ChildHealthCheck"
				}
			},
			"S1r": {
				"type": "list",
				"member": {
					"locationName": "Region"
				}
			},
			"S1t": {
				"type": "structure",
				"required": [
					"Region",
					"Name"
				],
				"members": {
					"Region": {},
					"Name": {}
				}
			},
			"S1y": {
				"type": "structure",
				"required": [
					"Id",
					"CallerReference",
					"HealthCheckConfig",
					"HealthCheckVersion"
				],
				"members": {
					"Id": {},
					"CallerReference": {},
					"HealthCheckConfig": {
						"shape": "S1d"
					},
					"HealthCheckVersion": {
						"type": "long"
					},
					"CloudWatchAlarmConfiguration": {
						"type": "structure",
						"required": [
							"EvaluationPeriods",
							"Threshold",
							"ComparisonOperator",
							"Period",
							"MetricName",
							"Namespace",
							"Statistic"
						],
						"members": {
							"EvaluationPeriods": {
								"type": "integer"
							},
							"Threshold": {
								"type": "double"
							},
							"ComparisonOperator": {},
							"Period": {
								"type": "integer"
							},
							"MetricName": {},
							"Namespace": {},
							"Statistic": {},
							"Dimensions": {
								"type": "list",
								"member": {
									"locationName": "Dimension",
									"type": "structure",
									"required": [
										"Name",
										"Value"
									],
									"members": {
										"Name": {},
										"Value": {}
									}
								}
							}
						}
					}
				}
			},
			"S2e": {
				"type": "structure",
				"members": {
					"Comment": {},
					"PrivateZone": {
						"type": "boolean"
					}
				}
			},
			"S2h": {
				"type": "structure",
				"required": [
					"Id",
					"Name",
					"CallerReference"
				],
				"members": {
					"Id": {},
					"Name": {},
					"CallerReference": {},
					"Config": {
						"shape": "S2e"
					},
					"ResourceRecordSetCount": {
						"type": "long"
					}
				}
			},
			"S2j": {
				"type": "structure",
				"required": [
					"NameServers"
				],
				"members": {
					"Id": {},
					"CallerReference": {},
					"NameServers": {
						"type": "list",
						"member": {
							"locationName": "NameServer"
						}
					}
				}
			},
			"S2s": {
				"type": "structure",
				"required": [
					"Id",
					"Version",
					"Name",
					"Type",
					"Document"
				],
				"members": {
					"Id": {},
					"Version": {
						"type": "integer"
					},
					"Name": {},
					"Type": {},
					"Document": {},
					"Comment": {}
				}
			},
			"S2x": {
				"type": "structure",
				"required": [
					"Id",
					"HostedZoneId",
					"Name",
					"TTL",
					"State",
					"Message",
					"TrafficPolicyId",
					"TrafficPolicyVersion",
					"TrafficPolicyType"
				],
				"members": {
					"Id": {},
					"HostedZoneId": {},
					"Name": {},
					"TTL": {
						"type": "long"
					},
					"State": {},
					"Message": {},
					"TrafficPolicyId": {},
					"TrafficPolicyVersion": {
						"type": "integer"
					},
					"TrafficPolicyType": {}
				}
			},
			"S3r": {
				"type": "structure",
				"members": {
					"ContinentCode": {},
					"ContinentName": {},
					"CountryCode": {},
					"CountryName": {},
					"SubdivisionCode": {},
					"SubdivisionName": {}
				}
			},
			"S42": {
				"type": "list",
				"member": {
					"locationName": "HealthCheckObservation",
					"type": "structure",
					"members": {
						"Region": {},
						"IPAddress": {},
						"StatusReport": {
							"type": "structure",
							"members": {
								"Status": {},
								"CheckedTime": {
									"type": "timestamp"
								}
							}
						}
					}
				}
			},
			"S4a": {
				"type": "list",
				"member": {
					"shape": "S3",
					"locationName": "VPC"
				}
			},
			"S4y": {
				"type": "list",
				"member": {
					"shape": "S2h",
					"locationName": "HostedZone"
				}
			},
			"S59": {
				"type": "structure",
				"members": {
					"ResourceType": {},
					"ResourceId": {},
					"Tags": {
						"shape": "S15"
					}
				}
			},
			"S5k": {
				"type": "list",
				"member": {
					"shape": "S2x",
					"locationName": "TrafficPolicyInstance"
				}
			}
		}
	};

/***/ }),
/* 571 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListHealthChecks": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "NextMarker",
				"result_key": "HealthChecks"
			},
			"ListHostedZones": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": "NextMarker",
				"result_key": "HostedZones"
			},
			"ListResourceRecordSets": {
				"input_token": [
					"StartRecordName",
					"StartRecordType",
					"StartRecordIdentifier"
				],
				"limit_key": "MaxItems",
				"more_results": "IsTruncated",
				"output_token": [
					"NextRecordName",
					"NextRecordType",
					"NextRecordIdentifier"
				],
				"result_key": "ResourceRecordSets"
			}
		}
	};

/***/ }),
/* 572 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"ResourceRecordSetsChanged": {
				"delay": 30,
				"maxAttempts": 60,
				"operation": "GetChange",
				"acceptors": [
					{
						"matcher": "path",
						"expected": "INSYNC",
						"argument": "ChangeInfo.Status",
						"state": "success"
					}
				]
			}
		}
	};

/***/ }),
/* 573 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['route53domains'] = {};
	AWS.Route53Domains = Service.defineService('route53domains', ['2014-05-15']);
	Object.defineProperty(apiLoader.services['route53domains'], '2014-05-15', {
	  get: function get() {
	    var model = __webpack_require__(574);
	    model.paginators = __webpack_require__(575).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Route53Domains;


/***/ }),
/* 574 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-05-15",
			"endpointPrefix": "route53domains",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon Route 53 Domains",
			"signatureVersion": "v4",
			"targetPrefix": "Route53Domains_v20140515",
			"uid": "route53domains-2014-05-15"
		},
		"operations": {
			"CheckDomainAvailability": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"IdnLangCode": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Availability"
					],
					"members": {
						"Availability": {}
					}
				}
			},
			"DeleteTagsForDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"TagsToDelete"
					],
					"members": {
						"DomainName": {},
						"TagsToDelete": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DisableDomainAutoRenew": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DisableDomainTransferLock": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"OperationId"
					],
					"members": {
						"OperationId": {}
					}
				}
			},
			"EnableDomainAutoRenew": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"EnableDomainTransferLock": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"OperationId"
					],
					"members": {
						"OperationId": {}
					}
				}
			},
			"GetContactReachabilityStatus": {
				"input": {
					"type": "structure",
					"members": {
						"domainName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"domainName": {},
						"status": {}
					}
				}
			},
			"GetDomainDetail": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"DomainName",
						"Nameservers",
						"AdminContact",
						"RegistrantContact",
						"TechContact"
					],
					"members": {
						"DomainName": {},
						"Nameservers": {
							"shape": "So"
						},
						"AutoRenew": {
							"type": "boolean"
						},
						"AdminContact": {
							"shape": "Su"
						},
						"RegistrantContact": {
							"shape": "Su"
						},
						"TechContact": {
							"shape": "Su"
						},
						"AdminPrivacy": {
							"type": "boolean"
						},
						"RegistrantPrivacy": {
							"type": "boolean"
						},
						"TechPrivacy": {
							"type": "boolean"
						},
						"RegistrarName": {},
						"WhoIsServer": {},
						"RegistrarUrl": {},
						"AbuseContactEmail": {},
						"AbuseContactPhone": {},
						"RegistryDomainId": {},
						"CreationDate": {
							"type": "timestamp"
						},
						"UpdatedDate": {
							"type": "timestamp"
						},
						"ExpirationDate": {
							"type": "timestamp"
						},
						"Reseller": {},
						"DnsSec": {},
						"StatusList": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"GetDomainSuggestions": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"SuggestionCount",
						"OnlyAvailable"
					],
					"members": {
						"DomainName": {},
						"SuggestionCount": {
							"type": "integer"
						},
						"OnlyAvailable": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SuggestionsList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DomainName": {},
									"Availability": {}
								}
							}
						}
					}
				}
			},
			"GetOperationDetail": {
				"input": {
					"type": "structure",
					"required": [
						"OperationId"
					],
					"members": {
						"OperationId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"OperationId": {},
						"Status": {},
						"Message": {},
						"DomainName": {},
						"Type": {},
						"SubmittedDate": {
							"type": "timestamp"
						}
					}
				}
			},
			"ListDomains": {
				"input": {
					"type": "structure",
					"members": {
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Domains"
					],
					"members": {
						"Domains": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"DomainName"
								],
								"members": {
									"DomainName": {},
									"AutoRenew": {
										"type": "boolean"
									},
									"TransferLock": {
										"type": "boolean"
									},
									"Expiry": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextPageMarker": {}
					}
				}
			},
			"ListOperations": {
				"input": {
					"type": "structure",
					"members": {
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"Operations"
					],
					"members": {
						"Operations": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"OperationId",
									"Status",
									"Type",
									"SubmittedDate"
								],
								"members": {
									"OperationId": {},
									"Status": {},
									"Type": {},
									"SubmittedDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextPageMarker": {}
					}
				}
			},
			"ListTagsForDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TagList"
					],
					"members": {
						"TagList": {
							"shape": "S24"
						}
					}
				}
			},
			"RegisterDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"DurationInYears",
						"AdminContact",
						"RegistrantContact",
						"TechContact"
					],
					"members": {
						"DomainName": {},
						"IdnLangCode": {},
						"DurationInYears": {
							"type": "integer"
						},
						"AutoRenew": {
							"type": "boolean"
						},
						"AdminContact": {
							"shape": "Su"
						},
						"RegistrantContact": {
							"shape": "Su"
						},
						"TechContact": {
							"shape": "Su"
						},
						"PrivacyProtectAdminContact": {
							"type": "boolean"
						},
						"PrivacyProtectRegistrantContact": {
							"type": "boolean"
						},
						"PrivacyProtectTechContact": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"OperationId"
					],
					"members": {
						"OperationId": {}
					}
				}
			},
			"RenewDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"CurrentExpiryYear"
					],
					"members": {
						"DomainName": {},
						"DurationInYears": {
							"type": "integer"
						},
						"CurrentExpiryYear": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"OperationId"
					],
					"members": {
						"OperationId": {}
					}
				}
			},
			"ResendContactReachabilityEmail": {
				"input": {
					"type": "structure",
					"members": {
						"domainName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"domainName": {},
						"emailAddress": {},
						"isAlreadyVerified": {
							"type": "boolean"
						}
					}
				}
			},
			"RetrieveDomainAuthCode": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"AuthCode"
					],
					"members": {
						"AuthCode": {
							"shape": "S2h"
						}
					}
				}
			},
			"TransferDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"DurationInYears",
						"AdminContact",
						"RegistrantContact",
						"TechContact"
					],
					"members": {
						"DomainName": {},
						"IdnLangCode": {},
						"DurationInYears": {
							"type": "integer"
						},
						"Nameservers": {
							"shape": "So"
						},
						"AuthCode": {
							"shape": "S2h"
						},
						"AutoRenew": {
							"type": "boolean"
						},
						"AdminContact": {
							"shape": "Su"
						},
						"RegistrantContact": {
							"shape": "Su"
						},
						"TechContact": {
							"shape": "Su"
						},
						"PrivacyProtectAdminContact": {
							"type": "boolean"
						},
						"PrivacyProtectRegistrantContact": {
							"type": "boolean"
						},
						"PrivacyProtectTechContact": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"OperationId"
					],
					"members": {
						"OperationId": {}
					}
				}
			},
			"UpdateDomainContact": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"AdminContact": {
							"shape": "Su"
						},
						"RegistrantContact": {
							"shape": "Su"
						},
						"TechContact": {
							"shape": "Su"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"OperationId"
					],
					"members": {
						"OperationId": {}
					}
				}
			},
			"UpdateDomainContactPrivacy": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"AdminPrivacy": {
							"type": "boolean"
						},
						"RegistrantPrivacy": {
							"type": "boolean"
						},
						"TechPrivacy": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"OperationId"
					],
					"members": {
						"OperationId": {}
					}
				}
			},
			"UpdateDomainNameservers": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"Nameservers"
					],
					"members": {
						"DomainName": {},
						"FIAuthKey": {},
						"Nameservers": {
							"shape": "So"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"OperationId"
					],
					"members": {
						"OperationId": {}
					}
				}
			},
			"UpdateTagsForDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {},
						"TagsToUpdate": {
							"shape": "S24"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ViewBilling": {
				"input": {
					"type": "structure",
					"members": {
						"Start": {
							"type": "timestamp"
						},
						"End": {
							"type": "timestamp"
						},
						"Marker": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextPageMarker": {},
						"BillingRecords": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DomainName": {},
									"Operation": {},
									"InvoiceId": {},
									"BillDate": {
										"type": "timestamp"
									},
									"Price": {
										"type": "double"
									}
								}
							}
						}
					}
				}
			}
		},
		"shapes": {
			"So": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"GlueIps": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"Su": {
				"type": "structure",
				"members": {
					"FirstName": {},
					"LastName": {},
					"ContactType": {},
					"OrganizationName": {},
					"AddressLine1": {},
					"AddressLine2": {},
					"City": {},
					"State": {},
					"CountryCode": {},
					"ZipCode": {},
					"PhoneNumber": {},
					"Email": {},
					"Fax": {},
					"ExtraParams": {
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"Name",
								"Value"
							],
							"members": {
								"Name": {},
								"Value": {}
							}
						}
					}
				},
				"sensitive": true
			},
			"S24": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S2h": {
				"type": "string",
				"sensitive": true
			}
		}
	};

/***/ }),
/* 575 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListDomains": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"output_token": "NextPageMarker",
				"result_key": "Domains"
			},
			"ListOperations": {
				"input_token": "Marker",
				"limit_key": "MaxItems",
				"output_token": "NextPageMarker",
				"result_key": "Operations"
			}
		}
	};

/***/ }),
/* 576 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['s3'] = {};
	AWS.S3 = Service.defineService('s3', ['2006-03-01']);
	__webpack_require__(577);
	Object.defineProperty(apiLoader.services['s3'], '2006-03-01', {
	  get: function get() {
	    var model = __webpack_require__(579);
	    model.paginators = __webpack_require__(580).pagination;
	    model.waiters = __webpack_require__(581).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.S3;


/***/ }),
/* 577 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var v4Credentials = __webpack_require__(218);

	// Pull in managed upload extension
	__webpack_require__(578);

	/**
	 * @api private
	 */
	var operationsWith200StatusCodeError = {
	  'completeMultipartUpload': true,
	  'copyObject': true,
	  'uploadPartCopy': true
	};

	/**
	 * @api private
	 */
	 var regionRedirectErrorCodes = [
	  'AuthorizationHeaderMalformed', // non-head operations on virtual-hosted global bucket endpoints
	  'BadRequest', // head operations on virtual-hosted global bucket endpoints
	  'PermanentRedirect', // non-head operations on path-style or regional endpoints
	  301 // head operations on path-style or regional endpoints
	 ];

	AWS.util.update(AWS.S3.prototype, {
	  /**
	   * @api private
	   */
	  getSignatureVersion: function getSignatureVersion(request) {
	    var defaultApiVersion = this.api.signatureVersion;
	    var userDefinedVersion = this._originalConfig ? this._originalConfig.signatureVersion : null;
	    var regionDefinedVersion = this.config.signatureVersion;
	    var isPresigned = request ? request.isPresigned() : false;
	    /*
	      1) User defined version specified:
	        a) always return user defined version
	      2) No user defined version specified:
	        a) default to lowest version the region supports
	        b) If using presigned urls, default to lowest version the region supports
	    */
	    if (userDefinedVersion) {
	      userDefinedVersion = userDefinedVersion === 'v2' ? 's3' : userDefinedVersion;
	      return userDefinedVersion;
	    }
	    if (isPresigned !== true) {
	      defaultApiVersion = 'v4';
	    } else if (regionDefinedVersion) {
	      defaultApiVersion = regionDefinedVersion;
	    }
	    return defaultApiVersion;
	  },

	  /**
	   * @api private
	   */
	  getSignerClass: function getSignerClass(request) {
	    var signatureVersion = this.getSignatureVersion(request);
	    return AWS.Signers.RequestSigner.getVersion(signatureVersion);
	  },

	  /**
	   * @api private
	   */
	  validateService: function validateService() {
	    var msg;
	    var messages = [];

	    // default to us-east-1 when no region is provided
	    if (!this.config.region) this.config.region = 'us-east-1';

	    if (!this.config.endpoint && this.config.s3BucketEndpoint) {
	      messages.push('An endpoint must be provided when configuring ' +
	                    '`s3BucketEndpoint` to true.');
	    }
	    if (messages.length === 1) {
	      msg = messages[0];
	    } else if (messages.length > 1) {
	      msg = 'Multiple configuration errors:\n' + messages.join('\n');
	    }
	    if (msg) {
	      throw AWS.util.error(new Error(),
	        {name: 'InvalidEndpoint', message: msg});
	    }
	  },

	  /**
	   * @api private
	   */
	  shouldDisableBodySigning: function shouldDisableBodySigning(request) {
	    var signerClass = this.getSignerClass();
	    if (this.config.s3DisableBodySigning === true && signerClass === AWS.Signers.V4
	        && request.httpRequest.endpoint.protocol === 'https:') {
	      return true;
	    }
	    return false;
	  },

	  /**
	   * @api private
	   */
	  setupRequestListeners: function setupRequestListeners(request) {
	    request.addListener('validate', this.validateScheme);
	    request.addListener('validate', this.validateBucketEndpoint);
	    request.addListener('validate', this.correctBucketRegionFromCache);
	    request.addListener('validate', this.validateBucketName);
	    request.addListener('build', this.addContentType);
	    request.addListener('build', this.populateURI);
	    request.addListener('build', this.computeContentMd5);
	    request.addListener('build', this.computeSseCustomerKeyMd5);
	    request.addListener('afterBuild', this.addExpect100Continue);
	    request.removeListener('validate',
	      AWS.EventListeners.Core.VALIDATE_REGION);
	    request.addListener('extractError', this.extractError);
	    request.onAsync('extractError', this.requestBucketRegion);
	    request.addListener('extractData', this.extractData);
	    request.addListener('extractData', AWS.util.hoistPayloadMember);
	    request.addListener('beforePresign', this.prepareSignedUrl);
	    if (AWS.util.isBrowser()) {
	      request.onAsync('retry', this.reqRegionForNetworkingError);
	    }
	    if (this.shouldDisableBodySigning(request))  {
	      request.removeListener('afterBuild', AWS.EventListeners.Core.COMPUTE_SHA256);
	      request.addListener('afterBuild', this.disableBodySigning);
	    }
	  },

	  /**
	   * @api private
	   */
	  validateScheme: function(req) {
	    var params = req.params,
	        scheme = req.httpRequest.endpoint.protocol,
	        sensitive = params.SSECustomerKey || params.CopySourceSSECustomerKey;
	    if (sensitive && scheme !== 'https:') {
	      var msg = 'Cannot send SSE keys over HTTP. Set \'sslEnabled\'' +
	        'to \'true\' in your configuration';
	      throw AWS.util.error(new Error(),
	        { code: 'ConfigError', message: msg });
	    }
	  },

	  /**
	   * @api private
	   */
	  validateBucketEndpoint: function(req) {
	    if (!req.params.Bucket && req.service.config.s3BucketEndpoint) {
	      var msg = 'Cannot send requests to root API with `s3BucketEndpoint` set.';
	      throw AWS.util.error(new Error(),
	        { code: 'ConfigError', message: msg });
	    }
	  },

	  /**
	   * @api private
	   */
	  validateBucketName: function validateBucketName(req) {
	    var service = req.service;
	    var signatureVersion = service.getSignatureVersion(req);
	    // Only validate buckets when using sigv4
	    if (signatureVersion !== 'v4') {
	      return;
	    }
	    var bucket = req.params && req.params.Bucket;
	    var key = req.params && req.params.Key;
	    var slashIndex = bucket && bucket.indexOf('/');
	    if (bucket && slashIndex >= 0) {
	      if (typeof key === 'string') {
	        req.params = AWS.util.copy(req.params);
	        // Need to include trailing slash to match sigv2 behavior
	        var prefix = bucket.substr(slashIndex + 1) || '';
	        req.params.Key = prefix + '/' + key;
	        req.params.Bucket = bucket.substr(0, slashIndex);
	      } else {
	        var msg = 'Bucket names cannot contain forward slashes. Bucket: ' + bucket;
	        throw AWS.util.error(new Error(),
	          { code: 'InvalidBucket', message: msg });
	      }
	    }
	  },

	  /**
	   * @api private
	   */
	  isValidAccelerateOperation: function isValidAccelerateOperation(operation) {
	    var invalidOperations = [
	      'createBucket',
	      'deleteBucket',
	      'listBuckets'
	    ];
	    return invalidOperations.indexOf(operation) === -1;
	  },


	  /**
	   * S3 prefers dns-compatible bucket names to be moved from the uri path
	   * to the hostname as a sub-domain.  This is not possible, even for dns-compat
	   * buckets when using SSL and the bucket name contains a dot ('.').  The
	   * ssl wildcard certificate is only 1-level deep.
	   *
	   * @api private
	   */
	  populateURI: function populateURI(req) {
	    var httpRequest = req.httpRequest;
	    var b = req.params.Bucket;
	    var service = req.service;
	    var endpoint = httpRequest.endpoint;
	    if (b) {
	      if (!service.pathStyleBucketName(b)) {
	        if (service.config.useAccelerateEndpoint && service.isValidAccelerateOperation(req.operation)) {
	          if (service.config.useDualstack) {
	            endpoint.hostname = b + '.s3-accelerate.dualstack.amazonaws.com';
	          } else {
	            endpoint.hostname = b + '.s3-accelerate.amazonaws.com';
	          }
	        } else if (!service.config.s3BucketEndpoint) {
	          endpoint.hostname =
	            b + '.' + endpoint.hostname;
	        }

	        var port = endpoint.port;
	        if (port !== 80 && port !== 443) {
	          endpoint.host = endpoint.hostname + ':' +
	            endpoint.port;
	        } else {
	          endpoint.host = endpoint.hostname;
	        }

	        httpRequest.virtualHostedBucket = b; // needed for signing the request
	        service.removeVirtualHostedBucketFromPath(req);
	      }
	    }
	  },

	  /**
	   * Takes the bucket name out of the path if bucket is virtual-hosted
	   *
	   * @api private
	   */
	  removeVirtualHostedBucketFromPath: function removeVirtualHostedBucketFromPath(req) {
	    var httpRequest = req.httpRequest;
	    var bucket = httpRequest.virtualHostedBucket;
	    if (bucket && httpRequest.path) {
	      httpRequest.path = httpRequest.path.replace(new RegExp('/' + bucket), '');
	      if (httpRequest.path[0] !== '/') {
	        httpRequest.path = '/' + httpRequest.path;
	      }
	    }
	  },

	  /**
	   * Adds Expect: 100-continue header if payload is greater-or-equal 1MB
	   * @api private
	   */
	  addExpect100Continue: function addExpect100Continue(req) {
	    var len = req.httpRequest.headers['Content-Length'];
	    if (AWS.util.isNode() && len >= 1024 * 1024) {
	      req.httpRequest.headers['Expect'] = '100-continue';
	    }
	  },

	  /**
	   * Adds a default content type if none is supplied.
	   *
	   * @api private
	   */
	  addContentType: function addContentType(req) {
	    var httpRequest = req.httpRequest;
	    if (httpRequest.method === 'GET' || httpRequest.method === 'HEAD') {
	      // Content-Type is not set in GET/HEAD requests
	      delete httpRequest.headers['Content-Type'];
	      return;
	    }

	    if (!httpRequest.headers['Content-Type']) { // always have a Content-Type
	      httpRequest.headers['Content-Type'] = 'application/octet-stream';
	    }

	    var contentType = httpRequest.headers['Content-Type'];
	    if (AWS.util.isBrowser()) {
	      if (typeof httpRequest.body === 'string' && !contentType.match(/;\s*charset=/)) {
	        var charset = '; charset=UTF-8';
	        httpRequest.headers['Content-Type'] += charset;
	      } else {
	        var replaceFn = function(_, prefix, charsetName) {
	          return prefix + charsetName.toUpperCase();
	        };

	        httpRequest.headers['Content-Type'] =
	          contentType.replace(/(;\s*charset=)(.+)$/, replaceFn);
	      }
	    }
	  },

	  /**
	   * @api private
	   */
	  computableChecksumOperations: {
	    putBucketCors: true,
	    putBucketLifecycle: true,
	    putBucketLifecycleConfiguration: true,
	    putBucketTagging: true,
	    deleteObjects: true,
	    putBucketReplication: true
	  },

	  /**
	   * Checks whether checksums should be computed for the request.
	   * If the request requires checksums to be computed, this will always
	   * return true, otherwise it depends on whether {AWS.Config.computeChecksums}
	   * is set.
	   *
	   * @param req [AWS.Request] the request to check against
	   * @return [Boolean] whether to compute checksums for a request.
	   * @api private
	   */
	  willComputeChecksums: function willComputeChecksums(req) {
	    if (this.computableChecksumOperations[req.operation]) return true;
	    if (!this.config.computeChecksums) return false;

	    // TODO: compute checksums for Stream objects
	    if (!AWS.util.Buffer.isBuffer(req.httpRequest.body) &&
	        typeof req.httpRequest.body !== 'string') {
	      return false;
	    }

	    var rules = req.service.api.operations[req.operation].input.members;

	    // Sha256 signing disabled, and not a presigned url
	    if (req.service.shouldDisableBodySigning(req) && !Object.prototype.hasOwnProperty.call(req.httpRequest.headers, 'presigned-expires')) {
	      if (rules.ContentMD5 && !req.params.ContentMD5) {
	        return true;
	      }
	    }

	    // V4 signer uses SHA256 signatures so only compute MD5 if it is required
	    if (req.service.getSignerClass(req) === AWS.Signers.V4) {
	      if (rules.ContentMD5 && !rules.ContentMD5.required) return false;
	    }

	    if (rules.ContentMD5 && !req.params.ContentMD5) return true;
	  },

	  /**
	   * A listener that computes the Content-MD5 and sets it in the header.
	   * @see AWS.S3.willComputeChecksums
	   * @api private
	   */
	  computeContentMd5: function computeContentMd5(req) {
	    if (req.service.willComputeChecksums(req)) {
	      var md5 = AWS.util.crypto.md5(req.httpRequest.body, 'base64');
	      req.httpRequest.headers['Content-MD5'] = md5;
	    }
	  },

	  /**
	   * @api private
	   */
	  computeSseCustomerKeyMd5: function computeSseCustomerKeyMd5(req) {
	    var keys = {
	      SSECustomerKey: 'x-amz-server-side-encryption-customer-key-MD5',
	      CopySourceSSECustomerKey: 'x-amz-copy-source-server-side-encryption-customer-key-MD5'
	    };
	    AWS.util.each(keys, function(key, header) {
	      if (req.params[key]) {
	        var value = AWS.util.crypto.md5(req.params[key], 'base64');
	        req.httpRequest.headers[header] = value;
	      }
	    });
	  },

	  /**
	   * Returns true if the bucket name should be left in the URI path for
	   * a request to S3.  This function takes into account the current
	   * endpoint protocol (e.g. http or https).
	   *
	   * @api private
	   */
	  pathStyleBucketName: function pathStyleBucketName(bucketName) {
	    // user can force path style requests via the configuration
	    if (this.config.s3ForcePathStyle) return true;
	    if (this.config.s3BucketEndpoint) return false;

	    if (this.dnsCompatibleBucketName(bucketName)) {
	      return (this.config.sslEnabled && bucketName.match(/\./)) ? true : false;
	    } else {
	      return true; // not dns compatible names must always use path style
	    }
	  },

	  /**
	   * Returns true if the bucket name is DNS compatible.  Buckets created
	   * outside of the classic region MUST be DNS compatible.
	   *
	   * @api private
	   */
	  dnsCompatibleBucketName: function dnsCompatibleBucketName(bucketName) {
	    var b = bucketName;
	    var domain = new RegExp(/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/);
	    var ipAddress = new RegExp(/(\d+\.){3}\d+/);
	    var dots = new RegExp(/\.\./);
	    return (b.match(domain) && !b.match(ipAddress) && !b.match(dots)) ? true : false;
	  },

	  /**
	   * @return [Boolean] whether response contains an error
	   * @api private
	   */
	  successfulResponse: function successfulResponse(resp) {
	    var req = resp.request;
	    var httpResponse = resp.httpResponse;
	    if (operationsWith200StatusCodeError[req.operation] &&
	        httpResponse.body.toString().match('<Error>')) {
	      return false;
	    } else {
	      return httpResponse.statusCode < 300;
	    }
	  },

	  /**
	   * @return [Boolean] whether the error can be retried
	   * @api private
	   */
	  retryableError: function retryableError(error, request) {
	    if (operationsWith200StatusCodeError[request.operation] &&
	        error.statusCode === 200) {
	      return true;
	    } else if (request._requestRegionForBucket &&
	        request.service.bucketRegionCache[request._requestRegionForBucket]) {
	      return false;
	    } else if (error && error.code === 'RequestTimeout') {
	      return true;
	    } else if (error &&
	        regionRedirectErrorCodes.indexOf(error.code) != -1 &&
	        error.region && error.region != request.httpRequest.region) {
	      request.httpRequest.region = error.region;
	      if (error.statusCode === 301) {
	        request.service.updateReqBucketRegion(request);
	      }
	      return true;
	    } else {
	      var _super = AWS.Service.prototype.retryableError;
	      return _super.call(this, error, request);
	    }
	  },

	  /**
	   * Updates httpRequest with region. If region is not provided, then
	   * the httpRequest will be updated based on httpRequest.region
	   *
	   * @api private
	   */
	  updateReqBucketRegion: function updateReqBucketRegion(request, region) {
	    var httpRequest = request.httpRequest;
	    if (typeof region === 'string' && region.length) {
	      httpRequest.region = region;
	    }
	    if (!httpRequest.endpoint.host.match(/s3(?!-accelerate).*\.amazonaws\.com$/)) {
	      return;
	    }
	    var service = request.service;
	    var s3Config = service.config;
	    var s3BucketEndpoint = s3Config.s3BucketEndpoint;
	    if (s3BucketEndpoint) {
	      delete s3Config.s3BucketEndpoint;
	    }
	    var newConfig = AWS.util.copy(s3Config);
	    delete newConfig.endpoint;
	    newConfig.region = httpRequest.region;

	    httpRequest.endpoint = (new AWS.S3(newConfig)).endpoint;
	    service.populateURI(request);
	    s3Config.s3BucketEndpoint = s3BucketEndpoint;
	    httpRequest.headers.Host = httpRequest.endpoint.host;

	    if (request._asm.currentState === 'validate') {
	      request.removeListener('build', service.populateURI);
	      request.addListener('build', service.removeVirtualHostedBucketFromPath);
	    }
	  },

	  /**
	   * Provides a specialized parser for getBucketLocation -- all other
	   * operations are parsed by the super class.
	   *
	   * @api private
	   */
	  extractData: function extractData(resp) {
	    var req = resp.request;
	    if (req.operation === 'getBucketLocation') {
	      var match = resp.httpResponse.body.toString().match(/>(.+)<\/Location/);
	      delete resp.data['_'];
	      if (match) {
	        resp.data.LocationConstraint = match[1];
	      } else {
	        resp.data.LocationConstraint = '';
	      }
	    }
	    var bucket = req.params.Bucket || null;
	    if (req.operation === 'deleteBucket' && typeof bucket === 'string' && !resp.error) {
	      req.service.clearBucketRegionCache(bucket);
	    } else {
	      var headers = resp.httpResponse.headers || {};
	      var region = headers['x-amz-bucket-region'] || null;
	      if (!region && req.operation === 'createBucket' && !resp.error) {
	        var createBucketConfiguration = req.params.CreateBucketConfiguration;
	        if (!createBucketConfiguration) {
	          region = 'us-east-1';
	        } else if (createBucketConfiguration.LocationConstraint === 'EU') {
	          region = 'eu-west-1';
	        } else {
	          region = createBucketConfiguration.LocationConstraint;
	        }
	      }
	      if (region) {
	          if (bucket && region !== req.service.bucketRegionCache[bucket]) {
	            req.service.bucketRegionCache[bucket] = region;
	          }
	      }
	    }
	    req.service.extractRequestIds(resp);
	  },

	  /**
	   * Extracts an error object from the http response.
	   *
	   * @api private
	   */
	  extractError: function extractError(resp) {
	    var codes = {
	      304: 'NotModified',
	      403: 'Forbidden',
	      400: 'BadRequest',
	      404: 'NotFound'
	    };

	    var req = resp.request;
	    var code = resp.httpResponse.statusCode;
	    var body = resp.httpResponse.body || '';

	    var headers = resp.httpResponse.headers || {};
	    var region = headers['x-amz-bucket-region'] || null;
	    var bucket = req.params.Bucket || null;
	    var bucketRegionCache = req.service.bucketRegionCache;
	    if (region && bucket && region !== bucketRegionCache[bucket]) {
	      bucketRegionCache[bucket] = region;
	    }

	    var cachedRegion;
	    if (codes[code] && body.length === 0) {
	      if (bucket && !region) {
	        cachedRegion = bucketRegionCache[bucket] || null;
	        if (cachedRegion !== req.httpRequest.region) {
	          region = cachedRegion;
	        }
	      }
	      resp.error = AWS.util.error(new Error(), {
	        code: codes[code],
	        message: null,
	        region: region
	      });
	    } else {
	      var data = new AWS.XML.Parser().parse(body.toString());

	      if (data.Region && !region) {
	        region = data.Region;
	        if (bucket && region !== bucketRegionCache[bucket]) {
	          bucketRegionCache[bucket] = region;
	        }
	      } else if (bucket && !region && !data.Region) {
	        cachedRegion = bucketRegionCache[bucket] || null;
	        if (cachedRegion !== req.httpRequest.region) {
	          region = cachedRegion;
	        }
	      }

	      resp.error = AWS.util.error(new Error(), {
	        code: data.Code || code,
	        message: data.Message || null,
	        region: region
	      });
	    }
	    req.service.extractRequestIds(resp);
	  },

	  /**
	   * If region was not obtained synchronously, then send async request
	   * to get bucket region for errors resulting from wrong region.
	   *
	   * @api private
	   */
	  requestBucketRegion: function requestBucketRegion(resp, done) {
	    var error = resp.error;
	    var req = resp.request;
	    var bucket = req.params.Bucket || null;

	    if (!error || !bucket || error.region || req.operation === 'listObjects' ||
	        (AWS.util.isNode() && req.operation === 'headBucket') ||
	        (error.statusCode === 400 && req.operation !== 'headObject') ||
	        regionRedirectErrorCodes.indexOf(error.code) === -1) {
	      return done();
	    }
	    var reqOperation = AWS.util.isNode() ? 'headBucket' : 'listObjects';
	    var reqParams = {Bucket: bucket};
	    if (reqOperation === 'listObjects') reqParams.MaxKeys = 0;
	    var regionReq = req.service[reqOperation](reqParams);
	    regionReq._requestRegionForBucket = bucket;
	    regionReq.send(function() {
	      var region = req.service.bucketRegionCache[bucket] || null;
	      error.region = region;
	      done();
	    });
	  },

	   /**
	   * For browser only. If NetworkingError received, will attempt to obtain
	   * the bucket region.
	   *
	   * @api private
	   */
	   reqRegionForNetworkingError: function reqRegionForNetworkingError(resp, done) {
	    if (!AWS.util.isBrowser()) {
	      return done();
	    }
	    var error = resp.error;
	    var request = resp.request;
	    var bucket = request.params.Bucket;
	    if (!error || error.code !== 'NetworkingError' || !bucket ||
	        request.httpRequest.region === 'us-east-1') {
	      return done();
	    }
	    var service = request.service;
	    var bucketRegionCache = service.bucketRegionCache;
	    var cachedRegion = bucketRegionCache[bucket] || null;

	    if (cachedRegion && cachedRegion !== request.httpRequest.region) {
	      service.updateReqBucketRegion(request, cachedRegion);
	      done();
	    } else if (!service.dnsCompatibleBucketName(bucket)) {
	      service.updateReqBucketRegion(request, 'us-east-1');
	      if (bucketRegionCache[bucket] !== 'us-east-1') {
	        bucketRegionCache[bucket] = 'us-east-1';
	      }
	      done();
	    } else if (request.httpRequest.virtualHostedBucket) {
	      var getRegionReq = service.listObjects({Bucket: bucket, MaxKeys: 0});
	      service.updateReqBucketRegion(getRegionReq, 'us-east-1');
	      getRegionReq._requestRegionForBucket = bucket;

	      getRegionReq.send(function() {
	        var region = service.bucketRegionCache[bucket] || null;
	        if (region && region !== request.httpRequest.region) {
	          service.updateReqBucketRegion(request, region);
	        }
	        done();
	      });
	    } else {
	      // DNS-compatible path-style
	      // (s3ForcePathStyle or bucket name with dot over https)
	      // Cannot obtain region information for this case
	      done();
	    }
	   },

	  /**
	   * Cache for bucket region.
	   *
	   * @api private
	   */
	   bucketRegionCache: {},

	  /**
	   * Clears bucket region cache.
	   *
	   * @api private
	   */
	   clearBucketRegionCache: function(buckets) {
	    var bucketRegionCache = this.bucketRegionCache;
	    if (!buckets) {
	      buckets = Object.keys(bucketRegionCache);
	    } else if (typeof buckets === 'string') {
	      buckets = [buckets];
	    }
	    for (var i = 0; i < buckets.length; i++) {
	      delete bucketRegionCache[buckets[i]];
	    }
	    return bucketRegionCache;
	   },

	   /**
	    * Corrects request region if bucket's cached region is different
	    *
	    * @api private
	    */
	  correctBucketRegionFromCache: function correctBucketRegionFromCache(req) {
	    var bucket = req.params.Bucket || null;
	    if (bucket) {
	      var service = req.service;
	      var requestRegion = req.httpRequest.region;
	      var cachedRegion = service.bucketRegionCache[bucket];
	      if (cachedRegion && cachedRegion !== requestRegion) {
	        service.updateReqBucketRegion(req, cachedRegion);
	      }
	    }
	  },

	  /**
	   * Extracts S3 specific request ids from the http response.
	   *
	   * @api private
	   */
	  extractRequestIds: function extractRequestIds(resp) {
	    var extendedRequestId = resp.httpResponse.headers ? resp.httpResponse.headers['x-amz-id-2'] : null;
	    var cfId = resp.httpResponse.headers ? resp.httpResponse.headers['x-amz-cf-id'] : null;
	    resp.extendedRequestId = extendedRequestId;
	    resp.cfId = cfId;

	    if (resp.error) {
	      resp.error.requestId = resp.requestId || null;
	      resp.error.extendedRequestId = extendedRequestId;
	      resp.error.cfId = cfId;
	    }
	  },

	  /**
	   * Get a pre-signed URL for a given operation name.
	   *
	   * @note You must ensure that you have static or previously resolved
	   *   credentials if you call this method synchronously (with no callback),
	   *   otherwise it may not properly sign the request. If you cannot guarantee
	   *   this (you are using an asynchronous credential provider, i.e., EC2
	   *   IAM roles), you should always call this method with an asynchronous
	   *   callback.
	   * @note Not all operation parameters are supported when using pre-signed
	   *   URLs. Certain parameters, such as `SSECustomerKey`, `ACL`, `Expires`,
	   *   `ContentLength`, or `Tagging` must be provided as headers when sending a
	   *   request. If you are using pre-signed URLs to upload from a browser and
	   *   need to use these fields, see {createPresignedPost}.
	   * @param operation [String] the name of the operation to call
	   * @param params [map] parameters to pass to the operation. See the given
	   *   operation for the expected operation parameters. In addition, you can
	   *   also pass the "Expires" parameter to inform S3 how long the URL should
	   *   work for.
	   * @option params Expires [Integer] (900) the number of seconds to expire
	   *   the pre-signed URL operation in. Defaults to 15 minutes.
	   * @param callback [Function] if a callback is provided, this function will
	   *   pass the URL as the second parameter (after the error parameter) to
	   *   the callback function.
	   * @return [String] if called synchronously (with no callback), returns the
	   *   signed URL.
	   * @return [null] nothing is returned if a callback is provided.
	   * @example Pre-signing a getObject operation (synchronously)
	   *   var params = {Bucket: 'bucket', Key: 'key'};
	   *   var url = s3.getSignedUrl('getObject', params);
	   *   console.log('The URL is', url);
	   * @example Pre-signing a putObject (asynchronously)
	   *   var params = {Bucket: 'bucket', Key: 'key'};
	   *   s3.getSignedUrl('putObject', params, function (err, url) {
	   *     console.log('The URL is', url);
	   *   });
	   * @example Pre-signing a putObject operation with a specific payload
	   *   var params = {Bucket: 'bucket', Key: 'key', Body: 'body'};
	   *   var url = s3.getSignedUrl('putObject', params);
	   *   console.log('The URL is', url);
	   * @example Passing in a 1-minute expiry time for a pre-signed URL
	   *   var params = {Bucket: 'bucket', Key: 'key', Expires: 60};
	   *   var url = s3.getSignedUrl('getObject', params);
	   *   console.log('The URL is', url); // expires in 60 seconds
	   */
	  getSignedUrl: function getSignedUrl(operation, params, callback) {
	    params = AWS.util.copy(params || {});
	    var expires = params.Expires || 900;
	    delete params.Expires; // we can't validate this
	    var request = this.makeRequest(operation, params);
	    return request.presign(expires, callback);
	  },


	  /**
	   * Get a pre-signed POST policy to support uploading to S3 directly from an
	   * HTML form.
	   *
	   * @param params [map]
	   * @option params Bucket [String]     The bucket to which the post should be
	   *                                    uploaded
	   * @option params Expires [Integer]   (3600) The number of seconds for which
	   *                                    the presigned policy should be valid.
	   * @option params Conditions [Array]  An array of conditions that must be met
	   *                                    for the presigned policy to allow the
	   *                                    upload. This can include required tags,
	   *                                    the accepted range for content lengths,
	   *                                    etc.
	   * @see http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-HTTPPOSTConstructPolicy.html
	   * @option params Fields [map]        Fields to include in the form. All
	   *                                    values passed in as fields will be
	   *                                    signed as exact match conditions.
	   * @param callback [Function]
	   *
	   * @note All fields passed in when creating presigned post data will be signed
	   *   as exact match conditions. Any fields that will be interpolated by S3
	   *   must be added to the fields hash after signing, and an appropriate
	   *   condition for such fields must be explicitly added to the Conditions
	   *   array passed to this function before signing.
	   *
	   * @example Presiging post data with a known key
	   *   var params = {
	   *     Bucket: 'bucket',
	   *     Fields: {
	   *       key: 'key'
	   *     }
	   *   };
	   *   s3.createPresignedPost(params, function(err, data) {
	   *     if (err) {
	   *       console.error('Presigning post data encountered an error', err);
	   *     } else {
	   *       console.log('The post data is', data);
	   *     }
	   *   });
	   *
	   * @example Presigning post data with an interpolated key
	   *   var params = {
	   *     Bucket: 'bucket',
	   *     Conditions: [
	   *       ['starts-with', '$key', 'path/to/uploads/']
	   *     ]
	   *   };
	   *   s3.createPresignedPost(params, function(err, data) {
	   *     if (err) {
	   *       console.error('Presigning post data encountered an error', err);
	   *     } else {
	   *       data.Fields.key = 'path/to/uploads/${filename}';
	   *       console.log('The post data is', data);
	   *     }
	   *   });
	   *
	   * @note You must ensure that you have static or previously resolved
	   *   credentials if you call this method synchronously (with no callback),
	   *   otherwise it may not properly sign the request. If you cannot guarantee
	   *   this (you are using an asynchronous credential provider, i.e., EC2
	   *   IAM roles), you should always call this method with an asynchronous
	   *   callback.
	   *
	   * @return [map]  If called synchronously (with no callback), returns a hash
	   *                with the url to set as the form action and a hash of fields
	   *                to include in the form.
	   * @return [null] Nothing is returned if a callback is provided.
	   *
	   * @callback callback function (err, data)
	   *  @param err [Error] the error object returned from the policy signer
	   *  @param data [map] The data necessary to construct an HTML form
	   *  @param data.url [String] The URL to use as the action of the form
	   *  @param data.fields [map] A hash of fields that must be included in the
	   *                           form for the upload to succeed. This hash will
	   *                           include the signed POST policy, your access key
	   *                           ID and security token (if present), etc. These
	   *                           may be safely included as input elements of type
	   *                           'hidden.'
	   */
	  createPresignedPost: function createPresignedPost(params, callback) {
	    if (typeof params === 'function' && callback === undefined) {
	      callback = params;
	      params = null;
	    }

	    params = AWS.util.copy(params || {});
	    var boundParams = this.config.params || {};
	    var bucket = params.Bucket || boundParams.Bucket,
	      self = this,
	      config = this.config,
	      endpoint = AWS.util.copy(this.endpoint);
	    if (!config.s3BucketEndpoint) {
	      endpoint.pathname = '/' + bucket;
	    }

	    function finalizePost() {
	      return {
	        url: AWS.util.urlFormat(endpoint),
	        fields: self.preparePostFields(
	          config.credentials,
	          config.region,
	          bucket,
	          params.Fields,
	          params.Conditions,
	          params.Expires
	        )
	      };
	    }

	    if (callback) {
	      config.getCredentials(function (err) {
	        if (err) {
	          callback(err);
	        }

	        callback(null, finalizePost());
	      });
	    } else {
	      return finalizePost();
	    }
	  },

	  /**
	   * @api private
	   */
	  preparePostFields: function preparePostFields(
	    credentials,
	    region,
	    bucket,
	    fields,
	    conditions,
	    expiresInSeconds
	  ) {
	    var now = AWS.util.date.getDate();
	    if (!credentials || !region || !bucket) {
	      throw new Error('Unable to create a POST object policy without a bucket,'
	        + ' region, and credentials');
	    }
	    fields = AWS.util.copy(fields || {});
	    conditions = (conditions || []).slice(0);
	    expiresInSeconds = expiresInSeconds || 3600;

	    var signingDate = AWS.util.date.iso8601(now).replace(/[:\-]|\.\d{3}/g, '');
	    var shortDate = signingDate.substr(0, 8);
	    var scope = v4Credentials.createScope(shortDate, region, 's3');
	    var credential = credentials.accessKeyId + '/' + scope;

	    fields['bucket'] = bucket;
	    fields['X-Amz-Algorithm'] = 'AWS4-HMAC-SHA256';
	    fields['X-Amz-Credential'] = credential;
	    fields['X-Amz-Date'] = signingDate;
	    if (credentials.sessionToken) {
	      fields['X-Amz-Security-Token'] = credentials.sessionToken;
	    }
	    for (var field in fields) {
	      if (fields.hasOwnProperty(field)) {
	        var condition = {};
	        condition[field] = fields[field];
	        conditions.push(condition);
	      }
	    }

	    fields.Policy = this.preparePostPolicy(
	      new Date(now.valueOf() + expiresInSeconds * 1000),
	      conditions
	    );
	    fields['X-Amz-Signature'] = AWS.util.crypto.hmac(
	      v4Credentials.getSigningKey(credentials, shortDate, region, 's3', true),
	      fields.Policy,
	      'hex'
	    );

	    return fields;
	  },

	  /**
	   * @api private
	   */
	  preparePostPolicy: function preparePostPolicy(expiration, conditions) {
	    return AWS.util.base64.encode(JSON.stringify({
	      expiration: AWS.util.date.iso8601(expiration),
	      conditions: conditions
	    }));
	  },

	  /**
	   * @api private
	   */
	  prepareSignedUrl: function prepareSignedUrl(request) {
	    request.addListener('validate', request.service.noPresignedContentLength);
	    request.removeListener('build', request.service.addContentType);
	    if (!request.params.Body) {
	      // no Content-MD5/SHA-256 if body is not provided
	      request.removeListener('build', request.service.computeContentMd5);
	    } else {
	      request.addListener('afterBuild', AWS.EventListeners.Core.COMPUTE_SHA256);
	    }
	  },

	  /**
	   * @api private
	   * @param request
	   */
	  disableBodySigning: function disableBodySigning(request) {
	    var headers = request.httpRequest.headers;
	    // Add the header to anything that isn't a presigned url, unless that presigned url had a body defined
	    if (!Object.prototype.hasOwnProperty.call(headers, 'presigned-expires')) {
	      headers['X-Amz-Content-Sha256'] = 'UNSIGNED-PAYLOAD';
	    }
	  },

	  /**
	   * @api private
	   */
	  noPresignedContentLength: function noPresignedContentLength(request) {
	    if (request.params.ContentLength !== undefined) {
	      throw AWS.util.error(new Error(), {code: 'UnexpectedParameter',
	        message: 'ContentLength is not supported in pre-signed URLs.'});
	    }
	  },

	  createBucket: function createBucket(params, callback) {
	    // When creating a bucket *outside* the classic region, the location
	    // constraint must be set for the bucket and it must match the endpoint.
	    // This chunk of code will set the location constraint param based
	    // on the region (when possible), but it will not override a passed-in
	    // location constraint.
	    if (typeof params === 'function' || !params) {
	      callback = callback || params;
	      params = {};
	    }
	    var hostname = this.endpoint.hostname;
	    if (hostname !== this.api.globalEndpoint && !params.CreateBucketConfiguration) {
	      params.CreateBucketConfiguration = { LocationConstraint: this.config.region };
	    }
	    return this.makeRequest('createBucket', params, callback);
	  },

	  /**
	   * @see AWS.S3.ManagedUpload
	   * @overload upload(params = {}, [options], [callback])
	   *   Uploads an arbitrarily sized buffer, blob, or stream, using intelligent
	   *   concurrent handling of parts if the payload is large enough. You can
	   *   configure the concurrent queue size by setting `options`. Note that this
	   *   is the only operation for which the SDK can retry requests with stream
	   *   bodies.
	   *
	   *   @param (see AWS.S3.putObject)
	   *   @option (see AWS.S3.ManagedUpload.constructor)
	   *   @return [AWS.S3.ManagedUpload] the managed upload object that can call
	   *     `send()` or track progress.
	   *   @example Uploading a stream object
	   *     var params = {Bucket: 'bucket', Key: 'key', Body: stream};
	   *     s3.upload(params, function(err, data) {
	   *       console.log(err, data);
	   *     });
	   *   @example Uploading a stream with concurrency of 1 and partSize of 10mb
	   *     var params = {Bucket: 'bucket', Key: 'key', Body: stream};
	   *     var options = {partSize: 10 * 1024 * 1024, queueSize: 1};
	   *     s3.upload(params, options, function(err, data) {
	   *       console.log(err, data);
	   *     });
	   * @callback callback function(err, data)
	   *   @param err [Error] an error or null if no error occurred.
	   *   @param data [map] The response data from the successful upload:
	   *   @param data.Location [String] the URL of the uploaded object
	   *   @param data.ETag [String] the ETag of the uploaded object
	   *   @param data.Bucket [String]  the bucket to which the object was uploaded
	   *   @param data.Key [String] the key to which the object was uploaded
	   */
	  upload: function upload(params, options, callback) {
	    if (typeof options === 'function' && callback === undefined) {
	      callback = options;
	      options = null;
	    }

	    options = options || {};
	    options = AWS.util.merge(options || {}, {service: this, params: params});

	    var uploader = new AWS.S3.ManagedUpload(options);
	    if (typeof callback === 'function') uploader.send(callback);
	    return uploader;
	  }
	});


/***/ }),
/* 578 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);
	var byteLength = AWS.util.string.byteLength;
	var Buffer = AWS.util.Buffer;

	/**
	 * The managed uploader allows for easy and efficient uploading of buffers,
	 * blobs, or streams, using a configurable amount of concurrency to perform
	 * multipart uploads where possible. This abstraction also enables uploading
	 * streams of unknown size due to the use of multipart uploads.
	 *
	 * To construct a managed upload object, see the {constructor} function.
	 *
	 * ## Tracking upload progress
	 *
	 * The managed upload object can also track progress by attaching an
	 * 'httpUploadProgress' listener to the upload manager. This event is similar
	 * to {AWS.Request~httpUploadProgress} but groups all concurrent upload progress
	 * into a single event. See {AWS.S3.ManagedUpload~httpUploadProgress} for more
	 * information.
	 *
	 * ## Handling Multipart Cleanup
	 *
	 * By default, this class will automatically clean up any multipart uploads
	 * when an individual part upload fails. This behavior can be disabled in order
	 * to manually handle failures by setting the `leavePartsOnError` configuration
	 * option to `true` when initializing the upload object.
	 *
	 * @!event httpUploadProgress(progress)
	 *   Triggered when the uploader has uploaded more data.
	 *   @note The `total` property may not be set if the stream being uploaded has
	 *     not yet finished chunking. In this case the `total` will be undefined
	 *     until the total stream size is known.
	 *   @note This event will not be emitted in Node.js 0.8.x.
	 *   @param progress [map] An object containing the `loaded` and `total` bytes
	 *     of the request and the `key` of the S3 object. Note that `total` may be undefined until the payload
	 *     size is known.
	 *   @context (see AWS.Request~send)
	 */
	AWS.S3.ManagedUpload = AWS.util.inherit({
	  /**
	   * Creates a managed upload object with a set of configuration options.
	   *
	   * @note A "Body" parameter is required to be set prior to calling {send}.
	   * @option options params [map] a map of parameters to pass to the upload
	   *   requests. The "Body" parameter is required to be specified either on
	   *   the service or in the params option.
	   * @note ContentMD5 should not be provided when using the managed upload object.
	   *   Instead, setting "computeChecksums" to true will enable automatic ContentMD5 generation
	   *   by the managed upload object.
	   * @option options queueSize [Number] (4) the size of the concurrent queue
	   *   manager to upload parts in parallel. Set to 1 for synchronous uploading
	   *   of parts. Note that the uploader will buffer at most queueSize * partSize
	   *   bytes into memory at any given time.
	   * @option options partSize [Number] (5mb) the size in bytes for each
	   *   individual part to be uploaded. Adjust the part size to ensure the number
	   *   of parts does not exceed {maxTotalParts}. See {minPartSize} for the
	   *   minimum allowed part size.
	   * @option options leavePartsOnError [Boolean] (false) whether to abort the
	   *   multipart upload if an error occurs. Set to true if you want to handle
	   *   failures manually.
	   * @option options service [AWS.S3] an optional S3 service object to use for
	   *   requests. This object might have bound parameters used by the uploader.
	   * @option options tags [Array<map>] The tags to apply to the uploaded object.
	   *   Each tag should have a `Key` and `Value` keys.
	   * @example Creating a default uploader for a stream object
	   *   var upload = new AWS.S3.ManagedUpload({
	   *     params: {Bucket: 'bucket', Key: 'key', Body: stream}
	   *   });
	   * @example Creating an uploader with concurrency of 1 and partSize of 10mb
	   *   var upload = new AWS.S3.ManagedUpload({
	   *     partSize: 10 * 1024 * 1024, queueSize: 1,
	   *     params: {Bucket: 'bucket', Key: 'key', Body: stream}
	   *   });
	   * @example Creating an uploader with tags
	   *   var upload = new AWS.S3.ManagedUpload({
	   *     params: {Bucket: 'bucket', Key: 'key', Body: stream},
	   *     tags: [{Key: 'tag1', Value: 'value1'}, {Key: 'tag2', Value: 'value2'}]
	   *   });
	   * @see send
	   */
	  constructor: function ManagedUpload(options) {
	    var self = this;
	    AWS.SequentialExecutor.call(self);
	    self.body = null;
	    self.sliceFn = null;
	    self.callback = null;
	    self.parts = {};
	    self.completeInfo = [];
	    self.fillQueue = function() {
	      self.callback(new Error('Unsupported body payload ' + typeof self.body));
	    };

	    self.configure(options);
	  },

	  /**
	   * @api private
	   */
	  configure: function configure(options) {
	    options = options || {};
	    this.partSize = this.minPartSize;

	    if (options.queueSize) this.queueSize = options.queueSize;
	    if (options.partSize) this.partSize = options.partSize;
	    if (options.leavePartsOnError) this.leavePartsOnError = true;
	    if (options.tags) {
	      if (!Array.isArray(options.tags)) {
	        throw new Error('Tags must be specified as an array; ' +
	          typeof options.tags + ' provided.');
	      }
	      this.tags = options.tags;
	    }

	    if (this.partSize < this.minPartSize) {
	      throw new Error('partSize must be greater than ' +
	                      this.minPartSize);
	    }

	    this.service = options.service;
	    this.bindServiceObject(options.params);
	    this.validateBody();
	    this.adjustTotalBytes();
	  },

	  /**
	   * @api private
	   */
	  leavePartsOnError: false,

	  /**
	   * @api private
	   */
	  queueSize: 4,

	  /**
	   * @api private
	   */
	  partSize: null,

	  /**
	   * @readonly
	   * @return [Number] the minimum number of bytes for an individual part
	   *   upload.
	   */
	  minPartSize: 1024 * 1024 * 5,

	  /**
	   * @readonly
	   * @return [Number] the maximum allowed number of parts in a multipart upload.
	   */
	  maxTotalParts: 10000,

	  /**
	   * Initiates the managed upload for the payload.
	   *
	   * @callback callback function(err, data)
	   *   @param err [Error] an error or null if no error occurred.
	   *   @param data [map] The response data from the successful upload:
	   *     * `Location` (String) the URL of the uploaded object
	   *     * `ETag` (String) the ETag of the uploaded object
	   *     * `Bucket` (String) the bucket to which the object was uploaded
	   *     * `Key` (String) the key to which the object was uploaded
	   * @example Sending a managed upload object
	   *   var params = {Bucket: 'bucket', Key: 'key', Body: stream};
	   *   var upload = new AWS.S3.ManagedUpload({params: params});
	   *   upload.send(function(err, data) {
	   *     console.log(err, data);
	   *   });
	   */
	  send: function(callback) {
	    var self = this;
	    self.failed = false;
	    self.callback = callback || function(err) { if (err) throw err; };

	    var runFill = true;
	    if (self.sliceFn) {
	      self.fillQueue = self.fillBuffer;
	    } else if (AWS.util.isNode()) {
	      var Stream = AWS.util.stream.Stream;
	      if (self.body instanceof Stream) {
	        runFill = false;
	        self.fillQueue = self.fillStream;
	        self.partBuffers = [];
	        self.body.
	          on('error', function(err) { self.cleanup(err); }).
	          on('readable', function() { self.fillQueue(); }).
	          on('end', function() {
	            self.isDoneChunking = true;
	            self.numParts = self.totalPartNumbers;
	            self.fillQueue.call(self);

	            if (self.isDoneChunking && self.totalPartNumbers >= 1 && self.doneParts === self.numParts) {
	              self.finishMultiPart();
	            }
	          });
	      }
	    }

	    if (runFill) self.fillQueue.call(self);
	  },

	  /**
	   * @!method  promise()
	   *   Returns a 'thenable' promise.
	   *
	   *   Two callbacks can be provided to the `then` method on the returned promise.
	   *   The first callback will be called if the promise is fulfilled, and the second
	   *   callback will be called if the promise is rejected.
	   *   @callback fulfilledCallback function(data)
	   *     Called if the promise is fulfilled.
	   *     @param data [map] The response data from the successful upload:
	   *       `Location` (String) the URL of the uploaded object
	   *       `ETag` (String) the ETag of the uploaded object
	   *       `Bucket` (String) the bucket to which the object was uploaded
	   *       `Key` (String) the key to which the object was uploaded
	   *   @callback rejectedCallback function(err)
	   *     Called if the promise is rejected.
	   *     @param err [Error] an error or null if no error occurred.
	   *   @return [Promise] A promise that represents the state of the upload request.
	   *   @example Sending an upload request using promises.
	   *     var upload = s3.upload({Bucket: 'bucket', Key: 'key', Body: stream});
	   *     var promise = upload.promise();
	   *     promise.then(function(data) { ... }, function(err) { ... });
	   */

	  /**
	   * Aborts a managed upload, including all concurrent upload requests.
	   * @note By default, calling this function will cleanup a multipart upload
	   *   if one was created. To leave the multipart upload around after aborting
	   *   a request, configure `leavePartsOnError` to `true` in the {constructor}.
	   * @note Calling {abort} in the browser environment will not abort any requests
	   *   that are already in flight. If a multipart upload was created, any parts
	   *   not yet uploaded will not be sent, and the multipart upload will be cleaned up.
	   * @example Aborting an upload
	   *   var params = {
	   *     Bucket: 'bucket', Key: 'key',
	   *     Body: new Buffer(1024 * 1024 * 25) // 25MB payload
	   *   };
	   *   var upload = s3.upload(params);
	   *   upload.send(function (err, data) {
	   *     if (err) console.log("Error:", err.code, err.message);
	   *     else console.log(data);
	   *   });
	   *
	   *   // abort request in 1 second
	   *   setTimeout(upload.abort.bind(upload), 1000);
	   */
	  abort: function() {
	    this.cleanup(AWS.util.error(new Error('Request aborted by user'), {
	      code: 'RequestAbortedError', retryable: false
	    }));
	  },

	  /**
	   * @api private
	   */
	  validateBody: function validateBody() {
	    var self = this;
	    self.body = self.service.config.params.Body;
	    if (typeof self.body === 'string') {
	      self.body = new AWS.util.Buffer(self.body);
	    } else if (!self.body) {
	      throw new Error('params.Body is required');
	    }
	    self.sliceFn = AWS.util.arraySliceFn(self.body);
	  },

	  /**
	   * @api private
	   */
	  bindServiceObject: function bindServiceObject(params) {
	    params = params || {};
	    var self = this;
	    // bind parameters to new service object
	    if (!self.service) {
	      self.service = new AWS.S3({params: params});
	    } else {
	      var service = self.service;
	      var config = AWS.util.copy(service.config);
	      config.signatureVersion = service.getSignatureVersion();
	      self.service = new service.constructor.__super__(config);
	      self.service.config.params =
	        AWS.util.merge(self.service.config.params || {}, params);
	    }
	  },

	  /**
	   * @api private
	   */
	  adjustTotalBytes: function adjustTotalBytes() {
	    var self = this;
	    try { // try to get totalBytes
	      self.totalBytes = byteLength(self.body);
	    } catch (e) { }

	    // try to adjust partSize if we know payload length
	    if (self.totalBytes) {
	      var newPartSize = Math.ceil(self.totalBytes / self.maxTotalParts);
	      if (newPartSize > self.partSize) self.partSize = newPartSize;
	    } else {
	      self.totalBytes = undefined;
	    }
	  },

	  /**
	   * @api private
	   */
	  isDoneChunking: false,

	  /**
	   * @api private
	   */
	  partPos: 0,

	  /**
	   * @api private
	   */
	  totalChunkedBytes: 0,

	  /**
	   * @api private
	   */
	  totalUploadedBytes: 0,

	  /**
	   * @api private
	   */
	  totalBytes: undefined,

	  /**
	   * @api private
	   */
	  numParts: 0,

	  /**
	   * @api private
	   */
	  totalPartNumbers: 0,

	  /**
	   * @api private
	   */
	  activeParts: 0,

	  /**
	   * @api private
	   */
	  doneParts: 0,

	  /**
	   * @api private
	   */
	  parts: null,

	  /**
	   * @api private
	   */
	  completeInfo: null,

	  /**
	   * @api private
	   */
	  failed: false,

	  /**
	   * @api private
	   */
	  multipartReq: null,

	  /**
	   * @api private
	   */
	  partBuffers: null,

	  /**
	   * @api private
	   */
	  partBufferLength: 0,

	  /**
	   * @api private
	   */
	  fillBuffer: function fillBuffer() {
	    var self = this;
	    var bodyLen = byteLength(self.body);

	    if (bodyLen === 0) {
	      self.isDoneChunking = true;
	      self.numParts = 1;
	      self.nextChunk(self.body);
	      return;
	    }

	    while (self.activeParts < self.queueSize && self.partPos < bodyLen) {
	      var endPos = Math.min(self.partPos + self.partSize, bodyLen);
	      var buf = self.sliceFn.call(self.body, self.partPos, endPos);
	      self.partPos += self.partSize;

	      if (byteLength(buf) < self.partSize || self.partPos === bodyLen) {
	        self.isDoneChunking = true;
	        self.numParts = self.totalPartNumbers + 1;
	      }
	      self.nextChunk(buf);
	    }
	  },

	  /**
	   * @api private
	   */
	  fillStream: function fillStream() {
	    var self = this;
	    if (self.activeParts >= self.queueSize) return;

	    var buf = self.body.read(self.partSize - self.partBufferLength) ||
	              self.body.read();
	    if (buf) {
	      self.partBuffers.push(buf);
	      self.partBufferLength += buf.length;
	      self.totalChunkedBytes += buf.length;
	    }

	    if (self.partBufferLength >= self.partSize) {
	      // if we have single buffer we avoid copyfull concat
	      var pbuf = self.partBuffers.length === 1 ?
	        self.partBuffers[0] : Buffer.concat(self.partBuffers);
	      self.partBuffers = [];
	      self.partBufferLength = 0;

	      // if we have more than partSize, push the rest back on the queue
	      if (pbuf.length > self.partSize) {
	        var rest = pbuf.slice(self.partSize);
	        self.partBuffers.push(rest);
	        self.partBufferLength += rest.length;
	        pbuf = pbuf.slice(0, self.partSize);
	      }

	      self.nextChunk(pbuf);
	    }

	    if (self.isDoneChunking && !self.isDoneSending) {
	      // if we have single buffer we avoid copyfull concat
	      pbuf = self.partBuffers.length === 1 ?
	          self.partBuffers[0] : Buffer.concat(self.partBuffers);
	      self.partBuffers = [];
	      self.partBufferLength = 0;
	      self.totalBytes = self.totalChunkedBytes;
	      self.isDoneSending = true;

	      if (self.numParts === 0 || pbuf.length > 0) {
	        self.numParts++;
	        self.nextChunk(pbuf);
	      }
	    }

	    self.body.read(0);
	  },

	  /**
	   * @api private
	   */
	  nextChunk: function nextChunk(chunk) {
	    var self = this;
	    if (self.failed) return null;

	    var partNumber = ++self.totalPartNumbers;
	    if (self.isDoneChunking && partNumber === 1) {
	      var params = {Body: chunk};
	      if (this.tags) {
	        params.Tagging = this.getTaggingHeader();
	      }
	      var req = self.service.putObject(params);
	      req._managedUpload = self;
	      req.on('httpUploadProgress', self.progress).send(self.finishSinglePart);
	      return null;
	    } else if (self.service.config.params.ContentMD5) {
	      var err = AWS.util.error(new Error('The Content-MD5 you specified is invalid for multi-part uploads.'), {
	        code: 'InvalidDigest', retryable: false
	      });

	      self.cleanup(err);
	      return null;
	    }

	    if (self.completeInfo[partNumber] && self.completeInfo[partNumber].ETag !== null) {
	      return null; // Already uploaded this part.
	    }

	    self.activeParts++;
	    if (!self.service.config.params.UploadId) {

	      if (!self.multipartReq) { // create multipart
	        self.multipartReq = self.service.createMultipartUpload();
	        self.multipartReq.on('success', function(resp) {
	          self.service.config.params.UploadId = resp.data.UploadId;
	          self.multipartReq = null;
	        });
	        self.queueChunks(chunk, partNumber);
	        self.multipartReq.on('error', function(err) {
	          self.cleanup(err);
	        });
	        self.multipartReq.send();
	      } else {
	        self.queueChunks(chunk, partNumber);
	      }
	    } else { // multipart is created, just send
	      self.uploadPart(chunk, partNumber);
	    }
	  },

	  /**
	   * @api private
	   */
	  getTaggingHeader: function getTaggingHeader() {
	    var kvPairStrings = [];
	    for (var i = 0; i < this.tags.length; i++) {
	      kvPairStrings.push(AWS.util.uriEscape(this.tags[i].Key) + '=' +
	        AWS.util.uriEscape(this.tags[i].Value));
	    }

	    return kvPairStrings.join('&');
	  },

	  /**
	   * @api private
	   */
	  uploadPart: function uploadPart(chunk, partNumber) {
	    var self = this;

	    var partParams = {
	      Body: chunk,
	      ContentLength: AWS.util.string.byteLength(chunk),
	      PartNumber: partNumber
	    };

	    var partInfo = {ETag: null, PartNumber: partNumber};
	    self.completeInfo[partNumber] = partInfo;

	    var req = self.service.uploadPart(partParams);
	    self.parts[partNumber] = req;
	    req._lastUploadedBytes = 0;
	    req._managedUpload = self;
	    req.on('httpUploadProgress', self.progress);
	    req.send(function(err, data) {
	      delete self.parts[partParams.PartNumber];
	      self.activeParts--;

	      if (!err && (!data || !data.ETag)) {
	        var message = 'No access to ETag property on response.';
	        if (AWS.util.isBrowser()) {
	          message += ' Check CORS configuration to expose ETag header.';
	        }

	        err = AWS.util.error(new Error(message), {
	          code: 'ETagMissing', retryable: false
	        });
	      }
	      if (err) return self.cleanup(err);

	      partInfo.ETag = data.ETag;
	      self.doneParts++;
	      if (self.isDoneChunking && self.doneParts === self.numParts) {
	        self.finishMultiPart();
	      } else {
	        self.fillQueue.call(self);
	      }
	    });
	  },

	  /**
	   * @api private
	   */
	  queueChunks: function queueChunks(chunk, partNumber) {
	    var self = this;
	    self.multipartReq.on('success', function() {
	      self.uploadPart(chunk, partNumber);
	    });
	  },

	  /**
	   * @api private
	   */
	  cleanup: function cleanup(err) {
	    var self = this;
	    if (self.failed) return;

	    // clean up stream
	    if (typeof self.body.removeAllListeners === 'function' &&
	        typeof self.body.resume === 'function') {
	      self.body.removeAllListeners('readable');
	      self.body.removeAllListeners('end');
	      self.body.resume();
	    }

	    // cleanup multipartReq listeners
	    if (self.multipartReq) {
	      self.multipartReq.removeAllListeners('success');
	      self.multipartReq.removeAllListeners('error');
	      self.multipartReq.removeAllListeners('complete');
	      delete self.multipartReq;
	    }

	    if (self.service.config.params.UploadId && !self.leavePartsOnError) {
	      self.service.abortMultipartUpload().send();
	    } else if (self.leavePartsOnError) {
	      self.isDoneChunking = false;
	    }

	    AWS.util.each(self.parts, function(partNumber, part) {
	      part.removeAllListeners('complete');
	      part.abort();
	    });

	    self.activeParts = 0;
	    self.partPos = 0;
	    self.numParts = 0;
	    self.totalPartNumbers = 0;
	    self.parts = {};
	    self.failed = true;
	    self.callback(err);
	  },

	  /**
	   * @api private
	   */
	  finishMultiPart: function finishMultiPart() {
	    var self = this;
	    var completeParams = { MultipartUpload: { Parts: self.completeInfo.slice(1) } };
	    self.service.completeMultipartUpload(completeParams, function(err, data) {
	      if (err) {
	        return self.cleanup(err);
	      }

	      if (data && typeof data.Location === 'string') {
	        data.Location = data.Location.replace(/%2F/g, '/');
	      }

	      if (Array.isArray(self.tags)) {
	        self.service.putObjectTagging(
	          {Tagging: {TagSet: self.tags}},
	          function(e, d) {
	            if (e) {
	              self.callback(e);
	            } else {
	              self.callback(e, data);
	            }
	          }
	        );
	      } else {
	        self.callback(err, data);
	      }
	    });
	  },

	  /**
	   * @api private
	   */
	  finishSinglePart: function finishSinglePart(err, data) {
	    var upload = this.request._managedUpload;
	    var httpReq = this.request.httpRequest;
	    var endpoint = httpReq.endpoint;
	    if (err) return upload.callback(err);
	    data.Location =
	      [endpoint.protocol, '//', endpoint.host, httpReq.path].join('');
	    data.key = this.request.params.Key; // will stay undocumented
	    data.Key = this.request.params.Key;
	    data.Bucket = this.request.params.Bucket;
	    upload.callback(err, data);
	  },

	  /**
	   * @api private
	   */
	  progress: function progress(info) {
	    var upload = this._managedUpload;
	    if (this.operation === 'putObject') {
	      info.part = 1;
	      info.key = this.params.Key;
	    } else {
	      upload.totalUploadedBytes += info.loaded - this._lastUploadedBytes;
	      this._lastUploadedBytes = info.loaded;
	      info = {
	        loaded: upload.totalUploadedBytes,
	        total: upload.totalBytes,
	        part: this.params.PartNumber,
	        key: this.params.Key
	      };
	    }
	    upload.emit('httpUploadProgress', [info]);
	  }
	});

	AWS.util.mixin(AWS.S3.ManagedUpload, AWS.SequentialExecutor);

	/**
	 * @api private
	 */
	AWS.S3.ManagedUpload.addPromisesToClass = function addPromisesToClass(PromiseDependency) {
	  this.prototype.promise = AWS.util.promisifyMethod('send', PromiseDependency);
	};

	/**
	 * @api private
	 */
	AWS.S3.ManagedUpload.deletePromisesFromClass = function deletePromisesFromClass() {
	  delete this.prototype.promise;
	};

	AWS.util.addPromises(AWS.S3.ManagedUpload);

	module.exports = AWS.S3.ManagedUpload;


/***/ }),
/* 579 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2006-03-01",
			"checksumFormat": "md5",
			"endpointPrefix": "s3",
			"globalEndpoint": "s3.amazonaws.com",
			"protocol": "rest-xml",
			"serviceAbbreviation": "Amazon S3",
			"serviceFullName": "Amazon Simple Storage Service",
			"signatureVersion": "s3",
			"timestampFormat": "rfc822",
			"uid": "s3-2006-03-01"
		},
		"operations": {
			"AbortMultipartUpload": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}/{Key+}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key",
						"UploadId"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"UploadId": {
							"location": "querystring",
							"locationName": "uploadId"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					}
				}
			},
			"CompleteMultipartUpload": {
				"http": {
					"requestUri": "/{Bucket}/{Key+}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key",
						"UploadId"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"MultipartUpload": {
							"locationName": "CompleteMultipartUpload",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"members": {
								"Parts": {
									"locationName": "Part",
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"ETag": {},
											"PartNumber": {
												"type": "integer"
											}
										}
									},
									"flattened": true
								}
							}
						},
						"UploadId": {
							"location": "querystring",
							"locationName": "uploadId"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					},
					"payload": "MultipartUpload"
				},
				"output": {
					"type": "structure",
					"members": {
						"Location": {},
						"Bucket": {},
						"Key": {},
						"Expiration": {
							"location": "header",
							"locationName": "x-amz-expiration"
						},
						"ETag": {},
						"ServerSideEncryption": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption"
						},
						"VersionId": {
							"location": "header",
							"locationName": "x-amz-version-id"
						},
						"SSEKMSKeyId": {
							"shape": "Sj",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-aws-kms-key-id"
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					}
				}
			},
			"CopyObject": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}/{Key+}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"CopySource",
						"Key"
					],
					"members": {
						"ACL": {
							"location": "header",
							"locationName": "x-amz-acl"
						},
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"CacheControl": {
							"location": "header",
							"locationName": "Cache-Control"
						},
						"ContentDisposition": {
							"location": "header",
							"locationName": "Content-Disposition"
						},
						"ContentEncoding": {
							"location": "header",
							"locationName": "Content-Encoding"
						},
						"ContentLanguage": {
							"location": "header",
							"locationName": "Content-Language"
						},
						"ContentType": {
							"location": "header",
							"locationName": "Content-Type"
						},
						"CopySource": {
							"location": "header",
							"locationName": "x-amz-copy-source"
						},
						"CopySourceIfMatch": {
							"location": "header",
							"locationName": "x-amz-copy-source-if-match"
						},
						"CopySourceIfModifiedSince": {
							"location": "header",
							"locationName": "x-amz-copy-source-if-modified-since",
							"type": "timestamp"
						},
						"CopySourceIfNoneMatch": {
							"location": "header",
							"locationName": "x-amz-copy-source-if-none-match"
						},
						"CopySourceIfUnmodifiedSince": {
							"location": "header",
							"locationName": "x-amz-copy-source-if-unmodified-since",
							"type": "timestamp"
						},
						"Expires": {
							"location": "header",
							"locationName": "Expires",
							"type": "timestamp"
						},
						"GrantFullControl": {
							"location": "header",
							"locationName": "x-amz-grant-full-control"
						},
						"GrantRead": {
							"location": "header",
							"locationName": "x-amz-grant-read"
						},
						"GrantReadACP": {
							"location": "header",
							"locationName": "x-amz-grant-read-acp"
						},
						"GrantWriteACP": {
							"location": "header",
							"locationName": "x-amz-grant-write-acp"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"Metadata": {
							"shape": "S11",
							"location": "headers",
							"locationName": "x-amz-meta-"
						},
						"MetadataDirective": {
							"location": "header",
							"locationName": "x-amz-metadata-directive"
						},
						"TaggingDirective": {
							"location": "header",
							"locationName": "x-amz-tagging-directive"
						},
						"ServerSideEncryption": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption"
						},
						"StorageClass": {
							"location": "header",
							"locationName": "x-amz-storage-class"
						},
						"WebsiteRedirectLocation": {
							"location": "header",
							"locationName": "x-amz-website-redirect-location"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKey": {
							"shape": "S19",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"SSEKMSKeyId": {
							"shape": "Sj",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-aws-kms-key-id"
						},
						"CopySourceSSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-copy-source-server-side-encryption-customer-algorithm"
						},
						"CopySourceSSECustomerKey": {
							"shape": "S1c",
							"location": "header",
							"locationName": "x-amz-copy-source-server-side-encryption-customer-key"
						},
						"CopySourceSSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-copy-source-server-side-encryption-customer-key-MD5"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						},
						"Tagging": {
							"location": "header",
							"locationName": "x-amz-tagging"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CopyObjectResult": {
							"type": "structure",
							"members": {
								"ETag": {},
								"LastModified": {
									"type": "timestamp"
								}
							}
						},
						"Expiration": {
							"location": "header",
							"locationName": "x-amz-expiration"
						},
						"CopySourceVersionId": {
							"location": "header",
							"locationName": "x-amz-copy-source-version-id"
						},
						"VersionId": {
							"location": "header",
							"locationName": "x-amz-version-id"
						},
						"ServerSideEncryption": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"SSEKMSKeyId": {
							"shape": "Sj",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-aws-kms-key-id"
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					},
					"payload": "CopyObjectResult"
				},
				"alias": "PutObjectCopy"
			},
			"CreateBucket": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"ACL": {
							"location": "header",
							"locationName": "x-amz-acl"
						},
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"CreateBucketConfiguration": {
							"locationName": "CreateBucketConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"members": {
								"LocationConstraint": {}
							}
						},
						"GrantFullControl": {
							"location": "header",
							"locationName": "x-amz-grant-full-control"
						},
						"GrantRead": {
							"location": "header",
							"locationName": "x-amz-grant-read"
						},
						"GrantReadACP": {
							"location": "header",
							"locationName": "x-amz-grant-read-acp"
						},
						"GrantWrite": {
							"location": "header",
							"locationName": "x-amz-grant-write"
						},
						"GrantWriteACP": {
							"location": "header",
							"locationName": "x-amz-grant-write-acp"
						}
					},
					"payload": "CreateBucketConfiguration"
				},
				"output": {
					"type": "structure",
					"members": {
						"Location": {
							"location": "header",
							"locationName": "Location"
						}
					}
				},
				"alias": "PutBucket"
			},
			"CreateMultipartUpload": {
				"http": {
					"requestUri": "/{Bucket}/{Key+}?uploads"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key"
					],
					"members": {
						"ACL": {
							"location": "header",
							"locationName": "x-amz-acl"
						},
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"CacheControl": {
							"location": "header",
							"locationName": "Cache-Control"
						},
						"ContentDisposition": {
							"location": "header",
							"locationName": "Content-Disposition"
						},
						"ContentEncoding": {
							"location": "header",
							"locationName": "Content-Encoding"
						},
						"ContentLanguage": {
							"location": "header",
							"locationName": "Content-Language"
						},
						"ContentType": {
							"location": "header",
							"locationName": "Content-Type"
						},
						"Expires": {
							"location": "header",
							"locationName": "Expires",
							"type": "timestamp"
						},
						"GrantFullControl": {
							"location": "header",
							"locationName": "x-amz-grant-full-control"
						},
						"GrantRead": {
							"location": "header",
							"locationName": "x-amz-grant-read"
						},
						"GrantReadACP": {
							"location": "header",
							"locationName": "x-amz-grant-read-acp"
						},
						"GrantWriteACP": {
							"location": "header",
							"locationName": "x-amz-grant-write-acp"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"Metadata": {
							"shape": "S11",
							"location": "headers",
							"locationName": "x-amz-meta-"
						},
						"ServerSideEncryption": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption"
						},
						"StorageClass": {
							"location": "header",
							"locationName": "x-amz-storage-class"
						},
						"WebsiteRedirectLocation": {
							"location": "header",
							"locationName": "x-amz-website-redirect-location"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKey": {
							"shape": "S19",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"SSEKMSKeyId": {
							"shape": "Sj",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-aws-kms-key-id"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						},
						"Tagging": {
							"location": "header",
							"locationName": "x-amz-tagging"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AbortDate": {
							"location": "header",
							"locationName": "x-amz-abort-date",
							"type": "timestamp"
						},
						"AbortRuleId": {
							"location": "header",
							"locationName": "x-amz-abort-rule-id"
						},
						"Bucket": {
							"locationName": "Bucket"
						},
						"Key": {},
						"UploadId": {},
						"ServerSideEncryption": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"SSEKMSKeyId": {
							"shape": "Sj",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-aws-kms-key-id"
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					}
				},
				"alias": "InitiateMultipartUpload"
			},
			"DeleteBucket": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				}
			},
			"DeleteBucketAnalyticsConfiguration": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}?analytics"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Id"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Id": {
							"location": "querystring",
							"locationName": "id"
						}
					}
				}
			},
			"DeleteBucketCors": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}?cors"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				}
			},
			"DeleteBucketInventoryConfiguration": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}?inventory"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Id"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Id": {
							"location": "querystring",
							"locationName": "id"
						}
					}
				}
			},
			"DeleteBucketLifecycle": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}?lifecycle"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				}
			},
			"DeleteBucketMetricsConfiguration": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}?metrics"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Id"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Id": {
							"location": "querystring",
							"locationName": "id"
						}
					}
				}
			},
			"DeleteBucketPolicy": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}?policy"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				}
			},
			"DeleteBucketReplication": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}?replication"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				}
			},
			"DeleteBucketTagging": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}?tagging"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				}
			},
			"DeleteBucketWebsite": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}?website"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				}
			},
			"DeleteObject": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}/{Key+}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"MFA": {
							"location": "header",
							"locationName": "x-amz-mfa"
						},
						"VersionId": {
							"location": "querystring",
							"locationName": "versionId"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DeleteMarker": {
							"location": "header",
							"locationName": "x-amz-delete-marker",
							"type": "boolean"
						},
						"VersionId": {
							"location": "header",
							"locationName": "x-amz-version-id"
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					}
				}
			},
			"DeleteObjectTagging": {
				"http": {
					"method": "DELETE",
					"requestUri": "/{Bucket}/{Key+}?tagging"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"VersionId": {
							"location": "querystring",
							"locationName": "versionId"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VersionId": {
							"location": "header",
							"locationName": "x-amz-version-id"
						}
					}
				}
			},
			"DeleteObjects": {
				"http": {
					"requestUri": "/{Bucket}?delete"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Delete"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Delete": {
							"locationName": "Delete",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"required": [
								"Objects"
							],
							"members": {
								"Objects": {
									"locationName": "Object",
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"Key"
										],
										"members": {
											"Key": {},
											"VersionId": {}
										}
									},
									"flattened": true
								},
								"Quiet": {
									"type": "boolean"
								}
							}
						},
						"MFA": {
							"location": "header",
							"locationName": "x-amz-mfa"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					},
					"payload": "Delete"
				},
				"output": {
					"type": "structure",
					"members": {
						"Deleted": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Key": {},
									"VersionId": {},
									"DeleteMarker": {
										"type": "boolean"
									},
									"DeleteMarkerVersionId": {}
								}
							},
							"flattened": true
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						},
						"Errors": {
							"locationName": "Error",
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Key": {},
									"VersionId": {},
									"Code": {},
									"Message": {}
								}
							},
							"flattened": true
						}
					}
				},
				"alias": "DeleteMultipleObjects"
			},
			"GetBucketAccelerateConfiguration": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?accelerate"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Status": {}
					}
				}
			},
			"GetBucketAcl": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?acl"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Owner": {
							"shape": "S2u"
						},
						"Grants": {
							"shape": "S2x",
							"locationName": "AccessControlList"
						}
					}
				}
			},
			"GetBucketAnalyticsConfiguration": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?analytics"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Id"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Id": {
							"location": "querystring",
							"locationName": "id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AnalyticsConfiguration": {
							"shape": "S36"
						}
					},
					"payload": "AnalyticsConfiguration"
				}
			},
			"GetBucketCors": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?cors"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CORSRules": {
							"shape": "S3m",
							"locationName": "CORSRule"
						}
					}
				}
			},
			"GetBucketInventoryConfiguration": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?inventory"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Id"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Id": {
							"location": "querystring",
							"locationName": "id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InventoryConfiguration": {
							"shape": "S3z"
						}
					},
					"payload": "InventoryConfiguration"
				}
			},
			"GetBucketLifecycle": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?lifecycle"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Rules": {
							"shape": "S4c",
							"locationName": "Rule"
						}
					}
				},
				"deprecated": true
			},
			"GetBucketLifecycleConfiguration": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?lifecycle"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Rules": {
							"shape": "S4r",
							"locationName": "Rule"
						}
					}
				}
			},
			"GetBucketLocation": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?location"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"LocationConstraint": {}
					}
				}
			},
			"GetBucketLogging": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?logging"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"LoggingEnabled": {
							"shape": "S51"
						}
					}
				}
			},
			"GetBucketMetricsConfiguration": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?metrics"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Id"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Id": {
							"location": "querystring",
							"locationName": "id"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"MetricsConfiguration": {
							"shape": "S59"
						}
					},
					"payload": "MetricsConfiguration"
				}
			},
			"GetBucketNotification": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?notification"
				},
				"input": {
					"shape": "S5c"
				},
				"output": {
					"shape": "S5d"
				},
				"deprecated": true
			},
			"GetBucketNotificationConfiguration": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?notification"
				},
				"input": {
					"shape": "S5c"
				},
				"output": {
					"shape": "S5o"
				}
			},
			"GetBucketPolicy": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?policy"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Policy": {}
					},
					"payload": "Policy"
				}
			},
			"GetBucketReplication": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?replication"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ReplicationConfiguration": {
							"shape": "S67"
						}
					},
					"payload": "ReplicationConfiguration"
				}
			},
			"GetBucketRequestPayment": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?requestPayment"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Payer": {}
					}
				}
			},
			"GetBucketTagging": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?tagging"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TagSet"
					],
					"members": {
						"TagSet": {
							"shape": "S3c"
						}
					}
				}
			},
			"GetBucketVersioning": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?versioning"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Status": {},
						"MFADelete": {
							"locationName": "MfaDelete"
						}
					}
				}
			},
			"GetBucketWebsite": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?website"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RedirectAllRequestsTo": {
							"shape": "S6o"
						},
						"IndexDocument": {
							"shape": "S6r"
						},
						"ErrorDocument": {
							"shape": "S6t"
						},
						"RoutingRules": {
							"shape": "S6u"
						}
					}
				}
			},
			"GetObject": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}/{Key+}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						},
						"IfModifiedSince": {
							"location": "header",
							"locationName": "If-Modified-Since",
							"type": "timestamp"
						},
						"IfNoneMatch": {
							"location": "header",
							"locationName": "If-None-Match"
						},
						"IfUnmodifiedSince": {
							"location": "header",
							"locationName": "If-Unmodified-Since",
							"type": "timestamp"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"Range": {
							"location": "header",
							"locationName": "Range"
						},
						"ResponseCacheControl": {
							"location": "querystring",
							"locationName": "response-cache-control"
						},
						"ResponseContentDisposition": {
							"location": "querystring",
							"locationName": "response-content-disposition"
						},
						"ResponseContentEncoding": {
							"location": "querystring",
							"locationName": "response-content-encoding"
						},
						"ResponseContentLanguage": {
							"location": "querystring",
							"locationName": "response-content-language"
						},
						"ResponseContentType": {
							"location": "querystring",
							"locationName": "response-content-type"
						},
						"ResponseExpires": {
							"location": "querystring",
							"locationName": "response-expires",
							"type": "timestamp"
						},
						"VersionId": {
							"location": "querystring",
							"locationName": "versionId"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKey": {
							"shape": "S19",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						},
						"PartNumber": {
							"location": "querystring",
							"locationName": "partNumber",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Body": {
							"streaming": true,
							"type": "blob"
						},
						"DeleteMarker": {
							"location": "header",
							"locationName": "x-amz-delete-marker",
							"type": "boolean"
						},
						"AcceptRanges": {
							"location": "header",
							"locationName": "accept-ranges"
						},
						"Expiration": {
							"location": "header",
							"locationName": "x-amz-expiration"
						},
						"Restore": {
							"location": "header",
							"locationName": "x-amz-restore"
						},
						"LastModified": {
							"location": "header",
							"locationName": "Last-Modified",
							"type": "timestamp"
						},
						"ContentLength": {
							"location": "header",
							"locationName": "Content-Length",
							"type": "long"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						},
						"MissingMeta": {
							"location": "header",
							"locationName": "x-amz-missing-meta",
							"type": "integer"
						},
						"VersionId": {
							"location": "header",
							"locationName": "x-amz-version-id"
						},
						"CacheControl": {
							"location": "header",
							"locationName": "Cache-Control"
						},
						"ContentDisposition": {
							"location": "header",
							"locationName": "Content-Disposition"
						},
						"ContentEncoding": {
							"location": "header",
							"locationName": "Content-Encoding"
						},
						"ContentLanguage": {
							"location": "header",
							"locationName": "Content-Language"
						},
						"ContentRange": {
							"location": "header",
							"locationName": "Content-Range"
						},
						"ContentType": {
							"location": "header",
							"locationName": "Content-Type"
						},
						"Expires": {
							"location": "header",
							"locationName": "Expires",
							"type": "timestamp"
						},
						"WebsiteRedirectLocation": {
							"location": "header",
							"locationName": "x-amz-website-redirect-location"
						},
						"ServerSideEncryption": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption"
						},
						"Metadata": {
							"shape": "S11",
							"location": "headers",
							"locationName": "x-amz-meta-"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"SSEKMSKeyId": {
							"shape": "Sj",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-aws-kms-key-id"
						},
						"StorageClass": {
							"location": "header",
							"locationName": "x-amz-storage-class"
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						},
						"ReplicationStatus": {
							"location": "header",
							"locationName": "x-amz-replication-status"
						},
						"PartsCount": {
							"location": "header",
							"locationName": "x-amz-mp-parts-count",
							"type": "integer"
						},
						"TagCount": {
							"location": "header",
							"locationName": "x-amz-tagging-count",
							"type": "integer"
						}
					},
					"payload": "Body"
				}
			},
			"GetObjectAcl": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}/{Key+}?acl"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"VersionId": {
							"location": "querystring",
							"locationName": "versionId"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Owner": {
							"shape": "S2u"
						},
						"Grants": {
							"shape": "S2x",
							"locationName": "AccessControlList"
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					}
				}
			},
			"GetObjectTagging": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}/{Key+}?tagging"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"VersionId": {
							"location": "querystring",
							"locationName": "versionId"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"TagSet"
					],
					"members": {
						"VersionId": {
							"location": "header",
							"locationName": "x-amz-version-id"
						},
						"TagSet": {
							"shape": "S3c"
						}
					}
				}
			},
			"GetObjectTorrent": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}/{Key+}?torrent"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Body": {
							"streaming": true,
							"type": "blob"
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					},
					"payload": "Body"
				}
			},
			"HeadBucket": {
				"http": {
					"method": "HEAD",
					"requestUri": "/{Bucket}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						}
					}
				}
			},
			"HeadObject": {
				"http": {
					"method": "HEAD",
					"requestUri": "/{Bucket}/{Key+}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"IfMatch": {
							"location": "header",
							"locationName": "If-Match"
						},
						"IfModifiedSince": {
							"location": "header",
							"locationName": "If-Modified-Since",
							"type": "timestamp"
						},
						"IfNoneMatch": {
							"location": "header",
							"locationName": "If-None-Match"
						},
						"IfUnmodifiedSince": {
							"location": "header",
							"locationName": "If-Unmodified-Since",
							"type": "timestamp"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"Range": {
							"location": "header",
							"locationName": "Range"
						},
						"VersionId": {
							"location": "querystring",
							"locationName": "versionId"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKey": {
							"shape": "S19",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						},
						"PartNumber": {
							"location": "querystring",
							"locationName": "partNumber",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DeleteMarker": {
							"location": "header",
							"locationName": "x-amz-delete-marker",
							"type": "boolean"
						},
						"AcceptRanges": {
							"location": "header",
							"locationName": "accept-ranges"
						},
						"Expiration": {
							"location": "header",
							"locationName": "x-amz-expiration"
						},
						"Restore": {
							"location": "header",
							"locationName": "x-amz-restore"
						},
						"LastModified": {
							"location": "header",
							"locationName": "Last-Modified",
							"type": "timestamp"
						},
						"ContentLength": {
							"location": "header",
							"locationName": "Content-Length",
							"type": "long"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						},
						"MissingMeta": {
							"location": "header",
							"locationName": "x-amz-missing-meta",
							"type": "integer"
						},
						"VersionId": {
							"location": "header",
							"locationName": "x-amz-version-id"
						},
						"CacheControl": {
							"location": "header",
							"locationName": "Cache-Control"
						},
						"ContentDisposition": {
							"location": "header",
							"locationName": "Content-Disposition"
						},
						"ContentEncoding": {
							"location": "header",
							"locationName": "Content-Encoding"
						},
						"ContentLanguage": {
							"location": "header",
							"locationName": "Content-Language"
						},
						"ContentType": {
							"location": "header",
							"locationName": "Content-Type"
						},
						"Expires": {
							"location": "header",
							"locationName": "Expires",
							"type": "timestamp"
						},
						"WebsiteRedirectLocation": {
							"location": "header",
							"locationName": "x-amz-website-redirect-location"
						},
						"ServerSideEncryption": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption"
						},
						"Metadata": {
							"shape": "S11",
							"location": "headers",
							"locationName": "x-amz-meta-"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"SSEKMSKeyId": {
							"shape": "Sj",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-aws-kms-key-id"
						},
						"StorageClass": {
							"location": "header",
							"locationName": "x-amz-storage-class"
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						},
						"ReplicationStatus": {
							"location": "header",
							"locationName": "x-amz-replication-status"
						},
						"PartsCount": {
							"location": "header",
							"locationName": "x-amz-mp-parts-count",
							"type": "integer"
						}
					}
				}
			},
			"ListBucketAnalyticsConfigurations": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?analytics"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContinuationToken": {
							"location": "querystring",
							"locationName": "continuation-token"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IsTruncated": {
							"type": "boolean"
						},
						"ContinuationToken": {},
						"NextContinuationToken": {},
						"AnalyticsConfigurationList": {
							"locationName": "AnalyticsConfiguration",
							"type": "list",
							"member": {
								"shape": "S36"
							},
							"flattened": true
						}
					}
				}
			},
			"ListBucketInventoryConfigurations": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?inventory"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContinuationToken": {
							"location": "querystring",
							"locationName": "continuation-token"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ContinuationToken": {},
						"InventoryConfigurationList": {
							"locationName": "InventoryConfiguration",
							"type": "list",
							"member": {
								"shape": "S3z"
							},
							"flattened": true
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"NextContinuationToken": {}
					}
				}
			},
			"ListBucketMetricsConfigurations": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?metrics"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContinuationToken": {
							"location": "querystring",
							"locationName": "continuation-token"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IsTruncated": {
							"type": "boolean"
						},
						"ContinuationToken": {},
						"NextContinuationToken": {},
						"MetricsConfigurationList": {
							"locationName": "MetricsConfiguration",
							"type": "list",
							"member": {
								"shape": "S59"
							},
							"flattened": true
						}
					}
				}
			},
			"ListBuckets": {
				"http": {
					"method": "GET"
				},
				"output": {
					"type": "structure",
					"members": {
						"Buckets": {
							"type": "list",
							"member": {
								"locationName": "Bucket",
								"type": "structure",
								"members": {
									"Name": {},
									"CreationDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"Owner": {
							"shape": "S2u"
						}
					}
				},
				"alias": "GetService"
			},
			"ListMultipartUploads": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?uploads"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Delimiter": {
							"location": "querystring",
							"locationName": "delimiter"
						},
						"EncodingType": {
							"location": "querystring",
							"locationName": "encoding-type"
						},
						"KeyMarker": {
							"location": "querystring",
							"locationName": "key-marker"
						},
						"MaxUploads": {
							"location": "querystring",
							"locationName": "max-uploads",
							"type": "integer"
						},
						"Prefix": {
							"location": "querystring",
							"locationName": "prefix"
						},
						"UploadIdMarker": {
							"location": "querystring",
							"locationName": "upload-id-marker"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Bucket": {},
						"KeyMarker": {},
						"UploadIdMarker": {},
						"NextKeyMarker": {},
						"Prefix": {},
						"Delimiter": {},
						"NextUploadIdMarker": {},
						"MaxUploads": {
							"type": "integer"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Uploads": {
							"locationName": "Upload",
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"UploadId": {},
									"Key": {},
									"Initiated": {
										"type": "timestamp"
									},
									"StorageClass": {},
									"Owner": {
										"shape": "S2u"
									},
									"Initiator": {
										"shape": "S8q"
									}
								}
							},
							"flattened": true
						},
						"CommonPrefixes": {
							"shape": "S8r"
						},
						"EncodingType": {}
					}
				}
			},
			"ListObjectVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?versions"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Delimiter": {
							"location": "querystring",
							"locationName": "delimiter"
						},
						"EncodingType": {
							"location": "querystring",
							"locationName": "encoding-type"
						},
						"KeyMarker": {
							"location": "querystring",
							"locationName": "key-marker"
						},
						"MaxKeys": {
							"location": "querystring",
							"locationName": "max-keys",
							"type": "integer"
						},
						"Prefix": {
							"location": "querystring",
							"locationName": "prefix"
						},
						"VersionIdMarker": {
							"location": "querystring",
							"locationName": "version-id-marker"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IsTruncated": {
							"type": "boolean"
						},
						"KeyMarker": {},
						"VersionIdMarker": {},
						"NextKeyMarker": {},
						"NextVersionIdMarker": {},
						"Versions": {
							"locationName": "Version",
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ETag": {},
									"Size": {
										"type": "integer"
									},
									"StorageClass": {},
									"Key": {},
									"VersionId": {},
									"IsLatest": {
										"type": "boolean"
									},
									"LastModified": {
										"type": "timestamp"
									},
									"Owner": {
										"shape": "S2u"
									}
								}
							},
							"flattened": true
						},
						"DeleteMarkers": {
							"locationName": "DeleteMarker",
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Owner": {
										"shape": "S2u"
									},
									"Key": {},
									"VersionId": {},
									"IsLatest": {
										"type": "boolean"
									},
									"LastModified": {
										"type": "timestamp"
									}
								}
							},
							"flattened": true
						},
						"Name": {},
						"Prefix": {},
						"Delimiter": {},
						"MaxKeys": {
							"type": "integer"
						},
						"CommonPrefixes": {
							"shape": "S8r"
						},
						"EncodingType": {}
					}
				},
				"alias": "GetBucketObjectVersions"
			},
			"ListObjects": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Delimiter": {
							"location": "querystring",
							"locationName": "delimiter"
						},
						"EncodingType": {
							"location": "querystring",
							"locationName": "encoding-type"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"MaxKeys": {
							"location": "querystring",
							"locationName": "max-keys",
							"type": "integer"
						},
						"Prefix": {
							"location": "querystring",
							"locationName": "prefix"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IsTruncated": {
							"type": "boolean"
						},
						"Marker": {},
						"NextMarker": {},
						"Contents": {
							"shape": "S99"
						},
						"Name": {},
						"Prefix": {},
						"Delimiter": {},
						"MaxKeys": {
							"type": "integer"
						},
						"CommonPrefixes": {
							"shape": "S8r"
						},
						"EncodingType": {}
					}
				},
				"alias": "GetBucket"
			},
			"ListObjectsV2": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}?list-type=2"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Delimiter": {
							"location": "querystring",
							"locationName": "delimiter"
						},
						"EncodingType": {
							"location": "querystring",
							"locationName": "encoding-type"
						},
						"MaxKeys": {
							"location": "querystring",
							"locationName": "max-keys",
							"type": "integer"
						},
						"Prefix": {
							"location": "querystring",
							"locationName": "prefix"
						},
						"ContinuationToken": {
							"location": "querystring",
							"locationName": "continuation-token"
						},
						"FetchOwner": {
							"location": "querystring",
							"locationName": "fetch-owner",
							"type": "boolean"
						},
						"StartAfter": {
							"location": "querystring",
							"locationName": "start-after"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IsTruncated": {
							"type": "boolean"
						},
						"Contents": {
							"shape": "S99"
						},
						"Name": {},
						"Prefix": {},
						"Delimiter": {},
						"MaxKeys": {
							"type": "integer"
						},
						"CommonPrefixes": {
							"shape": "S8r"
						},
						"EncodingType": {},
						"KeyCount": {
							"type": "integer"
						},
						"ContinuationToken": {},
						"NextContinuationToken": {},
						"StartAfter": {}
					}
				}
			},
			"ListParts": {
				"http": {
					"method": "GET",
					"requestUri": "/{Bucket}/{Key+}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key",
						"UploadId"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"MaxParts": {
							"location": "querystring",
							"locationName": "max-parts",
							"type": "integer"
						},
						"PartNumberMarker": {
							"location": "querystring",
							"locationName": "part-number-marker",
							"type": "integer"
						},
						"UploadId": {
							"location": "querystring",
							"locationName": "uploadId"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AbortDate": {
							"location": "header",
							"locationName": "x-amz-abort-date",
							"type": "timestamp"
						},
						"AbortRuleId": {
							"location": "header",
							"locationName": "x-amz-abort-rule-id"
						},
						"Bucket": {},
						"Key": {},
						"UploadId": {},
						"PartNumberMarker": {
							"type": "integer"
						},
						"NextPartNumberMarker": {
							"type": "integer"
						},
						"MaxParts": {
							"type": "integer"
						},
						"IsTruncated": {
							"type": "boolean"
						},
						"Parts": {
							"locationName": "Part",
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"PartNumber": {
										"type": "integer"
									},
									"LastModified": {
										"type": "timestamp"
									},
									"ETag": {},
									"Size": {
										"type": "integer"
									}
								}
							},
							"flattened": true
						},
						"Initiator": {
							"shape": "S8q"
						},
						"Owner": {
							"shape": "S2u"
						},
						"StorageClass": {},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					}
				}
			},
			"PutBucketAccelerateConfiguration": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?accelerate"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"AccelerateConfiguration"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"AccelerateConfiguration": {
							"locationName": "AccelerateConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"members": {
								"Status": {}
							}
						}
					},
					"payload": "AccelerateConfiguration"
				}
			},
			"PutBucketAcl": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?acl"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"ACL": {
							"location": "header",
							"locationName": "x-amz-acl"
						},
						"AccessControlPolicy": {
							"shape": "S9r",
							"locationName": "AccessControlPolicy",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							}
						},
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"GrantFullControl": {
							"location": "header",
							"locationName": "x-amz-grant-full-control"
						},
						"GrantRead": {
							"location": "header",
							"locationName": "x-amz-grant-read"
						},
						"GrantReadACP": {
							"location": "header",
							"locationName": "x-amz-grant-read-acp"
						},
						"GrantWrite": {
							"location": "header",
							"locationName": "x-amz-grant-write"
						},
						"GrantWriteACP": {
							"location": "header",
							"locationName": "x-amz-grant-write-acp"
						}
					},
					"payload": "AccessControlPolicy"
				}
			},
			"PutBucketAnalyticsConfiguration": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?analytics"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Id",
						"AnalyticsConfiguration"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Id": {
							"location": "querystring",
							"locationName": "id"
						},
						"AnalyticsConfiguration": {
							"shape": "S36",
							"locationName": "AnalyticsConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							}
						}
					},
					"payload": "AnalyticsConfiguration"
				}
			},
			"PutBucketCors": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?cors"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"CORSConfiguration"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"CORSConfiguration": {
							"locationName": "CORSConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"required": [
								"CORSRules"
							],
							"members": {
								"CORSRules": {
									"shape": "S3m",
									"locationName": "CORSRule"
								}
							}
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						}
					},
					"payload": "CORSConfiguration"
				}
			},
			"PutBucketInventoryConfiguration": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?inventory"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Id",
						"InventoryConfiguration"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Id": {
							"location": "querystring",
							"locationName": "id"
						},
						"InventoryConfiguration": {
							"shape": "S3z",
							"locationName": "InventoryConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							}
						}
					},
					"payload": "InventoryConfiguration"
				}
			},
			"PutBucketLifecycle": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?lifecycle"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"LifecycleConfiguration": {
							"locationName": "LifecycleConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"required": [
								"Rules"
							],
							"members": {
								"Rules": {
									"shape": "S4c",
									"locationName": "Rule"
								}
							}
						}
					},
					"payload": "LifecycleConfiguration"
				},
				"deprecated": true
			},
			"PutBucketLifecycleConfiguration": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?lifecycle"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"LifecycleConfiguration": {
							"locationName": "LifecycleConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"required": [
								"Rules"
							],
							"members": {
								"Rules": {
									"shape": "S4r",
									"locationName": "Rule"
								}
							}
						}
					},
					"payload": "LifecycleConfiguration"
				}
			},
			"PutBucketLogging": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?logging"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"BucketLoggingStatus"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"BucketLoggingStatus": {
							"locationName": "BucketLoggingStatus",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"members": {
								"LoggingEnabled": {
									"shape": "S51"
								}
							}
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						}
					},
					"payload": "BucketLoggingStatus"
				}
			},
			"PutBucketMetricsConfiguration": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?metrics"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Id",
						"MetricsConfiguration"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Id": {
							"location": "querystring",
							"locationName": "id"
						},
						"MetricsConfiguration": {
							"shape": "S59",
							"locationName": "MetricsConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							}
						}
					},
					"payload": "MetricsConfiguration"
				}
			},
			"PutBucketNotification": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?notification"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"NotificationConfiguration"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"NotificationConfiguration": {
							"shape": "S5d",
							"locationName": "NotificationConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							}
						}
					},
					"payload": "NotificationConfiguration"
				},
				"deprecated": true
			},
			"PutBucketNotificationConfiguration": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?notification"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"NotificationConfiguration"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"NotificationConfiguration": {
							"shape": "S5o",
							"locationName": "NotificationConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							}
						}
					},
					"payload": "NotificationConfiguration"
				}
			},
			"PutBucketPolicy": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?policy"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Policy"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"Policy": {}
					},
					"payload": "Policy"
				}
			},
			"PutBucketReplication": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?replication"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"ReplicationConfiguration"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"ReplicationConfiguration": {
							"shape": "S67",
							"locationName": "ReplicationConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							}
						}
					},
					"payload": "ReplicationConfiguration"
				}
			},
			"PutBucketRequestPayment": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?requestPayment"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"RequestPaymentConfiguration"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"RequestPaymentConfiguration": {
							"locationName": "RequestPaymentConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"required": [
								"Payer"
							],
							"members": {
								"Payer": {}
							}
						}
					},
					"payload": "RequestPaymentConfiguration"
				}
			},
			"PutBucketTagging": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?tagging"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Tagging"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"Tagging": {
							"shape": "Sab",
							"locationName": "Tagging",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							}
						}
					},
					"payload": "Tagging"
				}
			},
			"PutBucketVersioning": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?versioning"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"VersioningConfiguration"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"MFA": {
							"location": "header",
							"locationName": "x-amz-mfa"
						},
						"VersioningConfiguration": {
							"locationName": "VersioningConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"members": {
								"MFADelete": {
									"locationName": "MfaDelete"
								},
								"Status": {}
							}
						}
					},
					"payload": "VersioningConfiguration"
				}
			},
			"PutBucketWebsite": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}?website"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"WebsiteConfiguration"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"WebsiteConfiguration": {
							"locationName": "WebsiteConfiguration",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"members": {
								"ErrorDocument": {
									"shape": "S6t"
								},
								"IndexDocument": {
									"shape": "S6r"
								},
								"RedirectAllRequestsTo": {
									"shape": "S6o"
								},
								"RoutingRules": {
									"shape": "S6u"
								}
							}
						}
					},
					"payload": "WebsiteConfiguration"
				}
			},
			"PutObject": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}/{Key+}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key"
					],
					"members": {
						"ACL": {
							"location": "header",
							"locationName": "x-amz-acl"
						},
						"Body": {
							"streaming": true,
							"type": "blob"
						},
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"CacheControl": {
							"location": "header",
							"locationName": "Cache-Control"
						},
						"ContentDisposition": {
							"location": "header",
							"locationName": "Content-Disposition"
						},
						"ContentEncoding": {
							"location": "header",
							"locationName": "Content-Encoding"
						},
						"ContentLanguage": {
							"location": "header",
							"locationName": "Content-Language"
						},
						"ContentLength": {
							"location": "header",
							"locationName": "Content-Length",
							"type": "long"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"ContentType": {
							"location": "header",
							"locationName": "Content-Type"
						},
						"Expires": {
							"location": "header",
							"locationName": "Expires",
							"type": "timestamp"
						},
						"GrantFullControl": {
							"location": "header",
							"locationName": "x-amz-grant-full-control"
						},
						"GrantRead": {
							"location": "header",
							"locationName": "x-amz-grant-read"
						},
						"GrantReadACP": {
							"location": "header",
							"locationName": "x-amz-grant-read-acp"
						},
						"GrantWriteACP": {
							"location": "header",
							"locationName": "x-amz-grant-write-acp"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"Metadata": {
							"shape": "S11",
							"location": "headers",
							"locationName": "x-amz-meta-"
						},
						"ServerSideEncryption": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption"
						},
						"StorageClass": {
							"location": "header",
							"locationName": "x-amz-storage-class"
						},
						"WebsiteRedirectLocation": {
							"location": "header",
							"locationName": "x-amz-website-redirect-location"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKey": {
							"shape": "S19",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"SSEKMSKeyId": {
							"shape": "Sj",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-aws-kms-key-id"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						},
						"Tagging": {
							"location": "header",
							"locationName": "x-amz-tagging"
						}
					},
					"payload": "Body"
				},
				"output": {
					"type": "structure",
					"members": {
						"Expiration": {
							"location": "header",
							"locationName": "x-amz-expiration"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						},
						"ServerSideEncryption": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption"
						},
						"VersionId": {
							"location": "header",
							"locationName": "x-amz-version-id"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"SSEKMSKeyId": {
							"shape": "Sj",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-aws-kms-key-id"
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					}
				}
			},
			"PutObjectAcl": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}/{Key+}?acl"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key"
					],
					"members": {
						"ACL": {
							"location": "header",
							"locationName": "x-amz-acl"
						},
						"AccessControlPolicy": {
							"shape": "S9r",
							"locationName": "AccessControlPolicy",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							}
						},
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"GrantFullControl": {
							"location": "header",
							"locationName": "x-amz-grant-full-control"
						},
						"GrantRead": {
							"location": "header",
							"locationName": "x-amz-grant-read"
						},
						"GrantReadACP": {
							"location": "header",
							"locationName": "x-amz-grant-read-acp"
						},
						"GrantWrite": {
							"location": "header",
							"locationName": "x-amz-grant-write"
						},
						"GrantWriteACP": {
							"location": "header",
							"locationName": "x-amz-grant-write-acp"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						},
						"VersionId": {
							"location": "querystring",
							"locationName": "versionId"
						}
					},
					"payload": "AccessControlPolicy"
				},
				"output": {
					"type": "structure",
					"members": {
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					}
				}
			},
			"PutObjectTagging": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}/{Key+}?tagging"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key",
						"Tagging"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"VersionId": {
							"location": "querystring",
							"locationName": "versionId"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"Tagging": {
							"shape": "Sab",
							"locationName": "Tagging",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							}
						}
					},
					"payload": "Tagging"
				},
				"output": {
					"type": "structure",
					"members": {
						"VersionId": {
							"location": "header",
							"locationName": "x-amz-version-id"
						}
					}
				}
			},
			"RestoreObject": {
				"http": {
					"requestUri": "/{Bucket}/{Key+}?restore"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"VersionId": {
							"location": "querystring",
							"locationName": "versionId"
						},
						"RestoreRequest": {
							"locationName": "RestoreRequest",
							"xmlNamespace": {
								"uri": "http://s3.amazonaws.com/doc/2006-03-01/"
							},
							"type": "structure",
							"required": [
								"Days"
							],
							"members": {
								"Days": {
									"type": "integer"
								},
								"GlacierJobParameters": {
									"type": "structure",
									"required": [
										"Tier"
									],
									"members": {
										"Tier": {}
									}
								}
							}
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					},
					"payload": "RestoreRequest"
				},
				"output": {
					"type": "structure",
					"members": {
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					}
				},
				"alias": "PostObjectRestore"
			},
			"UploadPart": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}/{Key+}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"Key",
						"PartNumber",
						"UploadId"
					],
					"members": {
						"Body": {
							"streaming": true,
							"type": "blob"
						},
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"ContentLength": {
							"location": "header",
							"locationName": "Content-Length",
							"type": "long"
						},
						"ContentMD5": {
							"location": "header",
							"locationName": "Content-MD5"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"PartNumber": {
							"location": "querystring",
							"locationName": "partNumber",
							"type": "integer"
						},
						"UploadId": {
							"location": "querystring",
							"locationName": "uploadId"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKey": {
							"shape": "S19",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					},
					"payload": "Body"
				},
				"output": {
					"type": "structure",
					"members": {
						"ServerSideEncryption": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption"
						},
						"ETag": {
							"location": "header",
							"locationName": "ETag"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"SSEKMSKeyId": {
							"shape": "Sj",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-aws-kms-key-id"
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					}
				}
			},
			"UploadPartCopy": {
				"http": {
					"method": "PUT",
					"requestUri": "/{Bucket}/{Key+}"
				},
				"input": {
					"type": "structure",
					"required": [
						"Bucket",
						"CopySource",
						"Key",
						"PartNumber",
						"UploadId"
					],
					"members": {
						"Bucket": {
							"location": "uri",
							"locationName": "Bucket"
						},
						"CopySource": {
							"location": "header",
							"locationName": "x-amz-copy-source"
						},
						"CopySourceIfMatch": {
							"location": "header",
							"locationName": "x-amz-copy-source-if-match"
						},
						"CopySourceIfModifiedSince": {
							"location": "header",
							"locationName": "x-amz-copy-source-if-modified-since",
							"type": "timestamp"
						},
						"CopySourceIfNoneMatch": {
							"location": "header",
							"locationName": "x-amz-copy-source-if-none-match"
						},
						"CopySourceIfUnmodifiedSince": {
							"location": "header",
							"locationName": "x-amz-copy-source-if-unmodified-since",
							"type": "timestamp"
						},
						"CopySourceRange": {
							"location": "header",
							"locationName": "x-amz-copy-source-range"
						},
						"Key": {
							"location": "uri",
							"locationName": "Key"
						},
						"PartNumber": {
							"location": "querystring",
							"locationName": "partNumber",
							"type": "integer"
						},
						"UploadId": {
							"location": "querystring",
							"locationName": "uploadId"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKey": {
							"shape": "S19",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"CopySourceSSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-copy-source-server-side-encryption-customer-algorithm"
						},
						"CopySourceSSECustomerKey": {
							"shape": "S1c",
							"location": "header",
							"locationName": "x-amz-copy-source-server-side-encryption-customer-key"
						},
						"CopySourceSSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-copy-source-server-side-encryption-customer-key-MD5"
						},
						"RequestPayer": {
							"location": "header",
							"locationName": "x-amz-request-payer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CopySourceVersionId": {
							"location": "header",
							"locationName": "x-amz-copy-source-version-id"
						},
						"CopyPartResult": {
							"type": "structure",
							"members": {
								"ETag": {},
								"LastModified": {
									"type": "timestamp"
								}
							}
						},
						"ServerSideEncryption": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption"
						},
						"SSECustomerAlgorithm": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-algorithm"
						},
						"SSECustomerKeyMD5": {
							"location": "header",
							"locationName": "x-amz-server-side-encryption-customer-key-MD5"
						},
						"SSEKMSKeyId": {
							"shape": "Sj",
							"location": "header",
							"locationName": "x-amz-server-side-encryption-aws-kms-key-id"
						},
						"RequestCharged": {
							"location": "header",
							"locationName": "x-amz-request-charged"
						}
					},
					"payload": "CopyPartResult"
				}
			}
		},
		"shapes": {
			"Sj": {
				"type": "string",
				"sensitive": true
			},
			"S11": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S19": {
				"type": "blob",
				"sensitive": true
			},
			"S1c": {
				"type": "blob",
				"sensitive": true
			},
			"S2u": {
				"type": "structure",
				"members": {
					"DisplayName": {},
					"ID": {}
				}
			},
			"S2x": {
				"type": "list",
				"member": {
					"locationName": "Grant",
					"type": "structure",
					"members": {
						"Grantee": {
							"shape": "S2z"
						},
						"Permission": {}
					}
				}
			},
			"S2z": {
				"type": "structure",
				"required": [
					"Type"
				],
				"members": {
					"DisplayName": {},
					"EmailAddress": {},
					"ID": {},
					"Type": {
						"locationName": "xsi:type",
						"xmlAttribute": true
					},
					"URI": {}
				},
				"xmlNamespace": {
					"prefix": "xsi",
					"uri": "http://www.w3.org/2001/XMLSchema-instance"
				}
			},
			"S36": {
				"type": "structure",
				"required": [
					"Id",
					"StorageClassAnalysis"
				],
				"members": {
					"Id": {},
					"Filter": {
						"type": "structure",
						"members": {
							"Prefix": {},
							"Tag": {
								"shape": "S39"
							},
							"And": {
								"type": "structure",
								"members": {
									"Prefix": {},
									"Tags": {
										"shape": "S3c",
										"flattened": true,
										"locationName": "Tag"
									}
								}
							}
						}
					},
					"StorageClassAnalysis": {
						"type": "structure",
						"members": {
							"DataExport": {
								"type": "structure",
								"required": [
									"OutputSchemaVersion",
									"Destination"
								],
								"members": {
									"OutputSchemaVersion": {},
									"Destination": {
										"type": "structure",
										"required": [
											"S3BucketDestination"
										],
										"members": {
											"S3BucketDestination": {
												"type": "structure",
												"required": [
													"Format",
													"Bucket"
												],
												"members": {
													"Format": {},
													"BucketAccountId": {},
													"Bucket": {},
													"Prefix": {}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"S39": {
				"type": "structure",
				"required": [
					"Key",
					"Value"
				],
				"members": {
					"Key": {},
					"Value": {}
				}
			},
			"S3c": {
				"type": "list",
				"member": {
					"shape": "S39",
					"locationName": "Tag"
				}
			},
			"S3m": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"AllowedMethods",
						"AllowedOrigins"
					],
					"members": {
						"AllowedHeaders": {
							"locationName": "AllowedHeader",
							"type": "list",
							"member": {},
							"flattened": true
						},
						"AllowedMethods": {
							"locationName": "AllowedMethod",
							"type": "list",
							"member": {},
							"flattened": true
						},
						"AllowedOrigins": {
							"locationName": "AllowedOrigin",
							"type": "list",
							"member": {},
							"flattened": true
						},
						"ExposeHeaders": {
							"locationName": "ExposeHeader",
							"type": "list",
							"member": {},
							"flattened": true
						},
						"MaxAgeSeconds": {
							"type": "integer"
						}
					}
				},
				"flattened": true
			},
			"S3z": {
				"type": "structure",
				"required": [
					"Destination",
					"IsEnabled",
					"Id",
					"IncludedObjectVersions",
					"Schedule"
				],
				"members": {
					"Destination": {
						"type": "structure",
						"required": [
							"S3BucketDestination"
						],
						"members": {
							"S3BucketDestination": {
								"type": "structure",
								"required": [
									"Bucket",
									"Format"
								],
								"members": {
									"AccountId": {},
									"Bucket": {},
									"Format": {},
									"Prefix": {}
								}
							}
						}
					},
					"IsEnabled": {
						"type": "boolean"
					},
					"Filter": {
						"type": "structure",
						"required": [
							"Prefix"
						],
						"members": {
							"Prefix": {}
						}
					},
					"Id": {},
					"IncludedObjectVersions": {},
					"OptionalFields": {
						"type": "list",
						"member": {
							"locationName": "Field"
						}
					},
					"Schedule": {
						"type": "structure",
						"required": [
							"Frequency"
						],
						"members": {
							"Frequency": {}
						}
					}
				}
			},
			"S4c": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Prefix",
						"Status"
					],
					"members": {
						"Expiration": {
							"shape": "S4e"
						},
						"ID": {},
						"Prefix": {},
						"Status": {},
						"Transition": {
							"shape": "S4j"
						},
						"NoncurrentVersionTransition": {
							"shape": "S4l"
						},
						"NoncurrentVersionExpiration": {
							"shape": "S4m"
						},
						"AbortIncompleteMultipartUpload": {
							"shape": "S4n"
						}
					}
				},
				"flattened": true
			},
			"S4e": {
				"type": "structure",
				"members": {
					"Date": {
						"shape": "S4f"
					},
					"Days": {
						"type": "integer"
					},
					"ExpiredObjectDeleteMarker": {
						"type": "boolean"
					}
				}
			},
			"S4f": {
				"type": "timestamp",
				"timestampFormat": "iso8601"
			},
			"S4j": {
				"type": "structure",
				"members": {
					"Date": {
						"shape": "S4f"
					},
					"Days": {
						"type": "integer"
					},
					"StorageClass": {}
				}
			},
			"S4l": {
				"type": "structure",
				"members": {
					"NoncurrentDays": {
						"type": "integer"
					},
					"StorageClass": {}
				}
			},
			"S4m": {
				"type": "structure",
				"members": {
					"NoncurrentDays": {
						"type": "integer"
					}
				}
			},
			"S4n": {
				"type": "structure",
				"members": {
					"DaysAfterInitiation": {
						"type": "integer"
					}
				}
			},
			"S4r": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Status"
					],
					"members": {
						"Expiration": {
							"shape": "S4e"
						},
						"ID": {},
						"Prefix": {
							"deprecated": true
						},
						"Filter": {
							"type": "structure",
							"members": {
								"Prefix": {},
								"Tag": {
									"shape": "S39"
								},
								"And": {
									"type": "structure",
									"members": {
										"Prefix": {},
										"Tags": {
											"shape": "S3c",
											"flattened": true,
											"locationName": "Tag"
										}
									}
								}
							}
						},
						"Status": {},
						"Transitions": {
							"locationName": "Transition",
							"type": "list",
							"member": {
								"shape": "S4j"
							},
							"flattened": true
						},
						"NoncurrentVersionTransitions": {
							"locationName": "NoncurrentVersionTransition",
							"type": "list",
							"member": {
								"shape": "S4l"
							},
							"flattened": true
						},
						"NoncurrentVersionExpiration": {
							"shape": "S4m"
						},
						"AbortIncompleteMultipartUpload": {
							"shape": "S4n"
						}
					}
				},
				"flattened": true
			},
			"S51": {
				"type": "structure",
				"members": {
					"TargetBucket": {},
					"TargetGrants": {
						"type": "list",
						"member": {
							"locationName": "Grant",
							"type": "structure",
							"members": {
								"Grantee": {
									"shape": "S2z"
								},
								"Permission": {}
							}
						}
					},
					"TargetPrefix": {}
				}
			},
			"S59": {
				"type": "structure",
				"required": [
					"Id"
				],
				"members": {
					"Id": {},
					"Filter": {
						"type": "structure",
						"members": {
							"Prefix": {},
							"Tag": {
								"shape": "S39"
							},
							"And": {
								"type": "structure",
								"members": {
									"Prefix": {},
									"Tags": {
										"shape": "S3c",
										"flattened": true,
										"locationName": "Tag"
									}
								}
							}
						}
					}
				}
			},
			"S5c": {
				"type": "structure",
				"required": [
					"Bucket"
				],
				"members": {
					"Bucket": {
						"location": "uri",
						"locationName": "Bucket"
					}
				}
			},
			"S5d": {
				"type": "structure",
				"members": {
					"TopicConfiguration": {
						"type": "structure",
						"members": {
							"Id": {},
							"Events": {
								"shape": "S5g",
								"locationName": "Event"
							},
							"Event": {
								"deprecated": true
							},
							"Topic": {}
						}
					},
					"QueueConfiguration": {
						"type": "structure",
						"members": {
							"Id": {},
							"Event": {
								"deprecated": true
							},
							"Events": {
								"shape": "S5g",
								"locationName": "Event"
							},
							"Queue": {}
						}
					},
					"CloudFunctionConfiguration": {
						"type": "structure",
						"members": {
							"Id": {},
							"Event": {
								"deprecated": true
							},
							"Events": {
								"shape": "S5g",
								"locationName": "Event"
							},
							"CloudFunction": {},
							"InvocationRole": {}
						}
					}
				}
			},
			"S5g": {
				"type": "list",
				"member": {},
				"flattened": true
			},
			"S5o": {
				"type": "structure",
				"members": {
					"TopicConfigurations": {
						"locationName": "TopicConfiguration",
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"TopicArn",
								"Events"
							],
							"members": {
								"Id": {},
								"TopicArn": {
									"locationName": "Topic"
								},
								"Events": {
									"shape": "S5g",
									"locationName": "Event"
								},
								"Filter": {
									"shape": "S5r"
								}
							}
						},
						"flattened": true
					},
					"QueueConfigurations": {
						"locationName": "QueueConfiguration",
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"QueueArn",
								"Events"
							],
							"members": {
								"Id": {},
								"QueueArn": {
									"locationName": "Queue"
								},
								"Events": {
									"shape": "S5g",
									"locationName": "Event"
								},
								"Filter": {
									"shape": "S5r"
								}
							}
						},
						"flattened": true
					},
					"LambdaFunctionConfigurations": {
						"locationName": "CloudFunctionConfiguration",
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"LambdaFunctionArn",
								"Events"
							],
							"members": {
								"Id": {},
								"LambdaFunctionArn": {
									"locationName": "CloudFunction"
								},
								"Events": {
									"shape": "S5g",
									"locationName": "Event"
								},
								"Filter": {
									"shape": "S5r"
								}
							}
						},
						"flattened": true
					}
				}
			},
			"S5r": {
				"type": "structure",
				"members": {
					"Key": {
						"locationName": "S3Key",
						"type": "structure",
						"members": {
							"FilterRules": {
								"locationName": "FilterRule",
								"type": "list",
								"member": {
									"type": "structure",
									"members": {
										"Name": {},
										"Value": {}
									}
								},
								"flattened": true
							}
						}
					}
				}
			},
			"S67": {
				"type": "structure",
				"required": [
					"Role",
					"Rules"
				],
				"members": {
					"Role": {},
					"Rules": {
						"locationName": "Rule",
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"Prefix",
								"Status",
								"Destination"
							],
							"members": {
								"ID": {},
								"Prefix": {},
								"Status": {},
								"Destination": {
									"type": "structure",
									"required": [
										"Bucket"
									],
									"members": {
										"Bucket": {},
										"StorageClass": {}
									}
								}
							}
						},
						"flattened": true
					}
				}
			},
			"S6o": {
				"type": "structure",
				"required": [
					"HostName"
				],
				"members": {
					"HostName": {},
					"Protocol": {}
				}
			},
			"S6r": {
				"type": "structure",
				"required": [
					"Suffix"
				],
				"members": {
					"Suffix": {}
				}
			},
			"S6t": {
				"type": "structure",
				"required": [
					"Key"
				],
				"members": {
					"Key": {}
				}
			},
			"S6u": {
				"type": "list",
				"member": {
					"locationName": "RoutingRule",
					"type": "structure",
					"required": [
						"Redirect"
					],
					"members": {
						"Condition": {
							"type": "structure",
							"members": {
								"HttpErrorCodeReturnedEquals": {},
								"KeyPrefixEquals": {}
							}
						},
						"Redirect": {
							"type": "structure",
							"members": {
								"HostName": {},
								"HttpRedirectCode": {},
								"Protocol": {},
								"ReplaceKeyPrefixWith": {},
								"ReplaceKeyWith": {}
							}
						}
					}
				}
			},
			"S8q": {
				"type": "structure",
				"members": {
					"ID": {},
					"DisplayName": {}
				}
			},
			"S8r": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Prefix": {}
					}
				},
				"flattened": true
			},
			"S99": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"LastModified": {
							"type": "timestamp"
						},
						"ETag": {},
						"Size": {
							"type": "integer"
						},
						"StorageClass": {},
						"Owner": {
							"shape": "S2u"
						}
					}
				},
				"flattened": true
			},
			"S9r": {
				"type": "structure",
				"members": {
					"Grants": {
						"shape": "S2x",
						"locationName": "AccessControlList"
					},
					"Owner": {
						"shape": "S2u"
					}
				}
			},
			"Sab": {
				"type": "structure",
				"required": [
					"TagSet"
				],
				"members": {
					"TagSet": {
						"shape": "S3c"
					}
				}
			}
		}
	};

/***/ }),
/* 580 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListBuckets": {
				"result_key": "Buckets"
			},
			"ListMultipartUploads": {
				"input_token": [
					"KeyMarker",
					"UploadIdMarker"
				],
				"limit_key": "MaxUploads",
				"more_results": "IsTruncated",
				"output_token": [
					"NextKeyMarker",
					"NextUploadIdMarker"
				],
				"result_key": [
					"Uploads",
					"CommonPrefixes"
				]
			},
			"ListObjectVersions": {
				"input_token": [
					"KeyMarker",
					"VersionIdMarker"
				],
				"limit_key": "MaxKeys",
				"more_results": "IsTruncated",
				"output_token": [
					"NextKeyMarker",
					"NextVersionIdMarker"
				],
				"result_key": [
					"Versions",
					"DeleteMarkers",
					"CommonPrefixes"
				]
			},
			"ListObjects": {
				"input_token": "Marker",
				"limit_key": "MaxKeys",
				"more_results": "IsTruncated",
				"output_token": "NextMarker || Contents[-1].Key",
				"result_key": [
					"Contents",
					"CommonPrefixes"
				]
			},
			"ListObjectsV2": {
				"input_token": "ContinuationToken",
				"limit_key": "MaxKeys",
				"output_token": "NextContinuationToken",
				"result_key": [
					"Contents",
					"CommonPrefixes"
				]
			},
			"ListParts": {
				"input_token": "PartNumberMarker",
				"limit_key": "MaxParts",
				"more_results": "IsTruncated",
				"output_token": "NextPartNumberMarker",
				"result_key": "Parts"
			}
		}
	};

/***/ }),
/* 581 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"BucketExists": {
				"delay": 5,
				"operation": "HeadBucket",
				"maxAttempts": 20,
				"acceptors": [
					{
						"expected": 200,
						"matcher": "status",
						"state": "success"
					},
					{
						"expected": 301,
						"matcher": "status",
						"state": "success"
					},
					{
						"expected": 403,
						"matcher": "status",
						"state": "success"
					},
					{
						"expected": 404,
						"matcher": "status",
						"state": "retry"
					}
				]
			},
			"BucketNotExists": {
				"delay": 5,
				"operation": "HeadBucket",
				"maxAttempts": 20,
				"acceptors": [
					{
						"expected": 404,
						"matcher": "status",
						"state": "success"
					}
				]
			},
			"ObjectExists": {
				"delay": 5,
				"operation": "HeadObject",
				"maxAttempts": 20,
				"acceptors": [
					{
						"expected": 200,
						"matcher": "status",
						"state": "success"
					},
					{
						"expected": 404,
						"matcher": "status",
						"state": "retry"
					}
				]
			},
			"ObjectNotExists": {
				"delay": 5,
				"operation": "HeadObject",
				"maxAttempts": 20,
				"acceptors": [
					{
						"expected": 404,
						"matcher": "status",
						"state": "success"
					}
				]
			}
		}
	};

/***/ }),
/* 582 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['servicecatalog'] = {};
	AWS.ServiceCatalog = Service.defineService('servicecatalog', ['2015-12-10']);
	Object.defineProperty(apiLoader.services['servicecatalog'], '2015-12-10', {
	  get: function get() {
	    var model = __webpack_require__(583);
	    model.paginators = __webpack_require__(584).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.ServiceCatalog;


/***/ }),
/* 583 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-12-10",
			"endpointPrefix": "servicecatalog",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS Service Catalog",
			"signatureVersion": "v4",
			"targetPrefix": "AWS242ServiceCatalogService",
			"uid": "servicecatalog-2015-12-10"
		},
		"operations": {
			"AcceptPortfolioShare": {
				"input": {
					"type": "structure",
					"required": [
						"PortfolioId"
					],
					"members": {
						"AcceptLanguage": {},
						"PortfolioId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AssociatePrincipalWithPortfolio": {
				"input": {
					"type": "structure",
					"required": [
						"PortfolioId",
						"PrincipalARN",
						"PrincipalType"
					],
					"members": {
						"AcceptLanguage": {},
						"PortfolioId": {},
						"PrincipalARN": {},
						"PrincipalType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AssociateProductWithPortfolio": {
				"input": {
					"type": "structure",
					"required": [
						"ProductId",
						"PortfolioId"
					],
					"members": {
						"AcceptLanguage": {},
						"ProductId": {},
						"PortfolioId": {},
						"SourcePortfolioId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"AssociateTagOptionWithResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"TagOptionId"
					],
					"members": {
						"ResourceId": {},
						"TagOptionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateConstraint": {
				"input": {
					"type": "structure",
					"required": [
						"PortfolioId",
						"ProductId",
						"Parameters",
						"Type",
						"IdempotencyToken"
					],
					"members": {
						"AcceptLanguage": {},
						"PortfolioId": {},
						"ProductId": {},
						"Parameters": {},
						"Type": {},
						"Description": {},
						"IdempotencyToken": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConstraintDetail": {
							"shape": "Sl"
						},
						"ConstraintParameters": {},
						"Status": {}
					}
				}
			},
			"CreatePortfolio": {
				"input": {
					"type": "structure",
					"required": [
						"DisplayName",
						"ProviderName",
						"IdempotencyToken"
					],
					"members": {
						"AcceptLanguage": {},
						"DisplayName": {},
						"Description": {},
						"ProviderName": {},
						"Tags": {
							"shape": "Ss"
						},
						"IdempotencyToken": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PortfolioDetail": {
							"shape": "Sx"
						},
						"Tags": {
							"shape": "S10"
						}
					}
				}
			},
			"CreatePortfolioShare": {
				"input": {
					"type": "structure",
					"required": [
						"PortfolioId",
						"AccountId"
					],
					"members": {
						"AcceptLanguage": {},
						"PortfolioId": {},
						"AccountId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateProduct": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Owner",
						"ProductType",
						"ProvisioningArtifactParameters",
						"IdempotencyToken"
					],
					"members": {
						"AcceptLanguage": {},
						"Name": {},
						"Owner": {},
						"Description": {},
						"Distributor": {},
						"SupportDescription": {},
						"SupportEmail": {},
						"SupportUrl": {},
						"ProductType": {},
						"Tags": {
							"shape": "Ss"
						},
						"ProvisioningArtifactParameters": {
							"shape": "S1b"
						},
						"IdempotencyToken": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProductViewDetail": {
							"shape": "S1j"
						},
						"ProvisioningArtifactDetail": {
							"shape": "S1o"
						},
						"Tags": {
							"shape": "S10"
						}
					}
				}
			},
			"CreateProvisioningArtifact": {
				"input": {
					"type": "structure",
					"required": [
						"ProductId",
						"Parameters",
						"IdempotencyToken"
					],
					"members": {
						"AcceptLanguage": {},
						"ProductId": {},
						"Parameters": {
							"shape": "S1b"
						},
						"IdempotencyToken": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProvisioningArtifactDetail": {
							"shape": "S1o"
						},
						"Info": {
							"shape": "S1e"
						},
						"Status": {}
					}
				}
			},
			"CreateTagOption": {
				"input": {
					"type": "structure",
					"required": [
						"Key",
						"Value"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TagOptionDetail": {
							"shape": "S1v"
						}
					}
				}
			},
			"DeleteConstraint": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeletePortfolio": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeletePortfolioShare": {
				"input": {
					"type": "structure",
					"required": [
						"PortfolioId",
						"AccountId"
					],
					"members": {
						"AcceptLanguage": {},
						"PortfolioId": {},
						"AccountId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteProduct": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteProvisioningArtifact": {
				"input": {
					"type": "structure",
					"required": [
						"ProductId",
						"ProvisioningArtifactId"
					],
					"members": {
						"AcceptLanguage": {},
						"ProductId": {},
						"ProvisioningArtifactId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeConstraint": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConstraintDetail": {
							"shape": "Sl"
						},
						"ConstraintParameters": {},
						"Status": {}
					}
				}
			},
			"DescribePortfolio": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PortfolioDetail": {
							"shape": "Sx"
						},
						"Tags": {
							"shape": "S10"
						},
						"TagOptions": {
							"shape": "S2b"
						}
					}
				}
			},
			"DescribeProduct": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProductViewSummary": {
							"shape": "S1k"
						},
						"ProvisioningArtifacts": {
							"shape": "S2e"
						}
					}
				}
			},
			"DescribeProductAsAdmin": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProductViewDetail": {
							"shape": "S1j"
						},
						"ProvisioningArtifactSummaries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Name": {},
									"Description": {},
									"CreatedTime": {
										"type": "timestamp"
									},
									"ProvisioningArtifactMetadata": {
										"shape": "S1e"
									}
								}
							}
						},
						"Tags": {
							"shape": "S10"
						},
						"TagOptions": {
							"shape": "S2b"
						}
					}
				}
			},
			"DescribeProductView": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProductViewSummary": {
							"shape": "S1k"
						},
						"ProvisioningArtifacts": {
							"shape": "S2e"
						}
					}
				}
			},
			"DescribeProvisionedProduct": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProvisionedProductDetail": {
							"shape": "S2p"
						}
					}
				}
			},
			"DescribeProvisioningArtifact": {
				"input": {
					"type": "structure",
					"required": [
						"ProvisioningArtifactId",
						"ProductId"
					],
					"members": {
						"AcceptLanguage": {},
						"ProvisioningArtifactId": {},
						"ProductId": {},
						"Verbose": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProvisioningArtifactDetail": {
							"shape": "S1o"
						},
						"Info": {
							"shape": "S1e"
						},
						"Status": {}
					}
				}
			},
			"DescribeProvisioningParameters": {
				"input": {
					"type": "structure",
					"required": [
						"ProductId",
						"ProvisioningArtifactId"
					],
					"members": {
						"AcceptLanguage": {},
						"ProductId": {},
						"ProvisioningArtifactId": {},
						"PathId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProvisioningArtifactParameters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ParameterKey": {},
									"DefaultValue": {},
									"ParameterType": {},
									"IsNoEcho": {
										"type": "boolean"
									},
									"Description": {},
									"ParameterConstraints": {
										"type": "structure",
										"members": {
											"AllowedValues": {
												"type": "list",
												"member": {}
											}
										}
									}
								}
							}
						},
						"ConstraintSummaries": {
							"shape": "S3b"
						},
						"UsageInstructions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Type": {},
									"Value": {}
								}
							}
						},
						"TagOptions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Key": {},
									"Values": {
										"type": "list",
										"member": {}
									}
								}
							}
						}
					}
				}
			},
			"DescribeRecord": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {},
						"PageToken": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RecordDetail": {
							"shape": "S3o"
						},
						"RecordOutputs": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"OutputKey": {},
									"OutputValue": {},
									"Description": {}
								}
							}
						},
						"NextPageToken": {}
					}
				}
			},
			"DescribeTagOption": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TagOptionDetail": {
							"shape": "S1v"
						}
					}
				}
			},
			"DisassociatePrincipalFromPortfolio": {
				"input": {
					"type": "structure",
					"required": [
						"PortfolioId",
						"PrincipalARN"
					],
					"members": {
						"AcceptLanguage": {},
						"PortfolioId": {},
						"PrincipalARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DisassociateProductFromPortfolio": {
				"input": {
					"type": "structure",
					"required": [
						"ProductId",
						"PortfolioId"
					],
					"members": {
						"AcceptLanguage": {},
						"ProductId": {},
						"PortfolioId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DisassociateTagOptionFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"TagOptionId"
					],
					"members": {
						"ResourceId": {},
						"TagOptionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ListAcceptedPortfolioShares": {
				"input": {
					"type": "structure",
					"members": {
						"AcceptLanguage": {},
						"PageToken": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PortfolioDetails": {
							"shape": "S4f"
						},
						"NextPageToken": {}
					}
				}
			},
			"ListConstraintsForPortfolio": {
				"input": {
					"type": "structure",
					"required": [
						"PortfolioId"
					],
					"members": {
						"AcceptLanguage": {},
						"PortfolioId": {},
						"ProductId": {},
						"PageSize": {
							"type": "integer"
						},
						"PageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConstraintDetails": {
							"type": "list",
							"member": {
								"shape": "Sl"
							}
						},
						"NextPageToken": {}
					}
				}
			},
			"ListLaunchPaths": {
				"input": {
					"type": "structure",
					"required": [
						"ProductId"
					],
					"members": {
						"AcceptLanguage": {},
						"ProductId": {},
						"PageSize": {
							"type": "integer"
						},
						"PageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"LaunchPathSummaries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"ConstraintSummaries": {
										"shape": "S3b"
									},
									"Tags": {
										"shape": "S10"
									},
									"Name": {}
								}
							}
						},
						"NextPageToken": {}
					}
				}
			},
			"ListPortfolioAccess": {
				"input": {
					"type": "structure",
					"required": [
						"PortfolioId"
					],
					"members": {
						"AcceptLanguage": {},
						"PortfolioId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AccountIds": {
							"type": "list",
							"member": {}
						},
						"NextPageToken": {}
					}
				}
			},
			"ListPortfolios": {
				"input": {
					"type": "structure",
					"members": {
						"AcceptLanguage": {},
						"PageToken": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PortfolioDetails": {
							"shape": "S4f"
						},
						"NextPageToken": {}
					}
				}
			},
			"ListPortfoliosForProduct": {
				"input": {
					"type": "structure",
					"required": [
						"ProductId"
					],
					"members": {
						"AcceptLanguage": {},
						"ProductId": {},
						"PageToken": {},
						"PageSize": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PortfolioDetails": {
							"shape": "S4f"
						},
						"NextPageToken": {}
					}
				}
			},
			"ListPrincipalsForPortfolio": {
				"input": {
					"type": "structure",
					"required": [
						"PortfolioId"
					],
					"members": {
						"AcceptLanguage": {},
						"PortfolioId": {},
						"PageSize": {
							"type": "integer"
						},
						"PageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Principals": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"PrincipalARN": {},
									"PrincipalType": {}
								}
							}
						},
						"NextPageToken": {}
					}
				}
			},
			"ListProvisioningArtifacts": {
				"input": {
					"type": "structure",
					"required": [
						"ProductId"
					],
					"members": {
						"AcceptLanguage": {},
						"ProductId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProvisioningArtifactDetails": {
							"type": "list",
							"member": {
								"shape": "S1o"
							}
						},
						"NextPageToken": {}
					}
				}
			},
			"ListRecordHistory": {
				"input": {
					"type": "structure",
					"members": {
						"AcceptLanguage": {},
						"AccessLevelFilter": {
							"shape": "S53"
						},
						"SearchFilter": {
							"type": "structure",
							"members": {
								"Key": {},
								"Value": {}
							}
						},
						"PageSize": {
							"type": "integer"
						},
						"PageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RecordDetails": {
							"type": "list",
							"member": {
								"shape": "S3o"
							}
						},
						"NextPageToken": {}
					}
				}
			},
			"ListResourcesForTagOption": {
				"input": {
					"type": "structure",
					"required": [
						"TagOptionId"
					],
					"members": {
						"TagOptionId": {},
						"ResourceType": {},
						"PageSize": {
							"type": "integer"
						},
						"PageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResourceDetails": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"ARN": {},
									"Name": {},
									"Description": {},
									"CreatedTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"PageToken": {}
					}
				}
			},
			"ListTagOptions": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"type": "structure",
							"members": {
								"Key": {},
								"Value": {},
								"Active": {
									"type": "boolean"
								}
							}
						},
						"PageSize": {
							"type": "integer"
						},
						"PageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TagOptionDetails": {
							"shape": "S2b"
						},
						"PageToken": {}
					}
				}
			},
			"ProvisionProduct": {
				"input": {
					"type": "structure",
					"required": [
						"ProductId",
						"ProvisioningArtifactId",
						"ProvisionedProductName",
						"ProvisionToken"
					],
					"members": {
						"AcceptLanguage": {},
						"ProductId": {},
						"ProvisioningArtifactId": {},
						"PathId": {},
						"ProvisionedProductName": {},
						"ProvisioningParameters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Key": {},
									"Value": {}
								}
							}
						},
						"Tags": {
							"shape": "S10"
						},
						"NotificationArns": {
							"type": "list",
							"member": {}
						},
						"ProvisionToken": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RecordDetail": {
							"shape": "S3o"
						}
					}
				}
			},
			"RejectPortfolioShare": {
				"input": {
					"type": "structure",
					"required": [
						"PortfolioId"
					],
					"members": {
						"AcceptLanguage": {},
						"PortfolioId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ScanProvisionedProducts": {
				"input": {
					"type": "structure",
					"members": {
						"AcceptLanguage": {},
						"AccessLevelFilter": {
							"shape": "S53"
						},
						"PageSize": {
							"type": "integer"
						},
						"PageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProvisionedProducts": {
							"type": "list",
							"member": {
								"shape": "S2p"
							}
						},
						"NextPageToken": {}
					}
				}
			},
			"SearchProducts": {
				"input": {
					"type": "structure",
					"members": {
						"AcceptLanguage": {},
						"Filters": {
							"shape": "S61"
						},
						"PageSize": {
							"type": "integer"
						},
						"SortBy": {},
						"SortOrder": {},
						"PageToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProductViewSummaries": {
							"type": "list",
							"member": {
								"shape": "S1k"
							}
						},
						"ProductViewAggregations": {
							"type": "map",
							"key": {},
							"value": {
								"type": "list",
								"member": {
									"type": "structure",
									"members": {
										"Value": {},
										"ApproximateCount": {
											"type": "integer"
										}
									}
								}
							}
						},
						"NextPageToken": {}
					}
				}
			},
			"SearchProductsAsAdmin": {
				"input": {
					"type": "structure",
					"members": {
						"AcceptLanguage": {},
						"PortfolioId": {},
						"Filters": {
							"shape": "S61"
						},
						"SortBy": {},
						"SortOrder": {},
						"PageToken": {},
						"PageSize": {
							"type": "integer"
						},
						"ProductSource": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProductViewDetails": {
							"type": "list",
							"member": {
								"shape": "S1j"
							}
						},
						"NextPageToken": {}
					}
				}
			},
			"TerminateProvisionedProduct": {
				"input": {
					"type": "structure",
					"required": [
						"TerminateToken"
					],
					"members": {
						"ProvisionedProductName": {},
						"ProvisionedProductId": {},
						"TerminateToken": {
							"idempotencyToken": true
						},
						"IgnoreErrors": {
							"type": "boolean"
						},
						"AcceptLanguage": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RecordDetail": {
							"shape": "S3o"
						}
					}
				}
			},
			"UpdateConstraint": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {},
						"Description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ConstraintDetail": {
							"shape": "Sl"
						},
						"ConstraintParameters": {},
						"Status": {}
					}
				}
			},
			"UpdatePortfolio": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {},
						"DisplayName": {},
						"Description": {},
						"ProviderName": {},
						"AddTags": {
							"shape": "Ss"
						},
						"RemoveTags": {
							"shape": "S6p"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"PortfolioDetail": {
							"shape": "Sx"
						},
						"Tags": {
							"shape": "S10"
						}
					}
				}
			},
			"UpdateProduct": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"AcceptLanguage": {},
						"Id": {},
						"Name": {},
						"Owner": {},
						"Description": {},
						"Distributor": {},
						"SupportDescription": {},
						"SupportEmail": {},
						"SupportUrl": {},
						"AddTags": {
							"shape": "Ss"
						},
						"RemoveTags": {
							"shape": "S6p"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProductViewDetail": {
							"shape": "S1j"
						},
						"Tags": {
							"shape": "S10"
						}
					}
				}
			},
			"UpdateProvisionedProduct": {
				"input": {
					"type": "structure",
					"required": [
						"UpdateToken"
					],
					"members": {
						"AcceptLanguage": {},
						"ProvisionedProductName": {},
						"ProvisionedProductId": {},
						"ProductId": {},
						"ProvisioningArtifactId": {},
						"PathId": {},
						"ProvisioningParameters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Key": {},
									"Value": {},
									"UsePreviousValue": {
										"type": "boolean"
									}
								}
							}
						},
						"UpdateToken": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"RecordDetail": {
							"shape": "S3o"
						}
					}
				}
			},
			"UpdateProvisioningArtifact": {
				"input": {
					"type": "structure",
					"required": [
						"ProductId",
						"ProvisioningArtifactId"
					],
					"members": {
						"AcceptLanguage": {},
						"ProductId": {},
						"ProvisioningArtifactId": {},
						"Name": {},
						"Description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProvisioningArtifactDetail": {
							"shape": "S1o"
						},
						"Info": {
							"shape": "S1e"
						},
						"Status": {}
					}
				}
			},
			"UpdateTagOption": {
				"input": {
					"type": "structure",
					"required": [
						"Id"
					],
					"members": {
						"Id": {},
						"Value": {},
						"Active": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TagOptionDetail": {
							"shape": "S1v"
						}
					}
				}
			}
		},
		"shapes": {
			"Sl": {
				"type": "structure",
				"members": {
					"ConstraintId": {},
					"Type": {},
					"Description": {},
					"Owner": {}
				}
			},
			"Ss": {
				"type": "list",
				"member": {
					"shape": "St"
				}
			},
			"St": {
				"type": "structure",
				"required": [
					"Key",
					"Value"
				],
				"members": {
					"Key": {},
					"Value": {}
				}
			},
			"Sx": {
				"type": "structure",
				"members": {
					"Id": {},
					"ARN": {},
					"DisplayName": {},
					"Description": {},
					"CreatedTime": {
						"type": "timestamp"
					},
					"ProviderName": {}
				}
			},
			"S10": {
				"type": "list",
				"member": {
					"shape": "St"
				}
			},
			"S1b": {
				"type": "structure",
				"required": [
					"Info"
				],
				"members": {
					"Name": {},
					"Description": {},
					"Info": {
						"shape": "S1e"
					},
					"Type": {}
				}
			},
			"S1e": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1j": {
				"type": "structure",
				"members": {
					"ProductViewSummary": {
						"shape": "S1k"
					},
					"Status": {},
					"ProductARN": {},
					"CreatedTime": {
						"type": "timestamp"
					}
				}
			},
			"S1k": {
				"type": "structure",
				"members": {
					"Id": {},
					"ProductId": {},
					"Name": {},
					"Owner": {},
					"ShortDescription": {},
					"Type": {},
					"Distributor": {},
					"HasDefaultPath": {
						"type": "boolean"
					},
					"SupportEmail": {},
					"SupportDescription": {},
					"SupportUrl": {}
				}
			},
			"S1o": {
				"type": "structure",
				"members": {
					"Id": {},
					"Name": {},
					"Description": {},
					"Type": {},
					"CreatedTime": {
						"type": "timestamp"
					}
				}
			},
			"S1v": {
				"type": "structure",
				"members": {
					"Key": {},
					"Value": {},
					"Active": {
						"type": "boolean"
					},
					"Id": {}
				}
			},
			"S2b": {
				"type": "list",
				"member": {
					"shape": "S1v"
				}
			},
			"S2e": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Id": {},
						"Name": {},
						"Description": {},
						"CreatedTime": {
							"type": "timestamp"
						}
					}
				}
			},
			"S2p": {
				"type": "structure",
				"members": {
					"Name": {},
					"Arn": {},
					"Type": {},
					"Id": {},
					"Status": {},
					"StatusMessage": {},
					"CreatedTime": {
						"type": "timestamp"
					},
					"IdempotencyToken": {},
					"LastRecordId": {}
				}
			},
			"S3b": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Type": {},
						"Description": {}
					}
				}
			},
			"S3o": {
				"type": "structure",
				"members": {
					"RecordId": {},
					"ProvisionedProductName": {},
					"Status": {},
					"CreatedTime": {
						"type": "timestamp"
					},
					"UpdatedTime": {
						"type": "timestamp"
					},
					"ProvisionedProductType": {},
					"RecordType": {},
					"ProvisionedProductId": {},
					"ProductId": {},
					"ProvisioningArtifactId": {},
					"PathId": {},
					"RecordErrors": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"Code": {},
								"Description": {}
							}
						}
					},
					"RecordTags": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"Key": {},
								"Value": {}
							}
						}
					}
				}
			},
			"S4f": {
				"type": "list",
				"member": {
					"shape": "Sx"
				}
			},
			"S53": {
				"type": "structure",
				"members": {
					"Key": {},
					"Value": {}
				}
			},
			"S61": {
				"type": "map",
				"key": {},
				"value": {
					"type": "list",
					"member": {}
				}
			},
			"S6p": {
				"type": "list",
				"member": {}
			}
		}
	};

/***/ }),
/* 584 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListResourcesForTagOption": {
				"input_token": "PageToken",
				"output_token": "PageToken",
				"limit_key": "PageSize"
			},
			"ListTagOptions": {
				"input_token": "PageToken",
				"output_token": "PageToken",
				"limit_key": "PageSize"
			}
		}
	};

/***/ }),
/* 585 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['ses'] = {};
	AWS.SES = Service.defineService('ses', ['2010-12-01']);
	Object.defineProperty(apiLoader.services['ses'], '2010-12-01', {
	  get: function get() {
	    var model = __webpack_require__(586);
	    model.paginators = __webpack_require__(587).pagination;
	    model.waiters = __webpack_require__(588).waiters;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.SES;


/***/ }),
/* 586 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"uid": "email-2010-12-01",
			"apiVersion": "2010-12-01",
			"endpointPrefix": "email",
			"protocol": "query",
			"serviceAbbreviation": "Amazon SES",
			"serviceFullName": "Amazon Simple Email Service",
			"signatureVersion": "v4",
			"signingName": "ses",
			"xmlNamespace": "http://ses.amazonaws.com/doc/2010-12-01/"
		},
		"operations": {
			"CloneReceiptRuleSet": {
				"input": {
					"type": "structure",
					"required": [
						"RuleSetName",
						"OriginalRuleSetName"
					],
					"members": {
						"RuleSetName": {},
						"OriginalRuleSetName": {}
					}
				},
				"output": {
					"resultWrapper": "CloneReceiptRuleSetResult",
					"type": "structure",
					"members": {}
				}
			},
			"CreateConfigurationSet": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigurationSet"
					],
					"members": {
						"ConfigurationSet": {
							"shape": "S5"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateConfigurationSetResult",
					"type": "structure",
					"members": {}
				}
			},
			"CreateConfigurationSetEventDestination": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigurationSetName",
						"EventDestination"
					],
					"members": {
						"ConfigurationSetName": {},
						"EventDestination": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateConfigurationSetEventDestinationResult",
					"type": "structure",
					"members": {}
				}
			},
			"CreateReceiptFilter": {
				"input": {
					"type": "structure",
					"required": [
						"Filter"
					],
					"members": {
						"Filter": {
							"shape": "So"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateReceiptFilterResult",
					"type": "structure",
					"members": {}
				}
			},
			"CreateReceiptRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleSetName",
						"Rule"
					],
					"members": {
						"RuleSetName": {},
						"After": {},
						"Rule": {
							"shape": "Sw"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateReceiptRuleResult",
					"type": "structure",
					"members": {}
				}
			},
			"CreateReceiptRuleSet": {
				"input": {
					"type": "structure",
					"required": [
						"RuleSetName"
					],
					"members": {
						"RuleSetName": {}
					}
				},
				"output": {
					"resultWrapper": "CreateReceiptRuleSetResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteConfigurationSet": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigurationSetName"
					],
					"members": {
						"ConfigurationSetName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteConfigurationSetResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteConfigurationSetEventDestination": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigurationSetName",
						"EventDestinationName"
					],
					"members": {
						"ConfigurationSetName": {},
						"EventDestinationName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteConfigurationSetEventDestinationResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteIdentity": {
				"input": {
					"type": "structure",
					"required": [
						"Identity"
					],
					"members": {
						"Identity": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteIdentityResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteIdentityPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"Identity",
						"PolicyName"
					],
					"members": {
						"Identity": {},
						"PolicyName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteIdentityPolicyResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteReceiptFilter": {
				"input": {
					"type": "structure",
					"required": [
						"FilterName"
					],
					"members": {
						"FilterName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteReceiptFilterResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteReceiptRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleSetName",
						"RuleName"
					],
					"members": {
						"RuleSetName": {},
						"RuleName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteReceiptRuleResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteReceiptRuleSet": {
				"input": {
					"type": "structure",
					"required": [
						"RuleSetName"
					],
					"members": {
						"RuleSetName": {}
					}
				},
				"output": {
					"resultWrapper": "DeleteReceiptRuleSetResult",
					"type": "structure",
					"members": {}
				}
			},
			"DeleteVerifiedEmailAddress": {
				"input": {
					"type": "structure",
					"required": [
						"EmailAddress"
					],
					"members": {
						"EmailAddress": {}
					}
				}
			},
			"DescribeActiveReceiptRuleSet": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"resultWrapper": "DescribeActiveReceiptRuleSetResult",
					"type": "structure",
					"members": {
						"Metadata": {
							"shape": "S26"
						},
						"Rules": {
							"shape": "S28"
						}
					}
				}
			},
			"DescribeConfigurationSet": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigurationSetName"
					],
					"members": {
						"ConfigurationSetName": {},
						"ConfigurationSetAttributeNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "DescribeConfigurationSetResult",
					"type": "structure",
					"members": {
						"ConfigurationSet": {
							"shape": "S5"
						},
						"EventDestinations": {
							"type": "list",
							"member": {
								"shape": "S9"
							}
						}
					}
				}
			},
			"DescribeReceiptRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleSetName",
						"RuleName"
					],
					"members": {
						"RuleSetName": {},
						"RuleName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReceiptRuleResult",
					"type": "structure",
					"members": {
						"Rule": {
							"shape": "Sw"
						}
					}
				}
			},
			"DescribeReceiptRuleSet": {
				"input": {
					"type": "structure",
					"required": [
						"RuleSetName"
					],
					"members": {
						"RuleSetName": {}
					}
				},
				"output": {
					"resultWrapper": "DescribeReceiptRuleSetResult",
					"type": "structure",
					"members": {
						"Metadata": {
							"shape": "S26"
						},
						"Rules": {
							"shape": "S28"
						}
					}
				}
			},
			"GetIdentityDkimAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"Identities"
					],
					"members": {
						"Identities": {
							"shape": "S2j"
						}
					}
				},
				"output": {
					"resultWrapper": "GetIdentityDkimAttributesResult",
					"type": "structure",
					"required": [
						"DkimAttributes"
					],
					"members": {
						"DkimAttributes": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"required": [
									"DkimEnabled",
									"DkimVerificationStatus"
								],
								"members": {
									"DkimEnabled": {
										"type": "boolean"
									},
									"DkimVerificationStatus": {},
									"DkimTokens": {
										"shape": "S2o"
									}
								}
							}
						}
					}
				}
			},
			"GetIdentityMailFromDomainAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"Identities"
					],
					"members": {
						"Identities": {
							"shape": "S2j"
						}
					}
				},
				"output": {
					"resultWrapper": "GetIdentityMailFromDomainAttributesResult",
					"type": "structure",
					"required": [
						"MailFromDomainAttributes"
					],
					"members": {
						"MailFromDomainAttributes": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"required": [
									"MailFromDomain",
									"MailFromDomainStatus",
									"BehaviorOnMXFailure"
								],
								"members": {
									"MailFromDomain": {},
									"MailFromDomainStatus": {},
									"BehaviorOnMXFailure": {}
								}
							}
						}
					}
				}
			},
			"GetIdentityNotificationAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"Identities"
					],
					"members": {
						"Identities": {
							"shape": "S2j"
						}
					}
				},
				"output": {
					"resultWrapper": "GetIdentityNotificationAttributesResult",
					"type": "structure",
					"required": [
						"NotificationAttributes"
					],
					"members": {
						"NotificationAttributes": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"required": [
									"BounceTopic",
									"ComplaintTopic",
									"DeliveryTopic",
									"ForwardingEnabled"
								],
								"members": {
									"BounceTopic": {},
									"ComplaintTopic": {},
									"DeliveryTopic": {},
									"ForwardingEnabled": {
										"type": "boolean"
									},
									"HeadersInBounceNotificationsEnabled": {
										"type": "boolean"
									},
									"HeadersInComplaintNotificationsEnabled": {
										"type": "boolean"
									},
									"HeadersInDeliveryNotificationsEnabled": {
										"type": "boolean"
									}
								}
							}
						}
					}
				}
			},
			"GetIdentityPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"Identity",
						"PolicyNames"
					],
					"members": {
						"Identity": {},
						"PolicyNames": {
							"shape": "S33"
						}
					}
				},
				"output": {
					"resultWrapper": "GetIdentityPoliciesResult",
					"type": "structure",
					"required": [
						"Policies"
					],
					"members": {
						"Policies": {
							"type": "map",
							"key": {},
							"value": {}
						}
					}
				}
			},
			"GetIdentityVerificationAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"Identities"
					],
					"members": {
						"Identities": {
							"shape": "S2j"
						}
					}
				},
				"output": {
					"resultWrapper": "GetIdentityVerificationAttributesResult",
					"type": "structure",
					"required": [
						"VerificationAttributes"
					],
					"members": {
						"VerificationAttributes": {
							"type": "map",
							"key": {},
							"value": {
								"type": "structure",
								"required": [
									"VerificationStatus"
								],
								"members": {
									"VerificationStatus": {},
									"VerificationToken": {}
								}
							}
						}
					}
				}
			},
			"GetSendQuota": {
				"output": {
					"resultWrapper": "GetSendQuotaResult",
					"type": "structure",
					"members": {
						"Max24HourSend": {
							"type": "double"
						},
						"MaxSendRate": {
							"type": "double"
						},
						"SentLast24Hours": {
							"type": "double"
						}
					}
				}
			},
			"GetSendStatistics": {
				"output": {
					"resultWrapper": "GetSendStatisticsResult",
					"type": "structure",
					"members": {
						"SendDataPoints": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Timestamp": {
										"type": "timestamp"
									},
									"DeliveryAttempts": {
										"type": "long"
									},
									"Bounces": {
										"type": "long"
									},
									"Complaints": {
										"type": "long"
									},
									"Rejects": {
										"type": "long"
									}
								}
							}
						}
					}
				}
			},
			"ListConfigurationSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListConfigurationSetsResult",
					"type": "structure",
					"members": {
						"ConfigurationSets": {
							"type": "list",
							"member": {
								"shape": "S5"
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListIdentities": {
				"input": {
					"type": "structure",
					"members": {
						"IdentityType": {},
						"NextToken": {},
						"MaxItems": {
							"type": "integer"
						}
					}
				},
				"output": {
					"resultWrapper": "ListIdentitiesResult",
					"type": "structure",
					"required": [
						"Identities"
					],
					"members": {
						"Identities": {
							"shape": "S2j"
						},
						"NextToken": {}
					}
				}
			},
			"ListIdentityPolicies": {
				"input": {
					"type": "structure",
					"required": [
						"Identity"
					],
					"members": {
						"Identity": {}
					}
				},
				"output": {
					"resultWrapper": "ListIdentityPoliciesResult",
					"type": "structure",
					"required": [
						"PolicyNames"
					],
					"members": {
						"PolicyNames": {
							"shape": "S33"
						}
					}
				}
			},
			"ListReceiptFilters": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"resultWrapper": "ListReceiptFiltersResult",
					"type": "structure",
					"members": {
						"Filters": {
							"type": "list",
							"member": {
								"shape": "So"
							}
						}
					}
				}
			},
			"ListReceiptRuleSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListReceiptRuleSetsResult",
					"type": "structure",
					"members": {
						"RuleSets": {
							"type": "list",
							"member": {
								"shape": "S26"
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListVerifiedEmailAddresses": {
				"output": {
					"resultWrapper": "ListVerifiedEmailAddressesResult",
					"type": "structure",
					"members": {
						"VerifiedEmailAddresses": {
							"shape": "S40"
						}
					}
				}
			},
			"PutIdentityPolicy": {
				"input": {
					"type": "structure",
					"required": [
						"Identity",
						"PolicyName",
						"Policy"
					],
					"members": {
						"Identity": {},
						"PolicyName": {},
						"Policy": {}
					}
				},
				"output": {
					"resultWrapper": "PutIdentityPolicyResult",
					"type": "structure",
					"members": {}
				}
			},
			"ReorderReceiptRuleSet": {
				"input": {
					"type": "structure",
					"required": [
						"RuleSetName",
						"RuleNames"
					],
					"members": {
						"RuleSetName": {},
						"RuleNames": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "ReorderReceiptRuleSetResult",
					"type": "structure",
					"members": {}
				}
			},
			"SendBounce": {
				"input": {
					"type": "structure",
					"required": [
						"OriginalMessageId",
						"BounceSender",
						"BouncedRecipientInfoList"
					],
					"members": {
						"OriginalMessageId": {},
						"BounceSender": {},
						"Explanation": {},
						"MessageDsn": {
							"type": "structure",
							"required": [
								"ReportingMta"
							],
							"members": {
								"ReportingMta": {},
								"ArrivalDate": {
									"type": "timestamp"
								},
								"ExtensionFields": {
									"shape": "S4c"
								}
							}
						},
						"BouncedRecipientInfoList": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Recipient"
								],
								"members": {
									"Recipient": {},
									"RecipientArn": {},
									"BounceType": {},
									"RecipientDsnFields": {
										"type": "structure",
										"required": [
											"Action",
											"Status"
										],
										"members": {
											"FinalRecipient": {},
											"Action": {},
											"RemoteMta": {},
											"Status": {},
											"DiagnosticCode": {},
											"LastAttemptDate": {
												"type": "timestamp"
											},
											"ExtensionFields": {
												"shape": "S4c"
											}
										}
									}
								}
							}
						},
						"BounceSenderArn": {}
					}
				},
				"output": {
					"resultWrapper": "SendBounceResult",
					"type": "structure",
					"members": {
						"MessageId": {}
					}
				}
			},
			"SendEmail": {
				"input": {
					"type": "structure",
					"required": [
						"Source",
						"Destination",
						"Message"
					],
					"members": {
						"Source": {},
						"Destination": {
							"type": "structure",
							"members": {
								"ToAddresses": {
									"shape": "S40"
								},
								"CcAddresses": {
									"shape": "S40"
								},
								"BccAddresses": {
									"shape": "S40"
								}
							}
						},
						"Message": {
							"type": "structure",
							"required": [
								"Subject",
								"Body"
							],
							"members": {
								"Subject": {
									"shape": "S4t"
								},
								"Body": {
									"type": "structure",
									"members": {
										"Text": {
											"shape": "S4t"
										},
										"Html": {
											"shape": "S4t"
										}
									}
								}
							}
						},
						"ReplyToAddresses": {
							"shape": "S40"
						},
						"ReturnPath": {},
						"SourceArn": {},
						"ReturnPathArn": {},
						"Tags": {
							"shape": "S4x"
						},
						"ConfigurationSetName": {}
					}
				},
				"output": {
					"resultWrapper": "SendEmailResult",
					"type": "structure",
					"required": [
						"MessageId"
					],
					"members": {
						"MessageId": {}
					}
				}
			},
			"SendRawEmail": {
				"input": {
					"type": "structure",
					"required": [
						"RawMessage"
					],
					"members": {
						"Source": {},
						"Destinations": {
							"shape": "S40"
						},
						"RawMessage": {
							"type": "structure",
							"required": [
								"Data"
							],
							"members": {
								"Data": {
									"type": "blob"
								}
							}
						},
						"FromArn": {},
						"SourceArn": {},
						"ReturnPathArn": {},
						"Tags": {
							"shape": "S4x"
						},
						"ConfigurationSetName": {}
					}
				},
				"output": {
					"resultWrapper": "SendRawEmailResult",
					"type": "structure",
					"required": [
						"MessageId"
					],
					"members": {
						"MessageId": {}
					}
				}
			},
			"SetActiveReceiptRuleSet": {
				"input": {
					"type": "structure",
					"members": {
						"RuleSetName": {}
					}
				},
				"output": {
					"resultWrapper": "SetActiveReceiptRuleSetResult",
					"type": "structure",
					"members": {}
				}
			},
			"SetIdentityDkimEnabled": {
				"input": {
					"type": "structure",
					"required": [
						"Identity",
						"DkimEnabled"
					],
					"members": {
						"Identity": {},
						"DkimEnabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "SetIdentityDkimEnabledResult",
					"type": "structure",
					"members": {}
				}
			},
			"SetIdentityFeedbackForwardingEnabled": {
				"input": {
					"type": "structure",
					"required": [
						"Identity",
						"ForwardingEnabled"
					],
					"members": {
						"Identity": {},
						"ForwardingEnabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "SetIdentityFeedbackForwardingEnabledResult",
					"type": "structure",
					"members": {}
				}
			},
			"SetIdentityHeadersInNotificationsEnabled": {
				"input": {
					"type": "structure",
					"required": [
						"Identity",
						"NotificationType",
						"Enabled"
					],
					"members": {
						"Identity": {},
						"NotificationType": {},
						"Enabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "SetIdentityHeadersInNotificationsEnabledResult",
					"type": "structure",
					"members": {}
				}
			},
			"SetIdentityMailFromDomain": {
				"input": {
					"type": "structure",
					"required": [
						"Identity"
					],
					"members": {
						"Identity": {},
						"MailFromDomain": {},
						"BehaviorOnMXFailure": {}
					}
				},
				"output": {
					"resultWrapper": "SetIdentityMailFromDomainResult",
					"type": "structure",
					"members": {}
				}
			},
			"SetIdentityNotificationTopic": {
				"input": {
					"type": "structure",
					"required": [
						"Identity",
						"NotificationType"
					],
					"members": {
						"Identity": {},
						"NotificationType": {},
						"SnsTopic": {}
					}
				},
				"output": {
					"resultWrapper": "SetIdentityNotificationTopicResult",
					"type": "structure",
					"members": {}
				}
			},
			"SetReceiptRulePosition": {
				"input": {
					"type": "structure",
					"required": [
						"RuleSetName",
						"RuleName"
					],
					"members": {
						"RuleSetName": {},
						"RuleName": {},
						"After": {}
					}
				},
				"output": {
					"resultWrapper": "SetReceiptRulePositionResult",
					"type": "structure",
					"members": {}
				}
			},
			"UpdateConfigurationSetEventDestination": {
				"input": {
					"type": "structure",
					"required": [
						"ConfigurationSetName",
						"EventDestination"
					],
					"members": {
						"ConfigurationSetName": {},
						"EventDestination": {
							"shape": "S9"
						}
					}
				},
				"output": {
					"resultWrapper": "UpdateConfigurationSetEventDestinationResult",
					"type": "structure",
					"members": {}
				}
			},
			"UpdateReceiptRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleSetName",
						"Rule"
					],
					"members": {
						"RuleSetName": {},
						"Rule": {
							"shape": "Sw"
						}
					}
				},
				"output": {
					"resultWrapper": "UpdateReceiptRuleResult",
					"type": "structure",
					"members": {}
				}
			},
			"VerifyDomainDkim": {
				"input": {
					"type": "structure",
					"required": [
						"Domain"
					],
					"members": {
						"Domain": {}
					}
				},
				"output": {
					"resultWrapper": "VerifyDomainDkimResult",
					"type": "structure",
					"required": [
						"DkimTokens"
					],
					"members": {
						"DkimTokens": {
							"shape": "S2o"
						}
					}
				}
			},
			"VerifyDomainIdentity": {
				"input": {
					"type": "structure",
					"required": [
						"Domain"
					],
					"members": {
						"Domain": {}
					}
				},
				"output": {
					"resultWrapper": "VerifyDomainIdentityResult",
					"type": "structure",
					"required": [
						"VerificationToken"
					],
					"members": {
						"VerificationToken": {}
					}
				}
			},
			"VerifyEmailAddress": {
				"input": {
					"type": "structure",
					"required": [
						"EmailAddress"
					],
					"members": {
						"EmailAddress": {}
					}
				}
			},
			"VerifyEmailIdentity": {
				"input": {
					"type": "structure",
					"required": [
						"EmailAddress"
					],
					"members": {
						"EmailAddress": {}
					}
				},
				"output": {
					"resultWrapper": "VerifyEmailIdentityResult",
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"S5": {
				"type": "structure",
				"required": [
					"Name"
				],
				"members": {
					"Name": {}
				}
			},
			"S9": {
				"type": "structure",
				"required": [
					"Name",
					"MatchingEventTypes"
				],
				"members": {
					"Name": {},
					"Enabled": {
						"type": "boolean"
					},
					"MatchingEventTypes": {
						"type": "list",
						"member": {}
					},
					"KinesisFirehoseDestination": {
						"type": "structure",
						"required": [
							"IAMRoleARN",
							"DeliveryStreamARN"
						],
						"members": {
							"IAMRoleARN": {},
							"DeliveryStreamARN": {}
						}
					},
					"CloudWatchDestination": {
						"type": "structure",
						"required": [
							"DimensionConfigurations"
						],
						"members": {
							"DimensionConfigurations": {
								"type": "list",
								"member": {
									"type": "structure",
									"required": [
										"DimensionName",
										"DimensionValueSource",
										"DefaultDimensionValue"
									],
									"members": {
										"DimensionName": {},
										"DimensionValueSource": {},
										"DefaultDimensionValue": {}
									}
								}
							}
						}
					}
				}
			},
			"So": {
				"type": "structure",
				"required": [
					"Name",
					"IpFilter"
				],
				"members": {
					"Name": {},
					"IpFilter": {
						"type": "structure",
						"required": [
							"Policy",
							"Cidr"
						],
						"members": {
							"Policy": {},
							"Cidr": {}
						}
					}
				}
			},
			"Sw": {
				"type": "structure",
				"required": [
					"Name"
				],
				"members": {
					"Name": {},
					"Enabled": {
						"type": "boolean"
					},
					"TlsPolicy": {},
					"Recipients": {
						"type": "list",
						"member": {}
					},
					"Actions": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"S3Action": {
									"type": "structure",
									"required": [
										"BucketName"
									],
									"members": {
										"TopicArn": {},
										"BucketName": {},
										"ObjectKeyPrefix": {},
										"KmsKeyArn": {}
									}
								},
								"BounceAction": {
									"type": "structure",
									"required": [
										"SmtpReplyCode",
										"Message",
										"Sender"
									],
									"members": {
										"TopicArn": {},
										"SmtpReplyCode": {},
										"StatusCode": {},
										"Message": {},
										"Sender": {}
									}
								},
								"WorkmailAction": {
									"type": "structure",
									"required": [
										"OrganizationArn"
									],
									"members": {
										"TopicArn": {},
										"OrganizationArn": {}
									}
								},
								"LambdaAction": {
									"type": "structure",
									"required": [
										"FunctionArn"
									],
									"members": {
										"TopicArn": {},
										"FunctionArn": {},
										"InvocationType": {}
									}
								},
								"StopAction": {
									"type": "structure",
									"required": [
										"Scope"
									],
									"members": {
										"Scope": {},
										"TopicArn": {}
									}
								},
								"AddHeaderAction": {
									"type": "structure",
									"required": [
										"HeaderName",
										"HeaderValue"
									],
									"members": {
										"HeaderName": {},
										"HeaderValue": {}
									}
								},
								"SNSAction": {
									"type": "structure",
									"required": [
										"TopicArn"
									],
									"members": {
										"TopicArn": {},
										"Encoding": {}
									}
								}
							}
						}
					},
					"ScanEnabled": {
						"type": "boolean"
					}
				}
			},
			"S26": {
				"type": "structure",
				"members": {
					"Name": {},
					"CreatedTimestamp": {
						"type": "timestamp"
					}
				}
			},
			"S28": {
				"type": "list",
				"member": {
					"shape": "Sw"
				}
			},
			"S2j": {
				"type": "list",
				"member": {}
			},
			"S2o": {
				"type": "list",
				"member": {}
			},
			"S33": {
				"type": "list",
				"member": {}
			},
			"S40": {
				"type": "list",
				"member": {}
			},
			"S4c": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Name",
						"Value"
					],
					"members": {
						"Name": {},
						"Value": {}
					}
				}
			},
			"S4t": {
				"type": "structure",
				"required": [
					"Data"
				],
				"members": {
					"Data": {},
					"Charset": {}
				}
			},
			"S4x": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Name",
						"Value"
					],
					"members": {
						"Name": {},
						"Value": {}
					}
				}
			}
		}
	};

/***/ }),
/* 587 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListIdentities": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxItems",
				"result_key": "Identities"
			},
			"ListVerifiedEmailAddresses": {
				"result_key": "VerifiedEmailAddresses"
			}
		}
	};

/***/ }),
/* 588 */
/***/ (function(module, exports) {

	module.exports = {
		"version": 2,
		"waiters": {
			"IdentityExists": {
				"delay": 3,
				"operation": "GetIdentityVerificationAttributes",
				"maxAttempts": 20,
				"acceptors": [
					{
						"expected": "Success",
						"matcher": "pathAll",
						"state": "success",
						"argument": "VerificationAttributes.*.VerificationStatus"
					}
				]
			}
		}
	};

/***/ }),
/* 589 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['shield'] = {};
	AWS.Shield = Service.defineService('shield', ['2016-06-02']);
	Object.defineProperty(apiLoader.services['shield'], '2016-06-02', {
	  get: function get() {
	    var model = __webpack_require__(590);
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Shield;


/***/ }),
/* 590 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-06-02",
			"endpointPrefix": "shield",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "AWS Shield",
			"serviceFullName": "AWS Shield",
			"signatureVersion": "v4",
			"targetPrefix": "AWSShield_20160616",
			"uid": "shield-2016-06-02"
		},
		"operations": {
			"CreateProtection": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ResourceArn"
					],
					"members": {
						"Name": {},
						"ResourceArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ProtectionId": {}
					}
				}
			},
			"CreateSubscription": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteProtection": {
				"input": {
					"type": "structure",
					"required": [
						"ProtectionId"
					],
					"members": {
						"ProtectionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteSubscription": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeAttack": {
				"input": {
					"type": "structure",
					"required": [
						"AttackId"
					],
					"members": {
						"AttackId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Attack": {
							"type": "structure",
							"members": {
								"AttackId": {},
								"ResourceArn": {},
								"SubResources": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Type": {},
											"Id": {},
											"AttackVectors": {
												"type": "list",
												"member": {
													"type": "structure",
													"required": [
														"VectorType"
													],
													"members": {
														"VectorType": {},
														"VectorCounters": {
															"shape": "Sm"
														}
													}
												}
											},
											"Counters": {
												"shape": "Sm"
											}
										}
									}
								},
								"StartTime": {
									"type": "timestamp"
								},
								"EndTime": {
									"type": "timestamp"
								},
								"AttackCounters": {
									"shape": "Sm"
								},
								"Mitigations": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"MitigationName": {}
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeProtection": {
				"input": {
					"type": "structure",
					"required": [
						"ProtectionId"
					],
					"members": {
						"ProtectionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Protection": {
							"shape": "Sv"
						}
					}
				}
			},
			"DescribeSubscription": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"Subscription": {
							"type": "structure",
							"members": {
								"StartTime": {
									"type": "timestamp"
								},
								"TimeCommitmentInSeconds": {
									"type": "long"
								}
							}
						}
					}
				}
			},
			"ListAttacks": {
				"input": {
					"type": "structure",
					"members": {
						"ResourceArns": {
							"type": "list",
							"member": {}
						},
						"StartTime": {
							"shape": "S13"
						},
						"EndTime": {
							"shape": "S13"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AttackSummaries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AttackId": {},
									"ResourceArn": {},
									"StartTime": {
										"type": "timestamp"
									},
									"EndTime": {
										"type": "timestamp"
									},
									"AttackVectors": {
										"type": "list",
										"member": {
											"type": "structure",
											"required": [
												"VectorType"
											],
											"members": {
												"VectorType": {}
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListProtections": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Protections": {
							"type": "list",
							"member": {
								"shape": "Sv"
							}
						},
						"NextToken": {}
					}
				}
			}
		},
		"shapes": {
			"Sm": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Name": {},
						"Max": {
							"type": "double"
						},
						"Average": {
							"type": "double"
						},
						"Sum": {
							"type": "double"
						},
						"N": {
							"type": "integer"
						},
						"Unit": {}
					}
				}
			},
			"Sv": {
				"type": "structure",
				"members": {
					"Id": {},
					"Name": {},
					"ResourceArn": {}
				}
			},
			"S13": {
				"type": "structure",
				"members": {
					"FromInclusive": {
						"type": "timestamp"
					},
					"ToExclusive": {
						"type": "timestamp"
					}
				}
			}
		}
	};

/***/ }),
/* 591 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['simpledb'] = {};
	AWS.SimpleDB = Service.defineService('simpledb', ['2009-04-15']);
	Object.defineProperty(apiLoader.services['simpledb'], '2009-04-15', {
	  get: function get() {
	    var model = __webpack_require__(592);
	    model.paginators = __webpack_require__(593).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.SimpleDB;


/***/ }),
/* 592 */
/***/ (function(module, exports) {

	module.exports = {
		"metadata": {
			"apiVersion": "2009-04-15",
			"endpointPrefix": "sdb",
			"serviceFullName": "Amazon SimpleDB",
			"signatureVersion": "v2",
			"xmlNamespace": "http://sdb.amazonaws.com/doc/2009-04-15/",
			"protocol": "query"
		},
		"operations": {
			"BatchDeleteAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"Items"
					],
					"members": {
						"DomainName": {},
						"Items": {
							"type": "list",
							"member": {
								"locationName": "Item",
								"type": "structure",
								"required": [
									"Name"
								],
								"members": {
									"Name": {
										"locationName": "ItemName"
									},
									"Attributes": {
										"shape": "S5"
									}
								}
							},
							"flattened": true
						}
					}
				}
			},
			"BatchPutAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"Items"
					],
					"members": {
						"DomainName": {},
						"Items": {
							"type": "list",
							"member": {
								"locationName": "Item",
								"type": "structure",
								"required": [
									"Name",
									"Attributes"
								],
								"members": {
									"Name": {
										"locationName": "ItemName"
									},
									"Attributes": {
										"shape": "Sa"
									}
								}
							},
							"flattened": true
						}
					}
				}
			},
			"CreateDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				}
			},
			"DeleteAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"ItemName"
					],
					"members": {
						"DomainName": {},
						"ItemName": {},
						"Attributes": {
							"shape": "S5"
						},
						"Expected": {
							"shape": "Sf"
						}
					}
				}
			},
			"DeleteDomain": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				}
			},
			"DomainMetadata": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName"
					],
					"members": {
						"DomainName": {}
					}
				},
				"output": {
					"resultWrapper": "DomainMetadataResult",
					"type": "structure",
					"members": {
						"ItemCount": {
							"type": "integer"
						},
						"ItemNamesSizeBytes": {
							"type": "long"
						},
						"AttributeNameCount": {
							"type": "integer"
						},
						"AttributeNamesSizeBytes": {
							"type": "long"
						},
						"AttributeValueCount": {
							"type": "integer"
						},
						"AttributeValuesSizeBytes": {
							"type": "long"
						},
						"Timestamp": {
							"type": "integer"
						}
					}
				}
			},
			"GetAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"ItemName"
					],
					"members": {
						"DomainName": {},
						"ItemName": {},
						"AttributeNames": {
							"type": "list",
							"member": {
								"locationName": "AttributeName"
							},
							"flattened": true
						},
						"ConsistentRead": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "GetAttributesResult",
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "So"
						}
					}
				}
			},
			"ListDomains": {
				"input": {
					"type": "structure",
					"members": {
						"MaxNumberOfDomains": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListDomainsResult",
					"type": "structure",
					"members": {
						"DomainNames": {
							"type": "list",
							"member": {
								"locationName": "DomainName"
							},
							"flattened": true
						},
						"NextToken": {}
					}
				}
			},
			"PutAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"DomainName",
						"ItemName",
						"Attributes"
					],
					"members": {
						"DomainName": {},
						"ItemName": {},
						"Attributes": {
							"shape": "Sa"
						},
						"Expected": {
							"shape": "Sf"
						}
					}
				}
			},
			"Select": {
				"input": {
					"type": "structure",
					"required": [
						"SelectExpression"
					],
					"members": {
						"SelectExpression": {},
						"NextToken": {},
						"ConsistentRead": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"resultWrapper": "SelectResult",
					"type": "structure",
					"members": {
						"Items": {
							"type": "list",
							"member": {
								"locationName": "Item",
								"type": "structure",
								"required": [
									"Name",
									"Attributes"
								],
								"members": {
									"Name": {},
									"AlternateNameEncoding": {},
									"Attributes": {
										"shape": "So"
									}
								}
							},
							"flattened": true
						},
						"NextToken": {}
					}
				}
			}
		},
		"shapes": {
			"S5": {
				"type": "list",
				"member": {
					"locationName": "Attribute",
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"Value": {}
					}
				},
				"flattened": true
			},
			"Sa": {
				"type": "list",
				"member": {
					"locationName": "Attribute",
					"type": "structure",
					"required": [
						"Name",
						"Value"
					],
					"members": {
						"Name": {},
						"Value": {},
						"Replace": {
							"type": "boolean"
						}
					}
				},
				"flattened": true
			},
			"Sf": {
				"type": "structure",
				"members": {
					"Name": {},
					"Value": {},
					"Exists": {
						"type": "boolean"
					}
				}
			},
			"So": {
				"type": "list",
				"member": {
					"locationName": "Attribute",
					"type": "structure",
					"required": [
						"Name",
						"Value"
					],
					"members": {
						"Name": {},
						"AlternateNameEncoding": {},
						"Value": {},
						"AlternateValueEncoding": {}
					}
				},
				"flattened": true
			}
		}
	};

/***/ }),
/* 593 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListDomains": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxNumberOfDomains",
				"result_key": "DomainNames"
			},
			"Select": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "Items"
			}
		}
	};

/***/ }),
/* 594 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['sms'] = {};
	AWS.SMS = Service.defineService('sms', ['2016-10-24']);
	Object.defineProperty(apiLoader.services['sms'], '2016-10-24', {
	  get: function get() {
	    var model = __webpack_require__(595);
	    model.paginators = __webpack_require__(596).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.SMS;


/***/ }),
/* 595 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"uid": "sms-2016-10-24",
			"apiVersion": "2016-10-24",
			"endpointPrefix": "sms",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "SMS",
			"serviceFullName": "AWS Server Migration Service",
			"signatureVersion": "v4",
			"targetPrefix": "AWSServerMigrationService_V2016_10_24"
		},
		"operations": {
			"CreateReplicationJob": {
				"input": {
					"type": "structure",
					"required": [
						"serverId",
						"seedReplicationTime",
						"frequency"
					],
					"members": {
						"serverId": {},
						"seedReplicationTime": {
							"type": "timestamp"
						},
						"frequency": {
							"type": "integer"
						},
						"licenseType": {},
						"roleName": {},
						"description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"replicationJobId": {}
					}
				}
			},
			"DeleteReplicationJob": {
				"input": {
					"type": "structure",
					"required": [
						"replicationJobId"
					],
					"members": {
						"replicationJobId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteServerCatalog": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DisassociateConnector": {
				"input": {
					"type": "structure",
					"required": [
						"connectorId"
					],
					"members": {
						"connectorId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"GetConnectors": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"connectorList": {
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"connectorId": {},
									"version": {},
									"status": {},
									"capabilityList": {
										"type": "list",
										"member": {
											"locationName": "item"
										}
									},
									"vmManagerName": {},
									"vmManagerType": {},
									"vmManagerId": {},
									"ipAddress": {},
									"macAddress": {},
									"associatedOn": {
										"type": "timestamp"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"GetReplicationJobs": {
				"input": {
					"type": "structure",
					"members": {
						"replicationJobId": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"replicationJobList": {
							"type": "list",
							"member": {
								"shape": "Sz",
								"locationName": "item"
							}
						},
						"nextToken": {}
					}
				}
			},
			"GetReplicationRuns": {
				"input": {
					"type": "structure",
					"required": [
						"replicationJobId"
					],
					"members": {
						"replicationJobId": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"replicationJob": {
							"shape": "Sz"
						},
						"replicationRunList": {
							"shape": "S19"
						},
						"nextToken": {}
					}
				}
			},
			"GetServers": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"lastModifiedOn": {
							"type": "timestamp"
						},
						"serverCatalogStatus": {},
						"serverList": {
							"type": "list",
							"member": {
								"locationName": "item",
								"type": "structure",
								"members": {
									"serverId": {},
									"serverType": {},
									"vmServer": {
										"shape": "S11"
									},
									"replicationJobId": {},
									"replicationJobTerminated": {
										"type": "boolean"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ImportServerCatalog": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"StartOnDemandReplicationRun": {
				"input": {
					"type": "structure",
					"required": [
						"replicationJobId"
					],
					"members": {
						"replicationJobId": {},
						"description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"replicationRunId": {}
					}
				}
			},
			"UpdateReplicationJob": {
				"input": {
					"type": "structure",
					"required": [
						"replicationJobId"
					],
					"members": {
						"replicationJobId": {},
						"frequency": {
							"type": "integer"
						},
						"nextReplicationRunStartTime": {
							"type": "timestamp"
						},
						"licenseType": {},
						"roleName": {},
						"description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"Sz": {
				"type": "structure",
				"members": {
					"replicationJobId": {},
					"serverId": {},
					"serverType": {},
					"vmServer": {
						"shape": "S11"
					},
					"seedReplicationTime": {
						"type": "timestamp"
					},
					"frequency": {
						"type": "integer"
					},
					"nextReplicationRunStartTime": {
						"type": "timestamp"
					},
					"licenseType": {},
					"roleName": {},
					"latestAmiId": {},
					"state": {},
					"statusMessage": {},
					"description": {},
					"replicationRunList": {
						"shape": "S19"
					}
				}
			},
			"S11": {
				"type": "structure",
				"members": {
					"vmServerAddress": {
						"type": "structure",
						"members": {
							"vmManagerId": {},
							"vmId": {}
						}
					},
					"vmName": {},
					"vmManagerName": {},
					"vmManagerType": {},
					"vmPath": {}
				}
			},
			"S19": {
				"type": "list",
				"member": {
					"locationName": "item",
					"type": "structure",
					"members": {
						"replicationRunId": {},
						"state": {},
						"type": {},
						"statusMessage": {},
						"amiId": {},
						"scheduledStartTime": {
							"type": "timestamp"
						},
						"completedTime": {
							"type": "timestamp"
						},
						"description": {}
					}
				}
			}
		}
	};

/***/ }),
/* 596 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"GetReplicationJobs": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "replicationJobList"
			},
			"GetReplicationRuns": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "replicationRunList"
			},
			"GetConnectors": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "connectorList"
			},
			"GetServers": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "serverList"
			}
		}
	};

/***/ }),
/* 597 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['snowball'] = {};
	AWS.Snowball = Service.defineService('snowball', ['2016-06-30']);
	Object.defineProperty(apiLoader.services['snowball'], '2016-06-30', {
	  get: function get() {
	    var model = __webpack_require__(598);
	    model.paginators = __webpack_require__(599).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Snowball;


/***/ }),
/* 598 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-06-30",
			"endpointPrefix": "snowball",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Amazon Snowball",
			"serviceFullName": "Amazon Import/Export Snowball",
			"signatureVersion": "v4",
			"targetPrefix": "AWSIESnowballJobManagementService",
			"uid": "snowball-2016-06-30"
		},
		"operations": {
			"CancelCluster": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId"
					],
					"members": {
						"ClusterId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CancelJob": {
				"input": {
					"type": "structure",
					"required": [
						"JobId"
					],
					"members": {
						"JobId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateAddress": {
				"input": {
					"type": "structure",
					"required": [
						"Address"
					],
					"members": {
						"Address": {
							"shape": "S8"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AddressId": {}
					}
				}
			},
			"CreateCluster": {
				"input": {
					"type": "structure",
					"required": [
						"JobType",
						"Resources",
						"AddressId",
						"RoleARN",
						"ShippingOption"
					],
					"members": {
						"JobType": {},
						"Resources": {
							"shape": "Sf"
						},
						"Description": {},
						"AddressId": {},
						"KmsKeyARN": {},
						"RoleARN": {},
						"SnowballType": {},
						"ShippingOption": {},
						"Notification": {
							"shape": "Ss"
						},
						"ForwardingAddressId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClusterId": {}
					}
				}
			},
			"CreateJob": {
				"input": {
					"type": "structure",
					"members": {
						"JobType": {},
						"Resources": {
							"shape": "Sf"
						},
						"Description": {},
						"AddressId": {},
						"KmsKeyARN": {},
						"RoleARN": {},
						"SnowballCapacityPreference": {},
						"ShippingOption": {},
						"Notification": {
							"shape": "Ss"
						},
						"ClusterId": {},
						"SnowballType": {},
						"ForwardingAddressId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"JobId": {}
					}
				}
			},
			"DescribeAddress": {
				"input": {
					"type": "structure",
					"required": [
						"AddressId"
					],
					"members": {
						"AddressId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Address": {
							"shape": "S8"
						}
					}
				}
			},
			"DescribeAddresses": {
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Addresses": {
							"type": "list",
							"member": {
								"shape": "S8"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeCluster": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId"
					],
					"members": {
						"ClusterId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClusterMetadata": {
							"type": "structure",
							"members": {
								"ClusterId": {},
								"Description": {},
								"KmsKeyARN": {},
								"RoleARN": {},
								"ClusterState": {},
								"JobType": {},
								"SnowballType": {},
								"CreationDate": {
									"type": "timestamp"
								},
								"Resources": {
									"shape": "Sf"
								},
								"AddressId": {},
								"ShippingOption": {},
								"Notification": {
									"shape": "Ss"
								},
								"ForwardingAddressId": {}
							}
						}
					}
				}
			},
			"DescribeJob": {
				"input": {
					"type": "structure",
					"required": [
						"JobId"
					],
					"members": {
						"JobId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"JobMetadata": {
							"shape": "S1d"
						},
						"SubJobMetadata": {
							"type": "list",
							"member": {
								"shape": "S1d"
							}
						}
					}
				}
			},
			"GetJobManifest": {
				"input": {
					"type": "structure",
					"required": [
						"JobId"
					],
					"members": {
						"JobId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ManifestURI": {}
					}
				}
			},
			"GetJobUnlockCode": {
				"input": {
					"type": "structure",
					"required": [
						"JobId"
					],
					"members": {
						"JobId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UnlockCode": {}
					}
				}
			},
			"GetSnowballUsage": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"SnowballLimit": {
							"type": "integer"
						},
						"SnowballsInUse": {
							"type": "integer"
						}
					}
				}
			},
			"ListClusterJobs": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId"
					],
					"members": {
						"ClusterId": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"JobListEntries": {
							"shape": "S1t"
						},
						"NextToken": {}
					}
				}
			},
			"ListClusters": {
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ClusterListEntries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ClusterId": {},
									"ClusterState": {},
									"CreationDate": {
										"type": "timestamp"
									},
									"Description": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListJobs": {
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"JobListEntries": {
							"shape": "S1t"
						},
						"NextToken": {}
					}
				}
			},
			"UpdateCluster": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterId"
					],
					"members": {
						"ClusterId": {},
						"RoleARN": {},
						"Description": {},
						"Resources": {
							"shape": "Sf"
						},
						"AddressId": {},
						"ShippingOption": {},
						"Notification": {
							"shape": "Ss"
						},
						"ForwardingAddressId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateJob": {
				"input": {
					"type": "structure",
					"required": [
						"JobId"
					],
					"members": {
						"JobId": {},
						"RoleARN": {},
						"Notification": {
							"shape": "Ss"
						},
						"Resources": {
							"shape": "Sf"
						},
						"AddressId": {},
						"ShippingOption": {},
						"Description": {},
						"SnowballCapacityPreference": {},
						"ForwardingAddressId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"S8": {
				"type": "structure",
				"members": {
					"AddressId": {},
					"Name": {},
					"Company": {},
					"Street1": {},
					"Street2": {},
					"Street3": {},
					"City": {},
					"StateOrProvince": {},
					"PrefectureOrDistrict": {},
					"Landmark": {},
					"Country": {},
					"PostalCode": {},
					"PhoneNumber": {},
					"IsRestricted": {
						"type": "boolean"
					}
				}
			},
			"Sf": {
				"type": "structure",
				"members": {
					"S3Resources": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"BucketArn": {},
								"KeyRange": {
									"type": "structure",
									"members": {
										"BeginMarker": {},
										"EndMarker": {}
									}
								}
							}
						}
					},
					"LambdaResources": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"LambdaArn": {},
								"EventTriggers": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"EventResourceARN": {}
										}
									}
								}
							}
						}
					}
				}
			},
			"Ss": {
				"type": "structure",
				"members": {
					"SnsTopicARN": {},
					"JobStatesToNotify": {
						"type": "list",
						"member": {}
					},
					"NotifyAll": {
						"type": "boolean"
					}
				}
			},
			"S1d": {
				"type": "structure",
				"members": {
					"JobId": {},
					"JobState": {},
					"JobType": {},
					"SnowballType": {},
					"CreationDate": {
						"type": "timestamp"
					},
					"Resources": {
						"shape": "Sf"
					},
					"Description": {},
					"KmsKeyARN": {},
					"RoleARN": {},
					"AddressId": {},
					"ShippingDetails": {
						"type": "structure",
						"members": {
							"ShippingOption": {},
							"InboundShipment": {
								"shape": "S1f"
							},
							"OutboundShipment": {
								"shape": "S1f"
							}
						}
					},
					"SnowballCapacityPreference": {},
					"Notification": {
						"shape": "Ss"
					},
					"DataTransferProgress": {
						"type": "structure",
						"members": {
							"BytesTransferred": {
								"type": "long"
							},
							"ObjectsTransferred": {
								"type": "long"
							},
							"TotalBytes": {
								"type": "long"
							},
							"TotalObjects": {
								"type": "long"
							}
						}
					},
					"JobLogInfo": {
						"type": "structure",
						"members": {
							"JobCompletionReportURI": {},
							"JobSuccessLogURI": {},
							"JobFailureLogURI": {}
						}
					},
					"ClusterId": {},
					"ForwardingAddressId": {}
				}
			},
			"S1f": {
				"type": "structure",
				"members": {
					"Status": {},
					"TrackingNumber": {}
				}
			},
			"S1t": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"JobId": {},
						"JobState": {},
						"IsMaster": {
							"type": "boolean"
						},
						"JobType": {},
						"SnowballType": {},
						"CreationDate": {
							"type": "timestamp"
						},
						"Description": {}
					}
				}
			}
		}
	};

/***/ }),
/* 599 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeAddresses": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "Addresses"
			},
			"ListJobs": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "JobListEntries"
			}
		}
	};

/***/ }),
/* 600 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['sns'] = {};
	AWS.SNS = Service.defineService('sns', ['2010-03-31']);
	Object.defineProperty(apiLoader.services['sns'], '2010-03-31', {
	  get: function get() {
	    var model = __webpack_require__(601);
	    model.paginators = __webpack_require__(602).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.SNS;


/***/ }),
/* 601 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"uid": "sns-2010-03-31",
			"apiVersion": "2010-03-31",
			"endpointPrefix": "sns",
			"protocol": "query",
			"serviceAbbreviation": "Amazon SNS",
			"serviceFullName": "Amazon Simple Notification Service",
			"signatureVersion": "v4",
			"xmlNamespace": "http://sns.amazonaws.com/doc/2010-03-31/"
		},
		"operations": {
			"AddPermission": {
				"input": {
					"type": "structure",
					"required": [
						"TopicArn",
						"Label",
						"AWSAccountId",
						"ActionName"
					],
					"members": {
						"TopicArn": {},
						"Label": {},
						"AWSAccountId": {
							"type": "list",
							"member": {}
						},
						"ActionName": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"CheckIfPhoneNumberIsOptedOut": {
				"input": {
					"type": "structure",
					"required": [
						"phoneNumber"
					],
					"members": {
						"phoneNumber": {}
					}
				},
				"output": {
					"resultWrapper": "CheckIfPhoneNumberIsOptedOutResult",
					"type": "structure",
					"members": {
						"isOptedOut": {
							"type": "boolean"
						}
					}
				}
			},
			"ConfirmSubscription": {
				"input": {
					"type": "structure",
					"required": [
						"TopicArn",
						"Token"
					],
					"members": {
						"TopicArn": {},
						"Token": {},
						"AuthenticateOnUnsubscribe": {}
					}
				},
				"output": {
					"resultWrapper": "ConfirmSubscriptionResult",
					"type": "structure",
					"members": {
						"SubscriptionArn": {}
					}
				}
			},
			"CreatePlatformApplication": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Platform",
						"Attributes"
					],
					"members": {
						"Name": {},
						"Platform": {},
						"Attributes": {
							"shape": "Sj"
						}
					}
				},
				"output": {
					"resultWrapper": "CreatePlatformApplicationResult",
					"type": "structure",
					"members": {
						"PlatformApplicationArn": {}
					}
				}
			},
			"CreatePlatformEndpoint": {
				"input": {
					"type": "structure",
					"required": [
						"PlatformApplicationArn",
						"Token"
					],
					"members": {
						"PlatformApplicationArn": {},
						"Token": {},
						"CustomUserData": {},
						"Attributes": {
							"shape": "Sj"
						}
					}
				},
				"output": {
					"resultWrapper": "CreatePlatformEndpointResult",
					"type": "structure",
					"members": {
						"EndpointArn": {}
					}
				}
			},
			"CreateTopic": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"resultWrapper": "CreateTopicResult",
					"type": "structure",
					"members": {
						"TopicArn": {}
					}
				}
			},
			"DeleteEndpoint": {
				"input": {
					"type": "structure",
					"required": [
						"EndpointArn"
					],
					"members": {
						"EndpointArn": {}
					}
				}
			},
			"DeletePlatformApplication": {
				"input": {
					"type": "structure",
					"required": [
						"PlatformApplicationArn"
					],
					"members": {
						"PlatformApplicationArn": {}
					}
				}
			},
			"DeleteTopic": {
				"input": {
					"type": "structure",
					"required": [
						"TopicArn"
					],
					"members": {
						"TopicArn": {}
					}
				}
			},
			"GetEndpointAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"EndpointArn"
					],
					"members": {
						"EndpointArn": {}
					}
				},
				"output": {
					"resultWrapper": "GetEndpointAttributesResult",
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "Sj"
						}
					}
				}
			},
			"GetPlatformApplicationAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"PlatformApplicationArn"
					],
					"members": {
						"PlatformApplicationArn": {}
					}
				},
				"output": {
					"resultWrapper": "GetPlatformApplicationAttributesResult",
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "Sj"
						}
					}
				}
			},
			"GetSMSAttributes": {
				"input": {
					"type": "structure",
					"members": {
						"attributes": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"resultWrapper": "GetSMSAttributesResult",
					"type": "structure",
					"members": {
						"attributes": {
							"shape": "Sj"
						}
					}
				}
			},
			"GetSubscriptionAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionArn"
					],
					"members": {
						"SubscriptionArn": {}
					}
				},
				"output": {
					"resultWrapper": "GetSubscriptionAttributesResult",
					"type": "structure",
					"members": {
						"Attributes": {
							"type": "map",
							"key": {},
							"value": {}
						}
					}
				}
			},
			"GetTopicAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"TopicArn"
					],
					"members": {
						"TopicArn": {}
					}
				},
				"output": {
					"resultWrapper": "GetTopicAttributesResult",
					"type": "structure",
					"members": {
						"Attributes": {
							"type": "map",
							"key": {},
							"value": {}
						}
					}
				}
			},
			"ListEndpointsByPlatformApplication": {
				"input": {
					"type": "structure",
					"required": [
						"PlatformApplicationArn"
					],
					"members": {
						"PlatformApplicationArn": {},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListEndpointsByPlatformApplicationResult",
					"type": "structure",
					"members": {
						"Endpoints": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"EndpointArn": {},
									"Attributes": {
										"shape": "Sj"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListPhoneNumbersOptedOut": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListPhoneNumbersOptedOutResult",
					"type": "structure",
					"members": {
						"phoneNumbers": {
							"type": "list",
							"member": {}
						},
						"nextToken": {}
					}
				}
			},
			"ListPlatformApplications": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListPlatformApplicationsResult",
					"type": "structure",
					"members": {
						"PlatformApplications": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"PlatformApplicationArn": {},
									"Attributes": {
										"shape": "Sj"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListSubscriptions": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListSubscriptionsResult",
					"type": "structure",
					"members": {
						"Subscriptions": {
							"shape": "S1n"
						},
						"NextToken": {}
					}
				}
			},
			"ListSubscriptionsByTopic": {
				"input": {
					"type": "structure",
					"required": [
						"TopicArn"
					],
					"members": {
						"TopicArn": {},
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListSubscriptionsByTopicResult",
					"type": "structure",
					"members": {
						"Subscriptions": {
							"shape": "S1n"
						},
						"NextToken": {}
					}
				}
			},
			"ListTopics": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {}
					}
				},
				"output": {
					"resultWrapper": "ListTopicsResult",
					"type": "structure",
					"members": {
						"Topics": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"TopicArn": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"OptInPhoneNumber": {
				"input": {
					"type": "structure",
					"required": [
						"phoneNumber"
					],
					"members": {
						"phoneNumber": {}
					}
				},
				"output": {
					"resultWrapper": "OptInPhoneNumberResult",
					"type": "structure",
					"members": {}
				}
			},
			"Publish": {
				"input": {
					"type": "structure",
					"required": [
						"Message"
					],
					"members": {
						"TopicArn": {},
						"TargetArn": {},
						"PhoneNumber": {},
						"Message": {},
						"Subject": {},
						"MessageStructure": {},
						"MessageAttributes": {
							"type": "map",
							"key": {
								"locationName": "Name"
							},
							"value": {
								"locationName": "Value",
								"type": "structure",
								"required": [
									"DataType"
								],
								"members": {
									"DataType": {},
									"StringValue": {},
									"BinaryValue": {
										"type": "blob"
									}
								}
							}
						}
					}
				},
				"output": {
					"resultWrapper": "PublishResult",
					"type": "structure",
					"members": {
						"MessageId": {}
					}
				}
			},
			"RemovePermission": {
				"input": {
					"type": "structure",
					"required": [
						"TopicArn",
						"Label"
					],
					"members": {
						"TopicArn": {},
						"Label": {}
					}
				}
			},
			"SetEndpointAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"EndpointArn",
						"Attributes"
					],
					"members": {
						"EndpointArn": {},
						"Attributes": {
							"shape": "Sj"
						}
					}
				}
			},
			"SetPlatformApplicationAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"PlatformApplicationArn",
						"Attributes"
					],
					"members": {
						"PlatformApplicationArn": {},
						"Attributes": {
							"shape": "Sj"
						}
					}
				}
			},
			"SetSMSAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"attributes"
					],
					"members": {
						"attributes": {
							"shape": "Sj"
						}
					}
				},
				"output": {
					"resultWrapper": "SetSMSAttributesResult",
					"type": "structure",
					"members": {}
				}
			},
			"SetSubscriptionAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionArn",
						"AttributeName"
					],
					"members": {
						"SubscriptionArn": {},
						"AttributeName": {},
						"AttributeValue": {}
					}
				}
			},
			"SetTopicAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"TopicArn",
						"AttributeName"
					],
					"members": {
						"TopicArn": {},
						"AttributeName": {},
						"AttributeValue": {}
					}
				}
			},
			"Subscribe": {
				"input": {
					"type": "structure",
					"required": [
						"TopicArn",
						"Protocol"
					],
					"members": {
						"TopicArn": {},
						"Protocol": {},
						"Endpoint": {}
					}
				},
				"output": {
					"resultWrapper": "SubscribeResult",
					"type": "structure",
					"members": {
						"SubscriptionArn": {}
					}
				}
			},
			"Unsubscribe": {
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionArn"
					],
					"members": {
						"SubscriptionArn": {}
					}
				}
			}
		},
		"shapes": {
			"Sj": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1n": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"SubscriptionArn": {},
						"Owner": {},
						"Protocol": {},
						"Endpoint": {},
						"TopicArn": {}
					}
				}
			}
		}
	};

/***/ }),
/* 602 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListEndpointsByPlatformApplication": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "Endpoints"
			},
			"ListPlatformApplications": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "PlatformApplications"
			},
			"ListSubscriptions": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "Subscriptions"
			},
			"ListSubscriptionsByTopic": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "Subscriptions"
			},
			"ListTopics": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "Topics"
			}
		}
	};

/***/ }),
/* 603 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['sqs'] = {};
	AWS.SQS = Service.defineService('sqs', ['2012-11-05']);
	__webpack_require__(604);
	Object.defineProperty(apiLoader.services['sqs'], '2012-11-05', {
	  get: function get() {
	    var model = __webpack_require__(605);
	    model.paginators = __webpack_require__(606).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.SQS;


/***/ }),
/* 604 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	AWS.util.update(AWS.SQS.prototype, {
	  /**
	   * @api private
	   */
	  setupRequestListeners: function setupRequestListeners(request) {
	    request.addListener('build', this.buildEndpoint);

	    if (request.service.config.computeChecksums) {
	      if (request.operation === 'sendMessage') {
	        request.addListener('extractData', this.verifySendMessageChecksum);
	      } else if (request.operation === 'sendMessageBatch') {
	        request.addListener('extractData', this.verifySendMessageBatchChecksum);
	      } else if (request.operation === 'receiveMessage') {
	        request.addListener('extractData', this.verifyReceiveMessageChecksum);
	      }
	    }
	  },

	  /**
	   * @api private
	   */
	  verifySendMessageChecksum: function verifySendMessageChecksum(response) {
	    if (!response.data) return;

	    var md5 = response.data.MD5OfMessageBody;
	    var body = this.params.MessageBody;
	    var calculatedMd5 = this.service.calculateChecksum(body);
	    if (calculatedMd5 !== md5) {
	      var msg = 'Got "' + response.data.MD5OfMessageBody +
	        '", expecting "' + calculatedMd5 + '".';
	      this.service.throwInvalidChecksumError(response,
	        [response.data.MessageId], msg);
	    }
	  },

	  /**
	   * @api private
	   */
	  verifySendMessageBatchChecksum: function verifySendMessageBatchChecksum(response) {
	    if (!response.data) return;

	    var service = this.service;
	    var entries = {};
	    var errors = [];
	    var messageIds = [];
	    AWS.util.arrayEach(response.data.Successful, function (entry) {
	      entries[entry.Id] = entry;
	    });
	    AWS.util.arrayEach(this.params.Entries, function (entry) {
	      if (entries[entry.Id]) {
	        var md5 = entries[entry.Id].MD5OfMessageBody;
	        var body = entry.MessageBody;
	        if (!service.isChecksumValid(md5, body)) {
	          errors.push(entry.Id);
	          messageIds.push(entries[entry.Id].MessageId);
	        }
	      }
	    });

	    if (errors.length > 0) {
	      service.throwInvalidChecksumError(response, messageIds,
	        'Invalid messages: ' + errors.join(', '));
	    }
	  },

	  /**
	   * @api private
	   */
	  verifyReceiveMessageChecksum: function verifyReceiveMessageChecksum(response) {
	    if (!response.data) return;

	    var service = this.service;
	    var messageIds = [];
	    AWS.util.arrayEach(response.data.Messages, function(message) {
	      var md5 = message.MD5OfBody;
	      var body = message.Body;
	      if (!service.isChecksumValid(md5, body)) {
	        messageIds.push(message.MessageId);
	      }
	    });

	    if (messageIds.length > 0) {
	      service.throwInvalidChecksumError(response, messageIds,
	        'Invalid messages: ' + messageIds.join(', '));
	    }
	  },

	  /**
	   * @api private
	   */
	  throwInvalidChecksumError: function throwInvalidChecksumError(response, ids, message) {
	    response.error = AWS.util.error(new Error(), {
	      retryable: true,
	      code: 'InvalidChecksum',
	      messageIds: ids,
	      message: response.request.operation +
	               ' returned an invalid MD5 response. ' + message
	    });
	  },

	  /**
	   * @api private
	   */
	  isChecksumValid: function isChecksumValid(checksum, data) {
	    return this.calculateChecksum(data) === checksum;
	  },

	  /**
	   * @api private
	   */
	  calculateChecksum: function calculateChecksum(data) {
	    return AWS.util.crypto.md5(data, 'hex');
	  },

	  /**
	   * @api private
	   */
	  buildEndpoint: function buildEndpoint(request) {
	    var url = request.httpRequest.params.QueueUrl;
	    if (url) {
	      request.httpRequest.endpoint = new AWS.Endpoint(url);

	      // signature version 4 requires the region name to be set,
	      // sqs queue urls contain the region name
	      var matches = request.httpRequest.endpoint.host.match(/^sqs\.(.+?)\./);
	      if (matches) request.httpRequest.region = matches[1];
	    }
	  }
	});


/***/ }),
/* 605 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2012-11-05",
			"endpointPrefix": "sqs",
			"protocol": "query",
			"serviceAbbreviation": "Amazon SQS",
			"serviceFullName": "Amazon Simple Queue Service",
			"signatureVersion": "v4",
			"uid": "sqs-2012-11-05",
			"xmlNamespace": "http://queue.amazonaws.com/doc/2012-11-05/"
		},
		"operations": {
			"AddPermission": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl",
						"Label",
						"AWSAccountIds",
						"Actions"
					],
					"members": {
						"QueueUrl": {},
						"Label": {},
						"AWSAccountIds": {
							"type": "list",
							"member": {
								"locationName": "AWSAccountId"
							},
							"flattened": true
						},
						"Actions": {
							"type": "list",
							"member": {
								"locationName": "ActionName"
							},
							"flattened": true
						}
					}
				}
			},
			"ChangeMessageVisibility": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl",
						"ReceiptHandle",
						"VisibilityTimeout"
					],
					"members": {
						"QueueUrl": {},
						"ReceiptHandle": {},
						"VisibilityTimeout": {
							"type": "integer"
						}
					}
				}
			},
			"ChangeMessageVisibilityBatch": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl",
						"Entries"
					],
					"members": {
						"QueueUrl": {},
						"Entries": {
							"type": "list",
							"member": {
								"locationName": "ChangeMessageVisibilityBatchRequestEntry",
								"type": "structure",
								"required": [
									"Id",
									"ReceiptHandle"
								],
								"members": {
									"Id": {},
									"ReceiptHandle": {},
									"VisibilityTimeout": {
										"type": "integer"
									}
								}
							},
							"flattened": true
						}
					}
				},
				"output": {
					"resultWrapper": "ChangeMessageVisibilityBatchResult",
					"type": "structure",
					"required": [
						"Successful",
						"Failed"
					],
					"members": {
						"Successful": {
							"type": "list",
							"member": {
								"locationName": "ChangeMessageVisibilityBatchResultEntry",
								"type": "structure",
								"required": [
									"Id"
								],
								"members": {
									"Id": {}
								}
							},
							"flattened": true
						},
						"Failed": {
							"shape": "Sd"
						}
					}
				}
			},
			"CreateQueue": {
				"input": {
					"type": "structure",
					"required": [
						"QueueName"
					],
					"members": {
						"QueueName": {},
						"Attributes": {
							"shape": "Sh",
							"locationName": "Attribute"
						}
					}
				},
				"output": {
					"resultWrapper": "CreateQueueResult",
					"type": "structure",
					"members": {
						"QueueUrl": {}
					}
				}
			},
			"DeleteMessage": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl",
						"ReceiptHandle"
					],
					"members": {
						"QueueUrl": {},
						"ReceiptHandle": {}
					}
				}
			},
			"DeleteMessageBatch": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl",
						"Entries"
					],
					"members": {
						"QueueUrl": {},
						"Entries": {
							"type": "list",
							"member": {
								"locationName": "DeleteMessageBatchRequestEntry",
								"type": "structure",
								"required": [
									"Id",
									"ReceiptHandle"
								],
								"members": {
									"Id": {},
									"ReceiptHandle": {}
								}
							},
							"flattened": true
						}
					}
				},
				"output": {
					"resultWrapper": "DeleteMessageBatchResult",
					"type": "structure",
					"required": [
						"Successful",
						"Failed"
					],
					"members": {
						"Successful": {
							"type": "list",
							"member": {
								"locationName": "DeleteMessageBatchResultEntry",
								"type": "structure",
								"required": [
									"Id"
								],
								"members": {
									"Id": {}
								}
							},
							"flattened": true
						},
						"Failed": {
							"shape": "Sd"
						}
					}
				}
			},
			"DeleteQueue": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl"
					],
					"members": {
						"QueueUrl": {}
					}
				}
			},
			"GetQueueAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl"
					],
					"members": {
						"QueueUrl": {},
						"AttributeNames": {
							"shape": "St"
						}
					}
				},
				"output": {
					"resultWrapper": "GetQueueAttributesResult",
					"type": "structure",
					"members": {
						"Attributes": {
							"shape": "Sh",
							"locationName": "Attribute"
						}
					}
				}
			},
			"GetQueueUrl": {
				"input": {
					"type": "structure",
					"required": [
						"QueueName"
					],
					"members": {
						"QueueName": {},
						"QueueOwnerAWSAccountId": {}
					}
				},
				"output": {
					"resultWrapper": "GetQueueUrlResult",
					"type": "structure",
					"members": {
						"QueueUrl": {}
					}
				}
			},
			"ListDeadLetterSourceQueues": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl"
					],
					"members": {
						"QueueUrl": {}
					}
				},
				"output": {
					"resultWrapper": "ListDeadLetterSourceQueuesResult",
					"type": "structure",
					"required": [
						"queueUrls"
					],
					"members": {
						"queueUrls": {
							"shape": "Sz"
						}
					}
				}
			},
			"ListQueues": {
				"input": {
					"type": "structure",
					"members": {
						"QueueNamePrefix": {}
					}
				},
				"output": {
					"resultWrapper": "ListQueuesResult",
					"type": "structure",
					"members": {
						"QueueUrls": {
							"shape": "Sz"
						}
					}
				}
			},
			"PurgeQueue": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl"
					],
					"members": {
						"QueueUrl": {}
					}
				}
			},
			"ReceiveMessage": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl"
					],
					"members": {
						"QueueUrl": {},
						"AttributeNames": {
							"shape": "St"
						},
						"MessageAttributeNames": {
							"type": "list",
							"member": {
								"locationName": "MessageAttributeName"
							},
							"flattened": true
						},
						"MaxNumberOfMessages": {
							"type": "integer"
						},
						"VisibilityTimeout": {
							"type": "integer"
						},
						"WaitTimeSeconds": {
							"type": "integer"
						},
						"ReceiveRequestAttemptId": {}
					}
				},
				"output": {
					"resultWrapper": "ReceiveMessageResult",
					"type": "structure",
					"members": {
						"Messages": {
							"type": "list",
							"member": {
								"locationName": "Message",
								"type": "structure",
								"members": {
									"MessageId": {},
									"ReceiptHandle": {},
									"MD5OfBody": {},
									"Body": {},
									"Attributes": {
										"locationName": "Attribute",
										"type": "map",
										"key": {
											"locationName": "Name"
										},
										"value": {
											"locationName": "Value"
										},
										"flattened": true
									},
									"MD5OfMessageAttributes": {},
									"MessageAttributes": {
										"shape": "S1b",
										"locationName": "MessageAttribute"
									}
								}
							},
							"flattened": true
						}
					}
				}
			},
			"RemovePermission": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl",
						"Label"
					],
					"members": {
						"QueueUrl": {},
						"Label": {}
					}
				}
			},
			"SendMessage": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl",
						"MessageBody"
					],
					"members": {
						"QueueUrl": {},
						"MessageBody": {},
						"DelaySeconds": {
							"type": "integer"
						},
						"MessageAttributes": {
							"shape": "S1b",
							"locationName": "MessageAttribute"
						},
						"MessageDeduplicationId": {},
						"MessageGroupId": {}
					}
				},
				"output": {
					"resultWrapper": "SendMessageResult",
					"type": "structure",
					"members": {
						"MD5OfMessageBody": {},
						"MD5OfMessageAttributes": {},
						"MessageId": {},
						"SequenceNumber": {}
					}
				}
			},
			"SendMessageBatch": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl",
						"Entries"
					],
					"members": {
						"QueueUrl": {},
						"Entries": {
							"type": "list",
							"member": {
								"locationName": "SendMessageBatchRequestEntry",
								"type": "structure",
								"required": [
									"Id",
									"MessageBody"
								],
								"members": {
									"Id": {},
									"MessageBody": {},
									"DelaySeconds": {
										"type": "integer"
									},
									"MessageAttributes": {
										"shape": "S1b",
										"locationName": "MessageAttribute"
									},
									"MessageDeduplicationId": {},
									"MessageGroupId": {}
								}
							},
							"flattened": true
						}
					}
				},
				"output": {
					"resultWrapper": "SendMessageBatchResult",
					"type": "structure",
					"required": [
						"Successful",
						"Failed"
					],
					"members": {
						"Successful": {
							"type": "list",
							"member": {
								"locationName": "SendMessageBatchResultEntry",
								"type": "structure",
								"required": [
									"Id",
									"MessageId",
									"MD5OfMessageBody"
								],
								"members": {
									"Id": {},
									"MessageId": {},
									"MD5OfMessageBody": {},
									"MD5OfMessageAttributes": {},
									"SequenceNumber": {}
								}
							},
							"flattened": true
						},
						"Failed": {
							"shape": "Sd"
						}
					}
				}
			},
			"SetQueueAttributes": {
				"input": {
					"type": "structure",
					"required": [
						"QueueUrl",
						"Attributes"
					],
					"members": {
						"QueueUrl": {},
						"Attributes": {
							"shape": "Sh",
							"locationName": "Attribute"
						}
					}
				}
			}
		},
		"shapes": {
			"Sd": {
				"type": "list",
				"member": {
					"locationName": "BatchResultErrorEntry",
					"type": "structure",
					"required": [
						"Id",
						"SenderFault",
						"Code"
					],
					"members": {
						"Id": {},
						"SenderFault": {
							"type": "boolean"
						},
						"Code": {},
						"Message": {}
					}
				},
				"flattened": true
			},
			"Sh": {
				"type": "map",
				"key": {
					"locationName": "Name"
				},
				"value": {
					"locationName": "Value"
				},
				"flattened": true,
				"locationName": "Attribute"
			},
			"St": {
				"type": "list",
				"member": {
					"locationName": "AttributeName"
				},
				"flattened": true
			},
			"Sz": {
				"type": "list",
				"member": {
					"locationName": "QueueUrl"
				},
				"flattened": true
			},
			"S1b": {
				"type": "map",
				"key": {
					"locationName": "Name"
				},
				"value": {
					"locationName": "Value",
					"type": "structure",
					"required": [
						"DataType"
					],
					"members": {
						"StringValue": {},
						"BinaryValue": {
							"type": "blob"
						},
						"StringListValues": {
							"flattened": true,
							"locationName": "StringListValue",
							"type": "list",
							"member": {
								"locationName": "StringListValue"
							}
						},
						"BinaryListValues": {
							"flattened": true,
							"locationName": "BinaryListValue",
							"type": "list",
							"member": {
								"locationName": "BinaryListValue",
								"type": "blob"
							}
						},
						"DataType": {}
					}
				},
				"flattened": true
			}
		}
	};

/***/ }),
/* 606 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"ListQueues": {
				"result_key": "QueueUrls"
			}
		}
	};

/***/ }),
/* 607 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['ssm'] = {};
	AWS.SSM = Service.defineService('ssm', ['2014-11-06']);
	Object.defineProperty(apiLoader.services['ssm'], '2014-11-06', {
	  get: function get() {
	    var model = __webpack_require__(608);
	    model.paginators = __webpack_require__(609).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.SSM;


/***/ }),
/* 608 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2014-11-06",
			"endpointPrefix": "ssm",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Amazon SSM",
			"serviceFullName": "Amazon Simple Systems Manager (SSM)",
			"signatureVersion": "v4",
			"targetPrefix": "AmazonSSM",
			"uid": "ssm-2014-11-06"
		},
		"operations": {
			"AddTagsToResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceType",
						"ResourceId",
						"Tags"
					],
					"members": {
						"ResourceType": {},
						"ResourceId": {},
						"Tags": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CancelCommand": {
				"input": {
					"type": "structure",
					"required": [
						"CommandId"
					],
					"members": {
						"CommandId": {},
						"InstanceIds": {
							"shape": "Sb"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateActivation": {
				"input": {
					"type": "structure",
					"required": [
						"IamRole"
					],
					"members": {
						"Description": {},
						"DefaultInstanceName": {},
						"IamRole": {},
						"RegistrationLimit": {
							"type": "integer"
						},
						"ExpirationDate": {
							"type": "timestamp"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ActivationId": {},
						"ActivationCode": {}
					}
				}
			},
			"CreateAssociation": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"DocumentVersion": {},
						"InstanceId": {},
						"Parameters": {
							"shape": "Sq"
						},
						"Targets": {
							"shape": "Su"
						},
						"ScheduleExpression": {},
						"OutputLocation": {
							"shape": "S10"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AssociationDescription": {
							"shape": "S16"
						}
					}
				}
			},
			"CreateAssociationBatch": {
				"input": {
					"type": "structure",
					"required": [
						"Entries"
					],
					"members": {
						"Entries": {
							"type": "list",
							"member": {
								"shape": "S1j",
								"locationName": "entries"
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Successful": {
							"type": "list",
							"member": {
								"shape": "S16",
								"locationName": "AssociationDescription"
							}
						},
						"Failed": {
							"type": "list",
							"member": {
								"locationName": "FailedCreateAssociationEntry",
								"type": "structure",
								"members": {
									"Entry": {
										"shape": "S1j"
									},
									"Message": {},
									"Fault": {}
								}
							}
						}
					}
				}
			},
			"CreateDocument": {
				"input": {
					"type": "structure",
					"required": [
						"Content",
						"Name"
					],
					"members": {
						"Content": {},
						"Name": {},
						"DocumentType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DocumentDescription": {
							"shape": "S1u"
						}
					}
				}
			},
			"CreateMaintenanceWindow": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Schedule",
						"Duration",
						"Cutoff",
						"AllowUnassociatedTargets"
					],
					"members": {
						"Name": {},
						"Schedule": {},
						"Duration": {
							"type": "integer"
						},
						"Cutoff": {
							"type": "integer"
						},
						"AllowUnassociatedTargets": {
							"type": "boolean"
						},
						"ClientToken": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowId": {}
					}
				}
			},
			"CreatePatchBaseline": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"OperatingSystem": {},
						"Name": {},
						"GlobalFilters": {
							"shape": "S2n"
						},
						"ApprovalRules": {
							"shape": "S2t"
						},
						"ApprovedPatches": {
							"shape": "S2y"
						},
						"ApprovedPatchesComplianceLevel": {},
						"RejectedPatches": {
							"shape": "S2y"
						},
						"Description": {},
						"ClientToken": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BaselineId": {}
					}
				}
			},
			"CreateResourceDataSync": {
				"input": {
					"type": "structure",
					"required": [
						"SyncName",
						"S3Destination"
					],
					"members": {
						"SyncName": {},
						"S3Destination": {
							"shape": "S35"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteActivation": {
				"input": {
					"type": "structure",
					"required": [
						"ActivationId"
					],
					"members": {
						"ActivationId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteAssociation": {
				"input": {
					"type": "structure",
					"members": {
						"Name": {},
						"InstanceId": {},
						"AssociationId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteDocument": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteMaintenanceWindow": {
				"input": {
					"type": "structure",
					"required": [
						"WindowId"
					],
					"members": {
						"WindowId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowId": {}
					}
				}
			},
			"DeleteParameter": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteParameters": {
				"input": {
					"type": "structure",
					"required": [
						"Names"
					],
					"members": {
						"Names": {
							"shape": "S3n"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DeletedParameters": {
							"shape": "S3n"
						},
						"InvalidParameters": {
							"shape": "S3n"
						}
					}
				}
			},
			"DeletePatchBaseline": {
				"input": {
					"type": "structure",
					"required": [
						"BaselineId"
					],
					"members": {
						"BaselineId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BaselineId": {}
					}
				}
			},
			"DeleteResourceDataSync": {
				"input": {
					"type": "structure",
					"required": [
						"SyncName"
					],
					"members": {
						"SyncName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeregisterManagedInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeregisterPatchBaselineForPatchGroup": {
				"input": {
					"type": "structure",
					"required": [
						"BaselineId",
						"PatchGroup"
					],
					"members": {
						"BaselineId": {},
						"PatchGroup": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BaselineId": {},
						"PatchGroup": {}
					}
				}
			},
			"DeregisterTargetFromMaintenanceWindow": {
				"input": {
					"type": "structure",
					"required": [
						"WindowId",
						"WindowTargetId"
					],
					"members": {
						"WindowId": {},
						"WindowTargetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowId": {},
						"WindowTargetId": {}
					}
				}
			},
			"DeregisterTaskFromMaintenanceWindow": {
				"input": {
					"type": "structure",
					"required": [
						"WindowId",
						"WindowTaskId"
					],
					"members": {
						"WindowId": {},
						"WindowTaskId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowId": {},
						"WindowTaskId": {}
					}
				}
			},
			"DescribeActivations": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"FilterKey": {},
									"FilterValues": {
										"type": "list",
										"member": {}
									}
								}
							}
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ActivationList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ActivationId": {},
									"Description": {},
									"DefaultInstanceName": {},
									"IamRole": {},
									"RegistrationLimit": {
										"type": "integer"
									},
									"RegistrationsCount": {
										"type": "integer"
									},
									"ExpirationDate": {
										"type": "timestamp"
									},
									"Expired": {
										"type": "boolean"
									},
									"CreatedDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeAssociation": {
				"input": {
					"type": "structure",
					"members": {
						"Name": {},
						"InstanceId": {},
						"AssociationId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AssociationDescription": {
							"shape": "S16"
						}
					}
				}
			},
			"DescribeAutomationExecutions": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Key",
									"Values"
								],
								"members": {
									"Key": {},
									"Values": {
										"type": "list",
										"member": {}
									}
								}
							}
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AutomationExecutionMetadataList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AutomationExecutionId": {},
									"DocumentName": {},
									"DocumentVersion": {},
									"AutomationExecutionStatus": {},
									"ExecutionStartTime": {
										"type": "timestamp"
									},
									"ExecutionEndTime": {
										"type": "timestamp"
									},
									"ExecutedBy": {},
									"LogFile": {},
									"Outputs": {
										"shape": "S4w"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeAvailablePatches": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S51"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Patches": {
							"type": "list",
							"member": {
								"shape": "S59"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeDocument": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"DocumentVersion": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Document": {
							"shape": "S1u"
						}
					}
				}
			},
			"DescribeDocumentPermission": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"PermissionType"
					],
					"members": {
						"Name": {},
						"PermissionType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AccountIds": {
							"shape": "S5q"
						}
					}
				}
			},
			"DescribeEffectiveInstanceAssociations": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Associations": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AssociationId": {},
									"InstanceId": {},
									"Content": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeEffectivePatchesForPatchBaseline": {
				"input": {
					"type": "structure",
					"required": [
						"BaselineId"
					],
					"members": {
						"BaselineId": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"EffectivePatches": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Patch": {
										"shape": "S59"
									},
									"PatchStatus": {
										"type": "structure",
										"members": {
											"DeploymentStatus": {},
											"ComplianceLevel": {},
											"ApprovalDate": {
												"type": "timestamp"
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeInstanceAssociationsStatus": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceAssociationStatusInfos": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"AssociationId": {},
									"Name": {},
									"DocumentVersion": {},
									"InstanceId": {},
									"ExecutionDate": {
										"type": "timestamp"
									},
									"Status": {},
									"DetailedStatus": {},
									"ExecutionSummary": {},
									"ErrorCode": {},
									"OutputUrl": {
										"type": "structure",
										"members": {
											"S3OutputUrl": {
												"type": "structure",
												"members": {
													"OutputUrl": {}
												}
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeInstanceInformation": {
				"input": {
					"type": "structure",
					"members": {
						"InstanceInformationFilterList": {
							"type": "list",
							"member": {
								"locationName": "InstanceInformationFilter",
								"type": "structure",
								"required": [
									"key",
									"valueSet"
								],
								"members": {
									"key": {},
									"valueSet": {
										"shape": "S6g"
									}
								}
							}
						},
						"Filters": {
							"type": "list",
							"member": {
								"locationName": "InstanceInformationStringFilter",
								"type": "structure",
								"required": [
									"Key",
									"Values"
								],
								"members": {
									"Key": {},
									"Values": {
										"shape": "S6g"
									}
								}
							}
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceInformationList": {
							"type": "list",
							"member": {
								"locationName": "InstanceInformation",
								"type": "structure",
								"members": {
									"InstanceId": {},
									"PingStatus": {},
									"LastPingDateTime": {
										"type": "timestamp"
									},
									"AgentVersion": {},
									"IsLatestVersion": {
										"type": "boolean"
									},
									"PlatformType": {},
									"PlatformName": {},
									"PlatformVersion": {},
									"ActivationId": {},
									"IamRole": {},
									"RegistrationDate": {
										"type": "timestamp"
									},
									"ResourceType": {},
									"Name": {},
									"IPAddress": {},
									"ComputerName": {},
									"AssociationStatus": {},
									"LastAssociationExecutionDate": {
										"type": "timestamp"
									},
									"LastSuccessfulAssociationExecutionDate": {
										"type": "timestamp"
									},
									"AssociationOverview": {
										"type": "structure",
										"members": {
											"DetailedStatus": {},
											"InstanceAssociationStatusAggregatedCount": {
												"type": "map",
												"key": {},
												"value": {
													"type": "integer"
												}
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeInstancePatchStates": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceIds"
					],
					"members": {
						"InstanceIds": {
							"shape": "Sb"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstancePatchStates": {
							"type": "list",
							"member": {
								"shape": "S70"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeInstancePatchStatesForPatchGroup": {
				"input": {
					"type": "structure",
					"required": [
						"PatchGroup"
					],
					"members": {
						"PatchGroup": {},
						"Filters": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Key",
									"Values",
									"Type"
								],
								"members": {
									"Key": {},
									"Values": {
										"type": "list",
										"member": {}
									},
									"Type": {}
								}
							}
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstancePatchStates": {
							"type": "list",
							"member": {
								"shape": "S70"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeInstancePatches": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId"
					],
					"members": {
						"InstanceId": {},
						"Filters": {
							"shape": "S51"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Patches": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Title",
									"KBId",
									"Classification",
									"Severity",
									"State",
									"InstalledTime"
								],
								"members": {
									"Title": {},
									"KBId": {},
									"Classification": {},
									"Severity": {},
									"State": {},
									"InstalledTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeMaintenanceWindowExecutionTaskInvocations": {
				"input": {
					"type": "structure",
					"required": [
						"WindowExecutionId",
						"TaskId"
					],
					"members": {
						"WindowExecutionId": {},
						"TaskId": {},
						"Filters": {
							"shape": "S7r"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowExecutionTaskInvocationIdentities": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WindowExecutionId": {},
									"TaskExecutionId": {},
									"InvocationId": {},
									"ExecutionId": {},
									"Parameters": {
										"type": "string",
										"sensitive": true
									},
									"Status": {},
									"StatusDetails": {},
									"StartTime": {
										"type": "timestamp"
									},
									"EndTime": {
										"type": "timestamp"
									},
									"OwnerInformation": {
										"shape": "S72"
									},
									"WindowTargetId": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeMaintenanceWindowExecutionTasks": {
				"input": {
					"type": "structure",
					"required": [
						"WindowExecutionId"
					],
					"members": {
						"WindowExecutionId": {},
						"Filters": {
							"shape": "S7r"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowExecutionTaskIdentities": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WindowExecutionId": {},
									"TaskExecutionId": {},
									"Status": {},
									"StatusDetails": {},
									"StartTime": {
										"type": "timestamp"
									},
									"EndTime": {
										"type": "timestamp"
									},
									"TaskArn": {},
									"TaskType": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeMaintenanceWindowExecutions": {
				"input": {
					"type": "structure",
					"required": [
						"WindowId"
					],
					"members": {
						"WindowId": {},
						"Filters": {
							"shape": "S7r"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowExecutions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WindowId": {},
									"WindowExecutionId": {},
									"Status": {},
									"StatusDetails": {},
									"StartTime": {
										"type": "timestamp"
									},
									"EndTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeMaintenanceWindowTargets": {
				"input": {
					"type": "structure",
					"required": [
						"WindowId"
					],
					"members": {
						"WindowId": {},
						"Filters": {
							"shape": "S7r"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Targets": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WindowId": {},
									"WindowTargetId": {},
									"ResourceType": {},
									"Targets": {
										"shape": "Su"
									},
									"OwnerInformation": {
										"shape": "S72"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeMaintenanceWindowTasks": {
				"input": {
					"type": "structure",
					"required": [
						"WindowId"
					],
					"members": {
						"WindowId": {},
						"Filters": {
							"shape": "S7r"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tasks": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WindowId": {},
									"WindowTaskId": {},
									"TaskArn": {},
									"Type": {},
									"Targets": {
										"shape": "Su"
									},
									"TaskParameters": {
										"shape": "S8p"
									},
									"Priority": {
										"type": "integer"
									},
									"LoggingInfo": {
										"shape": "S8v"
									},
									"ServiceRoleArn": {},
									"MaxConcurrency": {},
									"MaxErrors": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeMaintenanceWindows": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S7r"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowIdentities": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WindowId": {},
									"Name": {},
									"Enabled": {
										"type": "boolean"
									},
									"Duration": {
										"type": "integer"
									},
									"Cutoff": {
										"type": "integer"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeParameters": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Key",
									"Values"
								],
								"members": {
									"Key": {},
									"Values": {
										"type": "list",
										"member": {}
									}
								}
							}
						},
						"ParameterFilters": {
							"shape": "S9a"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Parameters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"Type": {},
									"KeyId": {},
									"LastModifiedDate": {
										"type": "timestamp"
									},
									"LastModifiedUser": {},
									"Description": {},
									"AllowedPattern": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribePatchBaselines": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "S51"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BaselineIdentities": {
							"type": "list",
							"member": {
								"shape": "S9q"
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribePatchGroupState": {
				"input": {
					"type": "structure",
					"required": [
						"PatchGroup"
					],
					"members": {
						"PatchGroup": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Instances": {
							"type": "integer"
						},
						"InstancesWithInstalledPatches": {
							"type": "integer"
						},
						"InstancesWithInstalledOtherPatches": {
							"type": "integer"
						},
						"InstancesWithMissingPatches": {
							"type": "integer"
						},
						"InstancesWithFailedPatches": {
							"type": "integer"
						},
						"InstancesWithNotApplicablePatches": {
							"type": "integer"
						}
					}
				}
			},
			"DescribePatchGroups": {
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"type": "integer"
						},
						"Filters": {
							"shape": "S51"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Mappings": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"PatchGroup": {},
									"BaselineIdentity": {
										"shape": "S9q"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"GetAutomationExecution": {
				"input": {
					"type": "structure",
					"required": [
						"AutomationExecutionId"
					],
					"members": {
						"AutomationExecutionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AutomationExecution": {
							"type": "structure",
							"members": {
								"AutomationExecutionId": {},
								"DocumentName": {},
								"DocumentVersion": {},
								"ExecutionStartTime": {
									"type": "timestamp"
								},
								"ExecutionEndTime": {
									"type": "timestamp"
								},
								"AutomationExecutionStatus": {},
								"StepExecutions": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"StepName": {},
											"Action": {},
											"ExecutionStartTime": {
												"type": "timestamp"
											},
											"ExecutionEndTime": {
												"type": "timestamp"
											},
											"StepStatus": {},
											"ResponseCode": {},
											"Inputs": {
												"type": "map",
												"key": {},
												"value": {}
											},
											"Outputs": {
												"shape": "S4w"
											},
											"Response": {},
											"FailureMessage": {},
											"FailureDetails": {
												"type": "structure",
												"members": {
													"FailureStage": {},
													"FailureType": {},
													"Details": {
														"shape": "S4w"
													}
												}
											}
										}
									}
								},
								"Parameters": {
									"shape": "S4w"
								},
								"Outputs": {
									"shape": "S4w"
								},
								"FailureMessage": {}
							}
						}
					}
				}
			},
			"GetCommandInvocation": {
				"input": {
					"type": "structure",
					"required": [
						"CommandId",
						"InstanceId"
					],
					"members": {
						"CommandId": {},
						"InstanceId": {},
						"PluginName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CommandId": {},
						"InstanceId": {},
						"Comment": {},
						"DocumentName": {},
						"PluginName": {},
						"ResponseCode": {
							"type": "integer"
						},
						"ExecutionStartDateTime": {},
						"ExecutionElapsedTime": {},
						"ExecutionEndDateTime": {},
						"Status": {},
						"StatusDetails": {},
						"StandardOutputContent": {},
						"StandardOutputUrl": {},
						"StandardErrorContent": {},
						"StandardErrorUrl": {}
					}
				}
			},
			"GetDefaultPatchBaseline": {
				"input": {
					"type": "structure",
					"members": {
						"OperatingSystem": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BaselineId": {},
						"OperatingSystem": {}
					}
				}
			},
			"GetDeployablePatchSnapshotForInstance": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId",
						"SnapshotId"
					],
					"members": {
						"InstanceId": {},
						"SnapshotId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"InstanceId": {},
						"SnapshotId": {},
						"SnapshotDownloadUrl": {},
						"Product": {}
					}
				}
			},
			"GetDocument": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"DocumentVersion": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Name": {},
						"DocumentVersion": {},
						"Content": {},
						"DocumentType": {}
					}
				}
			},
			"GetInventory": {
				"input": {
					"type": "structure",
					"members": {
						"Filters": {
							"shape": "Saq"
						},
						"ResultAttributes": {
							"type": "list",
							"member": {
								"locationName": "ResultAttribute",
								"type": "structure",
								"required": [
									"TypeName"
								],
								"members": {
									"TypeName": {}
								}
							}
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Entities": {
							"type": "list",
							"member": {
								"locationName": "Entity",
								"type": "structure",
								"members": {
									"Id": {},
									"Data": {
										"type": "map",
										"key": {},
										"value": {
											"type": "structure",
											"required": [
												"TypeName",
												"SchemaVersion",
												"Content"
											],
											"members": {
												"TypeName": {},
												"SchemaVersion": {},
												"CaptureTime": {},
												"ContentHash": {},
												"Content": {
													"shape": "Sb9"
												}
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"GetInventorySchema": {
				"input": {
					"type": "structure",
					"members": {
						"TypeName": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Schemas": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"TypeName",
									"Attributes"
								],
								"members": {
									"TypeName": {},
									"Version": {},
									"Attributes": {
										"type": "list",
										"member": {
											"locationName": "Attribute",
											"type": "structure",
											"required": [
												"Name",
												"DataType"
											],
											"members": {
												"Name": {},
												"DataType": {}
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"GetMaintenanceWindow": {
				"input": {
					"type": "structure",
					"required": [
						"WindowId"
					],
					"members": {
						"WindowId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowId": {},
						"Name": {},
						"Schedule": {},
						"Duration": {
							"type": "integer"
						},
						"Cutoff": {
							"type": "integer"
						},
						"AllowUnassociatedTargets": {
							"type": "boolean"
						},
						"Enabled": {
							"type": "boolean"
						},
						"CreatedDate": {
							"type": "timestamp"
						},
						"ModifiedDate": {
							"type": "timestamp"
						}
					}
				}
			},
			"GetMaintenanceWindowExecution": {
				"input": {
					"type": "structure",
					"required": [
						"WindowExecutionId"
					],
					"members": {
						"WindowExecutionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowExecutionId": {},
						"TaskIds": {
							"type": "list",
							"member": {}
						},
						"Status": {},
						"StatusDetails": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						}
					}
				}
			},
			"GetMaintenanceWindowExecutionTask": {
				"input": {
					"type": "structure",
					"required": [
						"WindowExecutionId",
						"TaskId"
					],
					"members": {
						"WindowExecutionId": {},
						"TaskId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowExecutionId": {},
						"TaskExecutionId": {},
						"TaskArn": {},
						"ServiceRole": {},
						"Type": {},
						"TaskParameters": {
							"type": "list",
							"member": {
								"shape": "S8p"
							},
							"sensitive": true
						},
						"Priority": {
							"type": "integer"
						},
						"MaxConcurrency": {},
						"MaxErrors": {},
						"Status": {},
						"StatusDetails": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						}
					}
				}
			},
			"GetParameter": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"WithDecryption": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Parameter": {
							"shape": "Sbx"
						}
					}
				}
			},
			"GetParameterHistory": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"WithDecryption": {
							"type": "boolean"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Parameters": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"Type": {},
									"KeyId": {},
									"LastModifiedDate": {
										"type": "timestamp"
									},
									"LastModifiedUser": {},
									"Description": {},
									"Value": {},
									"AllowedPattern": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"GetParameters": {
				"input": {
					"type": "structure",
					"required": [
						"Names"
					],
					"members": {
						"Names": {
							"shape": "S3n"
						},
						"WithDecryption": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Parameters": {
							"shape": "Sc5"
						},
						"InvalidParameters": {
							"shape": "S3n"
						}
					}
				}
			},
			"GetParametersByPath": {
				"input": {
					"type": "structure",
					"required": [
						"Path"
					],
					"members": {
						"Path": {},
						"Recursive": {
							"type": "boolean"
						},
						"ParameterFilters": {
							"shape": "S9a"
						},
						"WithDecryption": {
							"type": "boolean"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Parameters": {
							"shape": "Sc5"
						},
						"NextToken": {}
					}
				}
			},
			"GetPatchBaseline": {
				"input": {
					"type": "structure",
					"required": [
						"BaselineId"
					],
					"members": {
						"BaselineId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BaselineId": {},
						"Name": {},
						"OperatingSystem": {},
						"GlobalFilters": {
							"shape": "S2n"
						},
						"ApprovalRules": {
							"shape": "S2t"
						},
						"ApprovedPatches": {
							"shape": "S2y"
						},
						"ApprovedPatchesComplianceLevel": {},
						"RejectedPatches": {
							"shape": "S2y"
						},
						"PatchGroups": {
							"type": "list",
							"member": {}
						},
						"CreatedDate": {
							"type": "timestamp"
						},
						"ModifiedDate": {
							"type": "timestamp"
						},
						"Description": {}
					}
				}
			},
			"GetPatchBaselineForPatchGroup": {
				"input": {
					"type": "structure",
					"required": [
						"PatchGroup"
					],
					"members": {
						"PatchGroup": {},
						"OperatingSystem": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BaselineId": {},
						"PatchGroup": {},
						"OperatingSystem": {}
					}
				}
			},
			"ListAssociations": {
				"input": {
					"type": "structure",
					"members": {
						"AssociationFilterList": {
							"type": "list",
							"member": {
								"locationName": "AssociationFilter",
								"type": "structure",
								"required": [
									"key",
									"value"
								],
								"members": {
									"key": {},
									"value": {}
								}
							}
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Associations": {
							"type": "list",
							"member": {
								"locationName": "Association",
								"type": "structure",
								"members": {
									"Name": {},
									"InstanceId": {},
									"AssociationId": {},
									"DocumentVersion": {},
									"Targets": {
										"shape": "Su"
									},
									"LastExecutionDate": {
										"type": "timestamp"
									},
									"Overview": {
										"shape": "S1c"
									},
									"ScheduleExpression": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListCommandInvocations": {
				"input": {
					"type": "structure",
					"members": {
						"CommandId": {},
						"InstanceId": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {},
						"Filters": {
							"shape": "Sco"
						},
						"Details": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CommandInvocations": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"CommandId": {},
									"InstanceId": {},
									"InstanceName": {},
									"Comment": {},
									"DocumentName": {},
									"RequestedDateTime": {
										"type": "timestamp"
									},
									"Status": {},
									"StatusDetails": {},
									"TraceOutput": {},
									"StandardOutputUrl": {},
									"StandardErrorUrl": {},
									"CommandPlugins": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"Name": {},
												"Status": {},
												"StatusDetails": {},
												"ResponseCode": {
													"type": "integer"
												},
												"ResponseStartDateTime": {
													"type": "timestamp"
												},
												"ResponseFinishDateTime": {
													"type": "timestamp"
												},
												"Output": {},
												"StandardOutputUrl": {},
												"StandardErrorUrl": {},
												"OutputS3Region": {},
												"OutputS3BucketName": {},
												"OutputS3KeyPrefix": {}
											}
										}
									},
									"ServiceRole": {},
									"NotificationConfig": {
										"shape": "Sd1"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListCommands": {
				"input": {
					"type": "structure",
					"members": {
						"CommandId": {},
						"InstanceId": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {},
						"Filters": {
							"shape": "Sco"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Commands": {
							"type": "list",
							"member": {
								"shape": "Sd9"
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListDocumentVersions": {
				"input": {
					"type": "structure",
					"required": [
						"Name"
					],
					"members": {
						"Name": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DocumentVersions": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Name": {},
									"DocumentVersion": {},
									"CreatedDate": {
										"type": "timestamp"
									},
									"IsDefaultVersion": {
										"type": "boolean"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListDocuments": {
				"input": {
					"type": "structure",
					"members": {
						"DocumentFilterList": {
							"type": "list",
							"member": {
								"locationName": "DocumentFilter",
								"type": "structure",
								"required": [
									"key",
									"value"
								],
								"members": {
									"key": {},
									"value": {}
								}
							}
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DocumentIdentifiers": {
							"type": "list",
							"member": {
								"locationName": "DocumentIdentifier",
								"type": "structure",
								"members": {
									"Name": {},
									"Owner": {},
									"PlatformTypes": {
										"shape": "S28"
									},
									"DocumentVersion": {},
									"DocumentType": {},
									"SchemaVersion": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListInventoryEntries": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId",
						"TypeName"
					],
					"members": {
						"InstanceId": {},
						"TypeName": {},
						"Filters": {
							"shape": "Saq"
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TypeName": {},
						"InstanceId": {},
						"SchemaVersion": {},
						"CaptureTime": {},
						"Entries": {
							"shape": "Sb9"
						},
						"NextToken": {}
					}
				}
			},
			"ListResourceDataSync": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResourceDataSyncItems": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"SyncName": {},
									"S3Destination": {
										"shape": "S35"
									},
									"LastSyncTime": {
										"type": "timestamp"
									},
									"LastSuccessfulSyncTime": {
										"type": "timestamp"
									},
									"LastStatus": {},
									"SyncCreatedTime": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceType",
						"ResourceId"
					],
					"members": {
						"ResourceType": {},
						"ResourceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TagList": {
							"shape": "S4"
						}
					}
				}
			},
			"ModifyDocumentPermission": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"PermissionType"
					],
					"members": {
						"Name": {},
						"PermissionType": {},
						"AccountIdsToAdd": {
							"shape": "S5q"
						},
						"AccountIdsToRemove": {
							"shape": "S5q"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"PutInventory": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId",
						"Items"
					],
					"members": {
						"InstanceId": {},
						"Items": {
							"type": "list",
							"member": {
								"locationName": "Item",
								"type": "structure",
								"required": [
									"TypeName",
									"SchemaVersion",
									"CaptureTime"
								],
								"members": {
									"TypeName": {},
									"SchemaVersion": {},
									"CaptureTime": {},
									"ContentHash": {},
									"Content": {
										"shape": "Sb9"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"PutParameter": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Value",
						"Type"
					],
					"members": {
						"Name": {},
						"Description": {},
						"Value": {},
						"Type": {},
						"KeyId": {},
						"Overwrite": {
							"type": "boolean"
						},
						"AllowedPattern": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"RegisterDefaultPatchBaseline": {
				"input": {
					"type": "structure",
					"required": [
						"BaselineId"
					],
					"members": {
						"BaselineId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BaselineId": {}
					}
				}
			},
			"RegisterPatchBaselineForPatchGroup": {
				"input": {
					"type": "structure",
					"required": [
						"BaselineId",
						"PatchGroup"
					],
					"members": {
						"BaselineId": {},
						"PatchGroup": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BaselineId": {},
						"PatchGroup": {}
					}
				}
			},
			"RegisterTargetWithMaintenanceWindow": {
				"input": {
					"type": "structure",
					"required": [
						"WindowId",
						"ResourceType",
						"Targets"
					],
					"members": {
						"WindowId": {},
						"ResourceType": {},
						"Targets": {
							"shape": "Su"
						},
						"OwnerInformation": {
							"shape": "S72"
						},
						"ClientToken": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowTargetId": {}
					}
				}
			},
			"RegisterTaskWithMaintenanceWindow": {
				"input": {
					"type": "structure",
					"required": [
						"WindowId",
						"Targets",
						"TaskArn",
						"ServiceRoleArn",
						"TaskType",
						"MaxConcurrency",
						"MaxErrors"
					],
					"members": {
						"WindowId": {},
						"Targets": {
							"shape": "Su"
						},
						"TaskArn": {},
						"ServiceRoleArn": {},
						"TaskType": {},
						"TaskParameters": {
							"shape": "S8p"
						},
						"Priority": {
							"type": "integer"
						},
						"MaxConcurrency": {},
						"MaxErrors": {},
						"LoggingInfo": {
							"shape": "S8v"
						},
						"ClientToken": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowTaskId": {}
					}
				}
			},
			"RemoveTagsFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceType",
						"ResourceId",
						"TagKeys"
					],
					"members": {
						"ResourceType": {},
						"ResourceId": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"SendCommand": {
				"input": {
					"type": "structure",
					"required": [
						"DocumentName"
					],
					"members": {
						"InstanceIds": {
							"shape": "Sb"
						},
						"Targets": {
							"shape": "Su"
						},
						"DocumentName": {},
						"DocumentHash": {},
						"DocumentHashType": {},
						"TimeoutSeconds": {
							"type": "integer"
						},
						"Comment": {},
						"Parameters": {
							"shape": "Sq"
						},
						"OutputS3Region": {},
						"OutputS3BucketName": {},
						"OutputS3KeyPrefix": {},
						"MaxConcurrency": {},
						"MaxErrors": {},
						"ServiceRoleArn": {},
						"NotificationConfig": {
							"shape": "Sd1"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Command": {
							"shape": "Sd9"
						}
					}
				}
			},
			"StartAutomationExecution": {
				"input": {
					"type": "structure",
					"required": [
						"DocumentName"
					],
					"members": {
						"DocumentName": {},
						"DocumentVersion": {},
						"Parameters": {
							"shape": "S4w"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AutomationExecutionId": {}
					}
				}
			},
			"StopAutomationExecution": {
				"input": {
					"type": "structure",
					"required": [
						"AutomationExecutionId"
					],
					"members": {
						"AutomationExecutionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateAssociation": {
				"input": {
					"type": "structure",
					"required": [
						"AssociationId"
					],
					"members": {
						"AssociationId": {},
						"Parameters": {
							"shape": "Sq"
						},
						"DocumentVersion": {},
						"ScheduleExpression": {},
						"OutputLocation": {
							"shape": "S10"
						},
						"Name": {},
						"Targets": {
							"shape": "Su"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AssociationDescription": {
							"shape": "S16"
						}
					}
				}
			},
			"UpdateAssociationStatus": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"InstanceId",
						"AssociationStatus"
					],
					"members": {
						"Name": {},
						"InstanceId": {},
						"AssociationStatus": {
							"shape": "S18"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AssociationDescription": {
							"shape": "S16"
						}
					}
				}
			},
			"UpdateDocument": {
				"input": {
					"type": "structure",
					"required": [
						"Content",
						"Name"
					],
					"members": {
						"Content": {},
						"Name": {},
						"DocumentVersion": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DocumentDescription": {
							"shape": "S1u"
						}
					}
				}
			},
			"UpdateDocumentDefaultVersion": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"DocumentVersion"
					],
					"members": {
						"Name": {},
						"DocumentVersion": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Description": {
							"type": "structure",
							"members": {
								"Name": {},
								"DefaultVersion": {}
							}
						}
					}
				}
			},
			"UpdateMaintenanceWindow": {
				"input": {
					"type": "structure",
					"required": [
						"WindowId"
					],
					"members": {
						"WindowId": {},
						"Name": {},
						"Schedule": {},
						"Duration": {
							"type": "integer"
						},
						"Cutoff": {
							"type": "integer"
						},
						"AllowUnassociatedTargets": {
							"type": "boolean"
						},
						"Enabled": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WindowId": {},
						"Name": {},
						"Schedule": {},
						"Duration": {
							"type": "integer"
						},
						"Cutoff": {
							"type": "integer"
						},
						"AllowUnassociatedTargets": {
							"type": "boolean"
						},
						"Enabled": {
							"type": "boolean"
						}
					}
				}
			},
			"UpdateManagedInstanceRole": {
				"input": {
					"type": "structure",
					"required": [
						"InstanceId",
						"IamRole"
					],
					"members": {
						"InstanceId": {},
						"IamRole": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdatePatchBaseline": {
				"input": {
					"type": "structure",
					"required": [
						"BaselineId"
					],
					"members": {
						"BaselineId": {},
						"Name": {},
						"GlobalFilters": {
							"shape": "S2n"
						},
						"ApprovalRules": {
							"shape": "S2t"
						},
						"ApprovedPatches": {
							"shape": "S2y"
						},
						"ApprovedPatchesComplianceLevel": {},
						"RejectedPatches": {
							"shape": "S2y"
						},
						"Description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BaselineId": {},
						"Name": {},
						"OperatingSystem": {},
						"GlobalFilters": {
							"shape": "S2n"
						},
						"ApprovalRules": {
							"shape": "S2t"
						},
						"ApprovedPatches": {
							"shape": "S2y"
						},
						"ApprovedPatchesComplianceLevel": {},
						"RejectedPatches": {
							"shape": "S2y"
						},
						"CreatedDate": {
							"type": "timestamp"
						},
						"ModifiedDate": {
							"type": "timestamp"
						},
						"Description": {}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key",
						"Value"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sb": {
				"type": "list",
				"member": {}
			},
			"Sq": {
				"type": "map",
				"key": {},
				"value": {
					"type": "list",
					"member": {}
				}
			},
			"Su": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Values": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"S10": {
				"type": "structure",
				"members": {
					"S3Location": {
						"type": "structure",
						"members": {
							"OutputS3Region": {},
							"OutputS3BucketName": {},
							"OutputS3KeyPrefix": {}
						}
					}
				}
			},
			"S16": {
				"type": "structure",
				"members": {
					"Name": {},
					"InstanceId": {},
					"Date": {
						"type": "timestamp"
					},
					"LastUpdateAssociationDate": {
						"type": "timestamp"
					},
					"Status": {
						"shape": "S18"
					},
					"Overview": {
						"shape": "S1c"
					},
					"DocumentVersion": {},
					"Parameters": {
						"shape": "Sq"
					},
					"AssociationId": {},
					"Targets": {
						"shape": "Su"
					},
					"ScheduleExpression": {},
					"OutputLocation": {
						"shape": "S10"
					},
					"LastExecutionDate": {
						"type": "timestamp"
					},
					"LastSuccessfulExecutionDate": {
						"type": "timestamp"
					}
				}
			},
			"S18": {
				"type": "structure",
				"required": [
					"Date",
					"Name",
					"Message"
				],
				"members": {
					"Date": {
						"type": "timestamp"
					},
					"Name": {},
					"Message": {},
					"AdditionalInfo": {}
				}
			},
			"S1c": {
				"type": "structure",
				"members": {
					"Status": {},
					"DetailedStatus": {},
					"AssociationStatusAggregatedCount": {
						"type": "map",
						"key": {},
						"value": {
							"type": "integer"
						}
					}
				}
			},
			"S1j": {
				"type": "structure",
				"required": [
					"Name"
				],
				"members": {
					"Name": {},
					"InstanceId": {},
					"Parameters": {
						"shape": "Sq"
					},
					"DocumentVersion": {},
					"Targets": {
						"shape": "Su"
					},
					"ScheduleExpression": {},
					"OutputLocation": {
						"shape": "S10"
					}
				}
			},
			"S1u": {
				"type": "structure",
				"members": {
					"Sha1": {},
					"Hash": {},
					"HashType": {},
					"Name": {},
					"Owner": {},
					"CreatedDate": {
						"type": "timestamp"
					},
					"Status": {},
					"DocumentVersion": {},
					"Description": {},
					"Parameters": {
						"type": "list",
						"member": {
							"locationName": "DocumentParameter",
							"type": "structure",
							"members": {
								"Name": {},
								"Type": {},
								"Description": {},
								"DefaultValue": {}
							}
						}
					},
					"PlatformTypes": {
						"shape": "S28"
					},
					"DocumentType": {},
					"SchemaVersion": {},
					"LatestVersion": {},
					"DefaultVersion": {}
				}
			},
			"S28": {
				"type": "list",
				"member": {
					"locationName": "PlatformType"
				}
			},
			"S2n": {
				"type": "structure",
				"required": [
					"PatchFilters"
				],
				"members": {
					"PatchFilters": {
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"Key",
								"Values"
							],
							"members": {
								"Key": {},
								"Values": {
									"type": "list",
									"member": {}
								}
							}
						}
					}
				}
			},
			"S2t": {
				"type": "structure",
				"required": [
					"PatchRules"
				],
				"members": {
					"PatchRules": {
						"type": "list",
						"member": {
							"type": "structure",
							"required": [
								"PatchFilterGroup",
								"ApproveAfterDays"
							],
							"members": {
								"PatchFilterGroup": {
									"shape": "S2n"
								},
								"ComplianceLevel": {},
								"ApproveAfterDays": {
									"type": "integer"
								}
							}
						}
					}
				}
			},
			"S2y": {
				"type": "list",
				"member": {}
			},
			"S35": {
				"type": "structure",
				"required": [
					"BucketName",
					"SyncFormat",
					"Region"
				],
				"members": {
					"BucketName": {},
					"Prefix": {},
					"SyncFormat": {},
					"Region": {}
				}
			},
			"S3n": {
				"type": "list",
				"member": {}
			},
			"S4w": {
				"type": "map",
				"key": {},
				"value": {
					"type": "list",
					"member": {}
				}
			},
			"S51": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Values": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"S59": {
				"type": "structure",
				"members": {
					"Id": {},
					"ReleaseDate": {
						"type": "timestamp"
					},
					"Title": {},
					"Description": {},
					"ContentUrl": {},
					"Vendor": {},
					"ProductFamily": {},
					"Product": {},
					"Classification": {},
					"MsrcSeverity": {},
					"KbNumber": {},
					"MsrcNumber": {},
					"Language": {}
				}
			},
			"S5q": {
				"type": "list",
				"member": {
					"locationName": "AccountId"
				}
			},
			"S6g": {
				"type": "list",
				"member": {
					"locationName": "InstanceInformationFilterValue"
				}
			},
			"S70": {
				"type": "structure",
				"required": [
					"InstanceId",
					"PatchGroup",
					"BaselineId",
					"OperationStartTime",
					"OperationEndTime",
					"Operation"
				],
				"members": {
					"InstanceId": {},
					"PatchGroup": {},
					"BaselineId": {},
					"SnapshotId": {},
					"OwnerInformation": {
						"shape": "S72"
					},
					"InstalledCount": {
						"type": "integer"
					},
					"InstalledOtherCount": {
						"type": "integer"
					},
					"MissingCount": {
						"type": "integer"
					},
					"FailedCount": {
						"type": "integer"
					},
					"NotApplicableCount": {
						"type": "integer"
					},
					"OperationStartTime": {
						"type": "timestamp"
					},
					"OperationEndTime": {
						"type": "timestamp"
					},
					"Operation": {}
				}
			},
			"S72": {
				"type": "string",
				"sensitive": true
			},
			"S7r": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Values": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"S8p": {
				"type": "map",
				"key": {},
				"value": {
					"type": "structure",
					"members": {
						"Values": {
							"type": "list",
							"member": {
								"type": "string",
								"sensitive": true
							},
							"sensitive": true
						}
					},
					"sensitive": true
				},
				"sensitive": true
			},
			"S8v": {
				"type": "structure",
				"required": [
					"S3BucketName",
					"S3Region"
				],
				"members": {
					"S3BucketName": {},
					"S3KeyPrefix": {},
					"S3Region": {}
				}
			},
			"S9a": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key"
					],
					"members": {
						"Key": {},
						"Option": {},
						"Values": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"S9q": {
				"type": "structure",
				"members": {
					"BaselineId": {},
					"BaselineName": {},
					"OperatingSystem": {},
					"BaselineDescription": {},
					"DefaultBaseline": {
						"type": "boolean"
					}
				}
			},
			"Saq": {
				"type": "list",
				"member": {
					"locationName": "InventoryFilter",
					"type": "structure",
					"required": [
						"Key",
						"Values"
					],
					"members": {
						"Key": {},
						"Values": {
							"type": "list",
							"member": {
								"locationName": "FilterValue"
							}
						},
						"Type": {}
					}
				}
			},
			"Sb9": {
				"type": "list",
				"member": {
					"type": "map",
					"key": {},
					"value": {}
				}
			},
			"Sbx": {
				"type": "structure",
				"members": {
					"Name": {},
					"Type": {},
					"Value": {}
				}
			},
			"Sc5": {
				"type": "list",
				"member": {
					"shape": "Sbx"
				}
			},
			"Sco": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"key",
						"value"
					],
					"members": {
						"key": {},
						"value": {}
					}
				}
			},
			"Sd1": {
				"type": "structure",
				"members": {
					"NotificationArn": {},
					"NotificationEvents": {
						"type": "list",
						"member": {}
					},
					"NotificationType": {}
				}
			},
			"Sd9": {
				"type": "structure",
				"members": {
					"CommandId": {},
					"DocumentName": {},
					"Comment": {},
					"ExpiresAfter": {
						"type": "timestamp"
					},
					"Parameters": {
						"shape": "Sq"
					},
					"InstanceIds": {
						"shape": "Sb"
					},
					"Targets": {
						"shape": "Su"
					},
					"RequestedDateTime": {
						"type": "timestamp"
					},
					"Status": {},
					"StatusDetails": {},
					"OutputS3Region": {},
					"OutputS3BucketName": {},
					"OutputS3KeyPrefix": {},
					"MaxConcurrency": {},
					"MaxErrors": {},
					"TargetCount": {
						"type": "integer"
					},
					"CompletedCount": {
						"type": "integer"
					},
					"ErrorCount": {
						"type": "integer"
					},
					"ServiceRole": {},
					"NotificationConfig": {
						"shape": "Sd1"
					}
				}
			}
		}
	};

/***/ }),
/* 609 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeActivations": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "ActivationList"
			},
			"DescribeInstanceInformation": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "InstanceInformationList"
			},
			"DescribeParameters": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken"
			},
			"GetParameterHistory": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken"
			},
			"GetParametersByPath": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken"
			},
			"ListAssociations": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "Associations"
			},
			"ListCommandInvocations": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "CommandInvocations"
			},
			"ListCommands": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "Commands"
			},
			"ListDocuments": {
				"input_token": "NextToken",
				"limit_key": "MaxResults",
				"output_token": "NextToken",
				"result_key": "DocumentIdentifiers"
			}
		}
	};

/***/ }),
/* 610 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['storagegateway'] = {};
	AWS.StorageGateway = Service.defineService('storagegateway', ['2013-06-30']);
	Object.defineProperty(apiLoader.services['storagegateway'], '2013-06-30', {
	  get: function get() {
	    var model = __webpack_require__(611);
	    model.paginators = __webpack_require__(612).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.StorageGateway;


/***/ }),
/* 611 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2013-06-30",
			"endpointPrefix": "storagegateway",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS Storage Gateway",
			"signatureVersion": "v4",
			"targetPrefix": "StorageGateway_20130630",
			"uid": "storagegateway-2013-06-30"
		},
		"operations": {
			"ActivateGateway": {
				"input": {
					"type": "structure",
					"required": [
						"ActivationKey",
						"GatewayName",
						"GatewayTimezone",
						"GatewayRegion"
					],
					"members": {
						"ActivationKey": {},
						"GatewayName": {},
						"GatewayTimezone": {},
						"GatewayRegion": {},
						"GatewayType": {},
						"TapeDriveType": {},
						"MediumChangerType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"AddCache": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"DiskIds"
					],
					"members": {
						"GatewayARN": {},
						"DiskIds": {
							"shape": "Sc"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"AddTagsToResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceARN",
						"Tags"
					],
					"members": {
						"ResourceARN": {},
						"Tags": {
							"shape": "Sh"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResourceARN": {}
					}
				}
			},
			"AddUploadBuffer": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"DiskIds"
					],
					"members": {
						"GatewayARN": {},
						"DiskIds": {
							"shape": "Sc"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"AddWorkingStorage": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"DiskIds"
					],
					"members": {
						"GatewayARN": {},
						"DiskIds": {
							"shape": "Sc"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"CancelArchival": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"TapeARN"
					],
					"members": {
						"GatewayARN": {},
						"TapeARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TapeARN": {}
					}
				}
			},
			"CancelRetrieval": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"TapeARN"
					],
					"members": {
						"GatewayARN": {},
						"TapeARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TapeARN": {}
					}
				}
			},
			"CreateCachediSCSIVolume": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"VolumeSizeInBytes",
						"TargetName",
						"NetworkInterfaceId",
						"ClientToken"
					],
					"members": {
						"GatewayARN": {},
						"VolumeSizeInBytes": {
							"type": "long"
						},
						"SnapshotId": {},
						"TargetName": {},
						"SourceVolumeARN": {},
						"NetworkInterfaceId": {},
						"ClientToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VolumeARN": {},
						"TargetARN": {}
					}
				}
			},
			"CreateNFSFileShare": {
				"input": {
					"type": "structure",
					"required": [
						"ClientToken",
						"GatewayARN",
						"Role",
						"LocationARN"
					],
					"members": {
						"ClientToken": {},
						"NFSFileShareDefaults": {
							"shape": "S15"
						},
						"GatewayARN": {},
						"KMSEncrypted": {
							"type": "boolean"
						},
						"KMSKey": {},
						"Role": {},
						"LocationARN": {},
						"DefaultStorageClass": {},
						"ClientList": {
							"shape": "S1d"
						},
						"Squash": {},
						"ReadOnly": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FileShareARN": {}
					}
				}
			},
			"CreateSnapshot": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeARN",
						"SnapshotDescription"
					],
					"members": {
						"VolumeARN": {},
						"SnapshotDescription": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VolumeARN": {},
						"SnapshotId": {}
					}
				}
			},
			"CreateSnapshotFromVolumeRecoveryPoint": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeARN",
						"SnapshotDescription"
					],
					"members": {
						"VolumeARN": {},
						"SnapshotDescription": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SnapshotId": {},
						"VolumeARN": {},
						"VolumeRecoveryPointTime": {}
					}
				}
			},
			"CreateStorediSCSIVolume": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"DiskId",
						"PreserveExistingData",
						"TargetName",
						"NetworkInterfaceId"
					],
					"members": {
						"GatewayARN": {},
						"DiskId": {},
						"SnapshotId": {},
						"PreserveExistingData": {
							"type": "boolean"
						},
						"TargetName": {},
						"NetworkInterfaceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VolumeARN": {},
						"VolumeSizeInBytes": {
							"type": "long"
						},
						"TargetARN": {}
					}
				}
			},
			"CreateTapeWithBarcode": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"TapeSizeInBytes",
						"TapeBarcode"
					],
					"members": {
						"GatewayARN": {},
						"TapeSizeInBytes": {
							"type": "long"
						},
						"TapeBarcode": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TapeARN": {}
					}
				}
			},
			"CreateTapes": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"TapeSizeInBytes",
						"ClientToken",
						"NumTapesToCreate",
						"TapeBarcodePrefix"
					],
					"members": {
						"GatewayARN": {},
						"TapeSizeInBytes": {
							"type": "long"
						},
						"ClientToken": {},
						"NumTapesToCreate": {
							"type": "integer"
						},
						"TapeBarcodePrefix": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TapeARNs": {
							"shape": "S1z"
						}
					}
				}
			},
			"DeleteBandwidthRateLimit": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"BandwidthType"
					],
					"members": {
						"GatewayARN": {},
						"BandwidthType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"DeleteChapCredentials": {
				"input": {
					"type": "structure",
					"required": [
						"TargetARN",
						"InitiatorName"
					],
					"members": {
						"TargetARN": {},
						"InitiatorName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TargetARN": {},
						"InitiatorName": {}
					}
				}
			},
			"DeleteFileShare": {
				"input": {
					"type": "structure",
					"required": [
						"FileShareARN"
					],
					"members": {
						"FileShareARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FileShareARN": {}
					}
				}
			},
			"DeleteGateway": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"DeleteSnapshotSchedule": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeARN"
					],
					"members": {
						"VolumeARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VolumeARN": {}
					}
				}
			},
			"DeleteTape": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"TapeARN"
					],
					"members": {
						"GatewayARN": {},
						"TapeARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TapeARN": {}
					}
				}
			},
			"DeleteTapeArchive": {
				"input": {
					"type": "structure",
					"required": [
						"TapeARN"
					],
					"members": {
						"TapeARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TapeARN": {}
					}
				}
			},
			"DeleteVolume": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeARN"
					],
					"members": {
						"VolumeARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VolumeARN": {}
					}
				}
			},
			"DescribeBandwidthRateLimit": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"AverageUploadRateLimitInBitsPerSec": {
							"type": "long"
						},
						"AverageDownloadRateLimitInBitsPerSec": {
							"type": "long"
						}
					}
				}
			},
			"DescribeCache": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"DiskIds": {
							"shape": "Sc"
						},
						"CacheAllocatedInBytes": {
							"type": "long"
						},
						"CacheUsedPercentage": {
							"type": "double"
						},
						"CacheDirtyPercentage": {
							"type": "double"
						},
						"CacheHitPercentage": {
							"type": "double"
						},
						"CacheMissPercentage": {
							"type": "double"
						}
					}
				}
			},
			"DescribeCachediSCSIVolumes": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeARNs"
					],
					"members": {
						"VolumeARNs": {
							"shape": "S2q"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"CachediSCSIVolumes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"VolumeARN": {},
									"VolumeId": {},
									"VolumeType": {},
									"VolumeStatus": {},
									"VolumeSizeInBytes": {
										"type": "long"
									},
									"VolumeProgress": {
										"type": "double"
									},
									"SourceSnapshotId": {},
									"VolumeiSCSIAttributes": {
										"shape": "S2y"
									},
									"CreatedDate": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeChapCredentials": {
				"input": {
					"type": "structure",
					"required": [
						"TargetARN"
					],
					"members": {
						"TargetARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChapCredentials": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"TargetARN": {},
									"SecretToAuthenticateInitiator": {},
									"InitiatorName": {},
									"SecretToAuthenticateTarget": {}
								}
							}
						}
					}
				}
			},
			"DescribeGatewayInformation": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"GatewayId": {},
						"GatewayName": {},
						"GatewayTimezone": {},
						"GatewayState": {},
						"GatewayNetworkInterfaces": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Ipv4Address": {},
									"MacAddress": {},
									"Ipv6Address": {}
								}
							}
						},
						"GatewayType": {},
						"NextUpdateAvailabilityDate": {},
						"LastSoftwareUpdate": {}
					}
				}
			},
			"DescribeMaintenanceStartTime": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"HourOfDay": {
							"type": "integer"
						},
						"MinuteOfHour": {
							"type": "integer"
						},
						"DayOfWeek": {
							"type": "integer"
						},
						"Timezone": {}
					}
				}
			},
			"DescribeNFSFileShares": {
				"input": {
					"type": "structure",
					"required": [
						"FileShareARNList"
					],
					"members": {
						"FileShareARNList": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NFSFileShareInfoList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"NFSFileShareDefaults": {
										"shape": "S15"
									},
									"FileShareARN": {},
									"FileShareId": {},
									"FileShareStatus": {},
									"GatewayARN": {},
									"KMSEncrypted": {
										"type": "boolean"
									},
									"KMSKey": {},
									"Path": {},
									"Role": {},
									"LocationARN": {},
									"DefaultStorageClass": {},
									"ClientList": {
										"shape": "S1d"
									},
									"Squash": {},
									"ReadOnly": {
										"type": "boolean"
									}
								}
							}
						}
					}
				}
			},
			"DescribeSnapshotSchedule": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeARN"
					],
					"members": {
						"VolumeARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VolumeARN": {},
						"StartAt": {
							"type": "integer"
						},
						"RecurrenceInHours": {
							"type": "integer"
						},
						"Description": {},
						"Timezone": {}
					}
				}
			},
			"DescribeStorediSCSIVolumes": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeARNs"
					],
					"members": {
						"VolumeARNs": {
							"shape": "S2q"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StorediSCSIVolumes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"VolumeARN": {},
									"VolumeId": {},
									"VolumeType": {},
									"VolumeStatus": {},
									"VolumeSizeInBytes": {
										"type": "long"
									},
									"VolumeProgress": {
										"type": "double"
									},
									"VolumeDiskId": {},
									"SourceSnapshotId": {},
									"PreservedExistingData": {
										"type": "boolean"
									},
									"VolumeiSCSIAttributes": {
										"shape": "S2y"
									},
									"CreatedDate": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeTapeArchives": {
				"input": {
					"type": "structure",
					"members": {
						"TapeARNs": {
							"shape": "S1z"
						},
						"Marker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TapeArchives": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"TapeARN": {},
									"TapeBarcode": {},
									"TapeCreatedDate": {
										"type": "timestamp"
									},
									"TapeSizeInBytes": {
										"type": "long"
									},
									"CompletionTime": {
										"type": "timestamp"
									},
									"RetrievedTo": {},
									"TapeStatus": {},
									"TapeUsedInBytes": {
										"type": "long"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeTapeRecoveryPoints": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {},
						"Marker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"TapeRecoveryPointInfos": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"TapeARN": {},
									"TapeRecoveryPointTime": {
										"type": "timestamp"
									},
									"TapeSizeInBytes": {
										"type": "long"
									},
									"TapeStatus": {}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeTapes": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {},
						"TapeARNs": {
							"shape": "S1z"
						},
						"Marker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tapes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"TapeARN": {},
									"TapeBarcode": {},
									"TapeCreatedDate": {
										"type": "timestamp"
									},
									"TapeSizeInBytes": {
										"type": "long"
									},
									"TapeStatus": {},
									"VTLDevice": {},
									"Progress": {
										"type": "double"
									},
									"TapeUsedInBytes": {
										"type": "long"
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeUploadBuffer": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"DiskIds": {
							"shape": "Sc"
						},
						"UploadBufferUsedInBytes": {
							"type": "long"
						},
						"UploadBufferAllocatedInBytes": {
							"type": "long"
						}
					}
				}
			},
			"DescribeVTLDevices": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {},
						"VTLDeviceARNs": {
							"type": "list",
							"member": {}
						},
						"Marker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"VTLDevices": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"VTLDeviceARN": {},
									"VTLDeviceType": {},
									"VTLDeviceVendor": {},
									"VTLDeviceProductIdentifier": {},
									"DeviceiSCSIAttributes": {
										"type": "structure",
										"members": {
											"TargetARN": {},
											"NetworkInterfaceId": {},
											"NetworkInterfacePort": {
												"type": "integer"
											},
											"ChapEnabled": {
												"type": "boolean"
											}
										}
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeWorkingStorage": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"DiskIds": {
							"shape": "Sc"
						},
						"WorkingStorageUsedInBytes": {
							"type": "long"
						},
						"WorkingStorageAllocatedInBytes": {
							"type": "long"
						}
					}
				}
			},
			"DisableGateway": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"ListFileShares": {
				"input": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"Limit": {
							"type": "integer"
						},
						"Marker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Marker": {},
						"NextMarker": {},
						"FileShareInfoList": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"FileShareARN": {},
									"FileShareId": {},
									"FileShareStatus": {},
									"GatewayARN": {}
								}
							}
						}
					}
				}
			},
			"ListGateways": {
				"input": {
					"type": "structure",
					"members": {
						"Marker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Gateways": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"GatewayId": {},
									"GatewayARN": {},
									"GatewayType": {},
									"GatewayOperationalState": {},
									"GatewayName": {}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ListLocalDisks": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"Disks": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DiskId": {},
									"DiskPath": {},
									"DiskNode": {},
									"DiskStatus": {},
									"DiskSizeInBytes": {
										"type": "long"
									},
									"DiskAllocationType": {},
									"DiskAllocationResource": {}
								}
							}
						}
					}
				}
			},
			"ListTagsForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceARN"
					],
					"members": {
						"ResourceARN": {},
						"Marker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResourceARN": {},
						"Marker": {},
						"Tags": {
							"shape": "Sh"
						}
					}
				}
			},
			"ListTapes": {
				"input": {
					"type": "structure",
					"members": {
						"TapeARNs": {
							"shape": "S1z"
						},
						"Marker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TapeInfos": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"TapeARN": {},
									"TapeBarcode": {},
									"TapeSizeInBytes": {
										"type": "long"
									},
									"TapeStatus": {},
									"GatewayARN": {}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"ListVolumeInitiators": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeARN"
					],
					"members": {
						"VolumeARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Initiators": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"ListVolumeRecoveryPoints": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"VolumeRecoveryPointInfos": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"VolumeARN": {},
									"VolumeSizeInBytes": {
										"type": "long"
									},
									"VolumeUsageInBytes": {
										"type": "long"
									},
									"VolumeRecoveryPointTime": {}
								}
							}
						}
					}
				}
			},
			"ListVolumes": {
				"input": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"Marker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"Marker": {},
						"VolumeInfos": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"VolumeARN": {},
									"VolumeId": {},
									"GatewayARN": {},
									"GatewayId": {},
									"VolumeType": {},
									"VolumeSizeInBytes": {
										"type": "long"
									}
								}
							}
						}
					}
				}
			},
			"RefreshCache": {
				"input": {
					"type": "structure",
					"required": [
						"FileShareARN"
					],
					"members": {
						"FileShareARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FileShareARN": {}
					}
				}
			},
			"RemoveTagsFromResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceARN",
						"TagKeys"
					],
					"members": {
						"ResourceARN": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResourceARN": {}
					}
				}
			},
			"ResetCache": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"RetrieveTapeArchive": {
				"input": {
					"type": "structure",
					"required": [
						"TapeARN",
						"GatewayARN"
					],
					"members": {
						"TapeARN": {},
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TapeARN": {}
					}
				}
			},
			"RetrieveTapeRecoveryPoint": {
				"input": {
					"type": "structure",
					"required": [
						"TapeARN",
						"GatewayARN"
					],
					"members": {
						"TapeARN": {},
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TapeARN": {}
					}
				}
			},
			"SetLocalConsolePassword": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"LocalConsolePassword"
					],
					"members": {
						"GatewayARN": {},
						"LocalConsolePassword": {
							"type": "string",
							"sensitive": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"ShutdownGateway": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"StartGateway": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"UpdateBandwidthRateLimit": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {},
						"AverageUploadRateLimitInBitsPerSec": {
							"type": "long"
						},
						"AverageDownloadRateLimitInBitsPerSec": {
							"type": "long"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"UpdateChapCredentials": {
				"input": {
					"type": "structure",
					"required": [
						"TargetARN",
						"SecretToAuthenticateInitiator",
						"InitiatorName"
					],
					"members": {
						"TargetARN": {},
						"SecretToAuthenticateInitiator": {},
						"InitiatorName": {},
						"SecretToAuthenticateTarget": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TargetARN": {},
						"InitiatorName": {}
					}
				}
			},
			"UpdateGatewayInformation": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {},
						"GatewayName": {},
						"GatewayTimezone": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {},
						"GatewayName": {}
					}
				}
			},
			"UpdateGatewaySoftwareNow": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN"
					],
					"members": {
						"GatewayARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"UpdateMaintenanceStartTime": {
				"input": {
					"type": "structure",
					"required": [
						"GatewayARN",
						"HourOfDay",
						"MinuteOfHour",
						"DayOfWeek"
					],
					"members": {
						"GatewayARN": {},
						"HourOfDay": {
							"type": "integer"
						},
						"MinuteOfHour": {
							"type": "integer"
						},
						"DayOfWeek": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"GatewayARN": {}
					}
				}
			},
			"UpdateNFSFileShare": {
				"input": {
					"type": "structure",
					"required": [
						"FileShareARN"
					],
					"members": {
						"FileShareARN": {},
						"KMSEncrypted": {
							"type": "boolean"
						},
						"KMSKey": {},
						"NFSFileShareDefaults": {
							"shape": "S15"
						},
						"DefaultStorageClass": {},
						"ClientList": {
							"shape": "S1d"
						},
						"Squash": {},
						"ReadOnly": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FileShareARN": {}
					}
				}
			},
			"UpdateSnapshotSchedule": {
				"input": {
					"type": "structure",
					"required": [
						"VolumeARN",
						"StartAt",
						"RecurrenceInHours"
					],
					"members": {
						"VolumeARN": {},
						"StartAt": {
							"type": "integer"
						},
						"RecurrenceInHours": {
							"type": "integer"
						},
						"Description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VolumeARN": {}
					}
				}
			},
			"UpdateVTLDeviceType": {
				"input": {
					"type": "structure",
					"required": [
						"VTLDeviceARN",
						"DeviceType"
					],
					"members": {
						"VTLDeviceARN": {},
						"DeviceType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"VTLDeviceARN": {}
					}
				}
			}
		},
		"shapes": {
			"Sc": {
				"type": "list",
				"member": {}
			},
			"Sh": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key",
						"Value"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S15": {
				"type": "structure",
				"members": {
					"FileMode": {},
					"DirectoryMode": {},
					"GroupId": {
						"type": "long"
					},
					"OwnerId": {
						"type": "long"
					}
				}
			},
			"S1d": {
				"type": "list",
				"member": {}
			},
			"S1z": {
				"type": "list",
				"member": {}
			},
			"S2q": {
				"type": "list",
				"member": {}
			},
			"S2y": {
				"type": "structure",
				"members": {
					"TargetARN": {},
					"NetworkInterfaceId": {},
					"NetworkInterfacePort": {
						"type": "integer"
					},
					"LunNumber": {
						"type": "integer"
					},
					"ChapEnabled": {
						"type": "boolean"
					}
				}
			}
		}
	};

/***/ }),
/* 612 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeCachediSCSIVolumes": {
				"result_key": "CachediSCSIVolumes"
			},
			"DescribeStorediSCSIVolumes": {
				"result_key": "StorediSCSIVolumes"
			},
			"DescribeTapeArchives": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"output_token": "Marker",
				"result_key": "TapeArchives"
			},
			"DescribeTapeRecoveryPoints": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"output_token": "Marker",
				"result_key": "TapeRecoveryPointInfos"
			},
			"DescribeTapes": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"output_token": "Marker",
				"result_key": "Tapes"
			},
			"DescribeVTLDevices": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"output_token": "Marker",
				"result_key": "VTLDevices"
			},
			"ListGateways": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"output_token": "Marker",
				"result_key": "Gateways"
			},
			"ListLocalDisks": {
				"result_key": "Disks"
			},
			"ListVolumeRecoveryPoints": {
				"result_key": "VolumeRecoveryPointInfos"
			},
			"ListVolumes": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"output_token": "Marker",
				"result_key": "VolumeInfos"
			}
		}
	};

/***/ }),
/* 613 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['stepfunctions'] = {};
	AWS.StepFunctions = Service.defineService('stepfunctions', ['2016-11-23']);
	Object.defineProperty(apiLoader.services['stepfunctions'], '2016-11-23', {
	  get: function get() {
	    var model = __webpack_require__(614);
	    model.paginators = __webpack_require__(615).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.StepFunctions;


/***/ }),
/* 614 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-11-23",
			"endpointPrefix": "states",
			"jsonVersion": "1.0",
			"protocol": "json",
			"serviceAbbreviation": "AWS SFN",
			"serviceFullName": "AWS Step Functions",
			"signatureVersion": "v4",
			"targetPrefix": "AWSStepFunctions",
			"uid": "states-2016-11-23"
		},
		"operations": {
			"CreateActivity": {
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"activityArn",
						"creationDate"
					],
					"members": {
						"activityArn": {},
						"creationDate": {
							"type": "timestamp"
						}
					}
				},
				"idempotent": true
			},
			"CreateStateMachine": {
				"input": {
					"type": "structure",
					"required": [
						"name",
						"definition",
						"roleArn"
					],
					"members": {
						"name": {},
						"definition": {},
						"roleArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"stateMachineArn",
						"creationDate"
					],
					"members": {
						"stateMachineArn": {},
						"creationDate": {
							"type": "timestamp"
						}
					}
				},
				"idempotent": true
			},
			"DeleteActivity": {
				"input": {
					"type": "structure",
					"required": [
						"activityArn"
					],
					"members": {
						"activityArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteStateMachine": {
				"input": {
					"type": "structure",
					"required": [
						"stateMachineArn"
					],
					"members": {
						"stateMachineArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeActivity": {
				"input": {
					"type": "structure",
					"required": [
						"activityArn"
					],
					"members": {
						"activityArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"activityArn",
						"name",
						"creationDate"
					],
					"members": {
						"activityArn": {},
						"name": {},
						"creationDate": {
							"type": "timestamp"
						}
					}
				}
			},
			"DescribeExecution": {
				"input": {
					"type": "structure",
					"required": [
						"executionArn"
					],
					"members": {
						"executionArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"executionArn",
						"stateMachineArn",
						"status",
						"startDate",
						"input"
					],
					"members": {
						"executionArn": {},
						"stateMachineArn": {},
						"name": {},
						"status": {},
						"startDate": {
							"type": "timestamp"
						},
						"stopDate": {
							"type": "timestamp"
						},
						"input": {},
						"output": {}
					}
				}
			},
			"DescribeStateMachine": {
				"input": {
					"type": "structure",
					"required": [
						"stateMachineArn"
					],
					"members": {
						"stateMachineArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"stateMachineArn",
						"name",
						"definition",
						"roleArn",
						"creationDate"
					],
					"members": {
						"stateMachineArn": {},
						"name": {},
						"status": {},
						"definition": {},
						"roleArn": {},
						"creationDate": {
							"type": "timestamp"
						}
					}
				}
			},
			"GetActivityTask": {
				"input": {
					"type": "structure",
					"required": [
						"activityArn"
					],
					"members": {
						"activityArn": {},
						"workerName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"taskToken": {},
						"input": {}
					}
				}
			},
			"GetExecutionHistory": {
				"input": {
					"type": "structure",
					"required": [
						"executionArn"
					],
					"members": {
						"executionArn": {},
						"maxResults": {
							"type": "integer"
						},
						"reverseOrder": {
							"type": "boolean"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"events"
					],
					"members": {
						"events": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"timestamp",
									"type",
									"id"
								],
								"members": {
									"timestamp": {
										"type": "timestamp"
									},
									"type": {},
									"id": {
										"type": "long"
									},
									"previousEventId": {
										"type": "long"
									},
									"activityFailedEventDetails": {
										"type": "structure",
										"members": {
											"error": {},
											"cause": {}
										}
									},
									"activityScheduleFailedEventDetails": {
										"type": "structure",
										"members": {
											"error": {},
											"cause": {}
										}
									},
									"activityScheduledEventDetails": {
										"type": "structure",
										"required": [
											"resource"
										],
										"members": {
											"resource": {},
											"input": {},
											"timeoutInSeconds": {
												"type": "long"
											},
											"heartbeatInSeconds": {
												"type": "long"
											}
										}
									},
									"activityStartedEventDetails": {
										"type": "structure",
										"members": {
											"workerName": {}
										}
									},
									"activitySucceededEventDetails": {
										"type": "structure",
										"members": {
											"output": {}
										}
									},
									"activityTimedOutEventDetails": {
										"type": "structure",
										"members": {
											"error": {},
											"cause": {}
										}
									},
									"executionFailedEventDetails": {
										"type": "structure",
										"members": {
											"error": {},
											"cause": {}
										}
									},
									"executionStartedEventDetails": {
										"type": "structure",
										"members": {
											"input": {},
											"roleArn": {}
										}
									},
									"executionSucceededEventDetails": {
										"type": "structure",
										"members": {
											"output": {}
										}
									},
									"executionAbortedEventDetails": {
										"type": "structure",
										"members": {
											"error": {},
											"cause": {}
										}
									},
									"executionTimedOutEventDetails": {
										"type": "structure",
										"members": {
											"error": {},
											"cause": {}
										}
									},
									"lambdaFunctionFailedEventDetails": {
										"type": "structure",
										"members": {
											"error": {},
											"cause": {}
										}
									},
									"lambdaFunctionScheduleFailedEventDetails": {
										"type": "structure",
										"members": {
											"error": {},
											"cause": {}
										}
									},
									"lambdaFunctionScheduledEventDetails": {
										"type": "structure",
										"required": [
											"resource"
										],
										"members": {
											"resource": {},
											"input": {},
											"timeoutInSeconds": {
												"type": "long"
											}
										}
									},
									"lambdaFunctionStartFailedEventDetails": {
										"type": "structure",
										"members": {
											"error": {},
											"cause": {}
										}
									},
									"lambdaFunctionSucceededEventDetails": {
										"type": "structure",
										"members": {
											"output": {}
										}
									},
									"lambdaFunctionTimedOutEventDetails": {
										"type": "structure",
										"members": {
											"error": {},
											"cause": {}
										}
									},
									"stateEnteredEventDetails": {
										"type": "structure",
										"required": [
											"name"
										],
										"members": {
											"name": {},
											"input": {}
										}
									},
									"stateExitedEventDetails": {
										"type": "structure",
										"required": [
											"name"
										],
										"members": {
											"name": {},
											"output": {}
										}
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListActivities": {
				"input": {
					"type": "structure",
					"members": {
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"activities"
					],
					"members": {
						"activities": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"activityArn",
									"name",
									"creationDate"
								],
								"members": {
									"activityArn": {},
									"name": {},
									"creationDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListExecutions": {
				"input": {
					"type": "structure",
					"required": [
						"stateMachineArn"
					],
					"members": {
						"stateMachineArn": {},
						"statusFilter": {},
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"executions"
					],
					"members": {
						"executions": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"executionArn",
									"stateMachineArn",
									"name",
									"status",
									"startDate"
								],
								"members": {
									"executionArn": {},
									"stateMachineArn": {},
									"name": {},
									"status": {},
									"startDate": {
										"type": "timestamp"
									},
									"stopDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListStateMachines": {
				"input": {
					"type": "structure",
					"members": {
						"maxResults": {
							"type": "integer"
						},
						"nextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"stateMachines"
					],
					"members": {
						"stateMachines": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"stateMachineArn",
									"name",
									"creationDate"
								],
								"members": {
									"stateMachineArn": {},
									"name": {},
									"creationDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"SendTaskFailure": {
				"input": {
					"type": "structure",
					"required": [
						"taskToken"
					],
					"members": {
						"taskToken": {},
						"error": {},
						"cause": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"SendTaskHeartbeat": {
				"input": {
					"type": "structure",
					"required": [
						"taskToken"
					],
					"members": {
						"taskToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"SendTaskSuccess": {
				"input": {
					"type": "structure",
					"required": [
						"taskToken",
						"output"
					],
					"members": {
						"taskToken": {},
						"output": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"StartExecution": {
				"input": {
					"type": "structure",
					"required": [
						"stateMachineArn"
					],
					"members": {
						"stateMachineArn": {},
						"name": {},
						"input": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"executionArn",
						"startDate"
					],
					"members": {
						"executionArn": {},
						"startDate": {
							"type": "timestamp"
						}
					}
				},
				"idempotent": true
			},
			"StopExecution": {
				"input": {
					"type": "structure",
					"required": [
						"executionArn"
					],
					"members": {
						"executionArn": {},
						"error": {},
						"cause": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"stopDate"
					],
					"members": {
						"stopDate": {
							"type": "timestamp"
						}
					}
				}
			}
		},
		"shapes": {}
	};

/***/ }),
/* 615 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"GetExecutionHistory": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "events"
			},
			"ListActivities": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "activities"
			},
			"ListExecutions": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "executions"
			},
			"ListStateMachines": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "stateMachines"
			}
		}
	};

/***/ }),
/* 616 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['support'] = {};
	AWS.Support = Service.defineService('support', ['2013-04-15']);
	Object.defineProperty(apiLoader.services['support'], '2013-04-15', {
	  get: function get() {
	    var model = __webpack_require__(617);
	    model.paginators = __webpack_require__(618).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Support;


/***/ }),
/* 617 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"uid": "support-2013-04-15",
			"apiVersion": "2013-04-15",
			"endpointPrefix": "support",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS Support",
			"signatureVersion": "v4",
			"targetPrefix": "AWSSupport_20130415"
		},
		"operations": {
			"AddAttachmentsToSet": {
				"input": {
					"type": "structure",
					"required": [
						"attachments"
					],
					"members": {
						"attachmentSetId": {},
						"attachments": {
							"type": "list",
							"member": {
								"shape": "S4"
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"attachmentSetId": {},
						"expiryTime": {}
					}
				}
			},
			"AddCommunicationToCase": {
				"input": {
					"type": "structure",
					"required": [
						"communicationBody"
					],
					"members": {
						"caseId": {},
						"communicationBody": {},
						"ccEmailAddresses": {
							"shape": "Sc"
						},
						"attachmentSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"result": {
							"type": "boolean"
						}
					}
				}
			},
			"CreateCase": {
				"input": {
					"type": "structure",
					"required": [
						"subject",
						"communicationBody"
					],
					"members": {
						"subject": {},
						"serviceCode": {},
						"severityCode": {},
						"categoryCode": {},
						"communicationBody": {},
						"ccEmailAddresses": {
							"shape": "Sc"
						},
						"language": {},
						"issueType": {},
						"attachmentSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"caseId": {}
					}
				}
			},
			"DescribeAttachment": {
				"input": {
					"type": "structure",
					"required": [
						"attachmentId"
					],
					"members": {
						"attachmentId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"attachment": {
							"shape": "S4"
						}
					}
				}
			},
			"DescribeCases": {
				"input": {
					"type": "structure",
					"members": {
						"caseIdList": {
							"type": "list",
							"member": {}
						},
						"displayId": {},
						"afterTime": {},
						"beforeTime": {},
						"includeResolvedCases": {
							"type": "boolean"
						},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						},
						"language": {},
						"includeCommunications": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"cases": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"caseId": {},
									"displayId": {},
									"subject": {},
									"status": {},
									"serviceCode": {},
									"categoryCode": {},
									"severityCode": {},
									"submittedBy": {},
									"timeCreated": {},
									"recentCommunications": {
										"type": "structure",
										"members": {
											"communications": {
												"shape": "S17"
											},
											"nextToken": {}
										}
									},
									"ccEmailAddresses": {
										"shape": "Sc"
									},
									"language": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"DescribeCommunications": {
				"input": {
					"type": "structure",
					"required": [
						"caseId"
					],
					"members": {
						"caseId": {},
						"beforeTime": {},
						"afterTime": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"communications": {
							"shape": "S17"
						},
						"nextToken": {}
					}
				}
			},
			"DescribeServices": {
				"input": {
					"type": "structure",
					"members": {
						"serviceCodeList": {
							"type": "list",
							"member": {}
						},
						"language": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"services": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"code": {},
									"name": {},
									"categories": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"code": {},
												"name": {}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeSeverityLevels": {
				"input": {
					"type": "structure",
					"members": {
						"language": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"severityLevels": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"code": {},
									"name": {}
								}
							}
						}
					}
				}
			},
			"DescribeTrustedAdvisorCheckRefreshStatuses": {
				"input": {
					"type": "structure",
					"required": [
						"checkIds"
					],
					"members": {
						"checkIds": {
							"shape": "S1t"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"statuses"
					],
					"members": {
						"statuses": {
							"type": "list",
							"member": {
								"shape": "S1x"
							}
						}
					}
				}
			},
			"DescribeTrustedAdvisorCheckResult": {
				"input": {
					"type": "structure",
					"required": [
						"checkId"
					],
					"members": {
						"checkId": {},
						"language": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"result": {
							"type": "structure",
							"required": [
								"checkId",
								"timestamp",
								"status",
								"resourcesSummary",
								"categorySpecificSummary",
								"flaggedResources"
							],
							"members": {
								"checkId": {},
								"timestamp": {},
								"status": {},
								"resourcesSummary": {
									"shape": "S22"
								},
								"categorySpecificSummary": {
									"shape": "S23"
								},
								"flaggedResources": {
									"type": "list",
									"member": {
										"type": "structure",
										"required": [
											"status",
											"resourceId",
											"metadata"
										],
										"members": {
											"status": {},
											"region": {},
											"resourceId": {},
											"isSuppressed": {
												"type": "boolean"
											},
											"metadata": {
												"shape": "S1t"
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"DescribeTrustedAdvisorCheckSummaries": {
				"input": {
					"type": "structure",
					"required": [
						"checkIds"
					],
					"members": {
						"checkIds": {
							"shape": "S1t"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"summaries"
					],
					"members": {
						"summaries": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"checkId",
									"timestamp",
									"status",
									"resourcesSummary",
									"categorySpecificSummary"
								],
								"members": {
									"checkId": {},
									"timestamp": {},
									"status": {},
									"hasFlaggedResources": {
										"type": "boolean"
									},
									"resourcesSummary": {
										"shape": "S22"
									},
									"categorySpecificSummary": {
										"shape": "S23"
									}
								}
							}
						}
					}
				}
			},
			"DescribeTrustedAdvisorChecks": {
				"input": {
					"type": "structure",
					"required": [
						"language"
					],
					"members": {
						"language": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"checks"
					],
					"members": {
						"checks": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"id",
									"name",
									"description",
									"category",
									"metadata"
								],
								"members": {
									"id": {},
									"name": {},
									"description": {},
									"category": {},
									"metadata": {
										"shape": "S1t"
									}
								}
							}
						}
					}
				}
			},
			"RefreshTrustedAdvisorCheck": {
				"input": {
					"type": "structure",
					"required": [
						"checkId"
					],
					"members": {
						"checkId": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"status"
					],
					"members": {
						"status": {
							"shape": "S1x"
						}
					}
				}
			},
			"ResolveCase": {
				"input": {
					"type": "structure",
					"members": {
						"caseId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"initialCaseStatus": {},
						"finalCaseStatus": {}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "structure",
				"members": {
					"fileName": {},
					"data": {
						"type": "blob"
					}
				}
			},
			"Sc": {
				"type": "list",
				"member": {}
			},
			"S17": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"caseId": {},
						"body": {},
						"submittedBy": {},
						"timeCreated": {},
						"attachmentSet": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"attachmentId": {},
									"fileName": {}
								}
							}
						}
					}
				}
			},
			"S1t": {
				"type": "list",
				"member": {}
			},
			"S1x": {
				"type": "structure",
				"required": [
					"checkId",
					"status",
					"millisUntilNextRefreshable"
				],
				"members": {
					"checkId": {},
					"status": {},
					"millisUntilNextRefreshable": {
						"type": "long"
					}
				}
			},
			"S22": {
				"type": "structure",
				"required": [
					"resourcesProcessed",
					"resourcesFlagged",
					"resourcesIgnored",
					"resourcesSuppressed"
				],
				"members": {
					"resourcesProcessed": {
						"type": "long"
					},
					"resourcesFlagged": {
						"type": "long"
					},
					"resourcesIgnored": {
						"type": "long"
					},
					"resourcesSuppressed": {
						"type": "long"
					}
				}
			},
			"S23": {
				"type": "structure",
				"members": {
					"costOptimizing": {
						"type": "structure",
						"required": [
							"estimatedMonthlySavings",
							"estimatedPercentMonthlySavings"
						],
						"members": {
							"estimatedMonthlySavings": {
								"type": "double"
							},
							"estimatedPercentMonthlySavings": {
								"type": "double"
							}
						}
					}
				}
			}
		}
	};

/***/ }),
/* 618 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeCases": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "cases"
			},
			"DescribeCommunications": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults",
				"result_key": "communications"
			},
			"DescribeServices": {
				"result_key": "services"
			},
			"DescribeTrustedAdvisorCheckRefreshStatuses": {
				"result_key": "statuses"
			},
			"DescribeTrustedAdvisorCheckSummaries": {
				"result_key": "summaries"
			}
		}
	};

/***/ }),
/* 619 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['swf'] = {};
	AWS.SWF = Service.defineService('swf', ['2012-01-25']);
	__webpack_require__(620);
	Object.defineProperty(apiLoader.services['swf'], '2012-01-25', {
	  get: function get() {
	    var model = __webpack_require__(621);
	    model.paginators = __webpack_require__(622).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.SWF;


/***/ }),
/* 620 */
/***/ (function(module, exports, __webpack_require__) {

	var AWS = __webpack_require__(5);

	AWS.util.hideProperties(AWS, ['SimpleWorkflow']);

	/**
	 * @constant
	 * @readonly
	 * Backwards compatibility for access to the {AWS.SWF} service class.
	 */
	AWS.SimpleWorkflow = AWS.SWF;


/***/ }),
/* 621 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"uid": "swf-2012-01-25",
			"apiVersion": "2012-01-25",
			"endpointPrefix": "swf",
			"jsonVersion": "1.0",
			"serviceAbbreviation": "Amazon SWF",
			"serviceFullName": "Amazon Simple Workflow Service",
			"signatureVersion": "v4",
			"targetPrefix": "SimpleWorkflowService",
			"timestampFormat": "unixTimestamp",
			"protocol": "json"
		},
		"operations": {
			"CountClosedWorkflowExecutions": {
				"input": {
					"type": "structure",
					"required": [
						"domain"
					],
					"members": {
						"domain": {},
						"startTimeFilter": {
							"shape": "S3"
						},
						"closeTimeFilter": {
							"shape": "S3"
						},
						"executionFilter": {
							"shape": "S5"
						},
						"typeFilter": {
							"shape": "S7"
						},
						"tagFilter": {
							"shape": "Sa"
						},
						"closeStatusFilter": {
							"shape": "Sc"
						}
					}
				},
				"output": {
					"shape": "Se"
				}
			},
			"CountOpenWorkflowExecutions": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"startTimeFilter"
					],
					"members": {
						"domain": {},
						"startTimeFilter": {
							"shape": "S3"
						},
						"typeFilter": {
							"shape": "S7"
						},
						"tagFilter": {
							"shape": "Sa"
						},
						"executionFilter": {
							"shape": "S5"
						}
					}
				},
				"output": {
					"shape": "Se"
				}
			},
			"CountPendingActivityTasks": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"taskList"
					],
					"members": {
						"domain": {},
						"taskList": {
							"shape": "Sj"
						}
					}
				},
				"output": {
					"shape": "Sk"
				}
			},
			"CountPendingDecisionTasks": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"taskList"
					],
					"members": {
						"domain": {},
						"taskList": {
							"shape": "Sj"
						}
					}
				},
				"output": {
					"shape": "Sk"
				}
			},
			"DeprecateActivityType": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"activityType"
					],
					"members": {
						"domain": {},
						"activityType": {
							"shape": "Sn"
						}
					}
				}
			},
			"DeprecateDomain": {
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {}
					}
				}
			},
			"DeprecateWorkflowType": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"workflowType"
					],
					"members": {
						"domain": {},
						"workflowType": {
							"shape": "Sr"
						}
					}
				}
			},
			"DescribeActivityType": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"activityType"
					],
					"members": {
						"domain": {},
						"activityType": {
							"shape": "Sn"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"typeInfo",
						"configuration"
					],
					"members": {
						"typeInfo": {
							"shape": "Su"
						},
						"configuration": {
							"type": "structure",
							"members": {
								"defaultTaskStartToCloseTimeout": {},
								"defaultTaskHeartbeatTimeout": {},
								"defaultTaskList": {
									"shape": "Sj"
								},
								"defaultTaskPriority": {},
								"defaultTaskScheduleToStartTimeout": {},
								"defaultTaskScheduleToCloseTimeout": {}
							}
						}
					}
				}
			},
			"DescribeDomain": {
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"domainInfo",
						"configuration"
					],
					"members": {
						"domainInfo": {
							"shape": "S12"
						},
						"configuration": {
							"type": "structure",
							"required": [
								"workflowExecutionRetentionPeriodInDays"
							],
							"members": {
								"workflowExecutionRetentionPeriodInDays": {}
							}
						}
					}
				}
			},
			"DescribeWorkflowExecution": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"execution"
					],
					"members": {
						"domain": {},
						"execution": {
							"shape": "S16"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"executionInfo",
						"executionConfiguration",
						"openCounts"
					],
					"members": {
						"executionInfo": {
							"shape": "S19"
						},
						"executionConfiguration": {
							"type": "structure",
							"required": [
								"taskStartToCloseTimeout",
								"executionStartToCloseTimeout",
								"taskList",
								"childPolicy"
							],
							"members": {
								"taskStartToCloseTimeout": {},
								"executionStartToCloseTimeout": {},
								"taskList": {
									"shape": "Sj"
								},
								"taskPriority": {},
								"childPolicy": {},
								"lambdaRole": {}
							}
						},
						"openCounts": {
							"type": "structure",
							"required": [
								"openActivityTasks",
								"openDecisionTasks",
								"openTimers",
								"openChildWorkflowExecutions"
							],
							"members": {
								"openActivityTasks": {
									"type": "integer"
								},
								"openDecisionTasks": {
									"type": "integer"
								},
								"openTimers": {
									"type": "integer"
								},
								"openChildWorkflowExecutions": {
									"type": "integer"
								},
								"openLambdaFunctions": {
									"type": "integer"
								}
							}
						},
						"latestActivityTaskTimestamp": {
							"type": "timestamp"
						},
						"latestExecutionContext": {}
					}
				}
			},
			"DescribeWorkflowType": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"workflowType"
					],
					"members": {
						"domain": {},
						"workflowType": {
							"shape": "Sr"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"typeInfo",
						"configuration"
					],
					"members": {
						"typeInfo": {
							"shape": "S1m"
						},
						"configuration": {
							"type": "structure",
							"members": {
								"defaultTaskStartToCloseTimeout": {},
								"defaultExecutionStartToCloseTimeout": {},
								"defaultTaskList": {
									"shape": "Sj"
								},
								"defaultTaskPriority": {},
								"defaultChildPolicy": {},
								"defaultLambdaRole": {}
							}
						}
					}
				}
			},
			"GetWorkflowExecutionHistory": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"execution"
					],
					"members": {
						"domain": {},
						"execution": {
							"shape": "S16"
						},
						"nextPageToken": {},
						"maximumPageSize": {
							"type": "integer"
						},
						"reverseOrder": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"events"
					],
					"members": {
						"events": {
							"shape": "S1t"
						},
						"nextPageToken": {}
					}
				}
			},
			"ListActivityTypes": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"registrationStatus"
					],
					"members": {
						"domain": {},
						"name": {},
						"registrationStatus": {},
						"nextPageToken": {},
						"maximumPageSize": {
							"type": "integer"
						},
						"reverseOrder": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"typeInfos"
					],
					"members": {
						"typeInfos": {
							"type": "list",
							"member": {
								"shape": "Su"
							}
						},
						"nextPageToken": {}
					}
				}
			},
			"ListClosedWorkflowExecutions": {
				"input": {
					"type": "structure",
					"required": [
						"domain"
					],
					"members": {
						"domain": {},
						"startTimeFilter": {
							"shape": "S3"
						},
						"closeTimeFilter": {
							"shape": "S3"
						},
						"executionFilter": {
							"shape": "S5"
						},
						"closeStatusFilter": {
							"shape": "Sc"
						},
						"typeFilter": {
							"shape": "S7"
						},
						"tagFilter": {
							"shape": "Sa"
						},
						"nextPageToken": {},
						"maximumPageSize": {
							"type": "integer"
						},
						"reverseOrder": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"shape": "S4g"
				}
			},
			"ListDomains": {
				"input": {
					"type": "structure",
					"required": [
						"registrationStatus"
					],
					"members": {
						"nextPageToken": {},
						"registrationStatus": {},
						"maximumPageSize": {
							"type": "integer"
						},
						"reverseOrder": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"domainInfos"
					],
					"members": {
						"domainInfos": {
							"type": "list",
							"member": {
								"shape": "S12"
							}
						},
						"nextPageToken": {}
					}
				}
			},
			"ListOpenWorkflowExecutions": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"startTimeFilter"
					],
					"members": {
						"domain": {},
						"startTimeFilter": {
							"shape": "S3"
						},
						"typeFilter": {
							"shape": "S7"
						},
						"tagFilter": {
							"shape": "Sa"
						},
						"nextPageToken": {},
						"maximumPageSize": {
							"type": "integer"
						},
						"reverseOrder": {
							"type": "boolean"
						},
						"executionFilter": {
							"shape": "S5"
						}
					}
				},
				"output": {
					"shape": "S4g"
				}
			},
			"ListWorkflowTypes": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"registrationStatus"
					],
					"members": {
						"domain": {},
						"name": {},
						"registrationStatus": {},
						"nextPageToken": {},
						"maximumPageSize": {
							"type": "integer"
						},
						"reverseOrder": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"typeInfos"
					],
					"members": {
						"typeInfos": {
							"type": "list",
							"member": {
								"shape": "S1m"
							}
						},
						"nextPageToken": {}
					}
				}
			},
			"PollForActivityTask": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"taskList"
					],
					"members": {
						"domain": {},
						"taskList": {
							"shape": "Sj"
						},
						"identity": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"taskToken",
						"activityId",
						"startedEventId",
						"workflowExecution",
						"activityType"
					],
					"members": {
						"taskToken": {},
						"activityId": {},
						"startedEventId": {
							"type": "long"
						},
						"workflowExecution": {
							"shape": "S16"
						},
						"activityType": {
							"shape": "Sn"
						},
						"input": {}
					}
				}
			},
			"PollForDecisionTask": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"taskList"
					],
					"members": {
						"domain": {},
						"taskList": {
							"shape": "Sj"
						},
						"identity": {},
						"nextPageToken": {},
						"maximumPageSize": {
							"type": "integer"
						},
						"reverseOrder": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"taskToken",
						"startedEventId",
						"workflowExecution",
						"workflowType",
						"events"
					],
					"members": {
						"taskToken": {},
						"startedEventId": {
							"type": "long"
						},
						"workflowExecution": {
							"shape": "S16"
						},
						"workflowType": {
							"shape": "Sr"
						},
						"events": {
							"shape": "S1t"
						},
						"nextPageToken": {},
						"previousStartedEventId": {
							"type": "long"
						}
					}
				}
			},
			"RecordActivityTaskHeartbeat": {
				"input": {
					"type": "structure",
					"required": [
						"taskToken"
					],
					"members": {
						"taskToken": {},
						"details": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"cancelRequested"
					],
					"members": {
						"cancelRequested": {
							"type": "boolean"
						}
					}
				}
			},
			"RegisterActivityType": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"name",
						"version"
					],
					"members": {
						"domain": {},
						"name": {},
						"version": {},
						"description": {},
						"defaultTaskStartToCloseTimeout": {},
						"defaultTaskHeartbeatTimeout": {},
						"defaultTaskList": {
							"shape": "Sj"
						},
						"defaultTaskPriority": {},
						"defaultTaskScheduleToStartTimeout": {},
						"defaultTaskScheduleToCloseTimeout": {}
					}
				}
			},
			"RegisterDomain": {
				"input": {
					"type": "structure",
					"required": [
						"name",
						"workflowExecutionRetentionPeriodInDays"
					],
					"members": {
						"name": {},
						"description": {},
						"workflowExecutionRetentionPeriodInDays": {}
					}
				}
			},
			"RegisterWorkflowType": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"name",
						"version"
					],
					"members": {
						"domain": {},
						"name": {},
						"version": {},
						"description": {},
						"defaultTaskStartToCloseTimeout": {},
						"defaultExecutionStartToCloseTimeout": {},
						"defaultTaskList": {
							"shape": "Sj"
						},
						"defaultTaskPriority": {},
						"defaultChildPolicy": {},
						"defaultLambdaRole": {}
					}
				}
			},
			"RequestCancelWorkflowExecution": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"workflowId"
					],
					"members": {
						"domain": {},
						"workflowId": {},
						"runId": {}
					}
				}
			},
			"RespondActivityTaskCanceled": {
				"input": {
					"type": "structure",
					"required": [
						"taskToken"
					],
					"members": {
						"taskToken": {},
						"details": {}
					}
				}
			},
			"RespondActivityTaskCompleted": {
				"input": {
					"type": "structure",
					"required": [
						"taskToken"
					],
					"members": {
						"taskToken": {},
						"result": {}
					}
				}
			},
			"RespondActivityTaskFailed": {
				"input": {
					"type": "structure",
					"required": [
						"taskToken"
					],
					"members": {
						"taskToken": {},
						"reason": {},
						"details": {}
					}
				}
			},
			"RespondDecisionTaskCompleted": {
				"input": {
					"type": "structure",
					"required": [
						"taskToken"
					],
					"members": {
						"taskToken": {},
						"decisions": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"decisionType"
								],
								"members": {
									"decisionType": {},
									"scheduleActivityTaskDecisionAttributes": {
										"type": "structure",
										"required": [
											"activityType",
											"activityId"
										],
										"members": {
											"activityType": {
												"shape": "Sn"
											},
											"activityId": {},
											"control": {},
											"input": {},
											"scheduleToCloseTimeout": {},
											"taskList": {
												"shape": "Sj"
											},
											"taskPriority": {},
											"scheduleToStartTimeout": {},
											"startToCloseTimeout": {},
											"heartbeatTimeout": {}
										}
									},
									"requestCancelActivityTaskDecisionAttributes": {
										"type": "structure",
										"required": [
											"activityId"
										],
										"members": {
											"activityId": {}
										}
									},
									"completeWorkflowExecutionDecisionAttributes": {
										"type": "structure",
										"members": {
											"result": {}
										}
									},
									"failWorkflowExecutionDecisionAttributes": {
										"type": "structure",
										"members": {
											"reason": {},
											"details": {}
										}
									},
									"cancelWorkflowExecutionDecisionAttributes": {
										"type": "structure",
										"members": {
											"details": {}
										}
									},
									"continueAsNewWorkflowExecutionDecisionAttributes": {
										"type": "structure",
										"members": {
											"input": {},
											"executionStartToCloseTimeout": {},
											"taskList": {
												"shape": "Sj"
											},
											"taskPriority": {},
											"taskStartToCloseTimeout": {},
											"childPolicy": {},
											"tagList": {
												"shape": "S1b"
											},
											"workflowTypeVersion": {},
											"lambdaRole": {}
										}
									},
									"recordMarkerDecisionAttributes": {
										"type": "structure",
										"required": [
											"markerName"
										],
										"members": {
											"markerName": {},
											"details": {}
										}
									},
									"startTimerDecisionAttributes": {
										"type": "structure",
										"required": [
											"timerId",
											"startToFireTimeout"
										],
										"members": {
											"timerId": {},
											"control": {},
											"startToFireTimeout": {}
										}
									},
									"cancelTimerDecisionAttributes": {
										"type": "structure",
										"required": [
											"timerId"
										],
										"members": {
											"timerId": {}
										}
									},
									"signalExternalWorkflowExecutionDecisionAttributes": {
										"type": "structure",
										"required": [
											"workflowId",
											"signalName"
										],
										"members": {
											"workflowId": {},
											"runId": {},
											"signalName": {},
											"input": {},
											"control": {}
										}
									},
									"requestCancelExternalWorkflowExecutionDecisionAttributes": {
										"type": "structure",
										"required": [
											"workflowId"
										],
										"members": {
											"workflowId": {},
											"runId": {},
											"control": {}
										}
									},
									"startChildWorkflowExecutionDecisionAttributes": {
										"type": "structure",
										"required": [
											"workflowType",
											"workflowId"
										],
										"members": {
											"workflowType": {
												"shape": "Sr"
											},
											"workflowId": {},
											"control": {},
											"input": {},
											"executionStartToCloseTimeout": {},
											"taskList": {
												"shape": "Sj"
											},
											"taskPriority": {},
											"taskStartToCloseTimeout": {},
											"childPolicy": {},
											"tagList": {
												"shape": "S1b"
											},
											"lambdaRole": {}
										}
									},
									"scheduleLambdaFunctionDecisionAttributes": {
										"type": "structure",
										"required": [
											"id",
											"name"
										],
										"members": {
											"id": {},
											"name": {},
											"input": {},
											"startToCloseTimeout": {}
										}
									}
								}
							}
						},
						"executionContext": {}
					}
				}
			},
			"SignalWorkflowExecution": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"workflowId",
						"signalName"
					],
					"members": {
						"domain": {},
						"workflowId": {},
						"runId": {},
						"signalName": {},
						"input": {}
					}
				}
			},
			"StartWorkflowExecution": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"workflowId",
						"workflowType"
					],
					"members": {
						"domain": {},
						"workflowId": {},
						"workflowType": {
							"shape": "Sr"
						},
						"taskList": {
							"shape": "Sj"
						},
						"taskPriority": {},
						"input": {},
						"executionStartToCloseTimeout": {},
						"tagList": {
							"shape": "S1b"
						},
						"taskStartToCloseTimeout": {},
						"childPolicy": {},
						"lambdaRole": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"runId": {}
					}
				}
			},
			"TerminateWorkflowExecution": {
				"input": {
					"type": "structure",
					"required": [
						"domain",
						"workflowId"
					],
					"members": {
						"domain": {},
						"workflowId": {},
						"runId": {},
						"reason": {},
						"details": {},
						"childPolicy": {}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "structure",
				"required": [
					"oldestDate"
				],
				"members": {
					"oldestDate": {
						"type": "timestamp"
					},
					"latestDate": {
						"type": "timestamp"
					}
				}
			},
			"S5": {
				"type": "structure",
				"required": [
					"workflowId"
				],
				"members": {
					"workflowId": {}
				}
			},
			"S7": {
				"type": "structure",
				"required": [
					"name"
				],
				"members": {
					"name": {},
					"version": {}
				}
			},
			"Sa": {
				"type": "structure",
				"required": [
					"tag"
				],
				"members": {
					"tag": {}
				}
			},
			"Sc": {
				"type": "structure",
				"required": [
					"status"
				],
				"members": {
					"status": {}
				}
			},
			"Se": {
				"type": "structure",
				"required": [
					"count"
				],
				"members": {
					"count": {
						"type": "integer"
					},
					"truncated": {
						"type": "boolean"
					}
				}
			},
			"Sj": {
				"type": "structure",
				"required": [
					"name"
				],
				"members": {
					"name": {}
				}
			},
			"Sk": {
				"type": "structure",
				"required": [
					"count"
				],
				"members": {
					"count": {
						"type": "integer"
					},
					"truncated": {
						"type": "boolean"
					}
				}
			},
			"Sn": {
				"type": "structure",
				"required": [
					"name",
					"version"
				],
				"members": {
					"name": {},
					"version": {}
				}
			},
			"Sr": {
				"type": "structure",
				"required": [
					"name",
					"version"
				],
				"members": {
					"name": {},
					"version": {}
				}
			},
			"Su": {
				"type": "structure",
				"required": [
					"activityType",
					"status",
					"creationDate"
				],
				"members": {
					"activityType": {
						"shape": "Sn"
					},
					"status": {},
					"description": {},
					"creationDate": {
						"type": "timestamp"
					},
					"deprecationDate": {
						"type": "timestamp"
					}
				}
			},
			"S12": {
				"type": "structure",
				"required": [
					"name",
					"status"
				],
				"members": {
					"name": {},
					"status": {},
					"description": {}
				}
			},
			"S16": {
				"type": "structure",
				"required": [
					"workflowId",
					"runId"
				],
				"members": {
					"workflowId": {},
					"runId": {}
				}
			},
			"S19": {
				"type": "structure",
				"required": [
					"execution",
					"workflowType",
					"startTimestamp",
					"executionStatus"
				],
				"members": {
					"execution": {
						"shape": "S16"
					},
					"workflowType": {
						"shape": "Sr"
					},
					"startTimestamp": {
						"type": "timestamp"
					},
					"closeTimestamp": {
						"type": "timestamp"
					},
					"executionStatus": {},
					"closeStatus": {},
					"parent": {
						"shape": "S16"
					},
					"tagList": {
						"shape": "S1b"
					},
					"cancelRequested": {
						"type": "boolean"
					}
				}
			},
			"S1b": {
				"type": "list",
				"member": {}
			},
			"S1m": {
				"type": "structure",
				"required": [
					"workflowType",
					"status",
					"creationDate"
				],
				"members": {
					"workflowType": {
						"shape": "Sr"
					},
					"status": {},
					"description": {},
					"creationDate": {
						"type": "timestamp"
					},
					"deprecationDate": {
						"type": "timestamp"
					}
				}
			},
			"S1t": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"eventTimestamp",
						"eventType",
						"eventId"
					],
					"members": {
						"eventTimestamp": {
							"type": "timestamp"
						},
						"eventType": {},
						"eventId": {
							"type": "long"
						},
						"workflowExecutionStartedEventAttributes": {
							"type": "structure",
							"required": [
								"childPolicy",
								"taskList",
								"workflowType"
							],
							"members": {
								"input": {},
								"executionStartToCloseTimeout": {},
								"taskStartToCloseTimeout": {},
								"childPolicy": {},
								"taskList": {
									"shape": "Sj"
								},
								"workflowType": {
									"shape": "Sr"
								},
								"tagList": {
									"shape": "S1b"
								},
								"taskPriority": {},
								"continuedExecutionRunId": {},
								"parentWorkflowExecution": {
									"shape": "S16"
								},
								"parentInitiatedEventId": {
									"type": "long"
								},
								"lambdaRole": {}
							}
						},
						"workflowExecutionCompletedEventAttributes": {
							"type": "structure",
							"required": [
								"decisionTaskCompletedEventId"
							],
							"members": {
								"result": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"completeWorkflowExecutionFailedEventAttributes": {
							"type": "structure",
							"required": [
								"cause",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"cause": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"workflowExecutionFailedEventAttributes": {
							"type": "structure",
							"required": [
								"decisionTaskCompletedEventId"
							],
							"members": {
								"reason": {},
								"details": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"failWorkflowExecutionFailedEventAttributes": {
							"type": "structure",
							"required": [
								"cause",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"cause": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"workflowExecutionTimedOutEventAttributes": {
							"type": "structure",
							"required": [
								"timeoutType",
								"childPolicy"
							],
							"members": {
								"timeoutType": {},
								"childPolicy": {}
							}
						},
						"workflowExecutionCanceledEventAttributes": {
							"type": "structure",
							"required": [
								"decisionTaskCompletedEventId"
							],
							"members": {
								"details": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"cancelWorkflowExecutionFailedEventAttributes": {
							"type": "structure",
							"required": [
								"cause",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"cause": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"workflowExecutionContinuedAsNewEventAttributes": {
							"type": "structure",
							"required": [
								"decisionTaskCompletedEventId",
								"newExecutionRunId",
								"taskList",
								"childPolicy",
								"workflowType"
							],
							"members": {
								"input": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								},
								"newExecutionRunId": {},
								"executionStartToCloseTimeout": {},
								"taskList": {
									"shape": "Sj"
								},
								"taskPriority": {},
								"taskStartToCloseTimeout": {},
								"childPolicy": {},
								"tagList": {
									"shape": "S1b"
								},
								"workflowType": {
									"shape": "Sr"
								},
								"lambdaRole": {}
							}
						},
						"continueAsNewWorkflowExecutionFailedEventAttributes": {
							"type": "structure",
							"required": [
								"cause",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"cause": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"workflowExecutionTerminatedEventAttributes": {
							"type": "structure",
							"required": [
								"childPolicy"
							],
							"members": {
								"reason": {},
								"details": {},
								"childPolicy": {},
								"cause": {}
							}
						},
						"workflowExecutionCancelRequestedEventAttributes": {
							"type": "structure",
							"members": {
								"externalWorkflowExecution": {
									"shape": "S16"
								},
								"externalInitiatedEventId": {
									"type": "long"
								},
								"cause": {}
							}
						},
						"decisionTaskScheduledEventAttributes": {
							"type": "structure",
							"required": [
								"taskList"
							],
							"members": {
								"taskList": {
									"shape": "Sj"
								},
								"taskPriority": {},
								"startToCloseTimeout": {}
							}
						},
						"decisionTaskStartedEventAttributes": {
							"type": "structure",
							"required": [
								"scheduledEventId"
							],
							"members": {
								"identity": {},
								"scheduledEventId": {
									"type": "long"
								}
							}
						},
						"decisionTaskCompletedEventAttributes": {
							"type": "structure",
							"required": [
								"scheduledEventId",
								"startedEventId"
							],
							"members": {
								"executionContext": {},
								"scheduledEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								}
							}
						},
						"decisionTaskTimedOutEventAttributes": {
							"type": "structure",
							"required": [
								"timeoutType",
								"scheduledEventId",
								"startedEventId"
							],
							"members": {
								"timeoutType": {},
								"scheduledEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								}
							}
						},
						"activityTaskScheduledEventAttributes": {
							"type": "structure",
							"required": [
								"activityType",
								"activityId",
								"taskList",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"activityType": {
									"shape": "Sn"
								},
								"activityId": {},
								"input": {},
								"control": {},
								"scheduleToStartTimeout": {},
								"scheduleToCloseTimeout": {},
								"startToCloseTimeout": {},
								"taskList": {
									"shape": "Sj"
								},
								"taskPriority": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								},
								"heartbeatTimeout": {}
							}
						},
						"activityTaskStartedEventAttributes": {
							"type": "structure",
							"required": [
								"scheduledEventId"
							],
							"members": {
								"identity": {},
								"scheduledEventId": {
									"type": "long"
								}
							}
						},
						"activityTaskCompletedEventAttributes": {
							"type": "structure",
							"required": [
								"scheduledEventId",
								"startedEventId"
							],
							"members": {
								"result": {},
								"scheduledEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								}
							}
						},
						"activityTaskFailedEventAttributes": {
							"type": "structure",
							"required": [
								"scheduledEventId",
								"startedEventId"
							],
							"members": {
								"reason": {},
								"details": {},
								"scheduledEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								}
							}
						},
						"activityTaskTimedOutEventAttributes": {
							"type": "structure",
							"required": [
								"timeoutType",
								"scheduledEventId",
								"startedEventId"
							],
							"members": {
								"timeoutType": {},
								"scheduledEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								},
								"details": {}
							}
						},
						"activityTaskCanceledEventAttributes": {
							"type": "structure",
							"required": [
								"scheduledEventId",
								"startedEventId"
							],
							"members": {
								"details": {},
								"scheduledEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								},
								"latestCancelRequestedEventId": {
									"type": "long"
								}
							}
						},
						"activityTaskCancelRequestedEventAttributes": {
							"type": "structure",
							"required": [
								"decisionTaskCompletedEventId",
								"activityId"
							],
							"members": {
								"decisionTaskCompletedEventId": {
									"type": "long"
								},
								"activityId": {}
							}
						},
						"workflowExecutionSignaledEventAttributes": {
							"type": "structure",
							"required": [
								"signalName"
							],
							"members": {
								"signalName": {},
								"input": {},
								"externalWorkflowExecution": {
									"shape": "S16"
								},
								"externalInitiatedEventId": {
									"type": "long"
								}
							}
						},
						"markerRecordedEventAttributes": {
							"type": "structure",
							"required": [
								"markerName",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"markerName": {},
								"details": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"recordMarkerFailedEventAttributes": {
							"type": "structure",
							"required": [
								"markerName",
								"cause",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"markerName": {},
								"cause": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"timerStartedEventAttributes": {
							"type": "structure",
							"required": [
								"timerId",
								"startToFireTimeout",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"timerId": {},
								"control": {},
								"startToFireTimeout": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"timerFiredEventAttributes": {
							"type": "structure",
							"required": [
								"timerId",
								"startedEventId"
							],
							"members": {
								"timerId": {},
								"startedEventId": {
									"type": "long"
								}
							}
						},
						"timerCanceledEventAttributes": {
							"type": "structure",
							"required": [
								"timerId",
								"startedEventId",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"timerId": {},
								"startedEventId": {
									"type": "long"
								},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"startChildWorkflowExecutionInitiatedEventAttributes": {
							"type": "structure",
							"required": [
								"workflowId",
								"workflowType",
								"taskList",
								"decisionTaskCompletedEventId",
								"childPolicy"
							],
							"members": {
								"workflowId": {},
								"workflowType": {
									"shape": "Sr"
								},
								"control": {},
								"input": {},
								"executionStartToCloseTimeout": {},
								"taskList": {
									"shape": "Sj"
								},
								"taskPriority": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								},
								"childPolicy": {},
								"taskStartToCloseTimeout": {},
								"tagList": {
									"shape": "S1b"
								},
								"lambdaRole": {}
							}
						},
						"childWorkflowExecutionStartedEventAttributes": {
							"type": "structure",
							"required": [
								"workflowExecution",
								"workflowType",
								"initiatedEventId"
							],
							"members": {
								"workflowExecution": {
									"shape": "S16"
								},
								"workflowType": {
									"shape": "Sr"
								},
								"initiatedEventId": {
									"type": "long"
								}
							}
						},
						"childWorkflowExecutionCompletedEventAttributes": {
							"type": "structure",
							"required": [
								"workflowExecution",
								"workflowType",
								"initiatedEventId",
								"startedEventId"
							],
							"members": {
								"workflowExecution": {
									"shape": "S16"
								},
								"workflowType": {
									"shape": "Sr"
								},
								"result": {},
								"initiatedEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								}
							}
						},
						"childWorkflowExecutionFailedEventAttributes": {
							"type": "structure",
							"required": [
								"workflowExecution",
								"workflowType",
								"initiatedEventId",
								"startedEventId"
							],
							"members": {
								"workflowExecution": {
									"shape": "S16"
								},
								"workflowType": {
									"shape": "Sr"
								},
								"reason": {},
								"details": {},
								"initiatedEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								}
							}
						},
						"childWorkflowExecutionTimedOutEventAttributes": {
							"type": "structure",
							"required": [
								"workflowExecution",
								"workflowType",
								"timeoutType",
								"initiatedEventId",
								"startedEventId"
							],
							"members": {
								"workflowExecution": {
									"shape": "S16"
								},
								"workflowType": {
									"shape": "Sr"
								},
								"timeoutType": {},
								"initiatedEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								}
							}
						},
						"childWorkflowExecutionCanceledEventAttributes": {
							"type": "structure",
							"required": [
								"workflowExecution",
								"workflowType",
								"initiatedEventId",
								"startedEventId"
							],
							"members": {
								"workflowExecution": {
									"shape": "S16"
								},
								"workflowType": {
									"shape": "Sr"
								},
								"details": {},
								"initiatedEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								}
							}
						},
						"childWorkflowExecutionTerminatedEventAttributes": {
							"type": "structure",
							"required": [
								"workflowExecution",
								"workflowType",
								"initiatedEventId",
								"startedEventId"
							],
							"members": {
								"workflowExecution": {
									"shape": "S16"
								},
								"workflowType": {
									"shape": "Sr"
								},
								"initiatedEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								}
							}
						},
						"signalExternalWorkflowExecutionInitiatedEventAttributes": {
							"type": "structure",
							"required": [
								"workflowId",
								"signalName",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"workflowId": {},
								"runId": {},
								"signalName": {},
								"input": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								},
								"control": {}
							}
						},
						"externalWorkflowExecutionSignaledEventAttributes": {
							"type": "structure",
							"required": [
								"workflowExecution",
								"initiatedEventId"
							],
							"members": {
								"workflowExecution": {
									"shape": "S16"
								},
								"initiatedEventId": {
									"type": "long"
								}
							}
						},
						"signalExternalWorkflowExecutionFailedEventAttributes": {
							"type": "structure",
							"required": [
								"workflowId",
								"cause",
								"initiatedEventId",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"workflowId": {},
								"runId": {},
								"cause": {},
								"initiatedEventId": {
									"type": "long"
								},
								"decisionTaskCompletedEventId": {
									"type": "long"
								},
								"control": {}
							}
						},
						"externalWorkflowExecutionCancelRequestedEventAttributes": {
							"type": "structure",
							"required": [
								"workflowExecution",
								"initiatedEventId"
							],
							"members": {
								"workflowExecution": {
									"shape": "S16"
								},
								"initiatedEventId": {
									"type": "long"
								}
							}
						},
						"requestCancelExternalWorkflowExecutionInitiatedEventAttributes": {
							"type": "structure",
							"required": [
								"workflowId",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"workflowId": {},
								"runId": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								},
								"control": {}
							}
						},
						"requestCancelExternalWorkflowExecutionFailedEventAttributes": {
							"type": "structure",
							"required": [
								"workflowId",
								"cause",
								"initiatedEventId",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"workflowId": {},
								"runId": {},
								"cause": {},
								"initiatedEventId": {
									"type": "long"
								},
								"decisionTaskCompletedEventId": {
									"type": "long"
								},
								"control": {}
							}
						},
						"scheduleActivityTaskFailedEventAttributes": {
							"type": "structure",
							"required": [
								"activityType",
								"activityId",
								"cause",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"activityType": {
									"shape": "Sn"
								},
								"activityId": {},
								"cause": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"requestCancelActivityTaskFailedEventAttributes": {
							"type": "structure",
							"required": [
								"activityId",
								"cause",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"activityId": {},
								"cause": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"startTimerFailedEventAttributes": {
							"type": "structure",
							"required": [
								"timerId",
								"cause",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"timerId": {},
								"cause": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"cancelTimerFailedEventAttributes": {
							"type": "structure",
							"required": [
								"timerId",
								"cause",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"timerId": {},
								"cause": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"startChildWorkflowExecutionFailedEventAttributes": {
							"type": "structure",
							"required": [
								"workflowType",
								"cause",
								"workflowId",
								"initiatedEventId",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"workflowType": {
									"shape": "Sr"
								},
								"cause": {},
								"workflowId": {},
								"initiatedEventId": {
									"type": "long"
								},
								"decisionTaskCompletedEventId": {
									"type": "long"
								},
								"control": {}
							}
						},
						"lambdaFunctionScheduledEventAttributes": {
							"type": "structure",
							"required": [
								"id",
								"name",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"id": {},
								"name": {},
								"input": {},
								"startToCloseTimeout": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"lambdaFunctionStartedEventAttributes": {
							"type": "structure",
							"required": [
								"scheduledEventId"
							],
							"members": {
								"scheduledEventId": {
									"type": "long"
								}
							}
						},
						"lambdaFunctionCompletedEventAttributes": {
							"type": "structure",
							"required": [
								"scheduledEventId",
								"startedEventId"
							],
							"members": {
								"scheduledEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								},
								"result": {}
							}
						},
						"lambdaFunctionFailedEventAttributes": {
							"type": "structure",
							"required": [
								"scheduledEventId",
								"startedEventId"
							],
							"members": {
								"scheduledEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								},
								"reason": {},
								"details": {}
							}
						},
						"lambdaFunctionTimedOutEventAttributes": {
							"type": "structure",
							"required": [
								"scheduledEventId",
								"startedEventId"
							],
							"members": {
								"scheduledEventId": {
									"type": "long"
								},
								"startedEventId": {
									"type": "long"
								},
								"timeoutType": {}
							}
						},
						"scheduleLambdaFunctionFailedEventAttributes": {
							"type": "structure",
							"required": [
								"id",
								"name",
								"cause",
								"decisionTaskCompletedEventId"
							],
							"members": {
								"id": {},
								"name": {},
								"cause": {},
								"decisionTaskCompletedEventId": {
									"type": "long"
								}
							}
						},
						"startLambdaFunctionFailedEventAttributes": {
							"type": "structure",
							"members": {
								"scheduledEventId": {
									"type": "long"
								},
								"cause": {},
								"message": {}
							}
						}
					}
				}
			},
			"S4g": {
				"type": "structure",
				"required": [
					"executionInfos"
				],
				"members": {
					"executionInfos": {
						"type": "list",
						"member": {
							"shape": "S19"
						}
					},
					"nextPageToken": {}
				}
			}
		},
		"examples": {}
	};

/***/ }),
/* 622 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"GetWorkflowExecutionHistory": {
				"limit_key": "maximumPageSize",
				"input_token": "nextPageToken",
				"output_token": "nextPageToken",
				"result_key": "events"
			},
			"ListActivityTypes": {
				"limit_key": "maximumPageSize",
				"input_token": "nextPageToken",
				"output_token": "nextPageToken",
				"result_key": "typeInfos"
			},
			"ListClosedWorkflowExecutions": {
				"limit_key": "maximumPageSize",
				"input_token": "nextPageToken",
				"output_token": "nextPageToken",
				"result_key": "executionInfos"
			},
			"ListDomains": {
				"limit_key": "maximumPageSize",
				"input_token": "nextPageToken",
				"output_token": "nextPageToken",
				"result_key": "domainInfos"
			},
			"ListOpenWorkflowExecutions": {
				"limit_key": "maximumPageSize",
				"input_token": "nextPageToken",
				"output_token": "nextPageToken",
				"result_key": "executionInfos"
			},
			"ListWorkflowTypes": {
				"limit_key": "maximumPageSize",
				"input_token": "nextPageToken",
				"output_token": "nextPageToken",
				"result_key": "typeInfos"
			},
			"PollForDecisionTask": {
				"limit_key": "maximumPageSize",
				"input_token": "nextPageToken",
				"output_token": "nextPageToken",
				"result_key": "events"
			}
		}
	};

/***/ }),
/* 623 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['xray'] = {};
	AWS.XRay = Service.defineService('xray', ['2016-04-12']);
	Object.defineProperty(apiLoader.services['xray'], '2016-04-12', {
	  get: function get() {
	    var model = __webpack_require__(624);
	    model.paginators = __webpack_require__(625).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.XRay;


/***/ }),
/* 624 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-04-12",
			"endpointPrefix": "xray",
			"protocol": "rest-json",
			"serviceFullName": "AWS X-Ray",
			"signatureVersion": "v4",
			"uid": "xray-2016-04-12"
		},
		"operations": {
			"BatchGetTraces": {
				"http": {
					"requestUri": "/Traces"
				},
				"input": {
					"type": "structure",
					"required": [
						"TraceIds"
					],
					"members": {
						"TraceIds": {
							"shape": "S2"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Traces": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Duration": {
										"type": "double"
									},
									"Segments": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"Id": {},
												"Document": {}
											}
										}
									}
								}
							}
						},
						"UnprocessedTraceIds": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				}
			},
			"GetServiceGraph": {
				"http": {
					"requestUri": "/ServiceGraph"
				},
				"input": {
					"type": "structure",
					"required": [
						"StartTime",
						"EndTime"
					],
					"members": {
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Services": {
							"shape": "Sh"
						},
						"NextToken": {}
					}
				}
			},
			"GetTraceGraph": {
				"http": {
					"requestUri": "/TraceGraph"
				},
				"input": {
					"type": "structure",
					"required": [
						"TraceIds"
					],
					"members": {
						"TraceIds": {
							"shape": "S2"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Services": {
							"shape": "Sh"
						},
						"NextToken": {}
					}
				}
			},
			"GetTraceSummaries": {
				"http": {
					"requestUri": "/TraceSummaries"
				},
				"input": {
					"type": "structure",
					"required": [
						"StartTime",
						"EndTime"
					],
					"members": {
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Sampling": {
							"type": "boolean"
						},
						"FilterExpression": {},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TraceSummaries": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Duration": {
										"type": "double"
									},
									"ResponseTime": {
										"type": "double"
									},
									"HasFault": {
										"type": "boolean"
									},
									"HasError": {
										"type": "boolean"
									},
									"HasThrottle": {
										"type": "boolean"
									},
									"IsPartial": {
										"type": "boolean"
									},
									"Http": {
										"type": "structure",
										"members": {
											"HttpURL": {},
											"HttpStatus": {
												"type": "integer"
											},
											"HttpMethod": {},
											"UserAgent": {},
											"ClientIp": {}
										}
									},
									"Annotations": {
										"type": "map",
										"key": {},
										"value": {
											"type": "list",
											"member": {
												"type": "structure",
												"members": {
													"AnnotationValue": {
														"type": "structure",
														"members": {
															"NumberValue": {
																"type": "double"
															},
															"BooleanValue": {
																"type": "boolean"
															},
															"StringValue": {}
														}
													},
													"ServiceIds": {
														"shape": "S1d"
													}
												}
											}
										}
									},
									"Users": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"UserName": {},
												"ServiceIds": {
													"shape": "S1d"
												}
											}
										}
									},
									"ServiceIds": {
										"shape": "S1d"
									}
								}
							}
						},
						"ApproximateTime": {
							"type": "timestamp"
						},
						"TracesProcessedCount": {
							"type": "long"
						},
						"NextToken": {}
					}
				}
			},
			"PutTelemetryRecords": {
				"http": {
					"requestUri": "/TelemetryRecords"
				},
				"input": {
					"type": "structure",
					"required": [
						"TelemetryRecords"
					],
					"members": {
						"TelemetryRecords": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Timestamp": {
										"type": "timestamp"
									},
									"SegmentsReceivedCount": {
										"type": "integer"
									},
									"SegmentsSentCount": {
										"type": "integer"
									},
									"SegmentsSpilloverCount": {
										"type": "integer"
									},
									"SegmentsRejectedCount": {
										"type": "integer"
									},
									"BackendConnectionErrors": {
										"type": "structure",
										"members": {
											"TimeoutCount": {
												"type": "integer"
											},
											"ConnectionRefusedCount": {
												"type": "integer"
											},
											"HTTPCode4XXCount": {
												"type": "integer"
											},
											"HTTPCode5XXCount": {
												"type": "integer"
											},
											"UnknownHostCount": {
												"type": "integer"
											},
											"OtherCount": {
												"type": "integer"
											}
										}
									}
								}
							}
						},
						"EC2InstanceId": {},
						"Hostname": {},
						"ResourceARN": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"PutTraceSegments": {
				"http": {
					"requestUri": "/TraceSegments"
				},
				"input": {
					"type": "structure",
					"required": [
						"TraceSegmentDocuments"
					],
					"members": {
						"TraceSegmentDocuments": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UnprocessedTraceSegments": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"ErrorCode": {},
									"Message": {}
								}
							}
						}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "list",
				"member": {}
			},
			"Sh": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ReferenceId": {
							"type": "integer"
						},
						"Name": {},
						"Names": {
							"shape": "Sk"
						},
						"Root": {
							"type": "boolean"
						},
						"AccountId": {},
						"Type": {},
						"State": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Edges": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ReferenceId": {
										"type": "integer"
									},
									"StartTime": {
										"type": "timestamp"
									},
									"EndTime": {
										"type": "timestamp"
									},
									"SummaryStatistics": {
										"type": "structure",
										"members": {
											"OkCount": {
												"type": "long"
											},
											"ErrorStatistics": {
												"shape": "Sq"
											},
											"FaultStatistics": {
												"shape": "Sr"
											},
											"TotalCount": {
												"type": "long"
											},
											"TotalResponseTime": {
												"type": "double"
											}
										}
									},
									"ResponseTimeHistogram": {
										"shape": "Ss"
									},
									"Aliases": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"Name": {},
												"Names": {
													"type": "list",
													"member": {}
												},
												"Type": {}
											}
										}
									}
								}
							}
						},
						"SummaryStatistics": {
							"type": "structure",
							"members": {
								"OkCount": {
									"type": "long"
								},
								"ErrorStatistics": {
									"shape": "Sq"
								},
								"FaultStatistics": {
									"shape": "Sr"
								},
								"TotalCount": {
									"type": "long"
								},
								"TotalResponseTime": {
									"type": "double"
								}
							}
						},
						"DurationHistogram": {
							"shape": "Ss"
						},
						"ResponseTimeHistogram": {
							"shape": "Ss"
						}
					}
				}
			},
			"Sk": {
				"type": "list",
				"member": {}
			},
			"Sq": {
				"type": "structure",
				"members": {
					"ThrottleCount": {
						"type": "long"
					},
					"OtherCount": {
						"type": "long"
					},
					"TotalCount": {
						"type": "long"
					}
				}
			},
			"Sr": {
				"type": "structure",
				"members": {
					"OtherCount": {
						"type": "long"
					},
					"TotalCount": {
						"type": "long"
					}
				}
			},
			"Ss": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Value": {
							"type": "double"
						},
						"Count": {
							"type": "integer"
						}
					}
				}
			},
			"S1d": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Name": {},
						"Names": {
							"shape": "Sk"
						},
						"AccountId": {},
						"Type": {}
					}
				}
			}
		}
	};

/***/ }),
/* 625 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 626 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['waf'] = {};
	AWS.WAF = Service.defineService('waf', ['2015-08-24']);
	Object.defineProperty(apiLoader.services['waf'], '2015-08-24', {
	  get: function get() {
	    var model = __webpack_require__(627);
	    model.paginators = __webpack_require__(628).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.WAF;


/***/ }),
/* 627 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-08-24",
			"endpointPrefix": "waf",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "WAF",
			"serviceFullName": "AWS WAF",
			"signatureVersion": "v4",
			"targetPrefix": "AWSWAF_20150824",
			"uid": "waf-2015-08-24"
		},
		"operations": {
			"CreateByteMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ByteMatchSet": {
							"shape": "S5"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateIPSet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IPSet": {
							"shape": "Sh"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateRateBasedRule": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"MetricName",
						"RateKey",
						"RateLimit",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"MetricName": {},
						"RateKey": {},
						"RateLimit": {
							"type": "long"
						},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Rule": {
							"shape": "Sr"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateRule": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"MetricName",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"MetricName": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Rule": {
							"shape": "Sy"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateSizeConstraintSet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SizeConstraintSet": {
							"shape": "S11"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateSqlInjectionMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SqlInjectionMatchSet": {
							"shape": "S18"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateWebACL": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"MetricName",
						"DefaultAction",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"MetricName": {},
						"DefaultAction": {
							"shape": "S1c"
						},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WebACL": {
							"shape": "S1f"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateXssMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"XssMatchSet": {
							"shape": "S1m"
						},
						"ChangeToken": {}
					}
				}
			},
			"DeleteByteMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"ByteMatchSetId",
						"ChangeToken"
					],
					"members": {
						"ByteMatchSetId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteIPSet": {
				"input": {
					"type": "structure",
					"required": [
						"IPSetId",
						"ChangeToken"
					],
					"members": {
						"IPSetId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteRateBasedRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId",
						"ChangeToken"
					],
					"members": {
						"RuleId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId",
						"ChangeToken"
					],
					"members": {
						"RuleId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteSizeConstraintSet": {
				"input": {
					"type": "structure",
					"required": [
						"SizeConstraintSetId",
						"ChangeToken"
					],
					"members": {
						"SizeConstraintSetId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteSqlInjectionMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"SqlInjectionMatchSetId",
						"ChangeToken"
					],
					"members": {
						"SqlInjectionMatchSetId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteWebACL": {
				"input": {
					"type": "structure",
					"required": [
						"WebACLId",
						"ChangeToken"
					],
					"members": {
						"WebACLId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteXssMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"XssMatchSetId",
						"ChangeToken"
					],
					"members": {
						"XssMatchSetId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"GetByteMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"ByteMatchSetId"
					],
					"members": {
						"ByteMatchSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ByteMatchSet": {
							"shape": "S5"
						}
					}
				}
			},
			"GetChangeToken": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"GetChangeTokenStatus": {
				"input": {
					"type": "structure",
					"required": [
						"ChangeToken"
					],
					"members": {
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeTokenStatus": {}
					}
				}
			},
			"GetIPSet": {
				"input": {
					"type": "structure",
					"required": [
						"IPSetId"
					],
					"members": {
						"IPSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IPSet": {
							"shape": "Sh"
						}
					}
				}
			},
			"GetRateBasedRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId"
					],
					"members": {
						"RuleId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Rule": {
							"shape": "Sr"
						}
					}
				}
			},
			"GetRateBasedRuleManagedKeys": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId"
					],
					"members": {
						"RuleId": {},
						"NextMarker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ManagedKeys": {
							"type": "list",
							"member": {}
						},
						"NextMarker": {}
					}
				}
			},
			"GetRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId"
					],
					"members": {
						"RuleId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Rule": {
							"shape": "Sy"
						}
					}
				}
			},
			"GetSampledRequests": {
				"input": {
					"type": "structure",
					"required": [
						"WebAclId",
						"RuleId",
						"TimeWindow",
						"MaxItems"
					],
					"members": {
						"WebAclId": {},
						"RuleId": {},
						"TimeWindow": {
							"shape": "S2o"
						},
						"MaxItems": {
							"type": "long"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SampledRequests": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Request",
									"Weight"
								],
								"members": {
									"Request": {
										"type": "structure",
										"members": {
											"ClientIP": {},
											"Country": {},
											"URI": {},
											"Method": {},
											"HTTPVersion": {},
											"Headers": {
												"type": "list",
												"member": {
													"type": "structure",
													"members": {
														"Name": {},
														"Value": {}
													}
												}
											}
										}
									},
									"Weight": {
										"type": "long"
									},
									"Timestamp": {
										"type": "timestamp"
									},
									"Action": {}
								}
							}
						},
						"PopulationSize": {
							"type": "long"
						},
						"TimeWindow": {
							"shape": "S2o"
						}
					}
				}
			},
			"GetSizeConstraintSet": {
				"input": {
					"type": "structure",
					"required": [
						"SizeConstraintSetId"
					],
					"members": {
						"SizeConstraintSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SizeConstraintSet": {
							"shape": "S11"
						}
					}
				}
			},
			"GetSqlInjectionMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"SqlInjectionMatchSetId"
					],
					"members": {
						"SqlInjectionMatchSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SqlInjectionMatchSet": {
							"shape": "S18"
						}
					}
				}
			},
			"GetWebACL": {
				"input": {
					"type": "structure",
					"required": [
						"WebACLId"
					],
					"members": {
						"WebACLId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WebACL": {
							"shape": "S1f"
						}
					}
				}
			},
			"GetXssMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"XssMatchSetId"
					],
					"members": {
						"XssMatchSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"XssMatchSet": {
							"shape": "S1m"
						}
					}
				}
			},
			"ListByteMatchSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"ByteMatchSets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"ByteMatchSetId",
									"Name"
								],
								"members": {
									"ByteMatchSetId": {},
									"Name": {}
								}
							}
						}
					}
				}
			},
			"ListIPSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"IPSets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"IPSetId",
									"Name"
								],
								"members": {
									"IPSetId": {},
									"Name": {}
								}
							}
						}
					}
				}
			},
			"ListRateBasedRules": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Rules": {
							"shape": "S3q"
						}
					}
				}
			},
			"ListRules": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Rules": {
							"shape": "S3q"
						}
					}
				}
			},
			"ListSizeConstraintSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"SizeConstraintSets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"SizeConstraintSetId",
									"Name"
								],
								"members": {
									"SizeConstraintSetId": {},
									"Name": {}
								}
							}
						}
					}
				}
			},
			"ListSqlInjectionMatchSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"SqlInjectionMatchSets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"SqlInjectionMatchSetId",
									"Name"
								],
								"members": {
									"SqlInjectionMatchSetId": {},
									"Name": {}
								}
							}
						}
					}
				}
			},
			"ListWebACLs": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"WebACLs": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"WebACLId",
									"Name"
								],
								"members": {
									"WebACLId": {},
									"Name": {}
								}
							}
						}
					}
				}
			},
			"ListXssMatchSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"XssMatchSets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"XssMatchSetId",
									"Name"
								],
								"members": {
									"XssMatchSetId": {},
									"Name": {}
								}
							}
						}
					}
				}
			},
			"UpdateByteMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"ByteMatchSetId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"ByteMatchSetId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"ByteMatchTuple"
								],
								"members": {
									"Action": {},
									"ByteMatchTuple": {
										"shape": "S8"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateIPSet": {
				"input": {
					"type": "structure",
					"required": [
						"IPSetId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"IPSetId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"IPSetDescriptor"
								],
								"members": {
									"Action": {},
									"IPSetDescriptor": {
										"shape": "Sj"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateRateBasedRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId",
						"ChangeToken",
						"Updates",
						"RateLimit"
					],
					"members": {
						"RuleId": {},
						"ChangeToken": {},
						"Updates": {
							"shape": "S4k"
						},
						"RateLimit": {
							"type": "long"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"RuleId": {},
						"ChangeToken": {},
						"Updates": {
							"shape": "S4k"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateSizeConstraintSet": {
				"input": {
					"type": "structure",
					"required": [
						"SizeConstraintSetId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"SizeConstraintSetId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"SizeConstraint"
								],
								"members": {
									"Action": {},
									"SizeConstraint": {
										"shape": "S13"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateSqlInjectionMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"SqlInjectionMatchSetId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"SqlInjectionMatchSetId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"SqlInjectionMatchTuple"
								],
								"members": {
									"Action": {},
									"SqlInjectionMatchTuple": {
										"shape": "S1a"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateWebACL": {
				"input": {
					"type": "structure",
					"required": [
						"WebACLId",
						"ChangeToken"
					],
					"members": {
						"WebACLId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"ActivatedRule"
								],
								"members": {
									"Action": {},
									"ActivatedRule": {
										"shape": "S1h"
									}
								}
							}
						},
						"DefaultAction": {
							"shape": "S1c"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateXssMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"XssMatchSetId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"XssMatchSetId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"XssMatchTuple"
								],
								"members": {
									"Action": {},
									"XssMatchTuple": {
										"shape": "S1o"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			}
		},
		"shapes": {
			"S5": {
				"type": "structure",
				"required": [
					"ByteMatchSetId",
					"ByteMatchTuples"
				],
				"members": {
					"ByteMatchSetId": {},
					"Name": {},
					"ByteMatchTuples": {
						"type": "list",
						"member": {
							"shape": "S8"
						}
					}
				}
			},
			"S8": {
				"type": "structure",
				"required": [
					"FieldToMatch",
					"TargetString",
					"TextTransformation",
					"PositionalConstraint"
				],
				"members": {
					"FieldToMatch": {
						"shape": "S9"
					},
					"TargetString": {
						"type": "blob"
					},
					"TextTransformation": {},
					"PositionalConstraint": {}
				}
			},
			"S9": {
				"type": "structure",
				"required": [
					"Type"
				],
				"members": {
					"Type": {},
					"Data": {}
				}
			},
			"Sh": {
				"type": "structure",
				"required": [
					"IPSetId",
					"IPSetDescriptors"
				],
				"members": {
					"IPSetId": {},
					"Name": {},
					"IPSetDescriptors": {
						"type": "list",
						"member": {
							"shape": "Sj"
						}
					}
				}
			},
			"Sj": {
				"type": "structure",
				"required": [
					"Type",
					"Value"
				],
				"members": {
					"Type": {},
					"Value": {}
				}
			},
			"Sr": {
				"type": "structure",
				"required": [
					"RuleId",
					"MatchPredicates",
					"RateKey",
					"RateLimit"
				],
				"members": {
					"RuleId": {},
					"Name": {},
					"MetricName": {},
					"MatchPredicates": {
						"shape": "Ss"
					},
					"RateKey": {},
					"RateLimit": {
						"type": "long"
					}
				}
			},
			"Ss": {
				"type": "list",
				"member": {
					"shape": "St"
				}
			},
			"St": {
				"type": "structure",
				"required": [
					"Negated",
					"Type",
					"DataId"
				],
				"members": {
					"Negated": {
						"type": "boolean"
					},
					"Type": {},
					"DataId": {}
				}
			},
			"Sy": {
				"type": "structure",
				"required": [
					"RuleId",
					"Predicates"
				],
				"members": {
					"RuleId": {},
					"Name": {},
					"MetricName": {},
					"Predicates": {
						"shape": "Ss"
					}
				}
			},
			"S11": {
				"type": "structure",
				"required": [
					"SizeConstraintSetId",
					"SizeConstraints"
				],
				"members": {
					"SizeConstraintSetId": {},
					"Name": {},
					"SizeConstraints": {
						"type": "list",
						"member": {
							"shape": "S13"
						}
					}
				}
			},
			"S13": {
				"type": "structure",
				"required": [
					"FieldToMatch",
					"TextTransformation",
					"ComparisonOperator",
					"Size"
				],
				"members": {
					"FieldToMatch": {
						"shape": "S9"
					},
					"TextTransformation": {},
					"ComparisonOperator": {},
					"Size": {
						"type": "long"
					}
				}
			},
			"S18": {
				"type": "structure",
				"required": [
					"SqlInjectionMatchSetId",
					"SqlInjectionMatchTuples"
				],
				"members": {
					"SqlInjectionMatchSetId": {},
					"Name": {},
					"SqlInjectionMatchTuples": {
						"type": "list",
						"member": {
							"shape": "S1a"
						}
					}
				}
			},
			"S1a": {
				"type": "structure",
				"required": [
					"FieldToMatch",
					"TextTransformation"
				],
				"members": {
					"FieldToMatch": {
						"shape": "S9"
					},
					"TextTransformation": {}
				}
			},
			"S1c": {
				"type": "structure",
				"required": [
					"Type"
				],
				"members": {
					"Type": {}
				}
			},
			"S1f": {
				"type": "structure",
				"required": [
					"WebACLId",
					"DefaultAction",
					"Rules"
				],
				"members": {
					"WebACLId": {},
					"Name": {},
					"MetricName": {},
					"DefaultAction": {
						"shape": "S1c"
					},
					"Rules": {
						"type": "list",
						"member": {
							"shape": "S1h"
						}
					}
				}
			},
			"S1h": {
				"type": "structure",
				"required": [
					"Priority",
					"RuleId",
					"Action"
				],
				"members": {
					"Priority": {
						"type": "integer"
					},
					"RuleId": {},
					"Action": {
						"shape": "S1c"
					},
					"Type": {}
				}
			},
			"S1m": {
				"type": "structure",
				"required": [
					"XssMatchSetId",
					"XssMatchTuples"
				],
				"members": {
					"XssMatchSetId": {},
					"Name": {},
					"XssMatchTuples": {
						"type": "list",
						"member": {
							"shape": "S1o"
						}
					}
				}
			},
			"S1o": {
				"type": "structure",
				"required": [
					"FieldToMatch",
					"TextTransformation"
				],
				"members": {
					"FieldToMatch": {
						"shape": "S9"
					},
					"TextTransformation": {}
				}
			},
			"S2o": {
				"type": "structure",
				"required": [
					"StartTime",
					"EndTime"
				],
				"members": {
					"StartTime": {
						"type": "timestamp"
					},
					"EndTime": {
						"type": "timestamp"
					}
				}
			},
			"S3q": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"RuleId",
						"Name"
					],
					"members": {
						"RuleId": {},
						"Name": {}
					}
				}
			},
			"S4k": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Action",
						"Predicate"
					],
					"members": {
						"Action": {},
						"Predicate": {
							"shape": "St"
						}
					}
				}
			}
		}
	};

/***/ }),
/* 628 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 629 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['wafregional'] = {};
	AWS.WAFRegional = Service.defineService('wafregional', ['2016-11-28']);
	Object.defineProperty(apiLoader.services['wafregional'], '2016-11-28', {
	  get: function get() {
	    var model = __webpack_require__(630);
	    model.paginators = __webpack_require__(631).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.WAFRegional;


/***/ }),
/* 630 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-11-28",
			"endpointPrefix": "waf-regional",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "WAF Regional",
			"serviceFullName": "AWS WAF Regional",
			"signatureVersion": "v4",
			"targetPrefix": "AWSWAF_Regional_20161128",
			"uid": "waf-regional-2016-11-28"
		},
		"operations": {
			"AssociateWebACL": {
				"input": {
					"type": "structure",
					"required": [
						"WebACLId",
						"ResourceArn"
					],
					"members": {
						"WebACLId": {},
						"ResourceArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateByteMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ByteMatchSet": {
							"shape": "S9"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateIPSet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IPSet": {
							"shape": "Sk"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateRateBasedRule": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"MetricName",
						"RateKey",
						"RateLimit",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"MetricName": {},
						"RateKey": {},
						"RateLimit": {
							"type": "long"
						},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Rule": {
							"shape": "Su"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateRule": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"MetricName",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"MetricName": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Rule": {
							"shape": "S11"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateSizeConstraintSet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SizeConstraintSet": {
							"shape": "S14"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateSqlInjectionMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SqlInjectionMatchSet": {
							"shape": "S1b"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateWebACL": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"MetricName",
						"DefaultAction",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"MetricName": {},
						"DefaultAction": {
							"shape": "S1f"
						},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WebACL": {
							"shape": "S1i"
						},
						"ChangeToken": {}
					}
				}
			},
			"CreateXssMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"ChangeToken"
					],
					"members": {
						"Name": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"XssMatchSet": {
							"shape": "S1p"
						},
						"ChangeToken": {}
					}
				}
			},
			"DeleteByteMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"ByteMatchSetId",
						"ChangeToken"
					],
					"members": {
						"ByteMatchSetId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteIPSet": {
				"input": {
					"type": "structure",
					"required": [
						"IPSetId",
						"ChangeToken"
					],
					"members": {
						"IPSetId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteRateBasedRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId",
						"ChangeToken"
					],
					"members": {
						"RuleId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId",
						"ChangeToken"
					],
					"members": {
						"RuleId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteSizeConstraintSet": {
				"input": {
					"type": "structure",
					"required": [
						"SizeConstraintSetId",
						"ChangeToken"
					],
					"members": {
						"SizeConstraintSetId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteSqlInjectionMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"SqlInjectionMatchSetId",
						"ChangeToken"
					],
					"members": {
						"SqlInjectionMatchSetId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteWebACL": {
				"input": {
					"type": "structure",
					"required": [
						"WebACLId",
						"ChangeToken"
					],
					"members": {
						"WebACLId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DeleteXssMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"XssMatchSetId",
						"ChangeToken"
					],
					"members": {
						"XssMatchSetId": {},
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"DisassociateWebACL": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn"
					],
					"members": {
						"ResourceArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"GetByteMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"ByteMatchSetId"
					],
					"members": {
						"ByteMatchSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ByteMatchSet": {
							"shape": "S9"
						}
					}
				}
			},
			"GetChangeToken": {
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"GetChangeTokenStatus": {
				"input": {
					"type": "structure",
					"required": [
						"ChangeToken"
					],
					"members": {
						"ChangeToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeTokenStatus": {}
					}
				}
			},
			"GetIPSet": {
				"input": {
					"type": "structure",
					"required": [
						"IPSetId"
					],
					"members": {
						"IPSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"IPSet": {
							"shape": "Sk"
						}
					}
				}
			},
			"GetRateBasedRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId"
					],
					"members": {
						"RuleId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Rule": {
							"shape": "Su"
						}
					}
				}
			},
			"GetRateBasedRuleManagedKeys": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId"
					],
					"members": {
						"RuleId": {},
						"NextMarker": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ManagedKeys": {
							"type": "list",
							"member": {}
						},
						"NextMarker": {}
					}
				}
			},
			"GetRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId"
					],
					"members": {
						"RuleId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Rule": {
							"shape": "S11"
						}
					}
				}
			},
			"GetSampledRequests": {
				"input": {
					"type": "structure",
					"required": [
						"WebAclId",
						"RuleId",
						"TimeWindow",
						"MaxItems"
					],
					"members": {
						"WebAclId": {},
						"RuleId": {},
						"TimeWindow": {
							"shape": "S2t"
						},
						"MaxItems": {
							"type": "long"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SampledRequests": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Request",
									"Weight"
								],
								"members": {
									"Request": {
										"type": "structure",
										"members": {
											"ClientIP": {},
											"Country": {},
											"URI": {},
											"Method": {},
											"HTTPVersion": {},
											"Headers": {
												"type": "list",
												"member": {
													"type": "structure",
													"members": {
														"Name": {},
														"Value": {}
													}
												}
											}
										}
									},
									"Weight": {
										"type": "long"
									},
									"Timestamp": {
										"type": "timestamp"
									},
									"Action": {}
								}
							}
						},
						"PopulationSize": {
							"type": "long"
						},
						"TimeWindow": {
							"shape": "S2t"
						}
					}
				}
			},
			"GetSizeConstraintSet": {
				"input": {
					"type": "structure",
					"required": [
						"SizeConstraintSetId"
					],
					"members": {
						"SizeConstraintSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SizeConstraintSet": {
							"shape": "S14"
						}
					}
				}
			},
			"GetSqlInjectionMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"SqlInjectionMatchSetId"
					],
					"members": {
						"SqlInjectionMatchSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SqlInjectionMatchSet": {
							"shape": "S1b"
						}
					}
				}
			},
			"GetWebACL": {
				"input": {
					"type": "structure",
					"required": [
						"WebACLId"
					],
					"members": {
						"WebACLId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WebACL": {
							"shape": "S1i"
						}
					}
				}
			},
			"GetWebACLForResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceArn"
					],
					"members": {
						"ResourceArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WebACLSummary": {
							"shape": "S3k"
						}
					}
				}
			},
			"GetXssMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"XssMatchSetId"
					],
					"members": {
						"XssMatchSetId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"XssMatchSet": {
							"shape": "S1p"
						}
					}
				}
			},
			"ListByteMatchSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"ByteMatchSets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"ByteMatchSetId",
									"Name"
								],
								"members": {
									"ByteMatchSetId": {},
									"Name": {}
								}
							}
						}
					}
				}
			},
			"ListIPSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"IPSets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"IPSetId",
									"Name"
								],
								"members": {
									"IPSetId": {},
									"Name": {}
								}
							}
						}
					}
				}
			},
			"ListRateBasedRules": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Rules": {
							"shape": "S3y"
						}
					}
				}
			},
			"ListResourcesForWebACL": {
				"input": {
					"type": "structure",
					"required": [
						"WebACLId"
					],
					"members": {
						"WebACLId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResourceArns": {
							"type": "list",
							"member": {}
						}
					}
				}
			},
			"ListRules": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Rules": {
							"shape": "S3y"
						}
					}
				}
			},
			"ListSizeConstraintSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"SizeConstraintSets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"SizeConstraintSetId",
									"Name"
								],
								"members": {
									"SizeConstraintSetId": {},
									"Name": {}
								}
							}
						}
					}
				}
			},
			"ListSqlInjectionMatchSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"SqlInjectionMatchSets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"SqlInjectionMatchSetId",
									"Name"
								],
								"members": {
									"SqlInjectionMatchSetId": {},
									"Name": {}
								}
							}
						}
					}
				}
			},
			"ListWebACLs": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"WebACLs": {
							"type": "list",
							"member": {
								"shape": "S3k"
							}
						}
					}
				}
			},
			"ListXssMatchSets": {
				"input": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"Limit": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextMarker": {},
						"XssMatchSets": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"XssMatchSetId",
									"Name"
								],
								"members": {
									"XssMatchSetId": {},
									"Name": {}
								}
							}
						}
					}
				}
			},
			"UpdateByteMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"ByteMatchSetId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"ByteMatchSetId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"ByteMatchTuple"
								],
								"members": {
									"Action": {},
									"ByteMatchTuple": {
										"shape": "Sb"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateIPSet": {
				"input": {
					"type": "structure",
					"required": [
						"IPSetId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"IPSetId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"IPSetDescriptor"
								],
								"members": {
									"Action": {},
									"IPSetDescriptor": {
										"shape": "Sm"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateRateBasedRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId",
						"ChangeToken",
						"Updates",
						"RateLimit"
					],
					"members": {
						"RuleId": {},
						"ChangeToken": {},
						"Updates": {
							"shape": "S4u"
						},
						"RateLimit": {
							"type": "long"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateRule": {
				"input": {
					"type": "structure",
					"required": [
						"RuleId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"RuleId": {},
						"ChangeToken": {},
						"Updates": {
							"shape": "S4u"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateSizeConstraintSet": {
				"input": {
					"type": "structure",
					"required": [
						"SizeConstraintSetId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"SizeConstraintSetId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"SizeConstraint"
								],
								"members": {
									"Action": {},
									"SizeConstraint": {
										"shape": "S16"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateSqlInjectionMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"SqlInjectionMatchSetId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"SqlInjectionMatchSetId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"SqlInjectionMatchTuple"
								],
								"members": {
									"Action": {},
									"SqlInjectionMatchTuple": {
										"shape": "S1d"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateWebACL": {
				"input": {
					"type": "structure",
					"required": [
						"WebACLId",
						"ChangeToken"
					],
					"members": {
						"WebACLId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"ActivatedRule"
								],
								"members": {
									"Action": {},
									"ActivatedRule": {
										"shape": "S1k"
									}
								}
							}
						},
						"DefaultAction": {
							"shape": "S1f"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			},
			"UpdateXssMatchSet": {
				"input": {
					"type": "structure",
					"required": [
						"XssMatchSetId",
						"ChangeToken",
						"Updates"
					],
					"members": {
						"XssMatchSetId": {},
						"ChangeToken": {},
						"Updates": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Action",
									"XssMatchTuple"
								],
								"members": {
									"Action": {},
									"XssMatchTuple": {
										"shape": "S1r"
									}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ChangeToken": {}
					}
				}
			}
		},
		"shapes": {
			"S9": {
				"type": "structure",
				"required": [
					"ByteMatchSetId",
					"ByteMatchTuples"
				],
				"members": {
					"ByteMatchSetId": {},
					"Name": {},
					"ByteMatchTuples": {
						"type": "list",
						"member": {
							"shape": "Sb"
						}
					}
				}
			},
			"Sb": {
				"type": "structure",
				"required": [
					"FieldToMatch",
					"TargetString",
					"TextTransformation",
					"PositionalConstraint"
				],
				"members": {
					"FieldToMatch": {
						"shape": "Sc"
					},
					"TargetString": {
						"type": "blob"
					},
					"TextTransformation": {},
					"PositionalConstraint": {}
				}
			},
			"Sc": {
				"type": "structure",
				"required": [
					"Type"
				],
				"members": {
					"Type": {},
					"Data": {}
				}
			},
			"Sk": {
				"type": "structure",
				"required": [
					"IPSetId",
					"IPSetDescriptors"
				],
				"members": {
					"IPSetId": {},
					"Name": {},
					"IPSetDescriptors": {
						"type": "list",
						"member": {
							"shape": "Sm"
						}
					}
				}
			},
			"Sm": {
				"type": "structure",
				"required": [
					"Type",
					"Value"
				],
				"members": {
					"Type": {},
					"Value": {}
				}
			},
			"Su": {
				"type": "structure",
				"required": [
					"RuleId",
					"MatchPredicates",
					"RateKey",
					"RateLimit"
				],
				"members": {
					"RuleId": {},
					"Name": {},
					"MetricName": {},
					"MatchPredicates": {
						"shape": "Sv"
					},
					"RateKey": {},
					"RateLimit": {
						"type": "long"
					}
				}
			},
			"Sv": {
				"type": "list",
				"member": {
					"shape": "Sw"
				}
			},
			"Sw": {
				"type": "structure",
				"required": [
					"Negated",
					"Type",
					"DataId"
				],
				"members": {
					"Negated": {
						"type": "boolean"
					},
					"Type": {},
					"DataId": {}
				}
			},
			"S11": {
				"type": "structure",
				"required": [
					"RuleId",
					"Predicates"
				],
				"members": {
					"RuleId": {},
					"Name": {},
					"MetricName": {},
					"Predicates": {
						"shape": "Sv"
					}
				}
			},
			"S14": {
				"type": "structure",
				"required": [
					"SizeConstraintSetId",
					"SizeConstraints"
				],
				"members": {
					"SizeConstraintSetId": {},
					"Name": {},
					"SizeConstraints": {
						"type": "list",
						"member": {
							"shape": "S16"
						}
					}
				}
			},
			"S16": {
				"type": "structure",
				"required": [
					"FieldToMatch",
					"TextTransformation",
					"ComparisonOperator",
					"Size"
				],
				"members": {
					"FieldToMatch": {
						"shape": "Sc"
					},
					"TextTransformation": {},
					"ComparisonOperator": {},
					"Size": {
						"type": "long"
					}
				}
			},
			"S1b": {
				"type": "structure",
				"required": [
					"SqlInjectionMatchSetId",
					"SqlInjectionMatchTuples"
				],
				"members": {
					"SqlInjectionMatchSetId": {},
					"Name": {},
					"SqlInjectionMatchTuples": {
						"type": "list",
						"member": {
							"shape": "S1d"
						}
					}
				}
			},
			"S1d": {
				"type": "structure",
				"required": [
					"FieldToMatch",
					"TextTransformation"
				],
				"members": {
					"FieldToMatch": {
						"shape": "Sc"
					},
					"TextTransformation": {}
				}
			},
			"S1f": {
				"type": "structure",
				"required": [
					"Type"
				],
				"members": {
					"Type": {}
				}
			},
			"S1i": {
				"type": "structure",
				"required": [
					"WebACLId",
					"DefaultAction",
					"Rules"
				],
				"members": {
					"WebACLId": {},
					"Name": {},
					"MetricName": {},
					"DefaultAction": {
						"shape": "S1f"
					},
					"Rules": {
						"type": "list",
						"member": {
							"shape": "S1k"
						}
					}
				}
			},
			"S1k": {
				"type": "structure",
				"required": [
					"Priority",
					"RuleId",
					"Action"
				],
				"members": {
					"Priority": {
						"type": "integer"
					},
					"RuleId": {},
					"Action": {
						"shape": "S1f"
					},
					"Type": {}
				}
			},
			"S1p": {
				"type": "structure",
				"required": [
					"XssMatchSetId",
					"XssMatchTuples"
				],
				"members": {
					"XssMatchSetId": {},
					"Name": {},
					"XssMatchTuples": {
						"type": "list",
						"member": {
							"shape": "S1r"
						}
					}
				}
			},
			"S1r": {
				"type": "structure",
				"required": [
					"FieldToMatch",
					"TextTransformation"
				],
				"members": {
					"FieldToMatch": {
						"shape": "Sc"
					},
					"TextTransformation": {}
				}
			},
			"S2t": {
				"type": "structure",
				"required": [
					"StartTime",
					"EndTime"
				],
				"members": {
					"StartTime": {
						"type": "timestamp"
					},
					"EndTime": {
						"type": "timestamp"
					}
				}
			},
			"S3k": {
				"type": "structure",
				"required": [
					"WebACLId",
					"Name"
				],
				"members": {
					"WebACLId": {},
					"Name": {}
				}
			},
			"S3y": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"RuleId",
						"Name"
					],
					"members": {
						"RuleId": {},
						"Name": {}
					}
				}
			},
			"S4u": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Action",
						"Predicate"
					],
					"members": {
						"Action": {},
						"Predicate": {
							"shape": "Sw"
						}
					}
				}
			}
		}
	};

/***/ }),
/* 631 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 632 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['workdocs'] = {};
	AWS.WorkDocs = Service.defineService('workdocs', ['2016-05-01']);
	Object.defineProperty(apiLoader.services['workdocs'], '2016-05-01', {
	  get: function get() {
	    var model = __webpack_require__(633);
	    model.paginators = __webpack_require__(634).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.WorkDocs;


/***/ }),
/* 633 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2016-05-01",
			"endpointPrefix": "workdocs",
			"jsonVersion": "1.1",
			"protocol": "rest-json",
			"serviceFullName": "Amazon WorkDocs",
			"signatureVersion": "v4",
			"uid": "workdocs-2016-05-01"
		},
		"operations": {
			"AbortDocumentVersionUpload": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/documents/{DocumentId}/versions/{VersionId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"DocumentId",
						"VersionId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"DocumentId": {
							"location": "uri",
							"locationName": "DocumentId"
						},
						"VersionId": {
							"location": "uri",
							"locationName": "VersionId"
						}
					}
				}
			},
			"ActivateUser": {
				"http": {
					"requestUri": "/api/v1/users/{UserId}/activation",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"UserId"
					],
					"members": {
						"UserId": {
							"location": "uri",
							"locationName": "UserId"
						},
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"User": {
							"shape": "S8"
						}
					}
				}
			},
			"AddResourcePermissions": {
				"http": {
					"requestUri": "/api/v1/resources/{ResourceId}/permissions",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"Principals"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"ResourceId": {
							"location": "uri",
							"locationName": "ResourceId"
						},
						"Principals": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"Id",
									"Type",
									"Role"
								],
								"members": {
									"Id": {},
									"Type": {},
									"Role": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ShareResults": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"PrincipalId": {},
									"Role": {},
									"Status": {},
									"ShareId": {},
									"StatusMessage": {
										"type": "string",
										"sensitive": true
									}
								}
							}
						}
					}
				}
			},
			"CreateComment": {
				"http": {
					"requestUri": "/api/v1/documents/{DocumentId}/versions/{VersionId}/comment",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"DocumentId",
						"VersionId",
						"Text"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"DocumentId": {
							"location": "uri",
							"locationName": "DocumentId"
						},
						"VersionId": {
							"location": "uri",
							"locationName": "VersionId"
						},
						"ParentId": {},
						"ThreadId": {},
						"Text": {
							"shape": "Sy"
						},
						"Visibility": {},
						"NotifyCollaborators": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Comment": {
							"shape": "S12"
						}
					}
				}
			},
			"CreateCustomMetadata": {
				"http": {
					"method": "PUT",
					"requestUri": "/api/v1/resources/{ResourceId}/customMetadata",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"CustomMetadata"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"ResourceId": {
							"location": "uri",
							"locationName": "ResourceId"
						},
						"VersionId": {
							"location": "querystring",
							"locationName": "versionid"
						},
						"CustomMetadata": {
							"shape": "S15"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateFolder": {
				"http": {
					"requestUri": "/api/v1/folders",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"ParentFolderId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"Name": {},
						"ParentFolderId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Metadata": {
							"shape": "S1c"
						}
					}
				}
			},
			"CreateLabels": {
				"http": {
					"method": "PUT",
					"requestUri": "/api/v1/resources/{ResourceId}/labels",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"Labels"
					],
					"members": {
						"ResourceId": {
							"location": "uri",
							"locationName": "ResourceId"
						},
						"Labels": {
							"shape": "S1f"
						},
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateNotificationSubscription": {
				"http": {
					"requestUri": "/api/v1/organizations/{OrganizationId}/subscriptions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"OrganizationId",
						"Endpoint",
						"Protocol",
						"SubscriptionType"
					],
					"members": {
						"OrganizationId": {
							"location": "uri",
							"locationName": "OrganizationId"
						},
						"Endpoint": {},
						"Protocol": {},
						"SubscriptionType": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Subscription": {
							"shape": "S1o"
						}
					}
				}
			},
			"CreateUser": {
				"http": {
					"requestUri": "/api/v1/users",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"Username",
						"GivenName",
						"Surname",
						"Password"
					],
					"members": {
						"OrganizationId": {},
						"Username": {},
						"EmailAddress": {},
						"GivenName": {},
						"Surname": {},
						"Password": {
							"type": "string",
							"sensitive": true
						},
						"TimeZoneId": {},
						"StorageRule": {
							"shape": "Sj"
						},
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"User": {
							"shape": "S8"
						}
					}
				}
			},
			"DeactivateUser": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/users/{UserId}/activation",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"UserId"
					],
					"members": {
						"UserId": {
							"location": "uri",
							"locationName": "UserId"
						},
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						}
					}
				}
			},
			"DeleteComment": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/documents/{DocumentId}/versions/{VersionId}/comment/{CommentId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"DocumentId",
						"VersionId",
						"CommentId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"DocumentId": {
							"location": "uri",
							"locationName": "DocumentId"
						},
						"VersionId": {
							"location": "uri",
							"locationName": "VersionId"
						},
						"CommentId": {
							"location": "uri",
							"locationName": "CommentId"
						}
					}
				}
			},
			"DeleteCustomMetadata": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/resources/{ResourceId}/customMetadata",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"ResourceId": {
							"location": "uri",
							"locationName": "ResourceId"
						},
						"VersionId": {
							"location": "querystring",
							"locationName": "versionId"
						},
						"Keys": {
							"location": "querystring",
							"locationName": "keys",
							"type": "list",
							"member": {}
						},
						"DeleteAll": {
							"location": "querystring",
							"locationName": "deleteAll",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteDocument": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/documents/{DocumentId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"DocumentId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"DocumentId": {
							"location": "uri",
							"locationName": "DocumentId"
						}
					}
				}
			},
			"DeleteFolder": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/folders/{FolderId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"FolderId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"FolderId": {
							"location": "uri",
							"locationName": "FolderId"
						}
					}
				}
			},
			"DeleteFolderContents": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/folders/{FolderId}/contents",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"FolderId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"FolderId": {
							"location": "uri",
							"locationName": "FolderId"
						}
					}
				}
			},
			"DeleteLabels": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/resources/{ResourceId}/labels",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceId"
					],
					"members": {
						"ResourceId": {
							"location": "uri",
							"locationName": "ResourceId"
						},
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"Labels": {
							"shape": "S1f",
							"location": "querystring",
							"locationName": "labels"
						},
						"DeleteAll": {
							"location": "querystring",
							"locationName": "deleteAll",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteNotificationSubscription": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/organizations/{OrganizationId}/subscriptions/{SubscriptionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"SubscriptionId",
						"OrganizationId"
					],
					"members": {
						"SubscriptionId": {
							"location": "uri",
							"locationName": "SubscriptionId"
						},
						"OrganizationId": {
							"location": "uri",
							"locationName": "OrganizationId"
						}
					}
				}
			},
			"DeleteUser": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/users/{UserId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"UserId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"UserId": {
							"location": "uri",
							"locationName": "UserId"
						}
					}
				}
			},
			"DescribeActivities": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/activities",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"StartTime": {
							"location": "querystring",
							"locationName": "startTime",
							"type": "timestamp"
						},
						"EndTime": {
							"location": "querystring",
							"locationName": "endTime",
							"type": "timestamp"
						},
						"OrganizationId": {
							"location": "querystring",
							"locationName": "organizationId"
						},
						"UserId": {
							"location": "querystring",
							"locationName": "userId"
						},
						"Limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"UserActivities": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Type": {},
									"TimeStamp": {
										"type": "timestamp"
									},
									"OrganizationId": {},
									"Initiator": {
										"shape": "S2b"
									},
									"Participants": {
										"type": "structure",
										"members": {
											"Users": {
												"type": "list",
												"member": {
													"shape": "S2b"
												}
											},
											"Groups": {
												"type": "list",
												"member": {
													"type": "structure",
													"members": {
														"Id": {},
														"Name": {}
													}
												}
											}
										}
									},
									"ResourceMetadata": {
										"shape": "S2h"
									},
									"OriginalParent": {
										"shape": "S2h"
									},
									"CommentMetadata": {
										"type": "structure",
										"members": {
											"CommentId": {},
											"Contributor": {
												"shape": "S8"
											},
											"CreatedTimestamp": {
												"type": "timestamp"
											},
											"CommentStatus": {},
											"RecipientId": {}
										}
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeComments": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/documents/{DocumentId}/versions/{VersionId}/comments",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DocumentId",
						"VersionId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"DocumentId": {
							"location": "uri",
							"locationName": "DocumentId"
						},
						"VersionId": {
							"location": "uri",
							"locationName": "VersionId"
						},
						"Limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Comments": {
							"type": "list",
							"member": {
								"shape": "S12"
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeDocumentVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/documents/{DocumentId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DocumentId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"DocumentId": {
							"location": "uri",
							"locationName": "DocumentId"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"Limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"Include": {
							"location": "querystring",
							"locationName": "include"
						},
						"Fields": {
							"location": "querystring",
							"locationName": "fields"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DocumentVersions": {
							"type": "list",
							"member": {
								"shape": "S2s"
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeFolderContents": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/folders/{FolderId}/contents",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FolderId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"FolderId": {
							"location": "uri",
							"locationName": "FolderId"
						},
						"Sort": {
							"location": "querystring",
							"locationName": "sort"
						},
						"Order": {
							"location": "querystring",
							"locationName": "order"
						},
						"Limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"Type": {
							"location": "querystring",
							"locationName": "type"
						},
						"Include": {
							"location": "querystring",
							"locationName": "include"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Folders": {
							"shape": "S35"
						},
						"Documents": {
							"type": "list",
							"member": {
								"shape": "S37"
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeNotificationSubscriptions": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/organizations/{OrganizationId}/subscriptions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"OrganizationId"
					],
					"members": {
						"OrganizationId": {
							"location": "uri",
							"locationName": "OrganizationId"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"Limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Subscriptions": {
							"type": "list",
							"member": {
								"shape": "S1o"
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeResourcePermissions": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/resources/{ResourceId}/permissions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"ResourceId": {
							"location": "uri",
							"locationName": "ResourceId"
						},
						"Limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Principals": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Id": {},
									"Type": {},
									"Roles": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"Role": {},
												"Type": {}
											}
										}
									}
								}
							}
						},
						"Marker": {}
					}
				}
			},
			"DescribeRootFolders": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/me/root",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"AuthenticationToken"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"Limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Folders": {
							"shape": "S35"
						},
						"Marker": {}
					}
				}
			},
			"DescribeUsers": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/users",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"OrganizationId": {
							"location": "querystring",
							"locationName": "organizationId"
						},
						"UserIds": {
							"location": "querystring",
							"locationName": "userIds"
						},
						"Query": {
							"location": "querystring",
							"locationName": "query",
							"type": "string",
							"sensitive": true
						},
						"Include": {
							"location": "querystring",
							"locationName": "include"
						},
						"Order": {
							"location": "querystring",
							"locationName": "order"
						},
						"Sort": {
							"location": "querystring",
							"locationName": "sort"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						},
						"Limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"Fields": {
							"location": "querystring",
							"locationName": "fields"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Users": {
							"type": "list",
							"member": {
								"shape": "S8"
							}
						},
						"TotalNumberOfUsers": {
							"type": "long"
						},
						"Marker": {}
					}
				}
			},
			"GetCurrentUser": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/me",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"AuthenticationToken"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"User": {
							"shape": "S8"
						}
					}
				}
			},
			"GetDocument": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/documents/{DocumentId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DocumentId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"DocumentId": {
							"location": "uri",
							"locationName": "DocumentId"
						},
						"IncludeCustomMetadata": {
							"location": "querystring",
							"locationName": "includeCustomMetadata",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Metadata": {
							"shape": "S37"
						},
						"CustomMetadata": {
							"shape": "S15"
						}
					}
				}
			},
			"GetDocumentPath": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/documents/{DocumentId}/path",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DocumentId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"DocumentId": {
							"location": "uri",
							"locationName": "DocumentId"
						},
						"Limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"Fields": {
							"location": "querystring",
							"locationName": "fields"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Path": {
							"shape": "S3x"
						}
					}
				}
			},
			"GetDocumentVersion": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/documents/{DocumentId}/versions/{VersionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DocumentId",
						"VersionId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"DocumentId": {
							"location": "uri",
							"locationName": "DocumentId"
						},
						"VersionId": {
							"location": "uri",
							"locationName": "VersionId"
						},
						"Fields": {
							"location": "querystring",
							"locationName": "fields"
						},
						"IncludeCustomMetadata": {
							"location": "querystring",
							"locationName": "includeCustomMetadata",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Metadata": {
							"shape": "S2s"
						},
						"CustomMetadata": {
							"shape": "S15"
						}
					}
				}
			},
			"GetFolder": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/folders/{FolderId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FolderId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"FolderId": {
							"location": "uri",
							"locationName": "FolderId"
						},
						"IncludeCustomMetadata": {
							"location": "querystring",
							"locationName": "includeCustomMetadata",
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Metadata": {
							"shape": "S1c"
						},
						"CustomMetadata": {
							"shape": "S15"
						}
					}
				}
			},
			"GetFolderPath": {
				"http": {
					"method": "GET",
					"requestUri": "/api/v1/folders/{FolderId}/path",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FolderId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"FolderId": {
							"location": "uri",
							"locationName": "FolderId"
						},
						"Limit": {
							"location": "querystring",
							"locationName": "limit",
							"type": "integer"
						},
						"Fields": {
							"location": "querystring",
							"locationName": "fields"
						},
						"Marker": {
							"location": "querystring",
							"locationName": "marker"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Path": {
							"shape": "S3x"
						}
					}
				}
			},
			"InitiateDocumentVersionUpload": {
				"http": {
					"requestUri": "/api/v1/documents",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"ParentFolderId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"Id": {},
						"Name": {},
						"ContentCreatedTimestamp": {
							"type": "timestamp"
						},
						"ContentModifiedTimestamp": {
							"type": "timestamp"
						},
						"ContentType": {},
						"DocumentSizeInBytes": {
							"type": "long"
						},
						"ParentFolderId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Metadata": {
							"shape": "S37"
						},
						"UploadMetadata": {
							"type": "structure",
							"members": {
								"UploadUrl": {
									"shape": "S2x"
								},
								"SignedHeaders": {
									"type": "map",
									"key": {},
									"value": {}
								}
							}
						}
					}
				}
			},
			"RemoveAllResourcePermissions": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/resources/{ResourceId}/permissions",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"ResourceId": {
							"location": "uri",
							"locationName": "ResourceId"
						}
					}
				}
			},
			"RemoveResourcePermission": {
				"http": {
					"method": "DELETE",
					"requestUri": "/api/v1/resources/{ResourceId}/permissions/{PrincipalId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"PrincipalId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"ResourceId": {
							"location": "uri",
							"locationName": "ResourceId"
						},
						"PrincipalId": {
							"location": "uri",
							"locationName": "PrincipalId"
						},
						"PrincipalType": {
							"location": "querystring",
							"locationName": "type"
						}
					}
				}
			},
			"UpdateDocument": {
				"http": {
					"method": "PATCH",
					"requestUri": "/api/v1/documents/{DocumentId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DocumentId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"DocumentId": {
							"location": "uri",
							"locationName": "DocumentId"
						},
						"Name": {},
						"ParentFolderId": {},
						"ResourceState": {}
					}
				}
			},
			"UpdateDocumentVersion": {
				"http": {
					"method": "PATCH",
					"requestUri": "/api/v1/documents/{DocumentId}/versions/{VersionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"DocumentId",
						"VersionId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"DocumentId": {
							"location": "uri",
							"locationName": "DocumentId"
						},
						"VersionId": {
							"location": "uri",
							"locationName": "VersionId"
						},
						"VersionStatus": {}
					}
				}
			},
			"UpdateFolder": {
				"http": {
					"method": "PATCH",
					"requestUri": "/api/v1/folders/{FolderId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"FolderId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"FolderId": {
							"location": "uri",
							"locationName": "FolderId"
						},
						"Name": {},
						"ParentFolderId": {},
						"ResourceState": {}
					}
				}
			},
			"UpdateUser": {
				"http": {
					"method": "PATCH",
					"requestUri": "/api/v1/users/{UserId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"UserId"
					],
					"members": {
						"AuthenticationToken": {
							"shape": "S2",
							"location": "header",
							"locationName": "Authentication"
						},
						"UserId": {
							"location": "uri",
							"locationName": "UserId"
						},
						"GivenName": {},
						"Surname": {},
						"Type": {},
						"StorageRule": {
							"shape": "Sj"
						},
						"TimeZoneId": {},
						"Locale": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"User": {
							"shape": "S8"
						}
					}
				}
			}
		},
		"shapes": {
			"S2": {
				"type": "string",
				"sensitive": true
			},
			"S8": {
				"type": "structure",
				"members": {
					"Id": {},
					"Username": {},
					"EmailAddress": {},
					"GivenName": {},
					"Surname": {},
					"OrganizationId": {},
					"RootFolderId": {},
					"RecycleBinFolderId": {},
					"Status": {},
					"Type": {},
					"CreatedTimestamp": {
						"type": "timestamp"
					},
					"ModifiedTimestamp": {
						"type": "timestamp"
					},
					"TimeZoneId": {},
					"Locale": {},
					"Storage": {
						"type": "structure",
						"members": {
							"StorageUtilizedInBytes": {
								"type": "long"
							},
							"StorageRule": {
								"shape": "Sj"
							}
						}
					}
				}
			},
			"Sj": {
				"type": "structure",
				"members": {
					"StorageAllocatedInBytes": {
						"type": "long"
					},
					"StorageType": {}
				}
			},
			"Sy": {
				"type": "string",
				"sensitive": true
			},
			"S12": {
				"type": "structure",
				"required": [
					"CommentId"
				],
				"members": {
					"CommentId": {},
					"ParentId": {},
					"ThreadId": {},
					"Text": {
						"shape": "Sy"
					},
					"Contributor": {
						"shape": "S8"
					},
					"CreatedTimestamp": {
						"type": "timestamp"
					},
					"Status": {},
					"Visibility": {},
					"RecipientId": {}
				}
			},
			"S15": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S1c": {
				"type": "structure",
				"members": {
					"Id": {},
					"Name": {},
					"CreatorId": {},
					"ParentFolderId": {},
					"CreatedTimestamp": {
						"type": "timestamp"
					},
					"ModifiedTimestamp": {
						"type": "timestamp"
					},
					"ResourceState": {},
					"Signature": {},
					"Labels": {
						"shape": "S1f"
					},
					"Size": {
						"type": "long"
					},
					"LatestVersionSize": {
						"type": "long"
					}
				}
			},
			"S1f": {
				"type": "list",
				"member": {}
			},
			"S1o": {
				"type": "structure",
				"members": {
					"SubscriptionId": {},
					"EndPoint": {},
					"Protocol": {}
				}
			},
			"S2b": {
				"type": "structure",
				"members": {
					"Id": {},
					"Username": {},
					"GivenName": {},
					"Surname": {},
					"EmailAddress": {}
				}
			},
			"S2h": {
				"type": "structure",
				"members": {
					"Type": {},
					"Name": {},
					"OriginalName": {},
					"Id": {},
					"VersionId": {},
					"Owner": {
						"shape": "S2b"
					},
					"ParentId": {}
				}
			},
			"S2s": {
				"type": "structure",
				"members": {
					"Id": {},
					"Name": {},
					"ContentType": {},
					"Size": {
						"type": "long"
					},
					"Signature": {},
					"Status": {},
					"CreatedTimestamp": {
						"type": "timestamp"
					},
					"ModifiedTimestamp": {
						"type": "timestamp"
					},
					"ContentCreatedTimestamp": {
						"type": "timestamp"
					},
					"ContentModifiedTimestamp": {
						"type": "timestamp"
					},
					"CreatorId": {},
					"Thumbnail": {
						"type": "map",
						"key": {},
						"value": {
							"shape": "S2x"
						}
					},
					"Source": {
						"type": "map",
						"key": {},
						"value": {
							"shape": "S2x"
						}
					}
				}
			},
			"S2x": {
				"type": "string",
				"sensitive": true
			},
			"S35": {
				"type": "list",
				"member": {
					"shape": "S1c"
				}
			},
			"S37": {
				"type": "structure",
				"members": {
					"Id": {},
					"CreatorId": {},
					"ParentFolderId": {},
					"CreatedTimestamp": {
						"type": "timestamp"
					},
					"ModifiedTimestamp": {
						"type": "timestamp"
					},
					"LatestVersionMetadata": {
						"shape": "S2s"
					},
					"ResourceState": {},
					"Labels": {
						"shape": "S1f"
					}
				}
			},
			"S3x": {
				"type": "structure",
				"members": {
					"Components": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"Id": {},
								"Name": {}
							}
						}
					}
				}
			}
		}
	};

/***/ }),
/* 634 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeDocumentVersions": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"output_token": "Marker",
				"result_key": "DocumentVersions"
			},
			"DescribeFolderContents": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"output_token": "Marker",
				"result_key": [
					"Folders",
					"Documents"
				]
			},
			"DescribeUsers": {
				"input_token": "Marker",
				"limit_key": "Limit",
				"output_token": "Marker",
				"result_key": "Users"
			}
		}
	};

/***/ }),
/* 635 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['workspaces'] = {};
	AWS.WorkSpaces = Service.defineService('workspaces', ['2015-04-08']);
	Object.defineProperty(apiLoader.services['workspaces'], '2015-04-08', {
	  get: function get() {
	    var model = __webpack_require__(636);
	    model.paginators = __webpack_require__(637).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.WorkSpaces;


/***/ }),
/* 636 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2015-04-08",
			"endpointPrefix": "workspaces",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon WorkSpaces",
			"signatureVersion": "v4",
			"targetPrefix": "WorkspacesService",
			"uid": "workspaces-2015-04-08"
		},
		"operations": {
			"CreateTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"Tags"
					],
					"members": {
						"ResourceId": {},
						"Tags": {
							"shape": "S3"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"CreateWorkspaces": {
				"input": {
					"type": "structure",
					"required": [
						"Workspaces"
					],
					"members": {
						"Workspaces": {
							"type": "list",
							"member": {
								"shape": "Sa"
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedRequests": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WorkspaceRequest": {
										"shape": "Sa"
									},
									"ErrorCode": {},
									"ErrorMessage": {}
								}
							}
						},
						"PendingRequests": {
							"shape": "So"
						}
					}
				}
			},
			"DeleteTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId",
						"TagKeys"
					],
					"members": {
						"ResourceId": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DescribeTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceId"
					],
					"members": {
						"ResourceId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"TagList": {
							"shape": "S3"
						}
					}
				}
			},
			"DescribeWorkspaceBundles": {
				"input": {
					"type": "structure",
					"members": {
						"BundleIds": {
							"type": "list",
							"member": {}
						},
						"Owner": {},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Bundles": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"BundleId": {},
									"Name": {},
									"Owner": {},
									"Description": {},
									"UserStorage": {
										"type": "structure",
										"members": {
											"Capacity": {}
										}
									},
									"ComputeType": {
										"type": "structure",
										"members": {
											"Name": {}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeWorkspaceDirectories": {
				"input": {
					"type": "structure",
					"members": {
						"DirectoryIds": {
							"type": "list",
							"member": {}
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Directories": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"DirectoryId": {},
									"Alias": {},
									"DirectoryName": {},
									"RegistrationCode": {},
									"SubnetIds": {
										"type": "list",
										"member": {}
									},
									"DnsIpAddresses": {
										"type": "list",
										"member": {}
									},
									"CustomerUserName": {},
									"IamRoleId": {},
									"DirectoryType": {},
									"WorkspaceSecurityGroupId": {},
									"State": {},
									"WorkspaceCreationProperties": {
										"type": "structure",
										"members": {
											"EnableWorkDocs": {
												"type": "boolean"
											},
											"EnableInternetAccess": {
												"type": "boolean"
											},
											"DefaultOu": {},
											"CustomSecurityGroupId": {},
											"UserEnabledAsLocalAdministrator": {
												"type": "boolean"
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"DescribeWorkspaces": {
				"input": {
					"type": "structure",
					"members": {
						"WorkspaceIds": {
							"shape": "S1s"
						},
						"DirectoryId": {},
						"UserName": {},
						"BundleId": {},
						"Limit": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Workspaces": {
							"shape": "So"
						},
						"NextToken": {}
					}
				}
			},
			"DescribeWorkspacesConnectionStatus": {
				"input": {
					"type": "structure",
					"members": {
						"WorkspaceIds": {
							"shape": "S1s"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"WorkspacesConnectionStatus": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WorkspaceId": {},
									"ConnectionState": {},
									"ConnectionStateCheckTimestamp": {
										"type": "timestamp"
									},
									"LastKnownUserConnectionTimestamp": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ModifyWorkspaceProperties": {
				"input": {
					"type": "structure",
					"required": [
						"WorkspaceId",
						"WorkspaceProperties"
					],
					"members": {
						"WorkspaceId": {},
						"WorkspaceProperties": {
							"shape": "Sg"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"RebootWorkspaces": {
				"input": {
					"type": "structure",
					"required": [
						"RebootWorkspaceRequests"
					],
					"members": {
						"RebootWorkspaceRequests": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"WorkspaceId"
								],
								"members": {
									"WorkspaceId": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedRequests": {
							"type": "list",
							"member": {
								"shape": "S28"
							}
						}
					}
				}
			},
			"RebuildWorkspaces": {
				"input": {
					"type": "structure",
					"required": [
						"RebuildWorkspaceRequests"
					],
					"members": {
						"RebuildWorkspaceRequests": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"WorkspaceId"
								],
								"members": {
									"WorkspaceId": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedRequests": {
							"type": "list",
							"member": {
								"shape": "S28"
							}
						}
					}
				}
			},
			"StartWorkspaces": {
				"input": {
					"type": "structure",
					"required": [
						"StartWorkspaceRequests"
					],
					"members": {
						"StartWorkspaceRequests": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WorkspaceId": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedRequests": {
							"type": "list",
							"member": {
								"shape": "S28"
							}
						}
					}
				}
			},
			"StopWorkspaces": {
				"input": {
					"type": "structure",
					"required": [
						"StopWorkspaceRequests"
					],
					"members": {
						"StopWorkspaceRequests": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"WorkspaceId": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedRequests": {
							"type": "list",
							"member": {
								"shape": "S28"
							}
						}
					}
				}
			},
			"TerminateWorkspaces": {
				"input": {
					"type": "structure",
					"required": [
						"TerminateWorkspaceRequests"
					],
					"members": {
						"TerminateWorkspaceRequests": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"WorkspaceId"
								],
								"members": {
									"WorkspaceId": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"FailedRequests": {
							"type": "list",
							"member": {
								"shape": "S28"
							}
						}
					}
				}
			}
		},
		"shapes": {
			"S3": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"Key"
					],
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"Sa": {
				"type": "structure",
				"required": [
					"DirectoryId",
					"UserName",
					"BundleId"
				],
				"members": {
					"DirectoryId": {},
					"UserName": {},
					"BundleId": {},
					"VolumeEncryptionKey": {},
					"UserVolumeEncryptionEnabled": {
						"type": "boolean"
					},
					"RootVolumeEncryptionEnabled": {
						"type": "boolean"
					},
					"WorkspaceProperties": {
						"shape": "Sg"
					},
					"Tags": {
						"shape": "S3"
					}
				}
			},
			"Sg": {
				"type": "structure",
				"members": {
					"RunningMode": {},
					"RunningModeAutoStopTimeoutInMinutes": {
						"type": "integer"
					}
				}
			},
			"So": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"WorkspaceId": {},
						"DirectoryId": {},
						"UserName": {},
						"IpAddress": {},
						"State": {},
						"BundleId": {},
						"SubnetId": {},
						"ErrorMessage": {},
						"ErrorCode": {},
						"ComputerName": {},
						"VolumeEncryptionKey": {},
						"UserVolumeEncryptionEnabled": {
							"type": "boolean"
						},
						"RootVolumeEncryptionEnabled": {
							"type": "boolean"
						},
						"WorkspaceProperties": {
							"shape": "Sg"
						}
					}
				}
			},
			"S1s": {
				"type": "list",
				"member": {}
			},
			"S28": {
				"type": "structure",
				"members": {
					"WorkspaceId": {},
					"ErrorCode": {},
					"ErrorMessage": {}
				}
			}
		}
	};

/***/ }),
/* 637 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"DescribeWorkspaceBundles": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "Bundles"
			},
			"DescribeWorkspaceDirectories": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"result_key": "Directories"
			},
			"DescribeWorkspaces": {
				"input_token": "NextToken",
				"limit_key": "Limit",
				"output_token": "NextToken",
				"result_key": "Workspaces"
			}
		}
	};

/***/ }),
/* 638 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['codestar'] = {};
	AWS.CodeStar = Service.defineService('codestar', ['2017-04-19']);
	Object.defineProperty(apiLoader.services['codestar'], '2017-04-19', {
	  get: function get() {
	    var model = __webpack_require__(639);
	    model.paginators = __webpack_require__(640).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.CodeStar;


/***/ }),
/* 639 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2017-04-19",
			"endpointPrefix": "codestar",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "CodeStar",
			"serviceFullName": "AWS CodeStar",
			"signatureVersion": "v4",
			"targetPrefix": "CodeStar_20170419",
			"uid": "codestar-2017-04-19"
		},
		"operations": {
			"AssociateTeamMember": {
				"input": {
					"type": "structure",
					"required": [
						"projectId",
						"userArn",
						"projectRole"
					],
					"members": {
						"projectId": {},
						"clientRequestToken": {},
						"userArn": {},
						"projectRole": {},
						"remoteAccessAllowed": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"clientRequestToken": {}
					}
				}
			},
			"CreateProject": {
				"input": {
					"type": "structure",
					"required": [
						"name",
						"id"
					],
					"members": {
						"name": {
							"shape": "S9"
						},
						"id": {},
						"description": {
							"shape": "Sa"
						},
						"clientRequestToken": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"id",
						"arn"
					],
					"members": {
						"id": {},
						"arn": {},
						"clientRequestToken": {},
						"projectTemplateId": {}
					}
				}
			},
			"CreateUserProfile": {
				"input": {
					"type": "structure",
					"required": [
						"userArn",
						"displayName",
						"emailAddress"
					],
					"members": {
						"userArn": {},
						"displayName": {},
						"emailAddress": {},
						"sshPublicKey": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"userArn"
					],
					"members": {
						"userArn": {},
						"displayName": {},
						"emailAddress": {},
						"sshPublicKey": {},
						"createdTimestamp": {
							"type": "timestamp"
						},
						"lastModifiedTimestamp": {
							"type": "timestamp"
						}
					}
				}
			},
			"DeleteProject": {
				"input": {
					"type": "structure",
					"required": [
						"id"
					],
					"members": {
						"id": {},
						"clientRequestToken": {},
						"deleteStack": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"stackId": {},
						"projectArn": {}
					}
				}
			},
			"DeleteUserProfile": {
				"input": {
					"type": "structure",
					"required": [
						"userArn"
					],
					"members": {
						"userArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"userArn"
					],
					"members": {
						"userArn": {}
					}
				}
			},
			"DescribeProject": {
				"input": {
					"type": "structure",
					"required": [
						"id"
					],
					"members": {
						"id": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {
							"shape": "S9"
						},
						"id": {},
						"arn": {},
						"description": {
							"shape": "Sa"
						},
						"clientRequestToken": {},
						"createdTimeStamp": {
							"type": "timestamp"
						},
						"stackId": {},
						"projectTemplateId": {}
					}
				}
			},
			"DescribeUserProfile": {
				"input": {
					"type": "structure",
					"required": [
						"userArn"
					],
					"members": {
						"userArn": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"userArn",
						"createdTimestamp",
						"lastModifiedTimestamp"
					],
					"members": {
						"userArn": {},
						"displayName": {},
						"emailAddress": {},
						"sshPublicKey": {},
						"createdTimestamp": {
							"type": "timestamp"
						},
						"lastModifiedTimestamp": {
							"type": "timestamp"
						}
					}
				}
			},
			"DisassociateTeamMember": {
				"input": {
					"type": "structure",
					"required": [
						"projectId",
						"userArn"
					],
					"members": {
						"projectId": {},
						"userArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"ListProjects": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"projects"
					],
					"members": {
						"projects": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"projectId": {},
									"projectArn": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListResources": {
				"input": {
					"type": "structure",
					"required": [
						"projectId"
					],
					"members": {
						"projectId": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"resources": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"id"
								],
								"members": {
									"id": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListTeamMembers": {
				"input": {
					"type": "structure",
					"required": [
						"projectId"
					],
					"members": {
						"projectId": {},
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"teamMembers"
					],
					"members": {
						"teamMembers": {
							"type": "list",
							"member": {
								"type": "structure",
								"required": [
									"userArn",
									"projectRole"
								],
								"members": {
									"userArn": {},
									"projectRole": {},
									"remoteAccessAllowed": {
										"type": "boolean"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"ListUserProfiles": {
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {},
						"maxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"userProfiles"
					],
					"members": {
						"userProfiles": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"userArn": {},
									"displayName": {},
									"emailAddress": {},
									"sshPublicKey": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"UpdateProject": {
				"input": {
					"type": "structure",
					"required": [
						"id"
					],
					"members": {
						"id": {},
						"name": {
							"shape": "S9"
						},
						"description": {
							"shape": "Sa"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateTeamMember": {
				"input": {
					"type": "structure",
					"required": [
						"projectId",
						"userArn"
					],
					"members": {
						"projectId": {},
						"userArn": {},
						"projectRole": {},
						"remoteAccessAllowed": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"userArn": {},
						"projectRole": {},
						"remoteAccessAllowed": {
							"type": "boolean"
						}
					}
				}
			},
			"UpdateUserProfile": {
				"input": {
					"type": "structure",
					"required": [
						"userArn"
					],
					"members": {
						"userArn": {},
						"displayName": {},
						"emailAddress": {},
						"sshPublicKey": {}
					}
				},
				"output": {
					"type": "structure",
					"required": [
						"userArn"
					],
					"members": {
						"userArn": {},
						"displayName": {},
						"emailAddress": {},
						"sshPublicKey": {},
						"createdTimestamp": {
							"type": "timestamp"
						},
						"lastModifiedTimestamp": {
							"type": "timestamp"
						}
					}
				}
			}
		},
		"shapes": {
			"S9": {
				"type": "string",
				"sensitive": true
			},
			"Sa": {
				"type": "string",
				"sensitive": true
			}
		}
	};

/***/ }),
/* 640 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 641 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['lexmodelbuildingservice'] = {};
	AWS.LexModelBuildingService = Service.defineService('lexmodelbuildingservice', ['2017-04-19']);
	Object.defineProperty(apiLoader.services['lexmodelbuildingservice'], '2017-04-19', {
	  get: function get() {
	    var model = __webpack_require__(642);
	    model.paginators = __webpack_require__(643).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.LexModelBuildingService;


/***/ }),
/* 642 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2017-04-19",
			"endpointPrefix": "models.lex",
			"jsonVersion": "1.1",
			"protocol": "rest-json",
			"serviceFullName": "Amazon Lex Model Building Service",
			"signatureVersion": "v4",
			"signingName": "lex",
			"uid": "lex-models-2017-04-19"
		},
		"operations": {
			"CreateBotVersion": {
				"http": {
					"requestUri": "/bots/{name}/versions",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"checksum": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"intents": {
							"shape": "S6"
						},
						"clarificationPrompt": {
							"shape": "Sa"
						},
						"abortStatement": {
							"shape": "Sh"
						},
						"status": {},
						"failureReason": {},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"idleSessionTTLInSeconds": {
							"type": "integer"
						},
						"voiceId": {},
						"checksum": {},
						"version": {},
						"locale": {},
						"childDirected": {
							"type": "boolean"
						}
					}
				}
			},
			"CreateIntentVersion": {
				"http": {
					"requestUri": "/intents/{name}/versions",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"checksum": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"slots": {
							"shape": "Sp"
						},
						"sampleUtterances": {
							"shape": "Sx"
						},
						"confirmationPrompt": {
							"shape": "Sa"
						},
						"rejectionStatement": {
							"shape": "Sh"
						},
						"followUpPrompt": {
							"shape": "Sy"
						},
						"conclusionStatement": {
							"shape": "Sh"
						},
						"dialogCodeHook": {
							"shape": "Sz"
						},
						"fulfillmentActivity": {
							"shape": "S12"
						},
						"parentIntentSignature": {},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"version": {},
						"checksum": {}
					}
				}
			},
			"CreateSlotTypeVersion": {
				"http": {
					"requestUri": "/slottypes/{name}/versions",
					"responseCode": 201
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"checksum": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"enumerationValues": {
							"shape": "S18"
						},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"version": {},
						"checksum": {}
					}
				}
			},
			"DeleteBot": {
				"http": {
					"method": "DELETE",
					"requestUri": "/bots/{name}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						}
					}
				}
			},
			"DeleteBotAlias": {
				"http": {
					"method": "DELETE",
					"requestUri": "/bots/{botName}/aliases/{name}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"botName"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"botName": {
							"location": "uri",
							"locationName": "botName"
						}
					}
				}
			},
			"DeleteBotChannelAssociation": {
				"http": {
					"method": "DELETE",
					"requestUri": "/bots/{botName}/aliases/{aliasName}/channels/{name}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"botName",
						"botAlias"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"botName": {
							"location": "uri",
							"locationName": "botName"
						},
						"botAlias": {
							"location": "uri",
							"locationName": "aliasName"
						}
					}
				}
			},
			"DeleteBotVersion": {
				"http": {
					"method": "DELETE",
					"requestUri": "/bots/{name}/versions/{version}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"version"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"version": {
							"location": "uri",
							"locationName": "version"
						}
					}
				}
			},
			"DeleteIntent": {
				"http": {
					"method": "DELETE",
					"requestUri": "/intents/{name}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						}
					}
				}
			},
			"DeleteIntentVersion": {
				"http": {
					"method": "DELETE",
					"requestUri": "/intents/{name}/versions/{version}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"version"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"version": {
							"location": "uri",
							"locationName": "version"
						}
					}
				}
			},
			"DeleteSlotType": {
				"http": {
					"method": "DELETE",
					"requestUri": "/slottypes/{name}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						}
					}
				}
			},
			"DeleteSlotTypeVersion": {
				"http": {
					"method": "DELETE",
					"requestUri": "/slottypes/{name}/version/{version}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"version"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"version": {
							"location": "uri",
							"locationName": "version"
						}
					}
				}
			},
			"DeleteUtterances": {
				"http": {
					"method": "DELETE",
					"requestUri": "/bots/{botName}/utterances/{userId}",
					"responseCode": 204
				},
				"input": {
					"type": "structure",
					"required": [
						"botName",
						"userId"
					],
					"members": {
						"botName": {
							"location": "uri",
							"locationName": "botName"
						},
						"userId": {
							"location": "uri",
							"locationName": "userId"
						}
					}
				}
			},
			"GetBot": {
				"http": {
					"method": "GET",
					"requestUri": "/bots/{name}/versions/{versionoralias}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"versionOrAlias"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"versionOrAlias": {
							"location": "uri",
							"locationName": "versionoralias"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"intents": {
							"shape": "S6"
						},
						"clarificationPrompt": {
							"shape": "Sa"
						},
						"abortStatement": {
							"shape": "Sh"
						},
						"status": {},
						"failureReason": {},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"idleSessionTTLInSeconds": {
							"type": "integer"
						},
						"voiceId": {},
						"checksum": {},
						"version": {},
						"locale": {},
						"childDirected": {
							"type": "boolean"
						}
					}
				}
			},
			"GetBotAlias": {
				"http": {
					"method": "GET",
					"requestUri": "/bots/{botName}/aliases/{name}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"botName"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"botName": {
							"location": "uri",
							"locationName": "botName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"botVersion": {},
						"botName": {},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"checksum": {}
					}
				}
			},
			"GetBotAliases": {
				"http": {
					"method": "GET",
					"requestUri": "/bots/{botName}/aliases/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"botName"
					],
					"members": {
						"botName": {
							"location": "uri",
							"locationName": "botName"
						},
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"nameContains": {
							"location": "querystring",
							"locationName": "nameContains"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"BotAliases": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"name": {},
									"description": {},
									"botVersion": {},
									"botName": {},
									"lastUpdatedDate": {
										"type": "timestamp"
									},
									"createdDate": {
										"type": "timestamp"
									},
									"checksum": {}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"GetBotChannelAssociation": {
				"http": {
					"method": "GET",
					"requestUri": "/bots/{botName}/aliases/{aliasName}/channels/{name}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"botName",
						"botAlias"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"botName": {
							"location": "uri",
							"locationName": "botName"
						},
						"botAlias": {
							"location": "uri",
							"locationName": "aliasName"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"botAlias": {},
						"botName": {},
						"createdDate": {
							"type": "timestamp"
						},
						"type": {},
						"botConfiguration": {
							"shape": "S21"
						}
					}
				}
			},
			"GetBotChannelAssociations": {
				"http": {
					"method": "GET",
					"requestUri": "/bots/{botName}/aliases/{aliasName}/channels/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"botName",
						"botAlias"
					],
					"members": {
						"botName": {
							"location": "uri",
							"locationName": "botName"
						},
						"botAlias": {
							"location": "uri",
							"locationName": "aliasName"
						},
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"nameContains": {
							"location": "querystring",
							"locationName": "nameContains"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"botChannelAssociations": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"name": {},
									"description": {},
									"botAlias": {},
									"botName": {},
									"createdDate": {
										"type": "timestamp"
									},
									"type": {},
									"botConfiguration": {
										"shape": "S21"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"GetBotVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/bots/{name}/versions/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"bots": {
							"shape": "S29"
						},
						"nextToken": {}
					}
				}
			},
			"GetBots": {
				"http": {
					"method": "GET",
					"requestUri": "/bots/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"nameContains": {
							"location": "querystring",
							"locationName": "nameContains"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"bots": {
							"shape": "S29"
						},
						"nextToken": {}
					}
				}
			},
			"GetBuiltinIntent": {
				"http": {
					"method": "GET",
					"requestUri": "/builtins/intents/{signature}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"signature"
					],
					"members": {
						"signature": {
							"location": "uri",
							"locationName": "signature"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"signature": {},
						"supportedLocales": {
							"shape": "S2f"
						},
						"slots": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"name": {}
								}
							}
						}
					}
				}
			},
			"GetBuiltinIntents": {
				"http": {
					"method": "GET",
					"requestUri": "/builtins/intents/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"locale": {
							"location": "querystring",
							"locationName": "locale"
						},
						"signatureContains": {
							"location": "querystring",
							"locationName": "signatureContains"
						},
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"intents": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"signature": {},
									"supportedLocales": {
										"shape": "S2f"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"GetBuiltinSlotTypes": {
				"http": {
					"method": "GET",
					"requestUri": "/builtins/slottypes/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"locale": {
							"location": "querystring",
							"locationName": "locale"
						},
						"signatureContains": {
							"location": "querystring",
							"locationName": "signatureContains"
						},
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"slotTypes": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"signature": {},
									"supportedLocales": {
										"shape": "S2f"
									}
								}
							}
						},
						"nextToken": {}
					}
				}
			},
			"GetIntent": {
				"http": {
					"method": "GET",
					"requestUri": "/intents/{name}/versions/{version}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"version"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"version": {
							"location": "uri",
							"locationName": "version"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"slots": {
							"shape": "Sp"
						},
						"sampleUtterances": {
							"shape": "Sx"
						},
						"confirmationPrompt": {
							"shape": "Sa"
						},
						"rejectionStatement": {
							"shape": "Sh"
						},
						"followUpPrompt": {
							"shape": "Sy"
						},
						"conclusionStatement": {
							"shape": "Sh"
						},
						"dialogCodeHook": {
							"shape": "Sz"
						},
						"fulfillmentActivity": {
							"shape": "S12"
						},
						"parentIntentSignature": {},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"version": {},
						"checksum": {}
					}
				}
			},
			"GetIntentVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/intents/{name}/versions/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"intents": {
							"shape": "S2v"
						},
						"nextToken": {}
					}
				}
			},
			"GetIntents": {
				"http": {
					"method": "GET",
					"requestUri": "/intents/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"nameContains": {
							"location": "querystring",
							"locationName": "nameContains"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"intents": {
							"shape": "S2v"
						},
						"nextToken": {}
					}
				}
			},
			"GetSlotType": {
				"http": {
					"method": "GET",
					"requestUri": "/slottypes/{name}/versions/{version}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"version"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"version": {
							"location": "uri",
							"locationName": "version"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"enumerationValues": {
							"shape": "S18"
						},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"version": {},
						"checksum": {}
					}
				}
			},
			"GetSlotTypeVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/slottypes/{name}/versions/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"slotTypes": {
							"shape": "S33"
						},
						"nextToken": {}
					}
				}
			},
			"GetSlotTypes": {
				"http": {
					"method": "GET",
					"requestUri": "/slottypes/",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"nextToken": {
							"location": "querystring",
							"locationName": "nextToken"
						},
						"maxResults": {
							"location": "querystring",
							"locationName": "maxResults",
							"type": "integer"
						},
						"nameContains": {
							"location": "querystring",
							"locationName": "nameContains"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"slotTypes": {
							"shape": "S33"
						},
						"nextToken": {}
					}
				}
			},
			"GetUtterancesView": {
				"http": {
					"method": "GET",
					"requestUri": "/bots/{botname}/utterances?view=aggregation",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"botName",
						"botVersions",
						"statusType"
					],
					"members": {
						"botName": {
							"location": "uri",
							"locationName": "botname"
						},
						"botVersions": {
							"location": "querystring",
							"locationName": "bot_versions",
							"type": "list",
							"member": {}
						},
						"statusType": {
							"location": "querystring",
							"locationName": "status_type"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"botName": {},
						"utterances": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"botVersion": {},
									"utterances": {
										"type": "list",
										"member": {
											"type": "structure",
											"members": {
												"utteranceString": {},
												"count": {
													"type": "integer"
												},
												"distinctUsers": {
													"type": "integer"
												},
												"firstUtteredDate": {
													"type": "timestamp"
												},
												"lastUtteredDate": {
													"type": "timestamp"
												}
											}
										}
									}
								}
							}
						}
					}
				}
			},
			"PutBot": {
				"http": {
					"method": "PUT",
					"requestUri": "/bots/{name}/versions/$LATEST",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"locale",
						"childDirected"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"description": {},
						"intents": {
							"shape": "S6"
						},
						"clarificationPrompt": {
							"shape": "Sa"
						},
						"abortStatement": {
							"shape": "Sh"
						},
						"idleSessionTTLInSeconds": {
							"type": "integer"
						},
						"voiceId": {},
						"checksum": {},
						"processBehavior": {},
						"locale": {},
						"childDirected": {
							"type": "boolean"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"intents": {
							"shape": "S6"
						},
						"clarificationPrompt": {
							"shape": "Sa"
						},
						"abortStatement": {
							"shape": "Sh"
						},
						"status": {},
						"failureReason": {},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"idleSessionTTLInSeconds": {
							"type": "integer"
						},
						"voiceId": {},
						"checksum": {},
						"version": {},
						"locale": {},
						"childDirected": {
							"type": "boolean"
						}
					}
				}
			},
			"PutBotAlias": {
				"http": {
					"method": "PUT",
					"requestUri": "/bots/{botName}/aliases/{name}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name",
						"botVersion",
						"botName"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"description": {},
						"botVersion": {},
						"botName": {
							"location": "uri",
							"locationName": "botName"
						},
						"checksum": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"botVersion": {},
						"botName": {},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"checksum": {}
					}
				}
			},
			"PutIntent": {
				"http": {
					"method": "PUT",
					"requestUri": "/intents/{name}/versions/$LATEST",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"description": {},
						"slots": {
							"shape": "Sp"
						},
						"sampleUtterances": {
							"shape": "Sx"
						},
						"confirmationPrompt": {
							"shape": "Sa"
						},
						"rejectionStatement": {
							"shape": "Sh"
						},
						"followUpPrompt": {
							"shape": "Sy"
						},
						"conclusionStatement": {
							"shape": "Sh"
						},
						"dialogCodeHook": {
							"shape": "Sz"
						},
						"fulfillmentActivity": {
							"shape": "S12"
						},
						"parentIntentSignature": {},
						"checksum": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"slots": {
							"shape": "Sp"
						},
						"sampleUtterances": {
							"shape": "Sx"
						},
						"confirmationPrompt": {
							"shape": "Sa"
						},
						"rejectionStatement": {
							"shape": "Sh"
						},
						"followUpPrompt": {
							"shape": "Sy"
						},
						"conclusionStatement": {
							"shape": "Sh"
						},
						"dialogCodeHook": {
							"shape": "Sz"
						},
						"fulfillmentActivity": {
							"shape": "S12"
						},
						"parentIntentSignature": {},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"version": {},
						"checksum": {}
					}
				}
			},
			"PutSlotType": {
				"http": {
					"method": "PUT",
					"requestUri": "/slottypes/{name}/versions/$LATEST",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"required": [
						"name"
					],
					"members": {
						"name": {
							"location": "uri",
							"locationName": "name"
						},
						"description": {},
						"enumerationValues": {
							"shape": "S18"
						},
						"checksum": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"enumerationValues": {
							"shape": "S18"
						},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"version": {},
						"checksum": {}
					}
				}
			}
		},
		"shapes": {
			"S6": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"intentName",
						"intentVersion"
					],
					"members": {
						"intentName": {},
						"intentVersion": {}
					}
				}
			},
			"Sa": {
				"type": "structure",
				"required": [
					"messages",
					"maxAttempts"
				],
				"members": {
					"messages": {
						"shape": "Sb"
					},
					"maxAttempts": {
						"type": "integer"
					},
					"responseCard": {}
				}
			},
			"Sb": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"contentType",
						"content"
					],
					"members": {
						"contentType": {},
						"content": {}
					}
				}
			},
			"Sh": {
				"type": "structure",
				"required": [
					"messages"
				],
				"members": {
					"messages": {
						"shape": "Sb"
					},
					"responseCard": {}
				}
			},
			"Sp": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"name",
						"slotConstraint"
					],
					"members": {
						"name": {},
						"description": {},
						"slotConstraint": {},
						"slotType": {},
						"slotTypeVersion": {},
						"valueElicitationPrompt": {
							"shape": "Sa"
						},
						"priority": {
							"type": "integer"
						},
						"sampleUtterances": {
							"type": "list",
							"member": {}
						},
						"responseCard": {}
					}
				}
			},
			"Sx": {
				"type": "list",
				"member": {}
			},
			"Sy": {
				"type": "structure",
				"required": [
					"prompt",
					"rejectionStatement"
				],
				"members": {
					"prompt": {
						"shape": "Sa"
					},
					"rejectionStatement": {
						"shape": "Sh"
					}
				}
			},
			"Sz": {
				"type": "structure",
				"required": [
					"uri",
					"messageVersion"
				],
				"members": {
					"uri": {},
					"messageVersion": {}
				}
			},
			"S12": {
				"type": "structure",
				"required": [
					"type"
				],
				"members": {
					"type": {},
					"codeHook": {
						"shape": "Sz"
					}
				}
			},
			"S18": {
				"type": "list",
				"member": {
					"type": "structure",
					"required": [
						"value"
					],
					"members": {
						"value": {}
					}
				}
			},
			"S21": {
				"type": "map",
				"key": {},
				"value": {}
			},
			"S29": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"status": {},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"version": {}
					}
				}
			},
			"S2f": {
				"type": "list",
				"member": {}
			},
			"S2v": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"version": {}
					}
				}
			},
			"S33": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"name": {},
						"description": {},
						"lastUpdatedDate": {
							"type": "timestamp"
						},
						"createdDate": {
							"type": "timestamp"
						},
						"version": {}
					}
				}
			}
		}
	};

/***/ }),
/* 643 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"GetBotAliases": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults"
			},
			"GetBotChannelAssociations": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults"
			},
			"GetBotVersions": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults"
			},
			"GetBots": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults"
			},
			"GetBuiltinIntents": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults"
			},
			"GetBuiltinSlotTypes": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults"
			},
			"GetIntentVersions": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults"
			},
			"GetIntents": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults"
			},
			"GetSlotTypeVersions": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults"
			},
			"GetSlotTypes": {
				"input_token": "nextToken",
				"output_token": "nextToken",
				"limit_key": "maxResults"
			}
		}
	};

/***/ }),
/* 644 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['marketplaceentitlementservice'] = {};
	AWS.MarketplaceEntitlementService = Service.defineService('marketplaceentitlementservice', ['2017-01-11']);
	Object.defineProperty(apiLoader.services['marketplaceentitlementservice'], '2017-01-11', {
	  get: function get() {
	    var model = __webpack_require__(645);
	    model.paginators = __webpack_require__(646).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.MarketplaceEntitlementService;


/***/ }),
/* 645 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2017-01-11",
			"endpointPrefix": "entitlement.marketplace",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "AWS Marketplace Entitlement Service",
			"signatureVersion": "v4",
			"signingName": "aws-marketplace",
			"targetPrefix": "AWSMPEntitlementService",
			"uid": "entitlement.marketplace-2017-01-11"
		},
		"operations": {
			"GetEntitlements": {
				"input": {
					"type": "structure",
					"required": [
						"ProductCode"
					],
					"members": {
						"ProductCode": {},
						"Filter": {
							"type": "map",
							"key": {},
							"value": {
								"type": "list",
								"member": {}
							}
						},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Entitlements": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ProductCode": {},
									"Dimension": {},
									"CustomerIdentifier": {},
									"Value": {
										"type": "structure",
										"members": {
											"IntegerValue": {
												"type": "integer"
											},
											"DoubleValue": {
												"type": "double"
											},
											"BooleanValue": {
												"type": "boolean"
											},
											"StringValue": {}
										}
									},
									"ExpirationDate": {
										"type": "timestamp"
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			}
		},
		"shapes": {}
	};

/***/ }),
/* 646 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ }),
/* 647 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['athena'] = {};
	AWS.Athena = Service.defineService('athena', ['2017-05-18']);
	Object.defineProperty(apiLoader.services['athena'], '2017-05-18', {
	  get: function get() {
	    var model = __webpack_require__(648);
	    model.paginators = __webpack_require__(649).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Athena;


/***/ }),
/* 648 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2017-05-18",
			"endpointPrefix": "athena",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceFullName": "Amazon Athena",
			"signatureVersion": "v4",
			"targetPrefix": "AmazonAthena",
			"uid": "athena-2017-05-18"
		},
		"operations": {
			"BatchGetNamedQuery": {
				"input": {
					"type": "structure",
					"required": [
						"NamedQueryIds"
					],
					"members": {
						"NamedQueryIds": {
							"shape": "S2"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NamedQueries": {
							"type": "list",
							"member": {
								"shape": "S6"
							}
						},
						"UnprocessedNamedQueryIds": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"NamedQueryId": {},
									"ErrorCode": {},
									"ErrorMessage": {}
								}
							}
						}
					}
				}
			},
			"BatchGetQueryExecution": {
				"input": {
					"type": "structure",
					"required": [
						"QueryExecutionIds"
					],
					"members": {
						"QueryExecutionIds": {
							"shape": "Sg"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"QueryExecutions": {
							"type": "list",
							"member": {
								"shape": "Sk"
							}
						},
						"UnprocessedQueryExecutionIds": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"QueryExecutionId": {},
									"ErrorCode": {},
									"ErrorMessage": {}
								}
							}
						}
					}
				}
			},
			"CreateNamedQuery": {
				"input": {
					"type": "structure",
					"required": [
						"Name",
						"Database",
						"QueryString"
					],
					"members": {
						"Name": {},
						"Description": {},
						"Database": {},
						"QueryString": {},
						"ClientRequestToken": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NamedQueryId": {}
					}
				},
				"idempotent": true
			},
			"DeleteNamedQuery": {
				"input": {
					"type": "structure",
					"required": [
						"NamedQueryId"
					],
					"members": {
						"NamedQueryId": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			},
			"GetNamedQuery": {
				"input": {
					"type": "structure",
					"required": [
						"NamedQueryId"
					],
					"members": {
						"NamedQueryId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NamedQuery": {
							"shape": "S6"
						}
					}
				}
			},
			"GetQueryExecution": {
				"input": {
					"type": "structure",
					"required": [
						"QueryExecutionId"
					],
					"members": {
						"QueryExecutionId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"QueryExecution": {
							"shape": "Sk"
						}
					}
				}
			},
			"GetQueryResults": {
				"input": {
					"type": "structure",
					"required": [
						"QueryExecutionId"
					],
					"members": {
						"QueryExecutionId": {},
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ResultSet": {
							"type": "structure",
							"members": {
								"Rows": {
									"type": "list",
									"member": {
										"type": "structure",
										"members": {
											"Data": {
												"type": "list",
												"member": {
													"type": "structure",
													"members": {
														"VarCharValue": {}
													}
												}
											}
										}
									}
								},
								"ResultSetMetadata": {
									"type": "structure",
									"members": {
										"ColumnInfo": {
											"type": "list",
											"member": {
												"type": "structure",
												"required": [
													"Name",
													"Type"
												],
												"members": {
													"CatalogName": {},
													"SchemaName": {},
													"TableName": {},
													"Name": {},
													"Label": {},
													"Type": {},
													"Precision": {
														"type": "integer"
													},
													"Scale": {
														"type": "integer"
													},
													"Nullable": {},
													"CaseSensitive": {
														"type": "boolean"
													}
												}
											}
										}
									}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListNamedQueries": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NamedQueryIds": {
							"shape": "S2"
						},
						"NextToken": {}
					}
				}
			},
			"ListQueryExecutions": {
				"input": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"MaxResults": {
							"type": "integer"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"QueryExecutionIds": {
							"shape": "Sg"
						},
						"NextToken": {}
					}
				}
			},
			"StartQueryExecution": {
				"input": {
					"type": "structure",
					"required": [
						"QueryString",
						"ResultConfiguration"
					],
					"members": {
						"QueryString": {},
						"ClientRequestToken": {
							"idempotencyToken": true
						},
						"QueryExecutionContext": {
							"shape": "Sp"
						},
						"ResultConfiguration": {
							"shape": "Sl"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"QueryExecutionId": {}
					}
				},
				"idempotent": true
			},
			"StopQueryExecution": {
				"input": {
					"type": "structure",
					"required": [
						"QueryExecutionId"
					],
					"members": {
						"QueryExecutionId": {
							"idempotencyToken": true
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {}
				},
				"idempotent": true
			}
		},
		"shapes": {
			"S2": {
				"type": "list",
				"member": {}
			},
			"S6": {
				"type": "structure",
				"required": [
					"Name",
					"Database",
					"QueryString"
				],
				"members": {
					"Name": {},
					"Description": {},
					"Database": {},
					"QueryString": {},
					"NamedQueryId": {}
				}
			},
			"Sg": {
				"type": "list",
				"member": {}
			},
			"Sk": {
				"type": "structure",
				"members": {
					"QueryExecutionId": {},
					"Query": {},
					"ResultConfiguration": {
						"shape": "Sl"
					},
					"QueryExecutionContext": {
						"shape": "Sp"
					},
					"Status": {
						"type": "structure",
						"members": {
							"State": {},
							"StateChangeReason": {},
							"SubmissionDateTime": {
								"type": "timestamp"
							},
							"CompletionDateTime": {
								"type": "timestamp"
							}
						}
					},
					"Statistics": {
						"type": "structure",
						"members": {
							"EngineExecutionTimeInMillis": {
								"type": "long"
							},
							"DataScannedInBytes": {
								"type": "long"
							}
						}
					}
				}
			},
			"Sl": {
				"type": "structure",
				"required": [
					"OutputLocation"
				],
				"members": {
					"OutputLocation": {},
					"EncryptionConfiguration": {
						"type": "structure",
						"required": [
							"EncryptionOption"
						],
						"members": {
							"EncryptionOption": {},
							"KmsKey": {}
						}
					}
				}
			},
			"Sp": {
				"type": "structure",
				"members": {
					"Database": {}
				}
			}
		}
	};

/***/ }),
/* 649 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {
			"GetQueryResults": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListNamedQueries": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			},
			"ListQueryExecutions": {
				"input_token": "NextToken",
				"output_token": "NextToken",
				"limit_key": "MaxResults"
			}
		}
	};

/***/ }),
/* 650 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['greengrass'] = {};
	AWS.Greengrass = Service.defineService('greengrass', ['2017-06-07']);
	Object.defineProperty(apiLoader.services['greengrass'], '2017-06-07', {
	  get: function get() {
	    var model = __webpack_require__(651);
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.Greengrass;


/***/ }),
/* 651 */
/***/ (function(module, exports) {

	module.exports = {
		"metadata": {
			"apiVersion": "2017-06-07",
			"endpointPrefix": "greengrass",
			"signingName": "greengrass",
			"serviceFullName": "AWS Greengrass",
			"protocol": "rest-json",
			"jsonVersion": "1.1",
			"uid": "greengrass-2017-06-07",
			"signatureVersion": "v4"
		},
		"operations": {
			"AssociateRoleToGroup": {
				"http": {
					"method": "PUT",
					"requestUri": "/greengrass/groups/{GroupId}/role",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						},
						"RoleArn": {}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"AssociatedAt": {}
					}
				}
			},
			"AssociateServiceRoleToAccount": {
				"http": {
					"method": "PUT",
					"requestUri": "/greengrass/servicerole",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"RoleArn": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"AssociatedAt": {}
					}
				}
			},
			"CreateCoreDefinition": {
				"http": {
					"requestUri": "/greengrass/definition/cores",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"InitialVersion": {
							"shape": "S7"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"CreateCoreDefinitionVersion": {
				"http": {
					"requestUri": "/greengrass/definition/cores/{CoreDefinitionId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"CoreDefinitionId": {
							"location": "uri",
							"locationName": "CoreDefinitionId"
						},
						"Cores": {
							"shape": "S8"
						}
					},
					"required": [
						"CoreDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"Version": {}
					}
				}
			},
			"CreateDeployment": {
				"http": {
					"requestUri": "/greengrass/groups/{GroupId}/deployments",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"DeploymentId": {},
						"DeploymentType": {},
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						},
						"GroupVersionId": {}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"DeploymentArn": {},
						"DeploymentId": {}
					}
				}
			},
			"CreateDeviceDefinition": {
				"http": {
					"requestUri": "/greengrass/definition/devices",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"InitialVersion": {
							"shape": "Si"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"CreateDeviceDefinitionVersion": {
				"http": {
					"requestUri": "/greengrass/definition/devices/{DeviceDefinitionId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"DeviceDefinitionId": {
							"location": "uri",
							"locationName": "DeviceDefinitionId"
						},
						"Devices": {
							"shape": "Sj"
						}
					},
					"required": [
						"DeviceDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"Version": {}
					}
				}
			},
			"CreateFunctionDefinition": {
				"http": {
					"requestUri": "/greengrass/definition/functions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"InitialVersion": {
							"shape": "Sp"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"CreateFunctionDefinitionVersion": {
				"http": {
					"requestUri": "/greengrass/definition/functions/{FunctionDefinitionId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"FunctionDefinitionId": {
							"location": "uri",
							"locationName": "FunctionDefinitionId"
						},
						"Functions": {
							"shape": "Sq"
						}
					},
					"required": [
						"FunctionDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"Version": {}
					}
				}
			},
			"CreateGroup": {
				"http": {
					"requestUri": "/greengrass/groups",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"InitialVersion": {
							"shape": "S10"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"CreateGroupCertificateAuthority": {
				"http": {
					"requestUri": "/greengrass/groups/{GroupId}/certificateauthorities",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"GroupCertificateAuthorityArn": {}
					}
				}
			},
			"CreateGroupVersion": {
				"http": {
					"requestUri": "/greengrass/groups/{GroupId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"CoreDefinitionVersionArn": {},
						"DeviceDefinitionVersionArn": {},
						"FunctionDefinitionVersionArn": {},
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						},
						"LoggerDefinitionVersionArn": {},
						"SubscriptionDefinitionVersionArn": {}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"Version": {}
					}
				}
			},
			"CreateLoggerDefinition": {
				"http": {
					"requestUri": "/greengrass/definition/loggers",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"InitialVersion": {
							"shape": "S17"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"CreateLoggerDefinitionVersion": {
				"http": {
					"requestUri": "/greengrass/definition/loggers/{LoggerDefinitionId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"LoggerDefinitionId": {
							"location": "uri",
							"locationName": "LoggerDefinitionId"
						},
						"Loggers": {
							"shape": "S18"
						}
					},
					"required": [
						"LoggerDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"Version": {}
					}
				}
			},
			"CreateSubscriptionDefinition": {
				"http": {
					"requestUri": "/greengrass/definition/subscriptions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"InitialVersion": {
							"shape": "S1h"
						},
						"Name": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"CreateSubscriptionDefinitionVersion": {
				"http": {
					"requestUri": "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"AmznClientToken": {
							"location": "header",
							"locationName": "X-Amzn-Client-Token"
						},
						"SubscriptionDefinitionId": {
							"location": "uri",
							"locationName": "SubscriptionDefinitionId"
						},
						"Subscriptions": {
							"shape": "S1i"
						}
					},
					"required": [
						"SubscriptionDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"Version": {}
					}
				}
			},
			"DeleteCoreDefinition": {
				"http": {
					"method": "DELETE",
					"requestUri": "/greengrass/definition/cores/{CoreDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"CoreDefinitionId": {
							"location": "uri",
							"locationName": "CoreDefinitionId"
						}
					},
					"required": [
						"CoreDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteDeviceDefinition": {
				"http": {
					"method": "DELETE",
					"requestUri": "/greengrass/definition/devices/{DeviceDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"DeviceDefinitionId": {
							"location": "uri",
							"locationName": "DeviceDefinitionId"
						}
					},
					"required": [
						"DeviceDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteFunctionDefinition": {
				"http": {
					"method": "DELETE",
					"requestUri": "/greengrass/definition/functions/{FunctionDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"FunctionDefinitionId": {
							"location": "uri",
							"locationName": "FunctionDefinitionId"
						}
					},
					"required": [
						"FunctionDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteGroup": {
				"http": {
					"method": "DELETE",
					"requestUri": "/greengrass/groups/{GroupId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteLoggerDefinition": {
				"http": {
					"method": "DELETE",
					"requestUri": "/greengrass/definition/loggers/{LoggerDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"LoggerDefinitionId": {
							"location": "uri",
							"locationName": "LoggerDefinitionId"
						}
					},
					"required": [
						"LoggerDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DeleteSubscriptionDefinition": {
				"http": {
					"method": "DELETE",
					"requestUri": "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"SubscriptionDefinitionId": {
							"location": "uri",
							"locationName": "SubscriptionDefinitionId"
						}
					},
					"required": [
						"SubscriptionDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"DisassociateRoleFromGroup": {
				"http": {
					"method": "DELETE",
					"requestUri": "/greengrass/groups/{GroupId}/role",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"DisassociatedAt": {}
					}
				}
			},
			"DisassociateServiceRoleFromAccount": {
				"http": {
					"method": "DELETE",
					"requestUri": "/greengrass/servicerole",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"DisassociatedAt": {}
					}
				}
			},
			"GetAssociatedRole": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/groups/{GroupId}/role",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"AssociatedAt": {},
						"RoleArn": {}
					}
				}
			},
			"GetConnectivityInfo": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/things/{ThingName}/connectivityInfo",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ThingName": {
							"location": "uri",
							"locationName": "ThingName"
						}
					},
					"required": [
						"ThingName"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"ConnectivityInfo": {
							"shape": "S27"
						},
						"Message": {
							"locationName": "message"
						}
					}
				}
			},
			"GetCoreDefinition": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/cores/{CoreDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"CoreDefinitionId": {
							"location": "uri",
							"locationName": "CoreDefinitionId"
						}
					},
					"required": [
						"CoreDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"GetCoreDefinitionVersion": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/cores/{CoreDefinitionId}/versions/{CoreDefinitionVersionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"CoreDefinitionId": {
							"location": "uri",
							"locationName": "CoreDefinitionId"
						},
						"CoreDefinitionVersionId": {
							"location": "uri",
							"locationName": "CoreDefinitionVersionId"
						}
					},
					"required": [
						"CoreDefinitionId",
						"CoreDefinitionVersionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Definition": {
							"shape": "S7"
						},
						"Id": {},
						"Version": {}
					}
				}
			},
			"GetDeploymentStatus": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/groups/{GroupId}/deployments/{DeploymentId}/status",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"DeploymentId": {
							"location": "uri",
							"locationName": "DeploymentId"
						},
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						}
					},
					"required": [
						"GroupId",
						"DeploymentId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"DeploymentStatus": {},
						"ErrorMessage": {},
						"UpdatedAt": {}
					}
				}
			},
			"GetDeviceDefinition": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/devices/{DeviceDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"DeviceDefinitionId": {
							"location": "uri",
							"locationName": "DeviceDefinitionId"
						}
					},
					"required": [
						"DeviceDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"GetDeviceDefinitionVersion": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/devices/{DeviceDefinitionId}/versions/{DeviceDefinitionVersionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"DeviceDefinitionId": {
							"location": "uri",
							"locationName": "DeviceDefinitionId"
						},
						"DeviceDefinitionVersionId": {
							"location": "uri",
							"locationName": "DeviceDefinitionVersionId"
						}
					},
					"required": [
						"DeviceDefinitionVersionId",
						"DeviceDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Definition": {
							"shape": "Si"
						},
						"Id": {},
						"Version": {}
					}
				}
			},
			"GetFunctionDefinition": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/functions/{FunctionDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"FunctionDefinitionId": {
							"location": "uri",
							"locationName": "FunctionDefinitionId"
						}
					},
					"required": [
						"FunctionDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"GetFunctionDefinitionVersion": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/functions/{FunctionDefinitionId}/versions/{FunctionDefinitionVersionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"FunctionDefinitionId": {
							"location": "uri",
							"locationName": "FunctionDefinitionId"
						},
						"FunctionDefinitionVersionId": {
							"location": "uri",
							"locationName": "FunctionDefinitionVersionId"
						}
					},
					"required": [
						"FunctionDefinitionId",
						"FunctionDefinitionVersionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Definition": {
							"shape": "Sp"
						},
						"Id": {},
						"Version": {}
					}
				}
			},
			"GetGroup": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/groups/{GroupId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"GetGroupCertificateAuthority": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/groups/{GroupId}/certificateauthorities/{CertificateAuthorityId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"CertificateAuthorityId": {
							"location": "uri",
							"locationName": "CertificateAuthorityId"
						},
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						}
					},
					"required": [
						"CertificateAuthorityId",
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"GroupCertificateAuthorityArn": {},
						"GroupCertificateAuthorityId": {},
						"PemEncodedCertificate": {}
					}
				}
			},
			"GetGroupCertificateConfiguration": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"CertificateAuthorityExpiryInMilliseconds": {},
						"CertificateExpiryInMilliseconds": {},
						"GroupId": {}
					}
				}
			},
			"GetGroupVersion": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/groups/{GroupId}/versions/{GroupVersionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						},
						"GroupVersionId": {
							"location": "uri",
							"locationName": "GroupVersionId"
						}
					},
					"required": [
						"GroupVersionId",
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Definition": {
							"shape": "S10"
						},
						"Id": {},
						"Version": {}
					}
				}
			},
			"GetLoggerDefinition": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/loggers/{LoggerDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"LoggerDefinitionId": {
							"location": "uri",
							"locationName": "LoggerDefinitionId"
						}
					},
					"required": [
						"LoggerDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"GetLoggerDefinitionVersion": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/loggers/{LoggerDefinitionId}/versions/{LoggerDefinitionVersionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"LoggerDefinitionId": {
							"location": "uri",
							"locationName": "LoggerDefinitionId"
						},
						"LoggerDefinitionVersionId": {
							"location": "uri",
							"locationName": "LoggerDefinitionVersionId"
						}
					},
					"required": [
						"LoggerDefinitionVersionId",
						"LoggerDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Definition": {
							"shape": "S17"
						},
						"Id": {},
						"Version": {}
					}
				}
			},
			"GetServiceRoleForAccount": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/servicerole",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {}
				},
				"output": {
					"type": "structure",
					"members": {
						"AssociatedAt": {},
						"RoleArn": {}
					}
				}
			},
			"GetSubscriptionDefinition": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"SubscriptionDefinitionId": {
							"location": "uri",
							"locationName": "SubscriptionDefinitionId"
						}
					},
					"required": [
						"SubscriptionDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			},
			"GetSubscriptionDefinitionVersion": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions/{SubscriptionDefinitionVersionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"SubscriptionDefinitionId": {
							"location": "uri",
							"locationName": "SubscriptionDefinitionId"
						},
						"SubscriptionDefinitionVersionId": {
							"location": "uri",
							"locationName": "SubscriptionDefinitionVersionId"
						}
					},
					"required": [
						"SubscriptionDefinitionId",
						"SubscriptionDefinitionVersionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Definition": {
							"shape": "S1h"
						},
						"Id": {},
						"Version": {}
					}
				}
			},
			"ListCoreDefinitionVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/cores/{CoreDefinitionId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"CoreDefinitionId": {
							"location": "uri",
							"locationName": "CoreDefinitionId"
						},
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					},
					"required": [
						"CoreDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"Versions": {
							"shape": "S37"
						}
					}
				}
			},
			"ListCoreDefinitions": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/cores",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Definitions": {
							"shape": "S3b"
						},
						"NextToken": {}
					}
				}
			},
			"ListDeployments": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/groups/{GroupId}/deployments",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						},
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Deployments": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"CreatedAt": {},
									"DeploymentArn": {},
									"DeploymentId": {},
									"GroupArn": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListDeviceDefinitionVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/devices/{DeviceDefinitionId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"DeviceDefinitionId": {
							"location": "uri",
							"locationName": "DeviceDefinitionId"
						},
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					},
					"required": [
						"DeviceDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"Versions": {
							"shape": "S37"
						}
					}
				}
			},
			"ListDeviceDefinitions": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/devices",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Definitions": {
							"shape": "S3b"
						},
						"NextToken": {}
					}
				}
			},
			"ListFunctionDefinitionVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/functions/{FunctionDefinitionId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"FunctionDefinitionId": {
							"location": "uri",
							"locationName": "FunctionDefinitionId"
						},
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					},
					"required": [
						"FunctionDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"Versions": {
							"shape": "S37"
						}
					}
				}
			},
			"ListFunctionDefinitions": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/functions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Definitions": {
							"shape": "S3b"
						},
						"NextToken": {}
					}
				}
			},
			"ListGroupCertificateAuthorities": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/groups/{GroupId}/certificateauthorities",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"GroupCertificateAuthorities": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"GroupCertificateAuthorityArn": {},
									"GroupCertificateAuthorityId": {}
								}
							}
						}
					}
				}
			},
			"ListGroupVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/groups/{GroupId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						},
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"Versions": {
							"shape": "S37"
						}
					}
				}
			},
			"ListGroups": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/groups",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Groups": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"Arn": {},
									"CreationTimestamp": {},
									"Id": {},
									"LastUpdatedTimestamp": {},
									"LatestVersion": {},
									"LatestVersionArn": {},
									"Name": {}
								}
							}
						},
						"NextToken": {}
					}
				}
			},
			"ListLoggerDefinitionVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/loggers/{LoggerDefinitionId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"LoggerDefinitionId": {
							"location": "uri",
							"locationName": "LoggerDefinitionId"
						},
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					},
					"required": [
						"LoggerDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"Versions": {
							"shape": "S37"
						}
					}
				}
			},
			"ListLoggerDefinitions": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/loggers",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Definitions": {
							"shape": "S3b"
						},
						"NextToken": {}
					}
				}
			},
			"ListSubscriptionDefinitionVersions": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						},
						"SubscriptionDefinitionId": {
							"location": "uri",
							"locationName": "SubscriptionDefinitionId"
						}
					},
					"required": [
						"SubscriptionDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"Versions": {
							"shape": "S37"
						}
					}
				}
			},
			"ListSubscriptionDefinitions": {
				"http": {
					"method": "GET",
					"requestUri": "/greengrass/definition/subscriptions",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"location": "querystring",
							"locationName": "MaxResults"
						},
						"NextToken": {
							"location": "querystring",
							"locationName": "NextToken"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Definitions": {
							"shape": "S3b"
						},
						"NextToken": {}
					}
				}
			},
			"UpdateConnectivityInfo": {
				"http": {
					"method": "PUT",
					"requestUri": "/greengrass/things/{ThingName}/connectivityInfo",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"ConnectivityInfo": {
							"shape": "S27"
						},
						"ThingName": {
							"location": "uri",
							"locationName": "ThingName"
						}
					},
					"required": [
						"ThingName"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"Message": {
							"locationName": "message"
						},
						"Version": {}
					}
				}
			},
			"UpdateCoreDefinition": {
				"http": {
					"method": "PUT",
					"requestUri": "/greengrass/definition/cores/{CoreDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"CoreDefinitionId": {
							"location": "uri",
							"locationName": "CoreDefinitionId"
						},
						"Name": {}
					},
					"required": [
						"CoreDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateDeviceDefinition": {
				"http": {
					"method": "PUT",
					"requestUri": "/greengrass/definition/devices/{DeviceDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"DeviceDefinitionId": {
							"location": "uri",
							"locationName": "DeviceDefinitionId"
						},
						"Name": {}
					},
					"required": [
						"DeviceDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateFunctionDefinition": {
				"http": {
					"method": "PUT",
					"requestUri": "/greengrass/definition/functions/{FunctionDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"FunctionDefinitionId": {
							"location": "uri",
							"locationName": "FunctionDefinitionId"
						},
						"Name": {}
					},
					"required": [
						"FunctionDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateGroup": {
				"http": {
					"method": "PUT",
					"requestUri": "/greengrass/groups/{GroupId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						},
						"Name": {}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateGroupCertificateConfiguration": {
				"http": {
					"method": "PUT",
					"requestUri": "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"CertificateExpiryInMilliseconds": {},
						"GroupId": {
							"location": "uri",
							"locationName": "GroupId"
						}
					},
					"required": [
						"GroupId"
					]
				},
				"output": {
					"type": "structure",
					"members": {
						"CertificateAuthorityExpiryInMilliseconds": {},
						"CertificateExpiryInMilliseconds": {},
						"GroupId": {}
					}
				}
			},
			"UpdateLoggerDefinition": {
				"http": {
					"method": "PUT",
					"requestUri": "/greengrass/definition/loggers/{LoggerDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"LoggerDefinitionId": {
							"location": "uri",
							"locationName": "LoggerDefinitionId"
						},
						"Name": {}
					},
					"required": [
						"LoggerDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			},
			"UpdateSubscriptionDefinition": {
				"http": {
					"method": "PUT",
					"requestUri": "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}",
					"responseCode": 200
				},
				"input": {
					"type": "structure",
					"members": {
						"Name": {},
						"SubscriptionDefinitionId": {
							"location": "uri",
							"locationName": "SubscriptionDefinitionId"
						}
					},
					"required": [
						"SubscriptionDefinitionId"
					]
				},
				"output": {
					"type": "structure",
					"members": {}
				}
			}
		},
		"shapes": {
			"S7": {
				"type": "structure",
				"members": {
					"Cores": {
						"shape": "S8"
					}
				}
			},
			"S8": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"CertificateArn": {},
						"Id": {},
						"SyncShadow": {
							"type": "boolean"
						},
						"ThingArn": {}
					}
				}
			},
			"Si": {
				"type": "structure",
				"members": {
					"Devices": {
						"shape": "Sj"
					}
				}
			},
			"Sj": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"CertificateArn": {},
						"Id": {},
						"SyncShadow": {
							"type": "boolean"
						},
						"ThingArn": {}
					}
				}
			},
			"Sp": {
				"type": "structure",
				"members": {
					"Functions": {
						"shape": "Sq"
					}
				}
			},
			"Sq": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"FunctionArn": {},
						"FunctionConfiguration": {
							"type": "structure",
							"members": {
								"Environment": {
									"type": "structure",
									"members": {
										"Variables": {
											"type": "map",
											"key": {},
											"value": {}
										}
									}
								},
								"ExecArgs": {},
								"Executable": {},
								"MemorySize": {
									"type": "integer"
								},
								"Pinned": {
									"type": "boolean"
								},
								"Timeout": {
									"type": "integer"
								}
							}
						},
						"Id": {}
					}
				}
			},
			"S10": {
				"type": "structure",
				"members": {
					"CoreDefinitionVersionArn": {},
					"DeviceDefinitionVersionArn": {},
					"FunctionDefinitionVersionArn": {},
					"LoggerDefinitionVersionArn": {},
					"SubscriptionDefinitionVersionArn": {}
				}
			},
			"S17": {
				"type": "structure",
				"members": {
					"Loggers": {
						"shape": "S18"
					}
				}
			},
			"S18": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Component": {},
						"Id": {},
						"Level": {},
						"Space": {
							"type": "integer"
						},
						"Type": {}
					}
				}
			},
			"S1h": {
				"type": "structure",
				"members": {
					"Subscriptions": {
						"shape": "S1i"
					}
				}
			},
			"S1i": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Id": {},
						"Source": {},
						"Subject": {},
						"Target": {}
					}
				}
			},
			"S27": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"HostAddress": {},
						"Id": {},
						"Metadata": {},
						"PortNumber": {
							"type": "integer"
						}
					}
				}
			},
			"S37": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"Version": {}
					}
				}
			},
			"S3b": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Arn": {},
						"CreationTimestamp": {},
						"Id": {},
						"LastUpdatedTimestamp": {},
						"LatestVersion": {},
						"LatestVersionArn": {},
						"Name": {}
					}
				}
			}
		}
	};

/***/ }),
/* 652 */
/***/ (function(module, exports, __webpack_require__) {

	__webpack_require__(2);
	var AWS = __webpack_require__(5);
	var Service = __webpack_require__(179);
	var apiLoader = __webpack_require__(187);

	apiLoader.services['dax'] = {};
	AWS.DAX = Service.defineService('dax', ['2017-04-19']);
	Object.defineProperty(apiLoader.services['dax'], '2017-04-19', {
	  get: function get() {
	    var model = __webpack_require__(653);
	    model.paginators = __webpack_require__(654).pagination;
	    return model;
	  },
	  enumerable: true,
	  configurable: true
	});

	module.exports = AWS.DAX;


/***/ }),
/* 653 */
/***/ (function(module, exports) {

	module.exports = {
		"version": "2.0",
		"metadata": {
			"apiVersion": "2017-04-19",
			"endpointPrefix": "dax",
			"jsonVersion": "1.1",
			"protocol": "json",
			"serviceAbbreviation": "Amazon DAX",
			"serviceFullName": "Amazon DynamoDB Accelerator (DAX)",
			"signatureVersion": "v4",
			"targetPrefix": "AmazonDAXV3",
			"uid": "dax-2017-04-19"
		},
		"operations": {
			"CreateCluster": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterName",
						"NodeType",
						"ReplicationFactor",
						"IamRoleArn"
					],
					"members": {
						"ClusterName": {},
						"NodeType": {},
						"Description": {},
						"ReplicationFactor": {
							"type": "integer"
						},
						"AvailabilityZones": {
							"shape": "S4"
						},
						"SubnetGroupName": {},
						"SecurityGroupIds": {
							"shape": "S5"
						},
						"PreferredMaintenanceWindow": {},
						"NotificationTopicArn": {},
						"IamRoleArn": {},
						"ParameterGroupName": {},
						"Tags": {
							"shape": "S6"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "S9"
						}
					}
				}
			},
			"CreateParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ParameterGroupName"
					],
					"members": {
						"ParameterGroupName": {},
						"Description": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ParameterGroup": {
							"shape": "Sm"
						}
					}
				}
			},
			"CreateSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"SubnetGroupName",
						"SubnetIds"
					],
					"members": {
						"SubnetGroupName": {},
						"Description": {},
						"SubnetIds": {
							"shape": "So"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SubnetGroup": {
							"shape": "Sq"
						}
					}
				}
			},
			"DecreaseReplicationFactor": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterName",
						"NewReplicationFactor"
					],
					"members": {
						"ClusterName": {},
						"NewReplicationFactor": {
							"type": "integer"
						},
						"AvailabilityZones": {
							"shape": "S4"
						},
						"NodeIdsToRemove": {
							"shape": "Sc"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "S9"
						}
					}
				}
			},
			"DeleteCluster": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterName"
					],
					"members": {
						"ClusterName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "S9"
						}
					}
				}
			},
			"DeleteParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ParameterGroupName"
					],
					"members": {
						"ParameterGroupName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DeletionMessage": {}
					}
				}
			},
			"DeleteSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"SubnetGroupName"
					],
					"members": {
						"SubnetGroupName": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"DeletionMessage": {}
					}
				}
			},
			"DescribeClusters": {
				"input": {
					"type": "structure",
					"members": {
						"ClusterNames": {
							"type": "list",
							"member": {}
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"Clusters": {
							"type": "list",
							"member": {
								"shape": "S9"
							}
						}
					}
				}
			},
			"DescribeDefaultParameters": {
				"input": {
					"type": "structure",
					"members": {
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"Parameters": {
							"shape": "S17"
						}
					}
				}
			},
			"DescribeEvents": {
				"input": {
					"type": "structure",
					"members": {
						"SourceName": {},
						"SourceType": {},
						"StartTime": {
							"type": "timestamp"
						},
						"EndTime": {
							"type": "timestamp"
						},
						"Duration": {
							"type": "integer"
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"Events": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"SourceName": {},
									"SourceType": {},
									"Message": {},
									"Date": {
										"type": "timestamp"
									}
								}
							}
						}
					}
				}
			},
			"DescribeParameterGroups": {
				"input": {
					"type": "structure",
					"members": {
						"ParameterGroupNames": {
							"type": "list",
							"member": {}
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"ParameterGroups": {
							"type": "list",
							"member": {
								"shape": "Sm"
							}
						}
					}
				}
			},
			"DescribeParameters": {
				"input": {
					"type": "structure",
					"required": [
						"ParameterGroupName"
					],
					"members": {
						"ParameterGroupName": {},
						"Source": {},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"Parameters": {
							"shape": "S17"
						}
					}
				}
			},
			"DescribeSubnetGroups": {
				"input": {
					"type": "structure",
					"members": {
						"SubnetGroupNames": {
							"type": "list",
							"member": {}
						},
						"MaxResults": {
							"type": "integer"
						},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"NextToken": {},
						"SubnetGroups": {
							"type": "list",
							"member": {
								"shape": "Sq"
							}
						}
					}
				}
			},
			"IncreaseReplicationFactor": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterName",
						"NewReplicationFactor"
					],
					"members": {
						"ClusterName": {},
						"NewReplicationFactor": {
							"type": "integer"
						},
						"AvailabilityZones": {
							"shape": "S4"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "S9"
						}
					}
				}
			},
			"ListTags": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName"
					],
					"members": {
						"ResourceName": {},
						"NextToken": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "S6"
						},
						"NextToken": {}
					}
				}
			},
			"RebootNode": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterName",
						"NodeId"
					],
					"members": {
						"ClusterName": {},
						"NodeId": {}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "S9"
						}
					}
				}
			},
			"TagResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"Tags"
					],
					"members": {
						"ResourceName": {},
						"Tags": {
							"shape": "S6"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "S6"
						}
					}
				}
			},
			"UntagResource": {
				"input": {
					"type": "structure",
					"required": [
						"ResourceName",
						"TagKeys"
					],
					"members": {
						"ResourceName": {},
						"TagKeys": {
							"type": "list",
							"member": {}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Tags": {
							"shape": "S6"
						}
					}
				}
			},
			"UpdateCluster": {
				"input": {
					"type": "structure",
					"required": [
						"ClusterName"
					],
					"members": {
						"ClusterName": {},
						"Description": {},
						"PreferredMaintenanceWindow": {},
						"NotificationTopicArn": {},
						"NotificationTopicStatus": {},
						"ParameterGroupName": {},
						"SecurityGroupIds": {
							"shape": "S5"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"Cluster": {
							"shape": "S9"
						}
					}
				}
			},
			"UpdateParameterGroup": {
				"input": {
					"type": "structure",
					"required": [
						"ParameterGroupName",
						"ParameterNameValues"
					],
					"members": {
						"ParameterGroupName": {},
						"ParameterNameValues": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"ParameterName": {},
									"ParameterValue": {}
								}
							}
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"ParameterGroup": {
							"shape": "Sm"
						}
					}
				}
			},
			"UpdateSubnetGroup": {
				"input": {
					"type": "structure",
					"required": [
						"SubnetGroupName"
					],
					"members": {
						"SubnetGroupName": {},
						"Description": {},
						"SubnetIds": {
							"shape": "So"
						}
					}
				},
				"output": {
					"type": "structure",
					"members": {
						"SubnetGroup": {
							"shape": "Sq"
						}
					}
				}
			}
		},
		"shapes": {
			"S4": {
				"type": "list",
				"member": {}
			},
			"S5": {
				"type": "list",
				"member": {}
			},
			"S6": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"Key": {},
						"Value": {}
					}
				}
			},
			"S9": {
				"type": "structure",
				"members": {
					"ClusterName": {},
					"Description": {},
					"ClusterArn": {},
					"TotalNodes": {
						"type": "integer"
					},
					"ActiveNodes": {
						"type": "integer"
					},
					"NodeType": {},
					"Status": {},
					"ClusterDiscoveryEndpoint": {
						"shape": "Sb"
					},
					"NodeIdsToRemove": {
						"shape": "Sc"
					},
					"Nodes": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"NodeId": {},
								"Endpoint": {
									"shape": "Sb"
								},
								"NodeCreateTime": {
									"type": "timestamp"
								},
								"AvailabilityZone": {},
								"NodeStatus": {},
								"ParameterGroupStatus": {}
							}
						}
					},
					"PreferredMaintenanceWindow": {},
					"NotificationConfiguration": {
						"type": "structure",
						"members": {
							"TopicArn": {},
							"TopicStatus": {}
						}
					},
					"SubnetGroup": {},
					"SecurityGroups": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"SecurityGroupIdentifier": {},
								"Status": {}
							}
						}
					},
					"IamRoleArn": {},
					"ParameterGroup": {
						"type": "structure",
						"members": {
							"ParameterGroupName": {},
							"ParameterApplyStatus": {},
							"NodeIdsToReboot": {
								"shape": "Sc"
							}
						}
					}
				}
			},
			"Sb": {
				"type": "structure",
				"members": {
					"Address": {},
					"Port": {
						"type": "integer"
					}
				}
			},
			"Sc": {
				"type": "list",
				"member": {}
			},
			"Sm": {
				"type": "structure",
				"members": {
					"ParameterGroupName": {},
					"Description": {}
				}
			},
			"So": {
				"type": "list",
				"member": {}
			},
			"Sq": {
				"type": "structure",
				"members": {
					"SubnetGroupName": {},
					"Description": {},
					"VpcId": {},
					"Subnets": {
						"type": "list",
						"member": {
							"type": "structure",
							"members": {
								"SubnetIdentifier": {},
								"SubnetAvailabilityZone": {}
							}
						}
					}
				}
			},
			"S17": {
				"type": "list",
				"member": {
					"type": "structure",
					"members": {
						"ParameterName": {},
						"ParameterType": {},
						"ParameterValue": {},
						"NodeTypeSpecificValues": {
							"type": "list",
							"member": {
								"type": "structure",
								"members": {
									"NodeType": {},
									"Value": {}
								}
							}
						},
						"Description": {},
						"Source": {},
						"DataType": {},
						"AllowedValues": {},
						"IsModifiable": {},
						"ChangeType": {}
					}
				}
			}
		}
	};

/***/ }),
/* 654 */
/***/ (function(module, exports) {

	module.exports = {
		"pagination": {}
	};

/***/ })
/******/ ])
});
;