Comparing version 0.5.1 to 0.6.0
@@ -124,2 +124,9 @@ declare module '2gl' { | ||
public enable(gl: WebGLRenderingContext, index?: number): this; | ||
public prepare(gl: WebGLRenderingContext): this; | ||
public subImage( | ||
gl: WebGLRenderingContext, | ||
src: HTMLImageElement | HTMLCanvasElement | ImageBitmap | ImageData | TypedArray, | ||
x: number, | ||
y: number, | ||
): this; | ||
public remove(): this; | ||
@@ -126,0 +133,0 @@ public getTexture(): WebGLTexture; |
{ | ||
"name": "2gl", | ||
"version": "0.5.1", | ||
"version": "0.6.0", | ||
"description": "WebGL library for 2GIS projects", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -83,3 +83,3 @@ import Texture from './Texture'; | ||
this._texture = new Texture(null, this.options); | ||
this._texture._prepare(gl); | ||
this._texture.prepare(gl); | ||
@@ -155,2 +155,2 @@ this._frameBuffer = gl.createFramebuffer(); | ||
*/ | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9SZW5kZXJUYXJnZXQuanMiXSwibmFtZXMiOlsiVGV4dHVyZSIsIlJlbmRlclRhcmdldCIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsIk9iamVjdCIsImFzc2lnbiIsImRlZmF1bHRPcHRpb25zIiwiX2dsQ29udGV4dCIsImJpbmQiLCJnbCIsIl9mcmFtZUJ1ZmZlciIsIl9wcmVwYXJlIiwiYmluZEZyYW1lYnVmZmVyIiwiRlJBTUVCVUZGRVIiLCJ1bmJpbmQiLCJyZW1vdmUiLCJfdW5wcmVwYXJlIiwic2V0U2l6ZSIsInNpemUiLCJnZXRUZXh0dXJlIiwiX3RleHR1cmUiLCJjcmVhdGVGcmFtZWJ1ZmZlciIsIl9yZW5kZXJCdWZmZXIiLCJjcmVhdGVSZW5kZXJidWZmZXIiLCJiaW5kUmVuZGVyYnVmZmVyIiwiUkVOREVSQlVGRkVSIiwicmVuZGVyYnVmZmVyU3RvcmFnZSIsIkRFUFRIX0NPTVBPTkVOVDE2IiwiZnJhbWVidWZmZXJUZXh0dXJlMkQiLCJDT0xPUl9BVFRBQ0hNRU5UMCIsIlRFWFRVUkVfMkQiLCJmcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlciIsIkRFUFRIX0FUVEFDSE1FTlQiLCJfY2hlY2tDb21wbGV0ZSIsImRlbGV0ZUZyYW1lYnVmZmVyIiwiZGVsZXRlUmVuZGVyYnVmZmVyIiwic3RhdHVzIiwiY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyIsIkZSQU1FQlVGRkVSX0NPTVBMRVRFIiwiRlJBTUVCVUZGRVJfVU5TVVBQT1JURUQiLCJjb25zb2xlIiwibG9nIiwiRlJBTUVCVUZGRVJfSU5DT01QTEVURV9BVFRBQ0hNRU5UIiwiRlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TIiwiRlJBTUVCVUZGRVJfSU5DT01QTEVURV9NSVNTSU5HX0FUVEFDSE1FTlQiLCJnZW5lcmF0ZU1pcG1hcHMiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE9BQVAsTUFBb0IsV0FBcEI7O0FBRUE7Ozs7O0FBS0EsTUFBTUMsWUFBTixDQUFtQjtBQUNmQyxn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O0FBQ0g7QUFDSjs7QUFFRDs7Ozs7QUFLQWEsbUJBQWV4QixFQUFmLEVBQW1CO0FBQ2YsY0FBTTJCLFNBQVMzQixHQUFHNEIsc0JBQUgsQ0FBMEI1QixHQUFHSSxXQUE3QixDQUFmOztBQUVBLFlBQUl1QixXQUFXM0IsR0FBRzZCLG9CQUFsQixFQUF3QztBQUNwQztBQUNILFNBRkQsTUFFTyxJQUFJRixXQUFXM0IsR0FBRzhCLHVCQUFsQixFQUEyQztBQUM5Q0Msb0JBQVFDLEdBQVIsQ0FBWSw0QkFBWjtBQUNILFNBRk0sTUFFQSxJQUFJTCxXQUFXM0IsR0FBR2lDLGlDQUFsQixFQUFxRDtBQUN4REYsb0JBQVFDLEdBQVIsQ0FBWSxtQ0FBWjtBQUNILFNBRk0sTUFFQSxJQUFJTCxXQUFXM0IsR0FBR2tDLGlDQUFsQixFQUFxRDtBQUN4REgsb0JBQVFDLEdBQVIsQ0FBWSxtQ0FBWjtBQUNILFNBRk0sTUFFQSxJQUFJTCxXQUFXM0IsR0FBR21DLHlDQUFsQixFQUE2RDtBQUNoRUosb0JBQVFDLEdBQVIsQ0FBWSwyQ0FBWjtBQUNILFNBRk0sTUFFQTtBQUNIRCxvQkFBUUMsR0FBUixDQUFZLG9DQUFvQ0wsTUFBaEQ7QUFDSDtBQUNKO0FBbEljOztBQXFJbkJuQyxhQUFhSyxjQUFiLEdBQThCRixPQUFPQyxNQUFQLENBQWMsRUFBZCxFQUFrQkwsUUFBUU0sY0FBMUIsRUFBMEM7QUFDcEVZLFVBQU0sQ0FBQyxDQUFELEVBQUksQ0FBSixDQUQ4RDtBQUVwRTJCLHFCQUFpQjtBQUZtRCxDQUExQyxDQUE5Qjs7QUFLQSxlQUFlNUMsWUFBZjs7QUFFQSIsImZpbGUiOiJSZW5kZXJUYXJnZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVGV4dHVyZSBmcm9tICcuL1RleHR1cmUnO1xuXG4vKipcbiAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YHQvtC30LTQsNC90LjRjyDRhNGA0LXQudC80LHRg9GE0LXRgNCwLCDQutGD0LTQsCDQvNC+0LbQvdC+INC+0YLRgNC10L3QtNC10YDQuNGC0Ywg0LrQsNC00YAuXG4gKlxuICogQHBhcmFtIHtSZW5kZXJUYXJnZXRPcHRpb25zICYgVGV4dHVyZU9wdGlvbnN9IG9wdGlvbnNcbiAqL1xuY2xhc3MgUmVuZGVyVGFyZ2V0IHtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zID0ge30pIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqINCf0LDRgNCw0LzQtdGC0YDRiyDQtNC70Y8g0YHQstGP0LfRi9Cy0LDQvdC40Y8g0YTRgNC10LnQvNCx0YPRhNC10YDQsFxuICAgICAgICAgKiBAdHlwZSB7UmVuZGVyVGFyZ2V0T3B0aW9ucyAmIFRleHR1cmVPcHRpb25zfVxuICAgICAgICAgKiBAcmVhZG9ubHlcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIFJlbmRlclRhcmdldC5kZWZhdWx0T3B0aW9ucywgb3B0aW9ucyk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqINCa0L7QvdGC0LXQutGB0YIgV2ViR0wsINCyINC60L7RgtC+0YDQvtC8INCx0YvQuyDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L0g0YTRgNC10LnQvNCx0YPRhNC10YAuXG4gICAgICAgICAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDRgtC+0LvRjNC60L4g0LTQu9GPINGD0LTQsNC70LXQvdC40Y8sINC/0L7QtNGD0LzQsNGC0Ywg0YXQvtGA0L7RiNC+LCDQv9GA0LXQttC00LUg0YfQtdC8INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQtNC70Y8g0YfQtdCz0L4t0YLQviDQtdGJ0ZEuXG4gICAgICAgICAqIEB0eXBlIHs/V2ViR0xSZW5kZXJpbmdDb250ZXh0fVxuICAgICAgICAgKiBAaWdub3JlXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9nbENvbnRleHQgPSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0LLRj9C30YvQstCw0LXRgiDQutC+0LzQv9C+0L3QtdC90YLRiyDRgSDQutC+0L3RgtC10LrRgdGC0L7QvCBXZWJHTFxuICAgICAqIEBwYXJhbSB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbFxuICAgICAqL1xuICAgIGJpbmQoZ2wpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9mcmFtZUJ1ZmZlcikge1xuICAgICAgICAgICAgdGhpcy5fcHJlcGFyZShnbCk7XG4gICAgICAgIH1cblxuICAgICAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIHRoaXMuX2ZyYW1lQnVmZmVyKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQv9GD0YHRgtC+0Lkg0YTRgNC10LnQvNCx0YPRhNC10YAg0YMg0LrQvtC90YLQtdC60YHRgtCwIFdlYkdMXG4gICAgICogQHBhcmFtIHtXZWJHTFJlbmRlcmluZ0NvbnRleHR9IGdsXG4gICAgICovXG4gICAgdW5iaW5kKGdsKSB7XG4gICAgICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgbnVsbCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70Y/QtdGCINGE0YDQtdC50LzQsdGD0YTQtdGAINC40Lcg0LLQuNC00LXQvtC60LDRgNGC0YtcbiAgICAgKi9cbiAgICByZW1vdmUoKSB7XG4gICAgICAgIHRoaXMuX3VucHJlcGFyZSgpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDRgNCw0LfQvNC10YAg0YTRgNC10LnQvNCx0YPRhNC10YDRg1xuICAgICAqIEBwYXJhbSB7dmVjMn0gc2l6ZVxuICAgICAqL1xuICAgIHNldFNpemUoc2l6ZSkge1xuICAgICAgICB0aGlzLm9wdGlvbnMuc2l6ZSA9IHNpemU7XG4gICAgICAgIHRoaXMuX3VucHJlcGFyZSgpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgtC10LrRg9GJ0YPRjiDRgtC10LrRgdGC0YPRgNGDINGE0YDQtdC50LzQsdGD0YTQtdGA0LBcbiAgICAgKiBAcmV0dXJuIHtUZXh0dXJlIHwgbnVsbH1cbiAgICAgKi9cbiAgICBnZXRUZXh0dXJlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGV4dHVyZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGE0YDQtdC50LzQsdGD0YTQtdGALCDRgtC10LrRgdGC0YPRgNGLINC4INGA0LXQvdC00LXRgNCx0YPRhNC10YBcbiAgICAgKiBAcGFyYW0ge1dlYkdMUmVuZGVyaW5nQ29udGV4dH0gZ2xcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgX3ByZXBhcmUoZ2wpIHtcbiAgICAgICAgdGhpcy5fZ2xDb250ZXh0ID0gZ2w7XG4gICAgICAgIHRoaXMuX3RleHR1cmUgPSBuZXcgVGV4dHVyZShudWxsLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICB0aGlzLl90ZXh0dXJlLl9wcmVwYXJlKGdsKTtcblxuICAgICAgICB0aGlzLl9mcmFtZUJ1ZmZlciA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7XG4gICAgICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgdGhpcy5fZnJhbWVCdWZmZXIpO1xuXG4gICAgICAgIHRoaXMuX3JlbmRlckJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpO1xuICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgdGhpcy5fcmVuZGVyQnVmZmVyKTtcbiAgICAgICAgZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLkRFUFRIX0NPTVBPTkVOVDE2LCB0aGlzLm9wdGlvbnMuc2l6ZVswXSwgdGhpcy5vcHRpb25zLnNpemVbMV0pO1xuXG4gICAgICAgIGdsLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGhpcy5fdGV4dHVyZS5nZXRUZXh0dXJlKCksIDApO1xuICAgICAgICBnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZ2wuREVQVEhfQVRUQUNITUVOVCwgZ2wuUkVOREVSQlVGRkVSLCB0aGlzLl9yZW5kZXJCdWZmZXIpO1xuXG4gICAgICAgIHRoaXMuX2NoZWNrQ29tcGxldGUoZ2wpO1xuXG4gICAgICAgIGdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCBudWxsKTtcbiAgICAgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBudWxsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDQtNCw0L3QvdGL0LUg0LjQtyDQstC40LTQtdC+0LrQsNGA0YLRi1xuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBfdW5wcmVwYXJlKCkge1xuICAgICAgICBpZiAodGhpcy5fZnJhbWVCdWZmZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGdsID0gdGhpcy5fZ2xDb250ZXh0O1xuICAgICAgICAgICAgdGhpcy5fdGV4dHVyZS5yZW1vdmUoZ2wpO1xuICAgICAgICAgICAgZ2wuZGVsZXRlRnJhbWVidWZmZXIodGhpcy5fZnJhbWVCdWZmZXIpO1xuICAgICAgICAgICAgZ2wuZGVsZXRlUmVuZGVyYnVmZmVyKHRoaXMuX3JlbmRlckJ1ZmZlcik7XG4gICAgICAgICAgICB0aGlzLl9mcmFtZUJ1ZmZlciA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJCdWZmZXIgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5fdGV4dHVyZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0L7QstC10YDRj9C10YIg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y4g0YTRgNC10LnQvNCx0YPRhNC10YDQsFxuICAgICAqIEBwYXJhbSB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbFxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBfY2hlY2tDb21wbGV0ZShnbCkge1xuICAgICAgICBjb25zdCBzdGF0dXMgPSBnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKTtcblxuICAgICAgICBpZiAoc3RhdHVzID09PSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gZ2wuRlJBTUVCVUZGRVJfVU5TVVBQT1JURUQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdGcmFtZWJ1ZmZlciBpcyB1bnN1cHBvcnRlZCcpO1xuICAgICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9BVFRBQ0hNRU5UKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnRnJhbWVidWZmZXIgaW5jb21wbGV0ZSBhdHRhY2htZW50Jyk7XG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdGcmFtZWJ1ZmZlciBpbmNvbXBsZXRlIGRpbWVuc2lvbnMnKTtcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfTUlTU0lOR19BVFRBQ0hNRU5UKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnRnJhbWVidWZmZXIgaW5jb21wbGV0ZSBtaXNzaW5nIGF0dGFjaG1lbnQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdVbmV4cGVjdGVkIGZyYW1lYnVmZmVyIHN0YXR1czogJyArIHN0YXR1cyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblJlbmRlclRhcmdldC5kZWZhdWx0T3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIFRleHR1cmUuZGVmYXVsdE9wdGlvbnMsIHtcbiAgICBzaXplOiBbMCwgMF0sXG4gICAgZ2VuZXJhdGVNaXBtYXBzOiBmYWxzZSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBSZW5kZXJUYXJnZXQ7XG5cbi8qKlxuICog0J/QsNGA0LDQvNC10YLRgNGLINGB0LLRj9C30YvQstCw0L3QuNGPINGC0LXQutGB0YLRg9GA0YtcbiAqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBSZW5kZXJUYXJnZXRPcHRpb25zXG4gKiBAcHJvcGVydHkge051bWJlcltdfSBzaXplXG4gKi9cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9SZW5kZXJUYXJnZXQuanMiXSwibmFtZXMiOlsiVGV4dHVyZSIsIlJlbmRlclRhcmdldCIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsIk9iamVjdCIsImFzc2lnbiIsImRlZmF1bHRPcHRpb25zIiwiX2dsQ29udGV4dCIsImJpbmQiLCJnbCIsIl9mcmFtZUJ1ZmZlciIsIl9wcmVwYXJlIiwiYmluZEZyYW1lYnVmZmVyIiwiRlJBTUVCVUZGRVIiLCJ1bmJpbmQiLCJyZW1vdmUiLCJfdW5wcmVwYXJlIiwic2V0U2l6ZSIsInNpemUiLCJnZXRUZXh0dXJlIiwiX3RleHR1cmUiLCJwcmVwYXJlIiwiY3JlYXRlRnJhbWVidWZmZXIiLCJfcmVuZGVyQnVmZmVyIiwiY3JlYXRlUmVuZGVyYnVmZmVyIiwiYmluZFJlbmRlcmJ1ZmZlciIsIlJFTkRFUkJVRkZFUiIsInJlbmRlcmJ1ZmZlclN0b3JhZ2UiLCJERVBUSF9DT01QT05FTlQxNiIsImZyYW1lYnVmZmVyVGV4dHVyZTJEIiwiQ09MT1JfQVRUQUNITUVOVDAiLCJURVhUVVJFXzJEIiwiZnJhbWVidWZmZXJSZW5kZXJidWZmZXIiLCJERVBUSF9BVFRBQ0hNRU5UIiwiX2NoZWNrQ29tcGxldGUiLCJkZWxldGVGcmFtZWJ1ZmZlciIsImRlbGV0ZVJlbmRlcmJ1ZmZlciIsInN0YXR1cyIsImNoZWNrRnJhbWVidWZmZXJTdGF0dXMiLCJGUkFNRUJVRkZFUl9DT01QTEVURSIsIkZSQU1FQlVGRkVSX1VOU1VQUE9SVEVEIiwiY29uc29sZSIsImxvZyIsIkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVCIsIkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfRElNRU5TSU9OUyIsIkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfTUlTU0lOR19BVFRBQ0hNRU5UIiwiZ2VuZXJhdGVNaXBtYXBzIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxPQUFQLE1BQW9CLFdBQXBCOztBQUVBOzs7OztBQUtBLE1BQU1DLFlBQU4sQ0FB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QUwsR0FBZ0IsSUFBaEI7QUFDSDtBQUNKOztBQUVEOzs7OztBQUtBYyxtQkFBZXpCLEVBQWYsRUFBbUI7QUFDZixjQUFNNEIsU0FBUzVCLEdBQUc2QixzQkFBSCxDQUEwQjdCLEdBQUdJLFdBQTdCLENBQWY7O0FBRUEsWUFBSXdCLFdBQVc1QixHQUFHOEIsb0JBQWxCLEVBQXdDO0FBQ3BDO0FBQ0gsU0FGRCxNQUVPLElBQUlGLFdBQVc1QixHQUFHK0IsdUJBQWxCLEVBQTJDO0FBQzlDQyxvQkFBUUMsR0FBUixDQUFZLDRCQUFaO0FBQ0gsU0FGTSxNQUVBLElBQUlMLFdBQVc1QixHQUFHa0MsaUNBQWxCLEVBQXFEO0FBQ3hERixvQkFBUUMsR0FBUixDQUFZLG1DQUFaO0FBQ0gsU0FGTSxNQUVBLElBQUlMLFdBQVc1QixHQUFHbUMsaUNBQWxCLEVBQXFEO0FBQ3hESCxvQkFBUUMsR0FBUixDQUFZLG1DQUFaO0FBQ0gsU0FGTSxNQUVBLElBQUlMLFdBQVc1QixHQUFHb0MseUNBQWxCLEVBQTZEO0FBQ2hFSixvQkFBUUMsR0FBUixDQUFZLDJDQUFaO0FBQ0gsU0FGTSxNQUVBO0FBQ0hELG9CQUFRQyxHQUFSLENBQVksb0NBQW9DTCxNQUFoRDtBQUNIO0FBQ0o7QUFsSWM7O0FBcUluQnBDLGFBQWFLLGNBQWIsR0FBOEJGLE9BQU9DLE1BQVAsQ0FBYyxFQUFkLEVBQWtCTCxRQUFRTSxjQUExQixFQUEwQztBQUNwRVksVUFBTSxDQUFDLENBQUQsRUFBSSxDQUFKLENBRDhEO0FBRXBFNEIscUJBQWlCO0FBRm1ELENBQTFDLENBQTlCOztBQUtBLGVBQWU3QyxZQUFmOztBQUVBIiwiZmlsZSI6IlJlbmRlclRhcmdldC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUZXh0dXJlIGZyb20gJy4vVGV4dHVyZSc7XG5cbi8qKlxuICog0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC00LvRjyDRgdC+0LfQtNCw0L3QuNGPINGE0YDQtdC50LzQsdGD0YTQtdGA0LAsINC60YPQtNCwINC80L7QttC90L4g0L7RgtGA0LXQvdC00LXRgNC40YLRjCDQutCw0LTRgC5cbiAqXG4gKiBAcGFyYW0ge1JlbmRlclRhcmdldE9wdGlvbnMgJiBUZXh0dXJlT3B0aW9uc30gb3B0aW9uc1xuICovXG5jbGFzcyBSZW5kZXJUYXJnZXQge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMgPSB7fSkge1xuICAgICAgICAvKipcbiAgICAgICAgICog0J/QsNGA0LDQvNC10YLRgNGLINC00LvRjyDRgdCy0Y/Qt9GL0LLQsNC90LjRjyDRhNGA0LXQudC80LHRg9GE0LXRgNCwXG4gICAgICAgICAqIEB0eXBlIHtSZW5kZXJUYXJnZXRPcHRpb25zICYgVGV4dHVyZU9wdGlvbnN9XG4gICAgICAgICAqIEByZWFkb25seVxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgUmVuZGVyVGFyZ2V0LmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICog0JrQvtC90YLQtdC60YHRgiBXZWJHTCwg0LIg0LrQvtGC0L7RgNC+0Lwg0LHRi9C7INC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDQvSDRhNGA0LXQudC80LHRg9GE0LXRgC5cbiAgICAgICAgICog0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGC0L7Qu9GM0LrQviDQtNC70Y8g0YPQtNCw0LvQtdC90LjRjywg0L/QvtC00YPQvNCw0YLRjCDRhdC+0YDQvtGI0L4sINC/0YDQtdC20LTQtSDRh9C10Lwg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC00LvRjyDRh9C10LPQvi3RgtC+INC10YnRkS5cbiAgICAgICAgICogQHR5cGUgez9XZWJHTFJlbmRlcmluZ0NvbnRleHR9XG4gICAgICAgICAqIEBpZ25vcmVcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2dsQ29udGV4dCA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQstGP0LfRi9Cy0LDQtdGCINC60L7QvNC/0L7QvdC10L3RgtGLINGBINC60L7QvdGC0LXQutGB0YLQvtC8IFdlYkdMXG4gICAgICogQHBhcmFtIHtXZWJHTFJlbmRlcmluZ0NvbnRleHR9IGdsXG4gICAgICovXG4gICAgYmluZChnbCkge1xuICAgICAgICBpZiAoIXRoaXMuX2ZyYW1lQnVmZmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9wcmVwYXJlKGdsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgdGhpcy5fZnJhbWVCdWZmZXIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC/0YPRgdGC0L7QuSDRhNGA0LXQudC80LHRg9GE0LXRgCDRgyDQutC+0L3RgtC10LrRgdGC0LAgV2ViR0xcbiAgICAgKiBAcGFyYW0ge1dlYkdMUmVuZGVyaW5nQ29udGV4dH0gZ2xcbiAgICAgKi9cbiAgICB1bmJpbmQoZ2wpIHtcbiAgICAgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBudWxsKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0YTRgNC10LnQvNCx0YPRhNC10YAg0LjQtyDQstC40LTQtdC+0LrQsNGA0YLRi1xuICAgICAqL1xuICAgIHJlbW92ZSgpIHtcbiAgICAgICAgdGhpcy5fdW5wcmVwYXJlKCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINGA0LDQt9C80LXRgCDRhNGA0LXQudC80LHRg9GE0LXRgNGDXG4gICAgICogQHBhcmFtIHt2ZWMyfSBzaXplXG4gICAgICovXG4gICAgc2V0U2l6ZShzaXplKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucy5zaXplID0gc2l6ZTtcbiAgICAgICAgdGhpcy5fdW5wcmVwYXJlKCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGC0LXQutGD0YnRg9GOINGC0LXQutGB0YLRg9GA0YMg0YTRgNC10LnQvNCx0YPRhNC10YDQsFxuICAgICAqIEByZXR1cm4ge1RleHR1cmUgfCBudWxsfVxuICAgICAqL1xuICAgIGdldFRleHR1cmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZXh0dXJlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0YTRgNC10LnQvNCx0YPRhNC10YAsINGC0LXQutGB0YLRg9GA0Ysg0Lgg0YDQtdC90LTQtdGA0LHRg9GE0LXRgFxuICAgICAqIEBwYXJhbSB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbFxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBfcHJlcGFyZShnbCkge1xuICAgICAgICB0aGlzLl9nbENvbnRleHQgPSBnbDtcbiAgICAgICAgdGhpcy5fdGV4dHVyZSA9IG5ldyBUZXh0dXJlKG51bGwsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIHRoaXMuX3RleHR1cmUucHJlcGFyZShnbCk7XG5cbiAgICAgICAgdGhpcy5fZnJhbWVCdWZmZXIgPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpO1xuICAgICAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIHRoaXMuX2ZyYW1lQnVmZmVyKTtcblxuICAgICAgICB0aGlzLl9yZW5kZXJCdWZmZXIgPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTtcbiAgICAgICAgZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHRoaXMuX3JlbmRlckJ1ZmZlcik7XG4gICAgICAgIGdsLnJlbmRlcmJ1ZmZlclN0b3JhZ2UoZ2wuUkVOREVSQlVGRkVSLCBnbC5ERVBUSF9DT01QT05FTlQxNiwgdGhpcy5vcHRpb25zLnNpemVbMF0sIHRoaXMub3B0aW9ucy5zaXplWzFdKTtcblxuICAgICAgICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRoaXMuX3RleHR1cmUuZ2V0VGV4dHVyZSgpLCAwKTtcbiAgICAgICAgZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkRFUFRIX0FUVEFDSE1FTlQsIGdsLlJFTkRFUkJVRkZFUiwgdGhpcy5fcmVuZGVyQnVmZmVyKTtcblxuICAgICAgICB0aGlzLl9jaGVja0NvbXBsZXRlKGdsKTtcblxuICAgICAgICBnbC5iaW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgbnVsbCk7XG4gICAgICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgbnVsbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0LTQsNC90L3Ri9C1INC40Lcg0LLQuNC00LXQvtC60LDRgNGC0YtcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgX3VucHJlcGFyZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZyYW1lQnVmZmVyKSB7XG4gICAgICAgICAgICBjb25zdCBnbCA9IHRoaXMuX2dsQ29udGV4dDtcbiAgICAgICAgICAgIHRoaXMuX3RleHR1cmUucmVtb3ZlKGdsKTtcbiAgICAgICAgICAgIGdsLmRlbGV0ZUZyYW1lYnVmZmVyKHRoaXMuX2ZyYW1lQnVmZmVyKTtcbiAgICAgICAgICAgIGdsLmRlbGV0ZVJlbmRlcmJ1ZmZlcih0aGlzLl9yZW5kZXJCdWZmZXIpO1xuICAgICAgICAgICAgdGhpcy5fZnJhbWVCdWZmZXIgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyQnVmZmVyID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuX3RleHR1cmUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/RgNC+0LLQtdGA0Y/QtdGCINC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNGOINGE0YDQtdC50LzQsdGD0YTQtdGA0LBcbiAgICAgKiBAcGFyYW0ge1dlYkdMUmVuZGVyaW5nQ29udGV4dH0gZ2xcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgX2NoZWNrQ29tcGxldGUoZ2wpIHtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUik7XG5cbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gZ2wuRlJBTUVCVUZGRVJfQ09NUExFVEUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IGdsLkZSQU1FQlVGRkVSX1VOU1VQUE9SVEVEKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnRnJhbWVidWZmZXIgaXMgdW5zdXBwb3J0ZWQnKTtcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IGdsLkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ0ZyYW1lYnVmZmVyIGluY29tcGxldGUgYXR0YWNobWVudCcpO1xuICAgICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gZ2wuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnRnJhbWVidWZmZXIgaW5jb21wbGV0ZSBkaW1lbnNpb25zJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBnbC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX01JU1NJTkdfQVRUQUNITUVOVCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ0ZyYW1lYnVmZmVyIGluY29tcGxldGUgbWlzc2luZyBhdHRhY2htZW50Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnVW5leHBlY3RlZCBmcmFtZWJ1ZmZlciBzdGF0dXM6ICcgKyBzdGF0dXMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5SZW5kZXJUYXJnZXQuZGVmYXVsdE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBUZXh0dXJlLmRlZmF1bHRPcHRpb25zLCB7XG4gICAgc2l6ZTogWzAsIDBdLFxuICAgIGdlbmVyYXRlTWlwbWFwczogZmFsc2UsXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgUmVuZGVyVGFyZ2V0O1xuXG4vKipcbiAqINCf0LDRgNCw0LzQtdGC0YDRiyDRgdCy0Y/Qt9GL0LLQsNC90LjRjyDRgtC10LrRgdGC0YPRgNGLXG4gKlxuICogQHR5cGVkZWYge09iamVjdH0gUmVuZGVyVGFyZ2V0T3B0aW9uc1xuICogQHByb3BlcnR5IHtOdW1iZXJbXX0gc2l6ZVxuICovXG4iXX0= |
@@ -83,3 +83,3 @@ import Texture from './Texture'; | ||
this._texture = new Texture(null, this.options); | ||
this._texture._prepare(gl); | ||
this._texture.prepare(gl); | ||
@@ -86,0 +86,0 @@ this._frameBuffer = gl.createFramebuffer(); |
@@ -46,3 +46,3 @@ /** | ||
if (!this._texture) { | ||
this._prepare(gl); | ||
this.prepare(gl); | ||
} | ||
@@ -76,3 +76,32 @@ | ||
_prepare(gl) { | ||
/** | ||
* Обновляет часть текстуры | ||
* | ||
* @param {WebGLRenderingContext} gl | ||
* @param {HTMLImageElement | HTMLCanvasElement | ImageBitmap | ImageData | TypedArray} src | ||
* @param {number} x Горизонтальное смещение, с которого записываем в текстуру | ||
* @param {number} y Вертикальное смещение, с которого записываем в текстуру | ||
*/ | ||
subImage(gl, src, x, y) { | ||
gl.bindTexture(gl.TEXTURE_2D, this._texture); | ||
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, this.options.flipY); | ||
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.options.premultiplyAlpha); | ||
gl.texSubImage2D( | ||
gl.TEXTURE_2D, | ||
0, | ||
x, y, | ||
this._toGlParam(gl, this.options.format), | ||
gl.UNSIGNED_BYTE, | ||
src, | ||
); | ||
return this; | ||
} | ||
/** | ||
* Кладёт текстуру в видеокарту | ||
* @param {WebGLRenderingContext} gl | ||
*/ | ||
prepare(gl) { | ||
this._glContext = gl; | ||
@@ -122,2 +151,4 @@ this._texture = gl.createTexture(); | ||
gl.bindTexture(gl.TEXTURE_2D, null); | ||
return this; | ||
} | ||
@@ -124,0 +155,0 @@ |
@@ -46,3 +46,3 @@ /** | ||
if (!this._texture) { | ||
this._prepare(gl); | ||
this.prepare(gl); | ||
} | ||
@@ -76,3 +76,25 @@ | ||
_prepare(gl) { | ||
/** | ||
* Обновляет часть текстуры | ||
* | ||
* @param {WebGLRenderingContext} gl | ||
* @param {HTMLImageElement | HTMLCanvasElement | ImageBitmap | ImageData | TypedArray} src | ||
* @param {number} x Горизонтальное смещение, с которого записываем в текстуру | ||
* @param {number} y Вертикальное смещение, с которого записываем в текстуру | ||
*/ | ||
subImage(gl, src, x, y) { | ||
gl.bindTexture(gl.TEXTURE_2D, this._texture); | ||
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, this.options.flipY); | ||
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.options.premultiplyAlpha); | ||
gl.texSubImage2D(gl.TEXTURE_2D, 0, x, y, this._toGlParam(gl, this.options.format), gl.UNSIGNED_BYTE, src); | ||
return this; | ||
} | ||
/** | ||
* Кладёт текстуру в видеокарту | ||
* @param {WebGLRenderingContext} gl | ||
*/ | ||
prepare(gl) { | ||
this._glContext = gl; | ||
@@ -102,2 +124,4 @@ this._texture = gl.createTexture(); | ||
gl.bindTexture(gl.TEXTURE_2D, null); | ||
return this; | ||
} | ||
@@ -205,2 +229,2 @@ | ||
*/ | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9UZXh0dXJlLmpzIl0sIm5hbWVzIjpbIlRleHR1cmUiLCJjb25zdHJ1Y3RvciIsInNyYyIsIm9wdGlvbnMiLCJfc3JjIiwiT2JqZWN0IiwiYXNzaWduIiwiZGVmYXVsdE9wdGlvbnMiLCJfZ2xDb250ZXh0IiwiZW5hYmxlIiwiZ2wiLCJpbmRleCIsInVuaXQiLCJ1bmRlZmluZWQiLCJhY3RpdmVUZXh0dXJlIiwiVEVYVFVSRTAiLCJfdGV4dHVyZSIsIl9wcmVwYXJlIiwiYmluZFRleHR1cmUiLCJURVhUVVJFXzJEIiwicmVtb3ZlIiwiZGVsZXRlVGV4dHVyZSIsImdldFRleHR1cmUiLCJjcmVhdGVUZXh0dXJlIiwicGl4ZWxTdG9yZWkiLCJVTlBBQ0tfRkxJUF9ZX1dFQkdMIiwiZmxpcFkiLCJVTlBBQ0tfUFJFTVVMVElQTFlfQUxQSEFfV0VCR0wiLCJwcmVtdWx0aXBseUFscGhhIiwic2l6ZSIsInRleEltYWdlMkQiLCJfdG9HbFBhcmFtIiwiZm9ybWF0IiwiVU5TSUdORURfQllURSIsInRleFBhcmFtZXRlcmkiLCJURVhUVVJFX1dSQVBfUyIsIndyYXBTIiwiVEVYVFVSRV9XUkFQX1QiLCJ3cmFwVCIsIlRFWFRVUkVfTUFHX0ZJTFRFUiIsIm1hZ0ZpbHRlciIsIlRFWFRVUkVfTUlOX0ZJTFRFUiIsIm1pbkZpbHRlciIsImdlbmVyYXRlTWlwbWFwcyIsIk5lYXJlc3RGaWx0ZXIiLCJMaW5lYXJGaWx0ZXIiLCJnZW5lcmF0ZU1pcG1hcCIsInBhcmFtIiwiQ2xhbXBUb0VkZ2VXcmFwcGluZyIsIkNMQU1QX1RPX0VER0UiLCJSZXBlYXQiLCJSRVBFQVQiLCJNaXJyb3JlZFJlcGVhdCIsIk1JUlJPUkVEX1JFUEVBVCIsIk5FQVJFU1QiLCJOZWFyZXN0TWlwTWFwTmVhcmVzdEZpbHRlciIsIk5FQVJFU1RfTUlQTUFQX05FQVJFU1QiLCJOZWFyZXN0TWlwTWFwTGluZWFyRmlsdGVyIiwiTkVBUkVTVF9NSVBNQVBfTElORUFSIiwiTElORUFSIiwiTGluZWFyTWlwTWFwTmVhcmVzdEZpbHRlciIsIkxJTkVBUl9NSVBNQVBfTkVBUkVTVCIsIkxpbmVhck1pcE1hcExpbmVhckZpbHRlciIsIkxJTkVBUl9NSVBNQVBfTElORUFSIiwiUmdiYUZvcm1hdCIsIlJHQkEiLCJBbHBoYUZvcm1hdCIsIkFMUEhBIiwiUmdiRm9ybWF0IiwiUkdCIl0sIm1hcHBpbmdzIjoiQUFBQTs7OztBQUlBLE1BQU1BLE9BQU4sQ0FBYztBQUNWOzs7OztBQUtBQyxnQkFBWUMsR0FBWixFQUFpQkMsVUFBVSxFQUEzQixFQUErQjtBQUMzQixhQUFLQyxJQUFMLEdBQVlGLE9BQU8sSUFBbkI7O0FBRUE7Ozs7O0FBS0EsYUFBS0MsT0FBTCxHQUFlRSxPQUFPQyxNQUFQLENBQWMsRUFBZCxFQUFrQk4sUUFBUU8sY0FBMUIsRUFBMENKLE9BQTFDLENBQWY7O0FBRUE7Ozs7OztBQU1BLGFBQUtLLFVBQUwsR0FBa0IsSUFBbEI7QUFDSDs7QUFFRDs7Ozs7Ozs7QUFRQUMsV0FBT0MsRUFBUCxFQUFXQyxLQUFYLEVBQWtCO0FBQ2QsY0FBTUMsT0FBT0QsVUFBVUUsU0FBVixHQUFzQkYsS0FBdEIsR0FBOEIsS0FBS1IsT0FBTCxDQUFhUyxJQUF4RDs7QUFFQSxZQUFJQSxTQUFTQyxTQUFiLEVBQXdCO0FBQ3BCSCxlQUFHSSxhQUFILENBQWlCSixHQUFHSyxRQUFILEdBQWNILElBQS9CO0FBQ0g7O0FBRUQsWUFBSSxDQUFDLEtBQUtJLFFBQVYsRUFBb0I7QUFDaEIsaUJBQUtDLFFBQUwsQ0FBY1AsRUFBZDtBQUNIOztBQUVEQSxXQUFHUSxXQUFILENBQWVSLEdBQUdTLFVBQWxCLEVBQThCLEtBQUtILFFBQW5DOztBQUVBLGVBQU8sSUFBUDtBQUNIOztBQUVEOzs7QUFHQUksYUFBUztBQUNMLFlBQUksS0FBS0osUUFBVCxFQUFtQjtBQUNmLGlCQUFLUixVQUFMLENBQWdCYSxhQUFoQixDQUE4QixLQUFLTCxRQUFuQztBQUNBLGlCQUFLUixVQUFMLEdBQWtCLElBQWxCO0FBQ0EsaUJBQUtRLFFBQUwsR0FBZ0IsSUFBaEI7QUFDSDs7QUFFRCxlQUFPLElBQVA7QUFDSDs7QUFFRDs7OztBQUlBTSxpQkFBYTtBQUNULGVBQU8sS0FBS04sUUFBWjtBQUNIOztBQUVEQyxhQUFTUCxFQUFULEVBQWE7QUFDVCxhQUFLRixVQUFMLEdBQWtCRSxFQUFsQjtBQUNBLGFBQUtNLFFBQUwsR0FBZ0JOLEdBQUdhLGFBQUgsRUFBaEI7O0FBRUFiLFdBQUdRLFdBQUgsQ0FBZVIsR0FBR1MsVUFBbEIsRUFBOEIsS0FBS0gsUUFBbkM7QUFDQU4sV0FBR2MsV0FBSCxDQUFlZCxHQUFHZSxtQkFBbEIsRUFBdUMsS0FBS3RCLE9BQUwsQ0FBYXVCLEtBQXBEO0FBQ0FoQixXQUFHYyxXQUFILENBQWVkLEdBQUdpQiw4QkFBbEIsRUFBa0QsS0FBS3hCLE9BQUwsQ0FBYXlCLGdCQUEvRDs7QUFFQSxZQUFJLEtBQUt6QixPQUFMLENBQWEwQixJQUFqQixFQUF1QjtBQUNuQm5CLGVBQUdvQixVQUFILENBQ0lwQixHQUFHUyxVQURQLEVBRUksQ0FGSixFQUdJLEtBQUtZLFVBQUwsQ0FBZ0JyQixFQUFoQixFQUFvQixLQUFLUCxPQUFMLENBQWE2QixNQUFqQyxDQUhKLEVBSUksS0FBSzdCLE9BQUwsQ0FBYTBCLElBQWIsQ0FBa0IsQ0FBbEIsQ0FKSixFQUtJLEtBQUsxQixPQUFMLENBQWEwQixJQUFiLENBQWtCLENBQWxCLENBTEosRUFNSSxDQU5KLEVBT0ksS0FBS0UsVUFBTCxDQUFnQnJCLEVBQWhCLEVBQW9CLEtBQUtQLE9BQUwsQ0FBYTZCLE1BQWpDLENBUEosRUFRSXRCLEdBQUd1QixhQVJQLEVBU0ksS0FBSzdCLElBVFQ7QUFXSCxTQVpELE1BWU87QUFDSE0sZUFBR29CLFVBQUgsQ0FDSXBCLEdBQUdTLFVBRFAsRUFFSSxDQUZKLEVBR0ksS0FBS1ksVUFBTCxDQUFnQnJCLEVBQWhCLEVBQW9CLEtBQUtQLE9BQUwsQ0FBYTZCLE1BQWpDLENBSEosRUFJSSxLQUFLRCxVQUFMLENBQWdCckIsRUFBaEIsRUFBb0IsS0FBS1AsT0FBTCxDQUFhNkIsTUFBakMsQ0FKSixFQUtJdEIsR0FBR3VCLGFBTFAsRUFNSSxLQUFLN0IsSUFOVDtBQVFIOztBQUVETSxXQUFHd0IsYUFBSCxDQUFpQnhCLEdBQUdTLFVBQXBCLEVBQWdDVCxHQUFHeUIsY0FBbkMsRUFBbUQsS0FBS0osVUFBTCxDQUFnQnJCLEVBQWhCLEVBQW9CLEtBQUtQLE9BQUwsQ0FBYWlDLEtBQWpDLENBQW5EO0FBQ0ExQixXQUFHd0IsYUFBSCxDQUFpQnhCLEdBQUdTLFVBQXBCLEVBQWdDVCxHQUFHMkIsY0FBbkMsRUFBbUQsS0FBS04sVUFBTCxDQUFnQnJCLEVBQWhCLEVBQW9CLEtBQUtQLE9BQUwsQ0FBYW1DLEtBQWpDLENBQW5EOztBQUVBNUIsV0FBR3dCLGFBQUgsQ0FBaUJ4QixHQUFHUyxVQUFwQixFQUFnQ1QsR0FBRzZCLGtCQUFuQyxFQUF1RCxLQUFLUixVQUFMLENBQWdCckIsRUFBaEIsRUFBb0IsS0FBS1AsT0FBTCxDQUFhcUMsU0FBakMsQ0FBdkQ7QUFDQTlCLFdBQUd3QixhQUFILENBQWlCeEIsR0FBR1MsVUFBcEIsRUFBZ0NULEdBQUcrQixrQkFBbkMsRUFBdUQsS0FBS1YsVUFBTCxDQUFnQnJCLEVBQWhCLEVBQW9CLEtBQUtQLE9BQUwsQ0FBYXVDLFNBQWpDLENBQXZEOztBQUVBLFlBQUksS0FBS3ZDLE9BQUwsQ0FBYXdDLGVBQWIsSUFDQSxLQUFLeEMsT0FBTCxDQUFhdUMsU0FBYixLQUEyQjFDLFFBQVE0QyxhQURuQyxJQUVBLEtBQUt6QyxPQUFMLENBQWF1QyxTQUFiLEtBQTJCMUMsUUFBUTZDLFlBRnZDLEVBR0U7QUFDRW5DLGVBQUdvQyxjQUFILENBQWtCcEMsR0FBR1MsVUFBckI7QUFDSDs7QUFFRFQsV0FBR1EsV0FBSCxDQUFlUixHQUFHUyxVQUFsQixFQUE4QixJQUE5QjtBQUNIOztBQUVEWSxlQUFXckIsRUFBWCxFQUFlcUMsS0FBZixFQUFzQjtBQUNsQixZQUFJQSxVQUFVL0MsUUFBUWdELG1CQUF0QixFQUEyQztBQUFFLG1CQUFPdEMsR0FBR3VDLGFBQVY7QUFBMEI7QUFDdkUsWUFBSUYsVUFBVS9DLFFBQVFrRCxNQUF0QixFQUE4QjtBQUFFLG1CQUFPeEMsR0FBR3lDLE1BQVY7QUFBbUI7QUFDbkQsWUFBSUosVUFBVS9DLFFBQVFvRCxjQUF0QixFQUFzQztBQUFFLG1CQUFPMUMsR0FBRzJDLGVBQVY7QUFBNEI7O0FBRXBFLFlBQUlOLFVBQVUvQyxRQUFRNEMsYUFBdEIsRUFBcUM7QUFBRSxtQkFBT2xDLEdBQUc0QyxPQUFWO0FBQW9CO0FBQzNELFlBQUlQLFVBQVUvQyxRQUFRdUQsMEJBQXRCLEVBQWtEO0FBQUUsbUJBQU83QyxHQUFHOEMsc0JBQVY7QUFBbUM7QUFDdkYsWUFBSVQsVUFBVS9DLFFBQVF5RCx5QkFBdEIsRUFBaUQ7QUFBRSxtQkFBTy9DLEdBQUdnRCxxQkFBVjtBQUFrQzs7QUFFckYsWUFBSVgsVUFBVS9DLFFBQVE2QyxZQUF0QixFQUFvQztBQUFFLG1CQUFPbkMsR0FBR2lELE1BQVY7QUFBbUI7QUFDekQsWUFBSVosVUFBVS9DLFFBQVE0RCx5QkFBdEIsRUFBaUQ7QUFBRSxtQkFBT2xELEdBQUdtRCxxQkFBVjtBQUFrQztBQUNyRixZQUFJZCxVQUFVL0MsUUFBUThELHdCQUF0QixFQUFnRDtBQUFFLG1CQUFPcEQsR0FBR3FELG9CQUFWO0FBQWlDO0FBQ25GLFlBQUloQixVQUFVL0MsUUFBUWdFLFVBQXRCLEVBQWtDO0FBQUUsbUJBQU90RCxHQUFHdUQsSUFBVjtBQUFpQjtBQUNyRCxZQUFJbEIsVUFBVS9DLFFBQVFrRSxXQUF0QixFQUFtQztBQUFFLG1CQUFPeEQsR0FBR3lELEtBQVY7QUFBa0I7QUFDdkQsWUFBSXBCLFVBQVUvQyxRQUFRb0UsU0FBdEIsRUFBaUM7QUFBRSxtQkFBTzFELEdBQUcyRCxHQUFWO0FBQWdCO0FBQ25ELGVBQU8sSUFBUDtBQUNIO0FBcklTOztBQXdJZHJFLFFBQVFnRCxtQkFBUixHQUE4QixDQUE5QjtBQUNBaEQsUUFBUWtELE1BQVIsR0FBaUIsQ0FBakI7QUFDQWxELFFBQVFvRCxjQUFSLEdBQXlCLEVBQXpCOztBQUVBcEQsUUFBUTRDLGFBQVIsR0FBd0IsQ0FBeEI7QUFDQTVDLFFBQVF1RCwwQkFBUixHQUFxQyxDQUFyQztBQUNBdkQsUUFBUXlELHlCQUFSLEdBQW9DLENBQXBDO0FBQ0F6RCxRQUFRNkMsWUFBUixHQUF1QixDQUF2QjtBQUNBN0MsUUFBUTRELHlCQUFSLEdBQW9DLENBQXBDO0FBQ0E1RCxRQUFROEQsd0JBQVIsR0FBbUMsQ0FBbkM7O0FBRUE5RCxRQUFRZ0UsVUFBUixHQUFxQixFQUFyQjtBQUNBaEUsUUFBUWtFLFdBQVIsR0FBc0IsRUFBdEI7QUFDQWxFLFFBQVFvRSxTQUFSLEdBQW9CLEVBQXBCOztBQUVBcEUsUUFBUU8sY0FBUixHQUF5QjtBQUNyQmlDLGVBQVd4QyxRQUFRNkMsWUFERTtBQUVyQkgsZUFBVzFDLFFBQVE4RCx3QkFGRTtBQUdyQjFCLFdBQU9wQyxRQUFRZ0QsbUJBSE07QUFJckJWLFdBQU90QyxRQUFRZ0QsbUJBSk07QUFLckJoQixZQUFRaEMsUUFBUWdFLFVBTEs7QUFNckJyQixxQkFBaUIsSUFOSTtBQU9yQmpCLFdBQU8sSUFQYztBQVFyQkUsc0JBQWtCO0FBUkcsQ0FBekI7O0FBV0EsZUFBZTVCLE9BQWY7O0FBRUE7Ozs7OztBQU1BOzs7O0FBSUE7Ozs7QUFJQSIsImZpbGUiOiJUZXh0dXJlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQotC10LrRgdGC0YPRgNGLINC40YHQv9C+0LvRjNC30YPRjtGC0YHRjyDQtNC70Y8g0L7RgtGA0LjRgdC+0LLQutC4INC40LfQvtCx0YDQsNC20LXQvdC40Lkg0LIgV2ViR0xcbiAqL1xuXG5jbGFzcyBUZXh0dXJlIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0ge0hUTUxJbWFnZUVsZW1lbnQgfCBIVE1MQ2FudmFzRWxlbWVudCB8IEltYWdlQml0bWFwIHwgSW1hZ2VEYXRhIHwgVHlwZWRBcnJheX0gW3NyYz1udWxsXSDQkiDQutCw0YfQtdGB0YLQstC1XG4gICAgICog0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQvNC+0LbQtdGCINCx0YvRgtGMINC70LjQsdC+INGN0LvQtdC80LXQvdGCIGltZywg0LvQuNCx0L4gY2FudmFzXG4gICAgICogQHBhcmFtIHs/VGV4dHVyZU9wdGlvbnN9IG9wdGlvbnNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzcmMsIG9wdGlvbnMgPSB7fSkge1xuICAgICAgICB0aGlzLl9zcmMgPSBzcmMgfHwgbnVsbDtcblxuICAgICAgICAvKipcbiAgICAgICAgICog0J/QsNGA0LDQvNC10YLRgNGLINC00LvRjyDRgdCy0Y/Qt9GL0LLQsNC90LjRjyDRgtC10LrRgdGC0YPRgNGLXG4gICAgICAgICAqIEB0eXBlIHtUZXh0dXJlT3B0aW9uc31cbiAgICAgICAgICogQHJlYWRvbmx5XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBUZXh0dXJlLmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICog0JrQvtC90YLQtdC60YHRgiBXZWJHTCwg0LIg0LrQvtGC0L7RgNC+0Lwg0LHRi9C70LAg0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNC90LAg0YLQtdC60YHRgtGD0YDQsC5cbiAgICAgICAgICog0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGC0L7Qu9GM0LrQviDQtNC70Y8g0YPQtNCw0LvQtdC90LjRjywg0L/QvtC00YPQvNCw0YLRjCDRhdC+0YDQvtGI0L4sINC/0YDQtdC20LTQtSDRh9C10Lwg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC00LvRjyDRh9C10LPQvi3RgtC+INC10YnRkS5cbiAgICAgICAgICogQHR5cGUgez9XZWJHTFJlbmRlcmluZ0NvbnRleHR9XG4gICAgICAgICAqIEBpZ25vcmVcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2dsQ29udGV4dCA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQstGP0LfRi9Cy0LDQtdGCIFdlYkdMINC4INC00LDQvdC90YvQtSDRgtC10LrRgdGC0YPRgNGLLlxuICAgICAqINCf0YDQuCDQv9C10YDQstC+0Lwg0LLRi9C30L7QsiDQv9GA0L7QuNGB0YXQvtC00LjRgiDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbFxuICAgICAqIEBwYXJhbSB7P051bWJlcn0gaW5kZXgg0J3QvtC80LXRgCDRgtC10LrRgdGC0YPRgNGLINCyINC60L7QvdGC0LXQutGB0YLQtSBXZWJHTC5cbiAgICAgKiDQldGB0LvQuCDQtdCz0L4g0L3QtdGCLCDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0YPQttC1INCw0LrRgtC40LLQuNGA0L7QstCw0L3QvdGL0Lkg0Y7QvdC40YIg0YLQtdC60YHRgtGD0YDRiy5cbiAgICAgKi9cbiAgICBlbmFibGUoZ2wsIGluZGV4KSB7XG4gICAgICAgIGNvbnN0IHVuaXQgPSBpbmRleCAhPT0gdW5kZWZpbmVkID8gaW5kZXggOiB0aGlzLm9wdGlvbnMudW5pdDtcblxuICAgICAgICBpZiAodW5pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBnbC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUwICsgdW5pdCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuX3RleHR1cmUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ByZXBhcmUoZ2wpO1xuICAgICAgICB9XG5cbiAgICAgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGhpcy5fdGV4dHVyZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0YLQtdC60YHRgtGD0YDRgyDQuNC3INCy0LjQtNC10L7QutCw0YDRgtGLXG4gICAgICovXG4gICAgcmVtb3ZlKCkge1xuICAgICAgICBpZiAodGhpcy5fdGV4dHVyZSkge1xuICAgICAgICAgICAgdGhpcy5fZ2xDb250ZXh0LmRlbGV0ZVRleHR1cmUodGhpcy5fdGV4dHVyZSk7XG4gICAgICAgICAgICB0aGlzLl9nbENvbnRleHQgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5fdGV4dHVyZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiBXZWJHTCDRgtC10LrRgdGC0YPRgNGDXG4gICAgICogQHJldHVybiB7V2ViR0xUZXh0dXJlfVxuICAgICAqL1xuICAgIGdldFRleHR1cmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZXh0dXJlO1xuICAgIH1cblxuICAgIF9wcmVwYXJlKGdsKSB7XG4gICAgICAgIHRoaXMuX2dsQ29udGV4dCA9IGdsO1xuICAgICAgICB0aGlzLl90ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpO1xuXG4gICAgICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRoaXMuX3RleHR1cmUpO1xuICAgICAgICBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dFQkdMLCB0aGlzLm9wdGlvbnMuZmxpcFkpO1xuICAgICAgICBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfUFJFTVVMVElQTFlfQUxQSEFfV0VCR0wsIHRoaXMub3B0aW9ucy5wcmVtdWx0aXBseUFscGhhKTtcblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLnNpemUpIHtcbiAgICAgICAgICAgIGdsLnRleEltYWdlMkQoXG4gICAgICAgICAgICAgICAgZ2wuVEVYVFVSRV8yRCxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIHRoaXMuX3RvR2xQYXJhbShnbCwgdGhpcy5vcHRpb25zLmZvcm1hdCksXG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnNpemVbMF0sXG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnNpemVbMV0sXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICB0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMub3B0aW9ucy5mb3JtYXQpLFxuICAgICAgICAgICAgICAgIGdsLlVOU0lHTkVEX0JZVEUsXG4gICAgICAgICAgICAgICAgdGhpcy5fc3JjXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRChcbiAgICAgICAgICAgICAgICBnbC5URVhUVVJFXzJELFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgdGhpcy5fdG9HbFBhcmFtKGdsLCB0aGlzLm9wdGlvbnMuZm9ybWF0KSxcbiAgICAgICAgICAgICAgICB0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMub3B0aW9ucy5mb3JtYXQpLFxuICAgICAgICAgICAgICAgIGdsLlVOU0lHTkVEX0JZVEUsXG4gICAgICAgICAgICAgICAgdGhpcy5fc3JjXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgdGhpcy5fdG9HbFBhcmFtKGdsLCB0aGlzLm9wdGlvbnMud3JhcFMpKTtcbiAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfVCwgdGhpcy5fdG9HbFBhcmFtKGdsLCB0aGlzLm9wdGlvbnMud3JhcFQpKTtcblxuICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgdGhpcy5fdG9HbFBhcmFtKGdsLCB0aGlzLm9wdGlvbnMubWFnRmlsdGVyKSk7XG4gICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCB0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMub3B0aW9ucy5taW5GaWx0ZXIpKTtcblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLmdlbmVyYXRlTWlwbWFwcyAmJlxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLm1pbkZpbHRlciAhPT0gVGV4dHVyZS5OZWFyZXN0RmlsdGVyICYmXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMubWluRmlsdGVyICE9PSBUZXh0dXJlLkxpbmVhckZpbHRlclxuICAgICAgICApIHtcbiAgICAgICAgICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpO1xuICAgICAgICB9XG5cbiAgICAgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgbnVsbCk7XG4gICAgfVxuXG4gICAgX3RvR2xQYXJhbShnbCwgcGFyYW0pIHtcbiAgICAgICAgaWYgKHBhcmFtID09PSBUZXh0dXJlLkNsYW1wVG9FZGdlV3JhcHBpbmcpIHsgcmV0dXJuIGdsLkNMQU1QX1RPX0VER0U7IH1cbiAgICAgICAgaWYgKHBhcmFtID09PSBUZXh0dXJlLlJlcGVhdCkgeyByZXR1cm4gZ2wuUkVQRUFUOyB9XG4gICAgICAgIGlmIChwYXJhbSA9PT0gVGV4dHVyZS5NaXJyb3JlZFJlcGVhdCkgeyByZXR1cm4gZ2wuTUlSUk9SRURfUkVQRUFUOyB9XG5cbiAgICAgICAgaWYgKHBhcmFtID09PSBUZXh0dXJlLk5lYXJlc3RGaWx0ZXIpIHsgcmV0dXJuIGdsLk5FQVJFU1Q7IH1cbiAgICAgICAgaWYgKHBhcmFtID09PSBUZXh0dXJlLk5lYXJlc3RNaXBNYXBOZWFyZXN0RmlsdGVyKSB7IHJldHVybiBnbC5ORUFSRVNUX01JUE1BUF9ORUFSRVNUOyB9XG4gICAgICAgIGlmIChwYXJhbSA9PT0gVGV4dHVyZS5OZWFyZXN0TWlwTWFwTGluZWFyRmlsdGVyKSB7IHJldHVybiBnbC5ORUFSRVNUX01JUE1BUF9MSU5FQVI7IH1cblxuICAgICAgICBpZiAocGFyYW0gPT09IFRleHR1cmUuTGluZWFyRmlsdGVyKSB7IHJldHVybiBnbC5MSU5FQVI7IH1cbiAgICAgICAgaWYgKHBhcmFtID09PSBUZXh0dXJlLkxpbmVhck1pcE1hcE5lYXJlc3RGaWx0ZXIpIHsgcmV0dXJuIGdsLkxJTkVBUl9NSVBNQVBfTkVBUkVTVDsgfVxuICAgICAgICBpZiAocGFyYW0gPT09IFRleHR1cmUuTGluZWFyTWlwTWFwTGluZWFyRmlsdGVyKSB7IHJldHVybiBnbC5MSU5FQVJfTUlQTUFQX0xJTkVBUjsgfVxuICAgICAgICBpZiAocGFyYW0gPT09IFRleHR1cmUuUmdiYUZvcm1hdCkgeyByZXR1cm4gZ2wuUkdCQTsgfVxuICAgICAgICBpZiAocGFyYW0gPT09IFRleHR1cmUuQWxwaGFGb3JtYXQpIHsgcmV0dXJuIGdsLkFMUEhBOyB9XG4gICAgICAgIGlmIChwYXJhbSA9PT0gVGV4dHVyZS5SZ2JGb3JtYXQpIHsgcmV0dXJuIGdsLlJHQjsgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cblRleHR1cmUuQ2xhbXBUb0VkZ2VXcmFwcGluZyA9IDg7XG5UZXh0dXJlLlJlcGVhdCA9IDk7XG5UZXh0dXJlLk1pcnJvcmVkUmVwZWF0ID0gMTA7XG5cblRleHR1cmUuTmVhcmVzdEZpbHRlciA9IDE7XG5UZXh0dXJlLk5lYXJlc3RNaXBNYXBOZWFyZXN0RmlsdGVyID0gMjtcblRleHR1cmUuTmVhcmVzdE1pcE1hcExpbmVhckZpbHRlciA9IDM7XG5UZXh0dXJlLkxpbmVhckZpbHRlciA9IDQ7XG5UZXh0dXJlLkxpbmVhck1pcE1hcE5lYXJlc3RGaWx0ZXIgPSA1O1xuVGV4dHVyZS5MaW5lYXJNaXBNYXBMaW5lYXJGaWx0ZXIgPSA2O1xuXG5UZXh0dXJlLlJnYmFGb3JtYXQgPSAxMTtcblRleHR1cmUuQWxwaGFGb3JtYXQgPSAxMjtcblRleHR1cmUuUmdiRm9ybWF0ID0gMTM7XG5cblRleHR1cmUuZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgbWFnRmlsdGVyOiBUZXh0dXJlLkxpbmVhckZpbHRlcixcbiAgICBtaW5GaWx0ZXI6IFRleHR1cmUuTGluZWFyTWlwTWFwTGluZWFyRmlsdGVyLFxuICAgIHdyYXBTOiBUZXh0dXJlLkNsYW1wVG9FZGdlV3JhcHBpbmcsXG4gICAgd3JhcFQ6IFRleHR1cmUuQ2xhbXBUb0VkZ2VXcmFwcGluZyxcbiAgICBmb3JtYXQ6IFRleHR1cmUuUmdiYUZvcm1hdCxcbiAgICBnZW5lcmF0ZU1pcG1hcHM6IHRydWUsXG4gICAgZmxpcFk6IHRydWUsXG4gICAgcHJlbXVsdGlwbHlBbHBoYTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRleHR1cmU7XG5cbi8qKlxuICogQHR5cGVkZWYge1RleHR1cmUuTmVhcmVzdEZpbHRlciB8IFRleHR1cmUuTmVhcmVzdE1pcE1hcE5lYXJlc3RGaWx0ZXIgfFxuICogVGV4dHVyZS5OZWFyZXN0TWlwTWFwTGluZWFyRmlsdGVyIHwgVGV4dHVyZS5MaW5lYXJGaWx0ZXIgfFxuICogVGV4dHVyZS5MaW5lYXJNaXBNYXBOZWFyZXN0RmlsdGVyIHwgVGV4dHVyZS5MaW5lYXJNaXBNYXBMaW5lYXJGaWx0ZXJ9IFRleHR1cmVGaWx0ZXJcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtUZXh0dXJlLkNsYW1wVG9FZGdlV3JhcHBpbmd9IFRleHR1cmVDbGFtcFxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge1RleHR1cmUuUmdiYUZvcm1hdCB8IFRleHR1cmUuQWxwaGFGb3JtYXR9IFRleHR1cmVGb3JtYXRcbiAqL1xuXG4vKipcbiAqINCf0LDRgNCw0LzQtdGC0YDRiyDRgdCy0Y/Qt9GL0LLQsNC90LjRjyDRgtC10LrRgdGC0YPRgNGLXG4gKlxuICogQHR5cGVkZWYge09iamVjdH0gVGV4dHVyZU9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7VGV4dHVyZUZpbHRlcn0gbWFnRmlsdGVyXG4gKiBAcHJvcGVydHkge1RleHR1cmVGaWx0ZXJ9IG1pbkZpbHRlclxuICogQHByb3BlcnR5IHtUZXh0dXJlQ2xhbXB9IHdyYXBTXG4gKiBAcHJvcGVydHkge1RleHR1cmVDbGFtcH0gd3JhcFRcbiAqIEBwcm9wZXJ0eSB7VGV4dHVyZUZvcm1hdH0gZm9ybWF0XG4gKiBAcHJvcGVydHkge0Jvb2xlYW59IGdlbmVyYXRlTWlwbWFwc1xuICogQHByb3BlcnR5IHtCb29sZWFufSBmbGlwWVxuICogQHByb3BlcnR5IHtCb29sZWFufSBwcmVtdWx0aXBseUFscGhhXG4gKiBAcHJvcGVydHkgez9OdW1iZXJbXX0gc2l6ZVxuICogQHByb3BlcnR5IHs/TnVtYmVyfSB1bml0XG4gKi9cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9UZXh0dXJlLmpzIl0sIm5hbWVzIjpbIlRleHR1cmUiLCJjb25zdHJ1Y3RvciIsInNyYyIsIm9wdGlvbnMiLCJfc3JjIiwiT2JqZWN0IiwiYXNzaWduIiwiZGVmYXVsdE9wdGlvbnMiLCJfZ2xDb250ZXh0IiwiZW5hYmxlIiwiZ2wiLCJpbmRleCIsInVuaXQiLCJ1bmRlZmluZWQiLCJhY3RpdmVUZXh0dXJlIiwiVEVYVFVSRTAiLCJfdGV4dHVyZSIsInByZXBhcmUiLCJiaW5kVGV4dHVyZSIsIlRFWFRVUkVfMkQiLCJyZW1vdmUiLCJkZWxldGVUZXh0dXJlIiwiZ2V0VGV4dHVyZSIsInN1YkltYWdlIiwieCIsInkiLCJwaXhlbFN0b3JlaSIsIlVOUEFDS19GTElQX1lfV0VCR0wiLCJmbGlwWSIsIlVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTCIsInByZW11bHRpcGx5QWxwaGEiLCJ0ZXhTdWJJbWFnZTJEIiwiX3RvR2xQYXJhbSIsImZvcm1hdCIsIlVOU0lHTkVEX0JZVEUiLCJjcmVhdGVUZXh0dXJlIiwic2l6ZSIsInRleEltYWdlMkQiLCJ0ZXhQYXJhbWV0ZXJpIiwiVEVYVFVSRV9XUkFQX1MiLCJ3cmFwUyIsIlRFWFRVUkVfV1JBUF9UIiwid3JhcFQiLCJURVhUVVJFX01BR19GSUxURVIiLCJtYWdGaWx0ZXIiLCJURVhUVVJFX01JTl9GSUxURVIiLCJtaW5GaWx0ZXIiLCJnZW5lcmF0ZU1pcG1hcHMiLCJOZWFyZXN0RmlsdGVyIiwiTGluZWFyRmlsdGVyIiwiZ2VuZXJhdGVNaXBtYXAiLCJwYXJhbSIsIkNsYW1wVG9FZGdlV3JhcHBpbmciLCJDTEFNUF9UT19FREdFIiwiUmVwZWF0IiwiUkVQRUFUIiwiTWlycm9yZWRSZXBlYXQiLCJNSVJST1JFRF9SRVBFQVQiLCJORUFSRVNUIiwiTmVhcmVzdE1pcE1hcE5lYXJlc3RGaWx0ZXIiLCJORUFSRVNUX01JUE1BUF9ORUFSRVNUIiwiTmVhcmVzdE1pcE1hcExpbmVhckZpbHRlciIsIk5FQVJFU1RfTUlQTUFQX0xJTkVBUiIsIkxJTkVBUiIsIkxpbmVhck1pcE1hcE5lYXJlc3RGaWx0ZXIiLCJMSU5FQVJfTUlQTUFQX05FQVJFU1QiLCJMaW5lYXJNaXBNYXBMaW5lYXJGaWx0ZXIiLCJMSU5FQVJfTUlQTUFQX0xJTkVBUiIsIlJnYmFGb3JtYXQiLCJSR0JBIiwiQWxwaGFGb3JtYXQiLCJBTFBIQSIsIlJnYkZvcm1hdCIsIlJHQiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7QUFJQSxNQUFNQSxPQUFOLENBQWM7QUFDVjs7Ozs7QUFLQUMsZ0JBQVlDLEdBQVosRUFBaUJDLFVBQVUsRUFBM0IsRUFBK0I7QUFDM0IsYUFBS0MsSUFBTCxHQUFZRixPQUFPLElBQW5COztBQUVBOzs7OztBQUtBLGFBQUtDLE9BQUwsR0FBZUUsT0FBT0MsTUFBUCxDQUFjLEVBQWQsRUFBa0JOLFFBQVFPLGNBQTFCLEVBQTBDSixPQUExQyxDQUFmOztBQUVBOzs7Ozs7QUFNQSxhQUFLSyxVQUFMLEdBQWtCLElBQWxCO0FBQ0g7O0FBRUQ7Ozs7Ozs7O0FBUUFDLFdBQU9DLEVBQVAsRUFBV0MsS0FBWCxFQUFrQjtBQUNkLGNBQU1DLE9BQU9ELFVBQVVFLFNBQVYsR0FBc0JGLEtBQXRCLEdBQThCLEtBQUtSLE9BQUwsQ0FBYVMsSUFBeEQ7O0FBRUEsWUFBSUEsU0FBU0MsU0FBYixFQUF3QjtBQUNwQkgsZUFBR0ksYUFBSCxDQUFpQkosR0FBR0ssUUFBSCxHQUFjSCxJQUEvQjtBQUNIOztBQUVELFlBQUksQ0FBQyxLQUFLSSxRQUFWLEVBQW9CO0FBQ2hCLGlCQUFLQyxPQUFMLENBQWFQLEVBQWI7QUFDSDs7QUFFREEsV0FBR1EsV0FBSCxDQUFlUixHQUFHUyxVQUFsQixFQUE4QixLQUFLSCxRQUFuQzs7QUFFQSxlQUFPLElBQVA7QUFDSDs7QUFFRDs7O0FBR0FJLGFBQVM7QUFDTCxZQUFJLEtBQUtKLFFBQVQsRUFBbUI7QUFDZixpQkFBS1IsVUFBTCxDQUFnQmEsYUFBaEIsQ0FBOEIsS0FBS0wsUUFBbkM7QUFDQSxpQkFBS1IsVUFB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QyxRQUFRb0QsbUJBSE07QUFJckJWLFdBQU8xQyxRQUFRb0QsbUJBSk07QUFLckJuQixZQUFRakMsUUFBUW9FLFVBTEs7QUFNckJyQixxQkFBaUIsSUFOSTtBQU9yQm5CLFdBQU8sSUFQYztBQVFyQkUsc0JBQWtCO0FBUkcsQ0FBekI7O0FBV0EsZUFBZTlCLE9BQWY7O0FBRUE7Ozs7OztBQU1BOzs7O0FBSUE7Ozs7QUFJQSIsImZpbGUiOiJUZXh0dXJlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQotC10LrRgdGC0YPRgNGLINC40YHQv9C+0LvRjNC30YPRjtGC0YHRjyDQtNC70Y8g0L7RgtGA0LjRgdC+0LLQutC4INC40LfQvtCx0YDQsNC20LXQvdC40Lkg0LIgV2ViR0xcbiAqL1xuXG5jbGFzcyBUZXh0dXJlIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0ge0hUTUxJbWFnZUVsZW1lbnQgfCBIVE1MQ2FudmFzRWxlbWVudCB8IEltYWdlQml0bWFwIHwgSW1hZ2VEYXRhIHwgVHlwZWRBcnJheX0gW3NyYz1udWxsXSDQkiDQutCw0YfQtdGB0YLQstC1XG4gICAgICog0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQvNC+0LbQtdGCINCx0YvRgtGMINC70LjQsdC+INGN0LvQtdC80LXQvdGCIGltZywg0LvQuNCx0L4gY2FudmFzXG4gICAgICogQHBhcmFtIHs/VGV4dHVyZU9wdGlvbnN9IG9wdGlvbnNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzcmMsIG9wdGlvbnMgPSB7fSkge1xuICAgICAgICB0aGlzLl9zcmMgPSBzcmMgfHwgbnVsbDtcblxuICAgICAgICAvKipcbiAgICAgICAgICog0J/QsNGA0LDQvNC10YLRgNGLINC00LvRjyDRgdCy0Y/Qt9GL0LLQsNC90LjRjyDRgtC10LrRgdGC0YPRgNGLXG4gICAgICAgICAqIEB0eXBlIHtUZXh0dXJlT3B0aW9uc31cbiAgICAgICAgICogQHJlYWRvbmx5XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBUZXh0dXJlLmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICog0JrQvtC90YLQtdC60YHRgiBXZWJHTCwg0LIg0LrQvtGC0L7RgNC+0Lwg0LHRi9C70LAg0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNC90LAg0YLQtdC60YHRgtGD0YDQsC5cbiAgICAgICAgICog0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGC0L7Qu9GM0LrQviDQtNC70Y8g0YPQtNCw0LvQtdC90LjRjywg0L/QvtC00YPQvNCw0YLRjCDRhdC+0YDQvtGI0L4sINC/0YDQtdC20LTQtSDRh9C10Lwg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC00LvRjyDRh9C10LPQvi3RgtC+INC10YnRkS5cbiAgICAgICAgICogQHR5cGUgez9XZWJHTFJlbmRlcmluZ0NvbnRleHR9XG4gICAgICAgICAqIEBpZ25vcmVcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2dsQ29udGV4dCA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQstGP0LfRi9Cy0LDQtdGCIFdlYkdMINC4INC00LDQvdC90YvQtSDRgtC10LrRgdGC0YPRgNGLLlxuICAgICAqINCf0YDQuCDQv9C10YDQstC+0Lwg0LLRi9C30L7QsiDQv9GA0L7QuNGB0YXQvtC00LjRgiDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbFxuICAgICAqIEBwYXJhbSB7P051bWJlcn0gaW5kZXgg0J3QvtC80LXRgCDRgtC10LrRgdGC0YPRgNGLINCyINC60L7QvdGC0LXQutGB0YLQtSBXZWJHTC5cbiAgICAgKiDQldGB0LvQuCDQtdCz0L4g0L3QtdGCLCDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0YPQttC1INCw0LrRgtC40LLQuNGA0L7QstCw0L3QvdGL0Lkg0Y7QvdC40YIg0YLQtdC60YHRgtGD0YDRiy5cbiAgICAgKi9cbiAgICBlbmFibGUoZ2wsIGluZGV4KSB7XG4gICAgICAgIGNvbnN0IHVuaXQgPSBpbmRleCAhPT0gdW5kZWZpbmVkID8gaW5kZXggOiB0aGlzLm9wdGlvbnMudW5pdDtcblxuICAgICAgICBpZiAodW5pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBnbC5hY3RpdmVUZXh0dXJlKGdsLlRFWFRVUkUwICsgdW5pdCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuX3RleHR1cmUpIHtcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZShnbCk7XG4gICAgICAgIH1cblxuICAgICAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0aGlzLl90ZXh0dXJlKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDRgtC10LrRgdGC0YPRgNGDINC40Lcg0LLQuNC00LXQvtC60LDRgNGC0YtcbiAgICAgKi9cbiAgICByZW1vdmUoKSB7XG4gICAgICAgIGlmICh0aGlzLl90ZXh0dXJlKSB7XG4gICAgICAgICAgICB0aGlzLl9nbENvbnRleHQuZGVsZXRlVGV4dHVyZSh0aGlzLl90ZXh0dXJlKTtcbiAgICAgICAgICAgIHRoaXMuX2dsQ29udGV4dCA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl90ZXh0dXJlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIFdlYkdMINGC0LXQutGB0YLRg9GA0YNcbiAgICAgKiBAcmV0dXJuIHtXZWJHTFRleHR1cmV9XG4gICAgICovXG4gICAgZ2V0VGV4dHVyZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RleHR1cmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdC90L7QstC70Y/QtdGCINGH0LDRgdGC0Ywg0YLQtdC60YHRgtGD0YDRi1xuICAgICAqXG4gICAgICogQHBhcmFtIHtXZWJHTFJlbmRlcmluZ0NvbnRleHR9IGdsXG4gICAgICogQHBhcmFtIHtIVE1MSW1hZ2VFbGVtZW50IHwgSFRNTENhbnZhc0VsZW1lbnQgfCBJbWFnZUJpdG1hcCB8IEltYWdlRGF0YSB8IFR5cGVkQXJyYXl9IHNyY1xuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB4INCT0L7RgNC40LfQvtC90YLQsNC70YzQvdC+0LUg0YHQvNC10YnQtdC90LjQtSwg0YEg0LrQvtGC0L7RgNC+0LPQviDQt9Cw0L/QuNGB0YvQstCw0LXQvCDQsiDRgtC10LrRgdGC0YPRgNGDXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHkg0JLQtdGA0YLQuNC60LDQu9GM0L3QvtC1INGB0LzQtdGJ0LXQvdC40LUsINGBINC60L7RgtC+0YDQvtCz0L4g0LfQsNC/0LjRgdGL0LLQsNC10Lwg0LIg0YLQtdC60YHRgtGD0YDRg1xuICAgICAqL1xuICAgIHN1YkltYWdlKGdsLCBzcmMsIHgsIHkpIHtcbiAgICAgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGhpcy5fdGV4dHVyZSk7XG4gICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19GTElQX1lfV0VCR0wsIHRoaXMub3B0aW9ucy5mbGlwWSk7XG4gICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTCwgdGhpcy5vcHRpb25zLnByZW11bHRpcGx5QWxwaGEpO1xuXG4gICAgICAgIGdsLnRleFN1YkltYWdlMkQoXG4gICAgICAgICAgICBnbC5URVhUVVJFXzJELFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIHgsIHksXG4gICAgICAgICAgICB0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMub3B0aW9ucy5mb3JtYXQpLFxuICAgICAgICAgICAgZ2wuVU5TSUdORURfQllURSxcbiAgICAgICAgICAgIHNyYyxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQmtC70LDQtNGR0YIg0YLQtdC60YHRgtGD0YDRgyDQsiDQstC40LTQtdC+0LrQsNGA0YLRg1xuICAgICAqIEBwYXJhbSB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbFxuICAgICAqL1xuICAgIHByZXBhcmUoZ2wpIHtcbiAgICAgICAgdGhpcy5fZ2xDb250ZXh0ID0gZ2w7XG4gICAgICAgIHRoaXMuX3RleHR1cmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7XG5cbiAgICAgICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGhpcy5fdGV4dHVyZSk7XG4gICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19GTElQX1lfV0VCR0wsIHRoaXMub3B0aW9ucy5mbGlwWSk7XG4gICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTCwgdGhpcy5vcHRpb25zLnByZW11bHRpcGx5QWxwaGEpO1xuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuc2l6ZSkge1xuICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRChcbiAgICAgICAgICAgICAgICBnbC5URVhUVVJFXzJELFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgdGhpcy5fdG9HbFBhcmFtKGdsLCB0aGlzLm9wdGlvbnMuZm9ybWF0KSxcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMuc2l6ZVswXSxcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMuc2l6ZVsxXSxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgIHRoaXMuX3RvR2xQYXJhbShnbCwgdGhpcy5vcHRpb25zLmZvcm1hdCksXG4gICAgICAgICAgICAgICAgZ2wuVU5TSUdORURfQllURSxcbiAgICAgICAgICAgICAgICB0aGlzLl9zcmNcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBnbC50ZXhJbWFnZTJEKFxuICAgICAgICAgICAgICAgIGdsLlRFWFRVUkVfMkQsXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICB0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMub3B0aW9ucy5mb3JtYXQpLFxuICAgICAgICAgICAgICAgIHRoaXMuX3RvR2xQYXJhbShnbCwgdGhpcy5vcHRpb25zLmZvcm1hdCksXG4gICAgICAgICAgICAgICAgZ2wuVU5TSUdORURfQllURSxcbiAgICAgICAgICAgICAgICB0aGlzLl9zcmNcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCB0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMub3B0aW9ucy53cmFwUykpO1xuICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCB0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMub3B0aW9ucy53cmFwVCkpO1xuXG4gICAgICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NQUdfRklMVEVSLCB0aGlzLl90b0dsUGFyYW0oZ2wsIHRoaXMub3B0aW9ucy5tYWdGaWx0ZXIpKTtcbiAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIHRoaXMuX3RvR2xQYXJhbShnbCwgdGhpcy5vcHRpb25zLm1pbkZpbHRlcikpO1xuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZ2VuZXJhdGVNaXBtYXBzICYmXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMubWluRmlsdGVyICE9PSBUZXh0dXJlLk5lYXJlc3RGaWx0ZXIgJiZcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5taW5GaWx0ZXIgIT09IFRleHR1cmUuTGluZWFyRmlsdGVyXG4gICAgICAgICkge1xuICAgICAgICAgICAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8yRCk7XG4gICAgICAgIH1cblxuICAgICAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBfdG9HbFBhcmFtKGdsLCBwYXJhbSkge1xuICAgICAgICBpZiAocGFyYW0gPT09IFRleHR1cmUuQ2xhbXBUb0VkZ2VXcmFwcGluZykgeyByZXR1cm4gZ2wuQ0xBTVBfVE9fRURHRTsgfVxuICAgICAgICBpZiAocGFyYW0gPT09IFRleHR1cmUuUmVwZWF0KSB7IHJldHVybiBnbC5SRVBFQVQ7IH1cbiAgICAgICAgaWYgKHBhcmFtID09PSBUZXh0dXJlLk1pcnJvcmVkUmVwZWF0KSB7IHJldHVybiBnbC5NSVJST1JFRF9SRVBFQVQ7IH1cblxuICAgICAgICBpZiAocGFyYW0gPT09IFRleHR1cmUuTmVhcmVzdEZpbHRlcikgeyByZXR1cm4gZ2wuTkVBUkVTVDsgfVxuICAgICAgICBpZiAocGFyYW0gPT09IFRleHR1cmUuTmVhcmVzdE1pcE1hcE5lYXJlc3RGaWx0ZXIpIHsgcmV0dXJuIGdsLk5FQVJFU1RfTUlQTUFQX05FQVJFU1Q7IH1cbiAgICAgICAgaWYgKHBhcmFtID09PSBUZXh0dXJlLk5lYXJlc3RNaXBNYXBMaW5lYXJGaWx0ZXIpIHsgcmV0dXJuIGdsLk5FQVJFU1RfTUlQTUFQX0xJTkVBUjsgfVxuXG4gICAgICAgIGlmIChwYXJhbSA9PT0gVGV4dHVyZS5MaW5lYXJGaWx0ZXIpIHsgcmV0dXJuIGdsLkxJTkVBUjsgfVxuICAgICAgICBpZiAocGFyYW0gPT09IFRleHR1cmUuTGluZWFyTWlwTWFwTmVhcmVzdEZpbHRlcikgeyByZXR1cm4gZ2wuTElORUFSX01JUE1BUF9ORUFSRVNUOyB9XG4gICAgICAgIGlmIChwYXJhbSA9PT0gVGV4dHVyZS5MaW5lYXJNaXBNYXBMaW5lYXJGaWx0ZXIpIHsgcmV0dXJuIGdsLkxJTkVBUl9NSVBNQVBfTElORUFSOyB9XG4gICAgICAgIGlmIChwYXJhbSA9PT0gVGV4dHVyZS5SZ2JhRm9ybWF0KSB7IHJldHVybiBnbC5SR0JBOyB9XG4gICAgICAgIGlmIChwYXJhbSA9PT0gVGV4dHVyZS5BbHBoYUZvcm1hdCkgeyByZXR1cm4gZ2wuQUxQSEE7IH1cbiAgICAgICAgaWYgKHBhcmFtID09PSBUZXh0dXJlLlJnYkZvcm1hdCkgeyByZXR1cm4gZ2wuUkdCOyB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cblxuVGV4dHVyZS5DbGFtcFRvRWRnZVdyYXBwaW5nID0gODtcblRleHR1cmUuUmVwZWF0ID0gOTtcblRleHR1cmUuTWlycm9yZWRSZXBlYXQgPSAxMDtcblxuVGV4dHVyZS5OZWFyZXN0RmlsdGVyID0gMTtcblRleHR1cmUuTmVhcmVzdE1pcE1hcE5lYXJlc3RGaWx0ZXIgPSAyO1xuVGV4dHVyZS5OZWFyZXN0TWlwTWFwTGluZWFyRmlsdGVyID0gMztcblRleHR1cmUuTGluZWFyRmlsdGVyID0gNDtcblRleHR1cmUuTGluZWFyTWlwTWFwTmVhcmVzdEZpbHRlciA9IDU7XG5UZXh0dXJlLkxpbmVhck1pcE1hcExpbmVhckZpbHRlciA9IDY7XG5cblRleHR1cmUuUmdiYUZvcm1hdCA9IDExO1xuVGV4dHVyZS5BbHBoYUZvcm1hdCA9IDEyO1xuVGV4dHVyZS5SZ2JGb3JtYXQgPSAxMztcblxuVGV4dHVyZS5kZWZhdWx0T3B0aW9ucyA9IHtcbiAgICBtYWdGaWx0ZXI6IFRleHR1cmUuTGluZWFyRmlsdGVyLFxuICAgIG1pbkZpbHRlcjogVGV4dHVyZS5MaW5lYXJNaXBNYXBMaW5lYXJGaWx0ZXIsXG4gICAgd3JhcFM6IFRleHR1cmUuQ2xhbXBUb0VkZ2VXcmFwcGluZyxcbiAgICB3cmFwVDogVGV4dHVyZS5DbGFtcFRvRWRnZVdyYXBwaW5nLFxuICAgIGZvcm1hdDogVGV4dHVyZS5SZ2JhRm9ybWF0LFxuICAgIGdlbmVyYXRlTWlwbWFwczogdHJ1ZSxcbiAgICBmbGlwWTogdHJ1ZSxcbiAgICBwcmVtdWx0aXBseUFscGhhOiB0cnVlLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVGV4dHVyZTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7VGV4dHVyZS5OZWFyZXN0RmlsdGVyIHwgVGV4dHVyZS5OZWFyZXN0TWlwTWFwTmVhcmVzdEZpbHRlciB8XG4gKiBUZXh0dXJlLk5lYXJlc3RNaXBNYXBMaW5lYXJGaWx0ZXIgfCBUZXh0dXJlLkxpbmVhckZpbHRlciB8XG4gKiBUZXh0dXJlLkxpbmVhck1pcE1hcE5lYXJlc3RGaWx0ZXIgfCBUZXh0dXJlLkxpbmVhck1pcE1hcExpbmVhckZpbHRlcn0gVGV4dHVyZUZpbHRlclxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge1RleHR1cmUuQ2xhbXBUb0VkZ2VXcmFwcGluZ30gVGV4dHVyZUNsYW1wXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7VGV4dHVyZS5SZ2JhRm9ybWF0IHwgVGV4dHVyZS5BbHBoYUZvcm1hdH0gVGV4dHVyZUZvcm1hdFxuICovXG5cbi8qKlxuICog0J/QsNGA0LDQvNC10YLRgNGLINGB0LLRj9C30YvQstCw0L3QuNGPINGC0LXQutGB0YLRg9GA0YtcbiAqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBUZXh0dXJlT3B0aW9uc1xuICogQHByb3BlcnR5IHtUZXh0dXJlRmlsdGVyfSBtYWdGaWx0ZXJcbiAqIEBwcm9wZXJ0eSB7VGV4dHVyZUZpbHRlcn0gbWluRmlsdGVyXG4gKiBAcHJvcGVydHkge1RleHR1cmVDbGFtcH0gd3JhcFNcbiAqIEBwcm9wZXJ0eSB7VGV4dHVyZUNsYW1wfSB3cmFwVFxuICogQHByb3BlcnR5IHtUZXh0dXJlRm9ybWF0fSBmb3JtYXRcbiAqIEBwcm9wZXJ0eSB7Qm9vbGVhbn0gZ2VuZXJhdGVNaXBtYXBzXG4gKiBAcHJvcGVydHkge0Jvb2xlYW59IGZsaXBZXG4gKiBAcHJvcGVydHkge0Jvb2xlYW59IHByZW11bHRpcGx5QWxwaGFcbiAqIEBwcm9wZXJ0eSB7P051bWJlcltdfSBzaXplXG4gKiBAcHJvcGVydHkgez9OdW1iZXJ9IHVuaXRcbiAqL1xuIl19 |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
1897121
7848
1