@apache-arrow/esnext-esm
Advanced tools
Comparing version 0.0.3 to 0.0.4
@@ -17,9 +17,10 @@ // Licensed to the Apache Software Foundation (ASF) under one | ||
// under the License. | ||
import { Vector as Vector_ } from './vectors/vector'; | ||
import { StructVector as StructVector_ } from './vectors/struct'; | ||
import { DictionaryVector as DictionaryVector_ } from './vectors/dictionary'; | ||
import { ListVector as ListVector_, Utf8Vector as Utf8Vector_, FixedSizeListVector as FixedSizeListVector_ } from './vectors/list'; | ||
import { TypedVector as TypedVector_, ValidityVector as ValidityVector_, DateVector as DateVector_, IndexVector as IndexVector_, Int8Vector as Int8Vector_, Int16Vector as Int16Vector_, Int32Vector as Int32Vector_, Int64Vector as Int64Vector_, Uint8Vector as Uint8Vector_, Uint16Vector as Uint16Vector_, Uint32Vector as Uint32Vector_, Uint64Vector as Uint64Vector_, Float32Vector as Float32Vector_, Float64Vector as Float64Vector_, } from './vectors/typed'; | ||
import { Vector as Vector_ } from './vector/vector'; | ||
import { StructVector as StructVector_ } from './vector/struct'; | ||
import { DictionaryVector as DictionaryVector_ } from './vector/dictionary'; | ||
import { ListVector as ListVector_, Utf8Vector as Utf8Vector_, FixedSizeListVector as FixedSizeListVector_ } from './vector/list'; | ||
import { TypedVector as TypedVector_, BitVector as BitVector_, DateVector as DateVector_, IndexVector as IndexVector_, Int8Vector as Int8Vector_, Int16Vector as Int16Vector_, Int32Vector as Int32Vector_, Int64Vector as Int64Vector_, Uint8Vector as Uint8Vector_, Uint16Vector as Uint16Vector_, Uint32Vector as Uint32Vector_, Uint64Vector as Uint64Vector_, Float32Vector as Float32Vector_, Float64Vector as Float64Vector_, } from './vector/typed'; | ||
export const vectors = { | ||
Vector: Vector_, | ||
BitVector: BitVector_, | ||
ListVector: ListVector_, | ||
@@ -41,3 +42,2 @@ Utf8Vector: Utf8Vector_, | ||
StructVector: StructVector_, | ||
ValidityVector: ValidityVector_, | ||
DictionaryVector: DictionaryVector_, | ||
@@ -53,2 +53,3 @@ FixedSizeListVector: FixedSizeListVector_, | ||
Arrow['vectors']['Vector'] = Vector_; | ||
Arrow['vectors']['BitVector'] = BitVector_; | ||
Arrow['vectors']['ListVector'] = ListVector_; | ||
@@ -69,3 +70,2 @@ Arrow['vectors']['Utf8Vector'] = Utf8Vector_; | ||
Arrow['vectors']['StructVector'] = StructVector_; | ||
Arrow['vectors']['ValidityVector'] = ValidityVector_; | ||
Arrow['vectors']['DictionaryVector'] = DictionaryVector_; | ||
@@ -78,2 +78,2 @@ Arrow['vectors']['FixedSizeListVector'] = FixedSizeListVector_; | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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dGVudCI6WyIvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lXG4vLyBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGVcbi8vIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uXG4vLyByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlXG4vLyB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlXG4vLyBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbi8vIHdpdGggdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbi8vXG4vLyAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuLy9cbi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZyxcbi8vIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuXG4vLyBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxuLy8gS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlXG4vLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zXG4vLyB1bmRlciB0aGUgTGljZW5zZS5cblxuaW1wb3J0IHsgVmVjdG9yIGFzIFZlY3Rvcl8gfSBmcm9tICcuL3ZlY3RvcnMvdmVjdG9yJztcbmltcG9ydCB7IFN0cnVjdFZlY3RvciBhcyBTdHJ1Y3RWZWN0b3JfIH0gZnJvbSAnLi92ZWN0b3JzL3N0cnVjdCc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5VmVjdG9yIGFzIERpY3Rpb25hcnlWZWN0b3JfIH0gZnJvbSAnLi92ZWN0b3JzL2RpY3Rpb25hcnknO1xuaW1wb3J0IHsgTGlzdFZlY3RvciBhcyBMaXN0VmVjdG9yXywgVXRmOFZlY3RvciBhcyBVdGY4VmVjdG9yXywgRml4ZWRTaXplTGlzdFZlY3RvciBhcyBGaXhlZFNpemVMaXN0VmVjdG9yXyB9IGZyb20gJy4vdmVjdG9ycy9saXN0JztcbmltcG9ydCB7XG4gICAgVHlwZWRWZWN0b3IgYXMgVHlwZWRWZWN0b3JfLCBWYWxpZGl0eVZlY3RvciBhcyBWYWxpZGl0eVZlY3Rvcl8sXG4gICAgRGF0ZVZlY3RvciBhcyBEYXRlVmVjdG9yXywgSW5kZXhWZWN0b3IgYXMgSW5kZXhWZWN0b3JfLFxuICAgIEludDhWZWN0b3IgYXMgSW50OFZlY3Rvcl8sIEludDE2VmVjdG9yIGFzIEludDE2VmVjdG9yXyxcbiAgICBJbnQzMlZlY3RvciBhcyBJbnQzMlZlY3Rvcl8sIEludDY0VmVjdG9yIGFzIEludDY0VmVjdG9yXyxcbiAgICBVaW50OFZlY3RvciBhcyBVaW50OFZlY3Rvcl8sIFVpbnQxNlZlY3RvciBhcyBVaW50MTZWZWN0b3JfLFxuICAgIFVpbnQzMlZlY3RvciBhcyBVaW50MzJWZWN0b3JfLCBVaW50NjRWZWN0b3IgYXMgVWludDY0VmVjdG9yXyxcbiAgICBGbG9hdDMyVmVjdG9yIGFzIEZsb2F0MzJWZWN0b3JfLCBGbG9hdDY0VmVjdG9yIGFzIEZsb2F0NjRWZWN0b3JfLFxufSBmcm9tICcuL3ZlY3RvcnMvdHlwZWQnO1xuXG5leHBvcnQgY29uc3QgdmVjdG9ycyA9IHtcbiAgICBWZWN0b3I6IFZlY3Rvcl8sXG4gICAgTGlzdFZlY3RvcjogTGlzdFZlY3Rvcl8sXG4gICAgVXRmOFZlY3RvcjogVXRmOFZlY3Rvcl8sXG4gICAgRGF0ZVZlY3RvcjogRGF0ZVZlY3Rvcl8sXG4gICAgSW5kZXhWZWN0b3I6IEluZGV4VmVjdG9yXyxcbiAgICBUeXBlZFZlY3RvcjogVHlwZWRWZWN0b3JfLFxuICAgIEludDhWZWN0b3I6IEludDhWZWN0b3JfLFxuICAgIEludDE2VmVjdG9yOiBJbnQxNlZlY3Rvcl8sXG4gICAgSW50MzJWZWN0b3I6IEludDMyVmVjdG9yXyxcbiAgICBJbnQ2NFZlY3RvcjogSW50NjRWZWN0b3JfLFxuICAgIFVpbnQ4VmVjdG9yOiBVaW50OFZlY3Rvcl8sXG4gICAgVWludDE2VmVjdG9yOiBVaW50MTZWZWN0b3JfLFxuICAgIFVpbnQzMlZlY3RvcjogVWludDMyVmVjdG9yXyxcbiAgICBVaW50NjRWZWN0b3I6IFVpbnQ2NFZlY3Rvcl8sXG4gICAgRmxvYXQzMlZlY3RvcjogRmxvYXQzMlZlY3Rvcl8sXG4gICAgRmxvYXQ2NFZlY3RvcjogRmxvYXQ2NFZlY3Rvcl8sXG4gICAgU3RydWN0VmVjdG9yOiBTdHJ1Y3RWZWN0b3JfLFxuICAgIFZhbGlkaXR5VmVjdG9yOiBWYWxpZGl0eVZlY3Rvcl8sXG4gICAgRGljdGlvbmFyeVZlY3RvcjogRGljdGlvbmFyeVZlY3Rvcl8sXG4gICAgRml4ZWRTaXplTGlzdFZlY3RvcjogRml4ZWRTaXplTGlzdFZlY3Rvcl8sXG59O1xuXG5leHBvcnQgbmFtZXNwYWNlIHZlY3RvcnMge1xuICAgIGV4cG9ydCB0eXBlIFZlY3RvcjxUPiA9ICBWZWN0b3JfPFQ+O1xuICAgIGV4cG9ydCB0eXBlIExpc3RWZWN0b3I8VD4gPSAgTGlzdFZlY3Rvcl88VD47XG4gICAgZXhwb3J0IHR5cGUgVXRmOFZlY3RvciA9ICBVdGY4VmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBEYXRlVmVjdG9yID0gIERhdGVWZWN0b3JfO1xuICAgIGV4cG9ydCB0eXBlIEluZGV4VmVjdG9yID0gIEluZGV4VmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBJbnQ4VmVjdG9yID0gIEludDhWZWN0b3JfO1xuICAgIGV4cG9ydCB0eXBlIEludDE2VmVjdG9yID0gIEludDE2VmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBJbnQzMlZlY3RvciA9ICBJbnQzMlZlY3Rvcl87XG4gICAgZXhwb3J0IHR5cGUgSW50NjRWZWN0b3IgPSAgSW50NjRWZWN0b3JfO1xuICAgIGV4cG9ydCB0eXBlIFVpbnQ4VmVjdG9yID0gIFVpbnQ4VmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBVaW50MTZWZWN0b3IgPSAgVWludDE2VmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBVaW50MzJWZWN0b3IgPSAgVWludDMyVmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBVaW50NjRWZWN0b3IgPSAgVWludDY0VmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBGbG9hdDMyVmVjdG9yID0gIEZsb2F0MzJWZWN0b3JfO1xuICAgIGV4cG9ydCB0eXBlIEZsb2F0NjRWZWN0b3IgPSAgRmxvYXQ2NFZlY3Rvcl87XG4gICAgZXhwb3J0IHR5cGUgU3RydWN0VmVjdG9yID0gIFN0cnVjdFZlY3Rvcl87XG4gICAgZXhwb3J0IHR5cGUgVmFsaWRpdHlWZWN0b3IgPSAgVmFsaWRpdHlWZWN0b3JfO1xuICAgIGV4cG9ydCB0eXBlIERpY3Rpb25hcnlWZWN0b3I8VD4gPSAgRGljdGlvbmFyeVZlY3Rvcl88VD47XG4gICAgZXhwb3J0IHR5cGUgRml4ZWRTaXplTGlzdFZlY3RvcjxUPiA9ICBGaXhlZFNpemVMaXN0VmVjdG9yXzxUPjtcbiAgICBleHBvcnQgdHlwZSBUeXBlZFZlY3RvcjxULCBUQXJyYXk+ID0gIFR5cGVkVmVjdG9yXzxULCBUQXJyYXk+O1xufVxuXG4vKiBUaGVzZSBleHBvcnRzIGFyZSBuZWVkZWQgZm9yIHRoZSBjbG9zdXJlIHVtZCB0YXJnZXRzICovXG50cnkge1xuICAgIGNvbnN0IEFycm93ID0gZXZhbCgnZXhwb3J0cycpO1xuICAgIGlmICh0eXBlb2YgQXJyb3cgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIC8vIHN0cmluZyBpbmRleGVycyB0ZWxsIGNsb3N1cmUgY29tcGlsZXIgbm90IHRvIHJlbmFtZSB0aGVzZSBwcm9wZXJ0aWVzXG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ10gPSB7fTtcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnVmVjdG9yJ10gPSBWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydMaXN0VmVjdG9yJ10gPSBMaXN0VmVjdG9yXztcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnVXRmOFZlY3RvciddID0gVXRmOFZlY3Rvcl87XG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ11bJ0RhdGVWZWN0b3InXSA9IERhdGVWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydJbmRleFZlY3RvciddID0gSW5kZXhWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydJbnQ4VmVjdG9yJ10gPSBJbnQ4VmVjdG9yXztcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnSW50MTZWZWN0b3InXSA9IEludDE2VmVjdG9yXztcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnSW50MzJWZWN0b3InXSA9IEludDMyVmVjdG9yXztcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnSW50NjRWZWN0b3InXSA9IEludDY0VmVjdG9yXztcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnVWludDhWZWN0b3InXSA9IFVpbnQ4VmVjdG9yXztcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnVWludDE2VmVjdG9yJ10gPSBVaW50MTZWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydVaW50MzJWZWN0b3InXSA9IFVpbnQzMlZlY3Rvcl87XG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ11bJ1VpbnQ2NFZlY3RvciddID0gVWludDY0VmVjdG9yXztcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnRmxvYXQzMlZlY3RvciddID0gRmxvYXQzMlZlY3Rvcl87XG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ11bJ0Zsb2F0NjRWZWN0b3InXSA9IEZsb2F0NjRWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydTdHJ1Y3RWZWN0b3InXSA9IFN0cnVjdFZlY3Rvcl87XG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ11bJ1ZhbGlkaXR5VmVjdG9yJ10gPSBWYWxpZGl0eVZlY3Rvcl87XG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ11bJ0RpY3Rpb25hcnlWZWN0b3InXSA9IERpY3Rpb25hcnlWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydGaXhlZFNpemVMaXN0VmVjdG9yJ10gPSBGaXhlZFNpemVMaXN0VmVjdG9yXztcbiAgICB9XG59IGNhdGNoIChlKSB7IC8qIG5vdCB0aGUgVU1EIGJ1bmRsZSAqLyB9XG4vKiogZW5kIGNsb3N1cmUgZXhwb3J0cyAqL1xuIl19 | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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IjpbIi8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmVcbi8vIG9yIG1vcmUgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZVxuLy8gZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25cbi8vIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGVcbi8vIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGVcbi8vIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuLy8gd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4vL1xuLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLFxuLy8gc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW5cbi8vIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXG4vLyBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGVcbi8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnNcbi8vIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG5pbXBvcnQgeyBWZWN0b3IgYXMgVmVjdG9yXyB9IGZyb20gJy4vdmVjdG9yL3ZlY3Rvcic7XG5pbXBvcnQgeyBTdHJ1Y3RWZWN0b3IgYXMgU3RydWN0VmVjdG9yXyB9IGZyb20gJy4vdmVjdG9yL3N0cnVjdCc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5VmVjdG9yIGFzIERpY3Rpb25hcnlWZWN0b3JfIH0gZnJvbSAnLi92ZWN0b3IvZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBMaXN0VmVjdG9yIGFzIExpc3RWZWN0b3JfLCBVdGY4VmVjdG9yIGFzIFV0ZjhWZWN0b3JfLCBGaXhlZFNpemVMaXN0VmVjdG9yIGFzIEZpeGVkU2l6ZUxpc3RWZWN0b3JfIH0gZnJvbSAnLi92ZWN0b3IvbGlzdCc7XG5pbXBvcnQge1xuICAgIFR5cGVkVmVjdG9yIGFzIFR5cGVkVmVjdG9yXywgQml0VmVjdG9yIGFzIEJpdFZlY3Rvcl8sXG4gICAgRGF0ZVZlY3RvciBhcyBEYXRlVmVjdG9yXywgSW5kZXhWZWN0b3IgYXMgSW5kZXhWZWN0b3JfLFxuICAgIEludDhWZWN0b3IgYXMgSW50OFZlY3Rvcl8sIEludDE2VmVjdG9yIGFzIEludDE2VmVjdG9yXyxcbiAgICBJbnQzMlZlY3RvciBhcyBJbnQzMlZlY3Rvcl8sIEludDY0VmVjdG9yIGFzIEludDY0VmVjdG9yXyxcbiAgICBVaW50OFZlY3RvciBhcyBVaW50OFZlY3Rvcl8sIFVpbnQxNlZlY3RvciBhcyBVaW50MTZWZWN0b3JfLFxuICAgIFVpbnQzMlZlY3RvciBhcyBVaW50MzJWZWN0b3JfLCBVaW50NjRWZWN0b3IgYXMgVWludDY0VmVjdG9yXyxcbiAgICBGbG9hdDMyVmVjdG9yIGFzIEZsb2F0MzJWZWN0b3JfLCBGbG9hdDY0VmVjdG9yIGFzIEZsb2F0NjRWZWN0b3JfLFxufSBmcm9tICcuL3ZlY3Rvci90eXBlZCc7XG5cbmV4cG9ydCBjb25zdCB2ZWN0b3JzID0ge1xuICAgIFZlY3RvcjogVmVjdG9yXyxcbiAgICBCaXRWZWN0b3I6IEJpdFZlY3Rvcl8sXG4gICAgTGlzdFZlY3RvcjogTGlzdFZlY3Rvcl8sXG4gICAgVXRmOFZlY3RvcjogVXRmOFZlY3Rvcl8sXG4gICAgRGF0ZVZlY3RvcjogRGF0ZVZlY3Rvcl8sXG4gICAgSW5kZXhWZWN0b3I6IEluZGV4VmVjdG9yXyxcbiAgICBUeXBlZFZlY3RvcjogVHlwZWRWZWN0b3JfLFxuICAgIEludDhWZWN0b3I6IEludDhWZWN0b3JfLFxuICAgIEludDE2VmVjdG9yOiBJbnQxNlZlY3Rvcl8sXG4gICAgSW50MzJWZWN0b3I6IEludDMyVmVjdG9yXyxcbiAgICBJbnQ2NFZlY3RvcjogSW50NjRWZWN0b3JfLFxuICAgIFVpbnQ4VmVjdG9yOiBVaW50OFZlY3Rvcl8sXG4gICAgVWludDE2VmVjdG9yOiBVaW50MTZWZWN0b3JfLFxuICAgIFVpbnQzMlZlY3RvcjogVWludDMyVmVjdG9yXyxcbiAgICBVaW50NjRWZWN0b3I6IFVpbnQ2NFZlY3Rvcl8sXG4gICAgRmxvYXQzMlZlY3RvcjogRmxvYXQzMlZlY3Rvcl8sXG4gICAgRmxvYXQ2NFZlY3RvcjogRmxvYXQ2NFZlY3Rvcl8sXG4gICAgU3RydWN0VmVjdG9yOiBTdHJ1Y3RWZWN0b3JfLFxuICAgIERpY3Rpb25hcnlWZWN0b3I6IERpY3Rpb25hcnlWZWN0b3JfLFxuICAgIEZpeGVkU2l6ZUxpc3RWZWN0b3I6IEZpeGVkU2l6ZUxpc3RWZWN0b3JfLFxufTtcblxuZXhwb3J0IG5hbWVzcGFjZSB2ZWN0b3JzIHtcbiAgICBleHBvcnQgdHlwZSBWZWN0b3I8VD4gPSAgVmVjdG9yXzxUPjtcbiAgICBleHBvcnQgdHlwZSBCaXRWZWN0b3IgPSAgQml0VmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBMaXN0VmVjdG9yPFQ+ID0gIExpc3RWZWN0b3JfPFQ+O1xuICAgIGV4cG9ydCB0eXBlIFV0ZjhWZWN0b3IgPSAgVXRmOFZlY3Rvcl87XG4gICAgZXhwb3J0IHR5cGUgRGF0ZVZlY3RvciA9ICBEYXRlVmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBJbmRleFZlY3RvciA9ICBJbmRleFZlY3Rvcl87XG4gICAgZXhwb3J0IHR5cGUgSW50OFZlY3RvciA9ICBJbnQ4VmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBJbnQxNlZlY3RvciA9ICBJbnQxNlZlY3Rvcl87XG4gICAgZXhwb3J0IHR5cGUgSW50MzJWZWN0b3IgPSAgSW50MzJWZWN0b3JfO1xuICAgIGV4cG9ydCB0eXBlIEludDY0VmVjdG9yID0gIEludDY0VmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBVaW50OFZlY3RvciA9ICBVaW50OFZlY3Rvcl87XG4gICAgZXhwb3J0IHR5cGUgVWludDE2VmVjdG9yID0gIFVpbnQxNlZlY3Rvcl87XG4gICAgZXhwb3J0IHR5cGUgVWludDMyVmVjdG9yID0gIFVpbnQzMlZlY3Rvcl87XG4gICAgZXhwb3J0IHR5cGUgVWludDY0VmVjdG9yID0gIFVpbnQ2NFZlY3Rvcl87XG4gICAgZXhwb3J0IHR5cGUgRmxvYXQzMlZlY3RvciA9ICBGbG9hdDMyVmVjdG9yXztcbiAgICBleHBvcnQgdHlwZSBGbG9hdDY0VmVjdG9yID0gIEZsb2F0NjRWZWN0b3JfO1xuICAgIGV4cG9ydCB0eXBlIFN0cnVjdFZlY3RvciA9ICBTdHJ1Y3RWZWN0b3JfO1xuICAgIGV4cG9ydCB0eXBlIERpY3Rpb25hcnlWZWN0b3I8VD4gPSAgRGljdGlvbmFyeVZlY3Rvcl88VD47XG4gICAgZXhwb3J0IHR5cGUgRml4ZWRTaXplTGlzdFZlY3RvcjxUPiA9ICBGaXhlZFNpemVMaXN0VmVjdG9yXzxUPjtcbiAgICBleHBvcnQgdHlwZSBUeXBlZFZlY3RvcjxULCBUQXJyYXk+ID0gIFR5cGVkVmVjdG9yXzxULCBUQXJyYXk+O1xufVxuXG4vKiBUaGVzZSBleHBvcnRzIGFyZSBuZWVkZWQgZm9yIHRoZSBjbG9zdXJlIHVtZCB0YXJnZXRzICovXG50cnkge1xuICAgIGNvbnN0IEFycm93ID0gZXZhbCgnZXhwb3J0cycpO1xuICAgIGlmICh0eXBlb2YgQXJyb3cgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIC8vIHN0cmluZyBpbmRleGVycyB0ZWxsIGNsb3N1cmUgY29tcGlsZXIgbm90IHRvIHJlbmFtZSB0aGVzZSBwcm9wZXJ0aWVzXG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ10gPSB7fTtcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnVmVjdG9yJ10gPSBWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydCaXRWZWN0b3InXSA9IEJpdFZlY3Rvcl87XG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ11bJ0xpc3RWZWN0b3InXSA9IExpc3RWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydVdGY4VmVjdG9yJ10gPSBVdGY4VmVjdG9yXztcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnRGF0ZVZlY3RvciddID0gRGF0ZVZlY3Rvcl87XG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ11bJ0luZGV4VmVjdG9yJ10gPSBJbmRleFZlY3Rvcl87XG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ11bJ0ludDhWZWN0b3InXSA9IEludDhWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydJbnQxNlZlY3RvciddID0gSW50MTZWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydJbnQzMlZlY3RvciddID0gSW50MzJWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydJbnQ2NFZlY3RvciddID0gSW50NjRWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydVaW50OFZlY3RvciddID0gVWludDhWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydVaW50MTZWZWN0b3InXSA9IFVpbnQxNlZlY3Rvcl87XG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ11bJ1VpbnQzMlZlY3RvciddID0gVWludDMyVmVjdG9yXztcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnVWludDY0VmVjdG9yJ10gPSBVaW50NjRWZWN0b3JfO1xuICAgICAgICBBcnJvd1sndmVjdG9ycyddWydGbG9hdDMyVmVjdG9yJ10gPSBGbG9hdDMyVmVjdG9yXztcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnRmxvYXQ2NFZlY3RvciddID0gRmxvYXQ2NFZlY3Rvcl87XG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ11bJ1N0cnVjdFZlY3RvciddID0gU3RydWN0VmVjdG9yXztcbiAgICAgICAgQXJyb3dbJ3ZlY3RvcnMnXVsnRGljdGlvbmFyeVZlY3RvciddID0gRGljdGlvbmFyeVZlY3Rvcl87XG4gICAgICAgIEFycm93Wyd2ZWN0b3JzJ11bJ0ZpeGVkU2l6ZUxpc3RWZWN0b3InXSA9IEZpeGVkU2l6ZUxpc3RWZWN0b3JfO1xuICAgIH1cbn0gY2F0Y2ggKGUpIHsgLyogbm90IHRoZSBVTUQgYnVuZGxlICovIH1cbi8qKiBlbmQgY2xvc3VyZSBleHBvcnRzICovXG4iXX0= |
@@ -6,4 +6,4 @@ # Change Log | ||
<a name="0.0.3"></a> | ||
## 0.0.3 (2017-08-16) | ||
<a name="0.0.4"></a> | ||
## 0.0.4 (2017-08-23) | ||
@@ -13,4 +13,4 @@ | ||
<a name="0.0.2"></a> | ||
## 0.0.2 (2017-08-15) | ||
<a name="0.0.3"></a> | ||
## 0.0.3 (2017-08-16) | ||
@@ -17,0 +17,0 @@ |
{ | ||
"main": "Arrow.js", | ||
"typings": "Arrow.d.ts", | ||
"name": "@apache-arrow/esnext-esm", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "Apache's columnar in-memory data format for big data analytics", | ||
@@ -16,3 +17,2 @@ "author": "Graphistry, Inc.", | ||
], | ||
"typings": "./types/Arrow.d.ts", | ||
"repository": { | ||
@@ -19,0 +19,0 @@ "type": "git", |
@@ -74,2 +74,2 @@ // Licensed to the Apache Software Foundation (ASF) under one | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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LENBQUMsSUFBSSxNQUFNLENBQUM7Z0JBQ3JGLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osT0FBTyxFQUFFLEtBQUssR0FBRyxZQUFZLEVBQUUsQ0FBQztnQkFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDbEYsQ0FBQztZQUNELE1BQU0sT0FBTyxDQUFDO1FBQ2xCLENBQUM7SUFDTCxDQUFDO0FBQ0wsQ0FBQztBQUVELHNCQUFzQixLQUFvQztJQUN0RCxJQUFJLEdBQUcsR0FBZSxLQUFZLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsRUFBRSxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1QixHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQzFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMvQixDQUFDIiwiZmlsZSI6InJlYWRlci9hcnJvdy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmVcbi8vIG9yIG1vcmUgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZVxuLy8gZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25cbi8vIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGVcbi8vIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGVcbi8vIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuLy8gd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4vL1xuLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLFxuLy8gc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW5cbi8vIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXG4vLyBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGVcbi8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnNcbi8vIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG5pbXBvcnQgeyBmbGF0YnVmZmVycyB9IGZyb20gJ2ZsYXRidWZmZXJzJztcbmltcG9ydCAqIGFzIFNjaGVtYV8gZnJvbSAnLi4vZm9ybWF0L1NjaGVtYSc7XG5pbXBvcnQgKiBhcyBNZXNzYWdlXyBmcm9tICcuLi9mb3JtYXQvTWVzc2FnZSc7XG5cbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSAnLi9maWxlJztcbmltcG9ydCB7IHJlYWRTdHJlYW0gfSBmcm9tICcuL3N0cmVhbSc7XG5pbXBvcnQgeyByZWFkVmVjdG9yIH0gZnJvbSAnLi92ZWN0b3InO1xuaW1wb3J0IHsgVmVjdG9yIH0gZnJvbSAnLi4vdmVjdG9ycy92ZWN0b3InO1xuaW1wb3J0IHsgcmVhZERpY3Rpb25hcmllcyB9IGZyb20gJy4vZGljdGlvbmFyeSc7XG5cbmltcG9ydCBCeXRlQnVmZmVyID0gZmxhdGJ1ZmZlcnMuQnl0ZUJ1ZmZlcjtcbmV4cG9ydCBpbXBvcnQgU2NoZW1hID0gU2NoZW1hXy5vcmcuYXBhY2hlLmFycm93LmZsYXRidWYuU2NoZW1hO1xuZXhwb3J0IGltcG9ydCBSZWNvcmRCYXRjaCA9IE1lc3NhZ2VfLm9yZy5hcGFjaGUuYXJyb3cuZmxhdGJ1Zi5SZWNvcmRCYXRjaDtcbmV4cG9ydCB0eXBlIERpY3Rpb25hcmllcyA9IHsgW2s6IHN0cmluZ106IFZlY3Rvcjxhbnk+IH07XG5leHBvcnQgdHlwZSBJdGVyYXRvclN0YXRlID0geyBub2RlSW5kZXg6IG51bWJlcjsgYnVmZmVySW5kZXg6IG51bWJlciB9O1xuXG5leHBvcnQgZnVuY3Rpb24qIHJlYWRSZWNvcmRzKC4uLmJ5dGVzOiBCeXRlQnVmZmVyW10pIHtcbiAgICB0cnkge1xuICAgICAgICB5aWVsZCogcmVhZEZpbGUoLi4uYnl0ZXMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHlpZWxkKiByZWFkU3RyZWFtKC4uLmJ5dGVzKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIEFycm93IGJ1ZmZlcicpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIHJlYWRCdWZmZXJzKC4uLmJ5dGVzOiBBcnJheTxVaW50OEFycmF5IHwgQnVmZmVyIHwgc3RyaW5nPikge1xuICAgIGNvbnN0IGRpY3Rpb25hcmllczogRGljdGlvbmFyaWVzID0ge307XG4gICAgY29uc3QgYnl0ZUJ1ZmZlcnMgPSBieXRlcy5tYXAodG9CeXRlQnVmZmVyKTtcbiAgICBmb3IgKGxldCB7IHNjaGVtYSwgYmF0Y2ggfSBvZiByZWFkUmVjb3JkcyguLi5ieXRlQnVmZmVycykpIHtcbiAgICAgICAgbGV0IHZlY3RvcnM6IFZlY3Rvcjxhbnk+W10gPSBbXTtcbiAgICAgICAgbGV0IHN0YXRlID0geyBub2RlSW5kZXg6IDAsIGJ1ZmZlckluZGV4OiAwIH07XG4gICAgICAgIGxldCBpbmRleCA9IC0xLCBmaWVsZHNMZW5ndGggPSBzY2hlbWEuZmllbGRzTGVuZ3RoKCk7XG4gICAgICAgIGlmIChiYXRjaC5pZCkge1xuICAgICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBmaWVsZHNMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBbaWQsIHZlY3Rvcl0gb2YgcmVhZERpY3Rpb25hcmllcyhzY2hlbWEuZmllbGRzKGluZGV4KSwgYmF0Y2gsIHN0YXRlLCBkaWN0aW9uYXJpZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpY3Rpb25hcmllc1tpZF0gPSBkaWN0aW9uYXJpZXNbaWRdICYmIGRpY3Rpb25hcmllc1tpZF0uY29uY2F0KHZlY3RvcikgfHwgdmVjdG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdoaWxlICgrK2luZGV4IDwgZmllbGRzTGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdmVjdG9yc1tpbmRleF0gPSByZWFkVmVjdG9yKHNjaGVtYS5maWVsZHMoaW5kZXgpLCBiYXRjaCwgc3RhdGUsIGRpY3Rpb25hcmllcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB5aWVsZCB2ZWN0b3JzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiB0b0J5dGVCdWZmZXIoYnl0ZXM/OiBVaW50OEFycmF5IHwgQnVmZmVyIHwgc3RyaW5nKSB7XG4gICAgbGV0IGFycjogVWludDhBcnJheSA9IGJ5dGVzIGFzIGFueSB8fCBuZXcgVWludDhBcnJheSgwKTtcbiAgICBpZiAodHlwZW9mIGJ5dGVzID09PSAnc3RyaW5nJykge1xuICAgICAgICBhcnIgPSBuZXcgVWludDhBcnJheShieXRlcy5sZW5ndGgpO1xuICAgICAgICBmb3IgKGxldCBpID0gLTEsIG4gPSBieXRlcy5sZW5ndGg7ICsraSA8IG47KSB7XG4gICAgICAgICAgICBhcnJbaV0gPSBieXRlcy5jaGFyQ29kZUF0KGkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgQnl0ZUJ1ZmZlcihhcnIpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEJ5dGVCdWZmZXIoYXJyKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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LENBQUMsSUFBSSxNQUFNLENBQUM7Z0JBQ3JGLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osT0FBTyxFQUFFLEtBQUssR0FBRyxZQUFZLEVBQUUsQ0FBQztnQkFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDbEYsQ0FBQztZQUNELE1BQU0sT0FBTyxDQUFDO1FBQ2xCLENBQUM7SUFDTCxDQUFDO0FBQ0wsQ0FBQztBQUVELHNCQUFzQixLQUFvQztJQUN0RCxJQUFJLEdBQUcsR0FBZSxLQUFZLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsRUFBRSxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1QixHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQzFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMvQixDQUFDIiwiZmlsZSI6InJlYWRlci9hcnJvdy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmVcbi8vIG9yIG1vcmUgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZVxuLy8gZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25cbi8vIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGVcbi8vIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGVcbi8vIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuLy8gd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4vL1xuLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLFxuLy8gc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW5cbi8vIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXG4vLyBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGVcbi8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnNcbi8vIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG5pbXBvcnQgeyBmbGF0YnVmZmVycyB9IGZyb20gJ2ZsYXRidWZmZXJzJztcbmltcG9ydCAqIGFzIFNjaGVtYV8gZnJvbSAnLi4vZm9ybWF0L1NjaGVtYSc7XG5pbXBvcnQgKiBhcyBNZXNzYWdlXyBmcm9tICcuLi9mb3JtYXQvTWVzc2FnZSc7XG5cbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSAnLi9maWxlJztcbmltcG9ydCB7IHJlYWRTdHJlYW0gfSBmcm9tICcuL3N0cmVhbSc7XG5pbXBvcnQgeyByZWFkVmVjdG9yIH0gZnJvbSAnLi92ZWN0b3InO1xuaW1wb3J0IHsgVmVjdG9yIH0gZnJvbSAnLi4vdmVjdG9yL3ZlY3Rvcic7XG5pbXBvcnQgeyByZWFkRGljdGlvbmFyaWVzIH0gZnJvbSAnLi9kaWN0aW9uYXJ5JztcblxuaW1wb3J0IEJ5dGVCdWZmZXIgPSBmbGF0YnVmZmVycy5CeXRlQnVmZmVyO1xuZXhwb3J0IGltcG9ydCBTY2hlbWEgPSBTY2hlbWFfLm9yZy5hcGFjaGUuYXJyb3cuZmxhdGJ1Zi5TY2hlbWE7XG5leHBvcnQgaW1wb3J0IFJlY29yZEJhdGNoID0gTWVzc2FnZV8ub3JnLmFwYWNoZS5hcnJvdy5mbGF0YnVmLlJlY29yZEJhdGNoO1xuZXhwb3J0IHR5cGUgRGljdGlvbmFyaWVzID0geyBbazogc3RyaW5nXTogVmVjdG9yPGFueT4gfTtcbmV4cG9ydCB0eXBlIEl0ZXJhdG9yU3RhdGUgPSB7IG5vZGVJbmRleDogbnVtYmVyOyBidWZmZXJJbmRleDogbnVtYmVyIH07XG5cbmV4cG9ydCBmdW5jdGlvbiogcmVhZFJlY29yZHMoLi4uYnl0ZXM6IEJ5dGVCdWZmZXJbXSkge1xuICAgIHRyeSB7XG4gICAgICAgIHlpZWxkKiByZWFkRmlsZSguLi5ieXRlcyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgeWllbGQqIHJlYWRTdHJlYW0oLi4uYnl0ZXMpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgQXJyb3cgYnVmZmVyJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogcmVhZEJ1ZmZlcnMoLi4uYnl0ZXM6IEFycmF5PFVpbnQ4QXJyYXkgfCBCdWZmZXIgfCBzdHJpbmc+KSB7XG4gICAgY29uc3QgZGljdGlvbmFyaWVzOiBEaWN0aW9uYXJpZXMgPSB7fTtcbiAgICBjb25zdCBieXRlQnVmZmVycyA9IGJ5dGVzLm1hcCh0b0J5dGVCdWZmZXIpO1xuICAgIGZvciAobGV0IHsgc2NoZW1hLCBiYXRjaCB9IG9mIHJlYWRSZWNvcmRzKC4uLmJ5dGVCdWZmZXJzKSkge1xuICAgICAgICBsZXQgdmVjdG9yczogVmVjdG9yPGFueT5bXSA9IFtdO1xuICAgICAgICBsZXQgc3RhdGUgPSB7IG5vZGVJbmRleDogMCwgYnVmZmVySW5kZXg6IDAgfTtcbiAgICAgICAgbGV0IGluZGV4ID0gLTEsIGZpZWxkc0xlbmd0aCA9IHNjaGVtYS5maWVsZHNMZW5ndGgoKTtcbiAgICAgICAgaWYgKGJhdGNoLmlkKSB7XG4gICAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGZpZWxkc0xlbmd0aCkge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IFtpZCwgdmVjdG9yXSBvZiByZWFkRGljdGlvbmFyaWVzKHNjaGVtYS5maWVsZHMoaW5kZXgpLCBiYXRjaCwgc3RhdGUsIGRpY3Rpb25hcmllcykpIHtcbiAgICAgICAgICAgICAgICAgICAgZGljdGlvbmFyaWVzW2lkXSA9IGRpY3Rpb25hcmllc1tpZF0gJiYgZGljdGlvbmFyaWVzW2lkXS5jb25jYXQodmVjdG9yKSB8fCB2ZWN0b3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd2hpbGUgKCsraW5kZXggPCBmaWVsZHNMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB2ZWN0b3JzW2luZGV4XSA9IHJlYWRWZWN0b3Ioc2NoZW1hLmZpZWxkcyhpbmRleCksIGJhdGNoLCBzdGF0ZSwgZGljdGlvbmFyaWVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHlpZWxkIHZlY3RvcnM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHRvQnl0ZUJ1ZmZlcihieXRlcz86IFVpbnQ4QXJyYXkgfCBCdWZmZXIgfCBzdHJpbmcpIHtcbiAgICBsZXQgYXJyOiBVaW50OEFycmF5ID0gYnl0ZXMgYXMgYW55IHx8IG5ldyBVaW50OEFycmF5KDApO1xuICAgIGlmICh0eXBlb2YgYnl0ZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGFyciA9IG5ldyBVaW50OEFycmF5KGJ5dGVzLmxlbmd0aCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAtMSwgbiA9IGJ5dGVzLmxlbmd0aDsgKytpIDwgbjspIHtcbiAgICAgICAgICAgIGFycltpXSA9IGJ5dGVzLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBCeXRlQnVmZmVyKGFycik7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQnl0ZUJ1ZmZlcihhcnIpO1xufVxuIl19 |
@@ -18,6 +18,6 @@ // Licensed to the Apache Software Foundation (ASF) under one | ||
import * as Schema_ from '../format/Schema'; | ||
import { StructVector } from '../vectors/struct'; | ||
import { DictionaryVector } from '../vectors/dictionary'; | ||
import { Utf8Vector, ListVector, FixedSizeListVector } from '../vectors/list'; | ||
import { Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector, Float32Vector, Float64Vector, IndexVector, DateVector, } from '../vectors/typed'; | ||
import { StructVector } from '../vector/struct'; | ||
import { DictionaryVector } from '../vector/dictionary'; | ||
import { Utf8Vector, ListVector, FixedSizeListVector } from '../vector/list'; | ||
import { Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector, Float32Vector, Float64Vector, IndexVector, DateVector, } from '../vector/typed'; | ||
var Int = Schema_.org.apache.arrow.flatbuf.Int; | ||
@@ -171,2 +171,2 @@ var Type = Schema_.org.apache.arrow.flatbuf.Type; | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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Z0IsRUFBRSxNQUFjLEVBQUUsTUFBYztJQUV2RixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNsQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ3JDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3pDLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLEtBQUssVUFBVSxDQUFDLE1BQU0sSUFBSSxXQUFXLElBQUksU0FBUyxDQUFDLENBQUM7SUFDeEcsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxVQUFVO1VBQ3JELE1BQU07VUFDTixVQUFVLEdBQUcsVUFBVSxDQUM1QixHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCwwQkFBMEIsUUFBZ0IsRUFBRSxNQUFhO0lBQ3JELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDIiwiZmlsZSI6InJlYWRlci92ZWN0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lXG4vLyBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGVcbi8vIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uXG4vLyByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlXG4vLyB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlXG4vLyBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbi8vIHdpdGggdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbi8vXG4vLyAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuLy9cbi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZyxcbi8vIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuXG4vLyBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxuLy8gS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlXG4vLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zXG4vLyB1bmRlciB0aGUgTGljZW5zZS5cblxuaW1wb3J0IHsgTWVzc2FnZUJhdGNoIH0gZnJvbSAnLi9tZXNzYWdlJztcbmltcG9ydCB7IFZlY3RvciB9IGZyb20gJy4uL3ZlY3RvcnMvdmVjdG9yJztcbmltcG9ydCAqIGFzIFNjaGVtYV8gZnJvbSAnLi4vZm9ybWF0L1NjaGVtYSc7XG5pbXBvcnQgeyBTdHJ1Y3RWZWN0b3IgfSBmcm9tICcuLi92ZWN0b3JzL3N0cnVjdCc7XG5pbXBvcnQgeyBJdGVyYXRvclN0YXRlLCBEaWN0aW9uYXJpZXMgfSBmcm9tICcuL2Fycm93JztcbmltcG9ydCB7IERpY3Rpb25hcnlWZWN0b3IgfSBmcm9tICcuLi92ZWN0b3JzL2RpY3Rpb25hcnknO1xuaW1wb3J0IHsgVXRmOFZlY3RvciwgTGlzdFZlY3RvciwgRml4ZWRTaXplTGlzdFZlY3RvciB9IGZyb20gJy4uL3ZlY3RvcnMvbGlzdCc7XG5pbXBvcnQge1xuICAgIFR5cGVkQXJyYXksIFR5cGVkQXJyYXlDdG9yLCBJbnRBcnJheSwgRmxvYXRBcnJheSxcbiAgICBJbnQ4VmVjdG9yLCBJbnQxNlZlY3RvciwgSW50MzJWZWN0b3IsIEludDY0VmVjdG9yLFxuICAgIFVpbnQ4VmVjdG9yLCBVaW50MTZWZWN0b3IsIFVpbnQzMlZlY3RvciwgVWludDY0VmVjdG9yLFxuICAgIEZsb2F0MzJWZWN0b3IsIEZsb2F0NjRWZWN0b3IsIEluZGV4VmVjdG9yLCBEYXRlVmVjdG9yLFxufSBmcm9tICcuLi92ZWN0b3JzL3R5cGVkJztcblxuaW1wb3J0IEludCA9IFNjaGVtYV8ub3JnLmFwYWNoZS5hcnJvdy5mbGF0YnVmLkludDtcbmltcG9ydCBUeXBlID0gU2NoZW1hXy5vcmcuYXBhY2hlLmFycm93LmZsYXRidWYuVHlwZTtcbmltcG9ydCBGaWVsZCA9IFNjaGVtYV8ub3JnLmFwYWNoZS5hcnJvdy5mbGF0YnVmLkZpZWxkO1xuaW1wb3J0IFByZWNpc2lvbiA9IFNjaGVtYV8ub3JnLmFwYWNoZS5hcnJvdy5mbGF0YnVmLlByZWNpc2lvbjtcbmltcG9ydCBWZWN0b3JUeXBlID0gU2NoZW1hXy5vcmcuYXBhY2hlLmFycm93LmZsYXRidWYuVmVjdG9yVHlwZTtcbmltcG9ydCBGaXhlZFNpemVMaXN0ID0gU2NoZW1hXy5vcmcuYXBhY2hlLmFycm93LmZsYXRidWYuRml4ZWRTaXplTGlzdDtcbmltcG9ydCBGbG9hdGluZ1BvaW50ID0gU2NoZW1hXy5vcmcuYXBhY2hlLmFycm93LmZsYXRidWYuRmxvYXRpbmdQb2ludDtcbmltcG9ydCBEaWN0aW9uYXJ5RW5jb2RpbmcgPSBTY2hlbWFfLm9yZy5hcGFjaGUuYXJyb3cuZmxhdGJ1Zi5EaWN0aW9uYXJ5RW5jb2Rpbmc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkVmVjdG9yKGZpZWxkOiBGaWVsZCwgYmF0Y2g6IE1lc3NhZ2VCYXRjaCwgc3RhdGU6IEl0ZXJhdG9yU3RhdGUsIGRpY3Rpb25hcmllczogRGljdGlvbmFyaWVzKSB7XG4gICAgcmV0dXJuIHJlYWREaWN0aW9uYXJ5VmVjdG9yKGZpZWxkLCBiYXRjaCwgc3RhdGUsIGRpY3Rpb25hcmllcykgfHxcbiAgICAgICAgICAgICAgICByZWFkVHlwZWRWZWN0b3IoZmllbGQsIGJhdGNoLCBzdGF0ZSwgZGljdGlvbmFyaWVzKTtcbn1cblxuZnVuY3Rpb24gcmVhZFR5cGVkVmVjdG9yKGZpZWxkOiBGaWVsZCwgYmF0Y2g6IE1lc3NhZ2VCYXRjaCwgaXRlcmF0b3I6IEl0ZXJhdG9yU3RhdGUsIGRpY3Rpb25hcmllczogRGljdGlvbmFyaWVzKSB7XG4gICAgbGV0IHR5cGVUeXBlID0gZmllbGQudHlwZVR5cGUoKSwgcmVhZFR5cGVkID0gdHlwZWRWZWN0b3JSZWFkZXJzW3R5cGVUeXBlXTtcbiAgICBpZiAoIXJlYWRUeXBlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VucmVjb2duaXplZCB2ZWN0b3IgbmFtZSBcIicgKyBUeXBlW3R5cGVUeXBlXSArICdcIiB0eXBlIFwiJyArIHR5cGVUeXBlICsgJ1wiJyk7XG4gICAgfVxuICAgIHJldHVybiByZWFkVHlwZWQoZmllbGQsIGJhdGNoLCBpdGVyYXRvciwgZGljdGlvbmFyaWVzKTtcbn1cblxuZnVuY3Rpb24gcmVhZERpY3Rpb25hcnlWZWN0b3IoZmllbGQ6IEZpZWxkLCBiYXRjaDogTWVzc2FnZUJhdGNoLCBpdGVyYXRvcjogSXRlcmF0b3JTdGF0ZSwgZGljdGlvbmFyaWVzOiBEaWN0aW9uYXJpZXMpIHtcbiAgICBsZXQgZW5jb2Rpbmc6IERpY3Rpb25hcnlFbmNvZGluZztcbiAgICBpZiAoZGljdGlvbmFyaWVzICYmIChlbmNvZGluZyA9IGZpZWxkLmRpY3Rpb25hcnkoKSkpIHtcbiAgICAgICAgbGV0IGlkID0gZW5jb2RpbmcuaWQoKS50b0Zsb2F0NjQoKS50b1N0cmluZygpO1xuICAgICAgICBsZXQgaW5kZXggPSByZWFkSW50VmVjdG9yKGZpZWxkLCBiYXRjaCwgaXRlcmF0b3IsIG51bGwsXG4gICAgICAgICAgICAvKiBhIGRpY3Rpb25hcnkgaW5kZXggZGVmYXVsdHMgdG8gc2lnbmVkIDMyIGJpdCBpbnQgaWYgdW5zcGVjaWZpZWQgKi9cbiAgICAgICAgICAgIGVuY29kaW5nLmluZGV4VHlwZSgpIHx8IHsgYml0V2lkdGg6ICgpID0+IDMyLCBpc1NpZ25lZDogKCkgPT4gdHJ1ZSB9KTtcbiAgICAgICAgcmV0dXJuIERpY3Rpb25hcnlWZWN0b3IuY3JlYXRlKGZpZWxkLCBpbmRleC5sZW5ndGgsIGluZGV4LCBkaWN0aW9uYXJpZXNbaWRdKTtcbiAgICB9XG59XG5cbmNvbnN0IEludFZpZXdzICAgID0gW0ludDhBcnJheSwgICAgSW50MTZBcnJheSwgICBJbnQzMkFycmF5LCAgIEludDMyQXJyYXkgIF07XG5jb25zdCBJbnQzMlZpZXdzICA9IFtJbnQzMkFycmF5LCAgIEludDMyQXJyYXksICAgSW50MzJBcnJheSwgICBJbnQzMkFycmF5ICBdO1xuY29uc3QgVWludFZpZXdzICAgPSBbVWludDhBcnJheSwgICBVaW50MTZBcnJheSwgIFVpbnQzMkFycmF5LCAgVWludDMyQXJyYXkgXTtcbmNvbnN0IFVpbnQ4Vmlld3MgID0gW1VpbnQ4QXJyYXksICAgVWludDhBcnJheSwgICBVaW50OEFycmF5LCAgIFVpbnQ4QXJyYXkgIF07XG5jb25zdCBVaW50MzJWaWV3cyA9IFtVaW50MzJBcnJheSwgIFVpbnQzMkFycmF5LCAgVWludDMyQXJyYXksICBVaW50MzJBcnJheSBdO1xuY29uc3QgRmxvYXRWaWV3cyAgPSBbSW50OEFycmF5LCAgICBJbnQxNkFycmF5LCAgIEZsb2F0MzJBcnJheSwgRmxvYXQ2NEFycmF5XTtcblxuY29uc3QgY3JlYXRlSW50RGF0YVZpZXdzID0gY3JlYXRlRGF0YVZpZXcuYmluZChudWxsLCBJbnRWaWV3cywgbnVsbCk7XG5jb25zdCBjcmVhdGVVaW50RGF0YVZpZXdzID0gY3JlYXRlRGF0YVZpZXcuYmluZChudWxsLCBVaW50Vmlld3MsIG51bGwpO1xuY29uc3QgY3JlYXRlRGF0ZURhdGFWaWV3cyA9IGNyZWF0ZURhdGFWaWV3LmJpbmQobnVsbCwgVWludDMyVmlld3MsIG51bGwpO1xuY29uc3QgY3JlYXRlRmxvYXREYXRhVmlld3MgPSBjcmVhdGVEYXRhVmlldy5iaW5kKG51bGwsIEZsb2F0Vmlld3MsIG51bGwpO1xuY29uc3QgY3JlYXRlTmVzdGVkRGF0YVZpZXdzID0gY3JlYXRlRGF0YVZpZXcuYmluZChudWxsLCBVaW50MzJWaWV3cywgbnVsbCk7XG5jb25zdCBjcmVhdGVWYWxpZGl0eURhdGFWaWV3cyA9IGNyZWF0ZURhdGFWaWV3LmJpbmQobnVsbCwgVWludDhWaWV3cywgbnVsbCk7XG5jb25zdCBjcmVhdGVVdGY4RGF0YVZpZXdzID0gY3JlYXRlRGF0YVZpZXcuYmluZChudWxsLCBVaW50OFZpZXdzLCBJbnQzMlZpZXdzKTtcblxuY29uc3QgZmxvYXRWZWN0b3JzID0ge1xuICAgIFtQcmVjaXNpb24uU0lOR0xFXTogRmxvYXQzMlZlY3RvcixcbiAgICBbUHJlY2lzaW9uLkRPVUJMRV06IEZsb2F0NjRWZWN0b3Jcbn07XG5jb25zdCBpbnRWZWN0b3JzID0gW1xuICAgIFsvKiB1bnNpZ25lZCAqLyBVaW50OFZlY3RvciwgICAvKiBzaWduZWQgKi8gSW50OFZlY3RvciBdLFxuICAgIFsvKiB1bnNpZ25lZCAqLyBVaW50MTZWZWN0b3IsICAvKiBzaWduZWQgKi8gSW50MTZWZWN0b3JdLFxuICAgIFsvKiB1bnNpZ25lZCAqLyBVaW50MzJWZWN0b3IsICAvKiBzaWduZWQgKi8gSW50MzJWZWN0b3JdLFxuICAgIFsvKiB1bnNpZ25lZCAqLyBVaW50NjRWZWN0b3IsICAvKiBzaWduZWQgKi8gSW50NjRWZWN0b3JdXG5dO1xuXG5mdW5jdGlvbiByZWFkSW50VmVjdG9yKGZpZWxkOiBGaWVsZCwgYmF0Y2g6IE1lc3NhZ2VCYXRjaCwgaXRlcmF0b3I6IEl0ZXJhdG9yU3RhdGUsIGRpY3Rpb25hcmllczogRGljdGlvbmFyaWVzLCBmaWVsZFR5cGU/OiBGaWVsZFR5cGUpIHtcbiAgICBsZXQgdHlwZSA9IChmaWVsZFR5cGUgfHwgZmllbGQudHlwZShuZXcgSW50KCkpKTtcbiAgICByZXR1cm4gdHlwZS5pc1NpZ25lZCgpID9cbiAgICAgICAgcmVhZF9JbnRWZWN0b3IoZmllbGQsIGJhdGNoLCBpdGVyYXRvciwgZGljdGlvbmFyaWVzLCB0eXBlKSA6XG4gICAgICAgIHJlYWRVaW50VmVjdG9yKGZpZWxkLCBiYXRjaCwgaXRlcmF0b3IsIGRpY3Rpb25hcmllcywgdHlwZSk7XG59XG5cbmNvbnN0IHJlYWRfSW50VmVjdG9yID0gcmVhZFZlY3RvckxheW91dDxudW1iZXIsIEludEFycmF5PihjcmVhdGVJbnREYXRhVmlld3MsIGNyZWF0ZUludFZlY3Rvcik7XG5jb25zdCByZWFkVWludFZlY3RvciA9IHJlYWRWZWN0b3JMYXlvdXQ8bnVtYmVyLCBJbnRBcnJheT4oY3JlYXRlVWludERhdGFWaWV3cywgY3JlYXRlSW50VmVjdG9yKTtcbmZ1bmN0aW9uIGNyZWF0ZUludFZlY3RvcihmaWVsZCwgbGVuZ3RoLCBkYXRhLCB2YWxpZGl0eSwgb2Zmc2V0cywgZmllbGRUeXBlLCBiYXRjaCwgaXRlcmF0b3IsIGRpY3Rpb25hcmllcykge1xuICAgIGxldCB0eXBlID0gZmllbGRUeXBlIHx8IGZpZWxkLnR5cGUobmV3IEludCgpKSwgYml0V2lkdGggPSB0eXBlLmJpdFdpZHRoKCk7XG4gICAgbGV0IFZlY3RvciA9IHZhbHVlRm9yQml0V2lkdGgoYml0V2lkdGgsIGludFZlY3RvcnMpWyt0eXBlLmlzU2lnbmVkKCldO1xuICAgIHJldHVybiBWZWN0b3IuY3JlYXRlKGZpZWxkLCBsZW5ndGgsIHZhbGlkaXR5LCBkYXRhIHx8IG9mZnNldHMpO1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gc28gdGhpcyBpcyBraW5kYSBzdHJhbmdlIPCfkYY6XG4gICAgLy8gVGhlIGRpY3Rpb25hcnkgZW5jb2RlZCB2ZWN0b3JzIEkgZ2VuZXJhdGVkIGZyb20gc2FtcGxlIG1hcGQtY29yZSBxdWVyaWVzIGhhdmUgdGhlIGluZGljaWVzJyBkYXRhIGJ1ZmZlcnNcbiAgICAvLyB0YWdnZWQgYXMgVmVjdG9yVHlwZS5PRkZTRVQgKDApIGluIHRoZSBmaWVsZCBtZXRhZGF0YS4gVGhlIGN1cnJlbnQgVFMgaW1wbCBpZ25vcmVzIGJ1ZmZlcnMnIGxheW91dCB0eXBlLFxuICAgIC8vIGFuZCBhc3N1bWVzIHRoZSBzZWNvbmQgYnVmZmVyIGlzIHRoZSBkYXRhIGZvciBhIE51bGxhYmxlSW50VmVjdG9yLiBTaW5jZSB3ZSd2ZSBiZWVuIHN0cmljdGVyIGFib3V0IGVuZm9yY2luZ1xuICAgIC8vIHRoZSBBcnJvdyBzcGVjIHdoaWxlIHBhcnNpbmcsIHRoZSBJbnRWZWN0b3IncyBkYXRhIGJ1ZmZlciByZWFkcyBlbXB0eSBpbiB0aGlzIGNhc2UuIElmIHNvLCBmYWxsYmFjayB0byB1c2luZ1xuICAgIC8vIHRoZSBvZmZzZXRzIGJ1ZmZlciBhcyB0aGUgZGF0YSwgc2luY2UgSW50VmVjdG9ycyBkb24ndCBoYXZlIG9mZnNldHMuXG59XG5cbmNvbnN0IHJlYWRGbG9hdFZlY3RvciA9IHJlYWRWZWN0b3JMYXlvdXQ8bnVtYmVyLCBGbG9hdEFycmF5PihcbiAgICBjcmVhdGVGbG9hdERhdGFWaWV3cyxcbiAgICAoZmllbGQsIGxlbmd0aCwgZGF0YSwgdmFsaWRpdHksIG9mZnNldHMsIGZpZWxkVHlwZSwgYmF0Y2gsIGl0ZXJhdG9yLCBkaWN0aW9uYXJpZXMpID0+IHtcbiAgICAgICAgbGV0IHR5cGUgPSBmaWVsZC50eXBlKG5ldyBGbG9hdGluZ1BvaW50KCkpO1xuICAgICAgICBsZXQgVmVjdG9yID0gZmxvYXRWZWN0b3JzW3R5cGUucHJlY2lzaW9uKCldO1xuICAgICAgICByZXR1cm4gVmVjdG9yLmNyZWF0ZShmaWVsZCwgbGVuZ3RoLCB2YWxpZGl0eSwgZGF0YSk7XG4gICAgfVxuKTtcblxuY29uc3QgcmVhZERhdGVWZWN0b3IgPSByZWFkVmVjdG9yTGF5b3V0PERhdGUsIFVpbnQzMkFycmF5PihcbiAgICBjcmVhdGVEYXRlRGF0YVZpZXdzLFxuICAgIChmaWVsZCwgbGVuZ3RoLCBkYXRhLCB2YWxpZGl0eSwgb2Zmc2V0cywgZmllbGRUeXBlLCBiYXRjaCwgaXRlcmF0b3IsIGRpY3Rpb25hcmllcykgPT4ge1xuICAgICAgICByZXR1cm4gRGF0ZVZlY3Rvci5jcmVhdGUoZmllbGQsIGxlbmd0aCwgdmFsaWRpdHksIGRhdGEpO1xuICAgIH1cbik7XG5cbmNvbnN0IHJlYWRVdGY4VmVjdG9yID0gcmVhZFZlY3RvckxheW91dDxzdHJpbmcsIFVpbnQ4QXJyYXk+KFxuICAgIGNyZWF0ZVV0ZjhEYXRhVmlld3MsXG4gICAgKGZpZWxkLCBsZW5ndGgsIGRhdGEsIHZhbGlkaXR5LCBvZmZzZXRzLCBmaWVsZFR5cGUsIGJhdGNoLCBpdGVyYXRvciwgZGljdGlvbmFyaWVzKSA9PiB7XG4gICAgICAgIGxldCBvZmZzZXRzQWRqdXN0ZWQgPSBuZXcgSW50MzJBcnJheShvZmZzZXRzLmJ1ZmZlciwgb2Zmc2V0cy5ieXRlT2Zmc2V0LCBsZW5ndGggKyAxKTtcbiAgICAgICAgcmV0dXJuIFV0ZjhWZWN0b3IuY3JlYXRlKFxuICAgICAgICAgICAgZmllbGQsIGxlbmd0aCwgdmFsaWRpdHksXG4gICAgICAgICAgICBVaW50OFZlY3Rvci5jcmVhdGUoZmllbGQsIGRhdGEubGVuZ3RoLCBudWxsLCBkYXRhKSxcbiAgICAgICAgICAgIEluZGV4VmVjdG9yLmNyZWF0ZShmaWVsZCwgbGVuZ3RoICsgMSwgbnVsbCwgb2Zmc2V0c0FkanVzdGVkKVxuICAgICAgICApO1xuICAgIH1cbik7XG5cbmNvbnN0IHJlYWRMaXN0VmVjdG9yID0gcmVhZFZlY3RvckxheW91dDxhbnlbXSwgVWludDMyQXJyYXk+KFxuICAgIGNyZWF0ZU5lc3RlZERhdGFWaWV3cyxcbiAgICAoZmllbGQsIGxlbmd0aCwgZGF0YSwgdmFsaWRpdHksIG9mZnNldHMsIGZpZWxkVHlwZSwgYmF0Y2gsIGl0ZXJhdG9yLCBkaWN0aW9uYXJpZXMpID0+IHtcbiAgICAgICAgbGV0IG9mZnNldHNBZGp1c3RlZCA9IG5ldyBJbnQzMkFycmF5KG9mZnNldHMuYnVmZmVyLCBvZmZzZXRzLmJ5dGVPZmZzZXQsIGxlbmd0aCArIDEpO1xuICAgICAgICByZXR1cm4gTGlzdFZlY3Rvci5jcmVhdGUoXG4gICAgICAgICAgICBmaWVsZCwgbGVuZ3RoLCB2YWxpZGl0eSxcbiAgICAgICAgICAgIHJlYWRWZWN0b3IoZmllbGQuY2hpbGRyZW4oMCksIGJhdGNoLCBpdGVyYXRvciwgZGljdGlvbmFyaWVzKSxcbiAgICAgICAgICAgIEluZGV4VmVjdG9yLmNyZWF0ZShmaWVsZCwgbGVuZ3RoICsgMSwgbnVsbCwgb2Zmc2V0c0FkanVzdGVkKVxuICAgICAgICApO1xuICAgIH1cbik7XG5cbmNvbnN0IHJlYWRGaXhlZFNpemVMaXN0VmVjdG9yID0gcmVhZFZlY3RvckxheW91dDxhbnlbXSwgVWludDMyQXJyYXk+KFxuICAgIGNyZWF0ZU5lc3RlZERhdGFWaWV3cyxcbiAgICAoZmllbGQsIGxlbmd0aCwgZGF0YSwgdmFsaWRpdHksIG9mZnNldHMsIGZpZWxkVHlwZSwgYmF0Y2gsIGl0ZXJhdG9yLCBkaWN0aW9uYXJpZXMpID0+IHtcbiAgICAgICAgbGV0IHNpemUgPSBmaWVsZC50eXBlKG5ldyBGaXhlZFNpemVMaXN0KCkpLmxpc3RTaXplKCk7XG4gICAgICAgIHJldHVybiBGaXhlZFNpemVMaXN0VmVjdG9yLmNyZWF0ZShcbiAgICAgICAgICAgIGZpZWxkLCBsZW5ndGgsIHNpemUsIHZhbGlkaXR5LFxuICAgICAgICAgICAgcmVhZFZlY3RvcihmaWVsZC5jaGlsZHJlbigwKSwgYmF0Y2gsIGl0ZXJhdG9yLCBkaWN0aW9uYXJpZXMpXG4gICAgICAgICk7XG4gICAgfVxuKTtcblxuY29uc3QgcmVhZFN0cnVjdFZlY3RvciA9IHJlYWRWZWN0b3JMYXlvdXQ8YW55W10sIEFycmF5TGlrZTxhbnk+PihcbiAgICBjcmVhdGVOZXN0ZWREYXRhVmlld3MsXG4gICAgKGZpZWxkLCBsZW5ndGgsIGRhdGEsIHZhbGlkaXR5LCBvZmZzZXRzLCBmaWVsZFR5cGUsIGJhdGNoLCBpdGVyYXRvciwgZGljdGlvbmFyaWVzKSA9PiB7XG4gICAgICAgIGxldCB2ZWN0b3JzOiBWZWN0b3I8YW55PltdID0gW107XG4gICAgICAgIGl0ZXJhdG9yLmJ1ZmZlckluZGV4IC09IGZpZWxkLm51bGxhYmxlKCkgPyAwIDogZmllbGQubGF5b3V0TGVuZ3RoKCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAtMSwgbiA9IGZpZWxkLmNoaWxkcmVuTGVuZ3RoKCk7ICsraSA8IG47KSB7XG4gICAgICAgICAgICB2ZWN0b3JzW2ldID0gcmVhZFZlY3RvcihmaWVsZC5jaGlsZHJlbihpKSwgYmF0Y2gsIGl0ZXJhdG9yLCBkaWN0aW9uYXJpZXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBTdHJ1Y3RWZWN0b3IuY3JlYXRlKGZpZWxkLCBsZW5ndGgsIHZhbGlkaXR5LCAuLi52ZWN0b3JzKTtcbiAgICB9XG4pO1xuXG5jb25zdCB0eXBlZFZlY3RvclJlYWRlcnMgPSB7XG4gICAgW1R5cGUuSW50XTogcmVhZEludFZlY3RvcixcbiAgICBbVHlwZS5EYXRlXTogcmVhZERhdGVWZWN0b3IsXG4gICAgW1R5cGUuTGlzdF06IHJlYWRMaXN0VmVjdG9yLFxuICAgIFtUeXBlLlV0ZjhdOiByZWFkVXRmOFZlY3RvcixcbiAgICBbVHlwZS5TdHJ1Y3RfXTogcmVhZFN0cnVjdFZlY3RvcixcbiAgICBbVHlwZS5GbG9hdGluZ1BvaW50XTogcmVhZEZsb2F0VmVjdG9yLFxuICAgIFtUeXBlLkZpeGVkU2l6ZUxpc3RdOiByZWFkRml4ZWRTaXplTGlzdFZlY3Rvcixcbn07XG5cbnR5cGUgRmllbGRUeXBlID0geyBiaXRXaWR0aCgpOiBudW1iZXI7IGlzU2lnbmVkKCk6IGJvb2xlYW4gfTtcbnR5cGUgZGF0YVZpZXdGYWN0b3J5PFYgPSBUeXBlZEFycmF5PiA9IChiYXRjaDogTWVzc2FnZUJhdGNoLCB0eXBlOiBWZWN0b3JUeXBlLCBiaXRXaWR0aDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpID0+IFY7XG50eXBlIHZlY3RvckZhY3Rvcnk8VExpc3QsIFYgPSBWZWN0b3I8YW55Pj4gPSAoZmllbGQ6IEZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aDogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFRMaXN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxzOiBVaW50OEFycmF5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldHM6IFR5cGVkQXJyYXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRUeXBlOiBGaWVsZFR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2h1bms6IE1lc3NhZ2VCYXRjaCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYWJsZTogSXRlcmF0b3JTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWN0aW9uYXJpZXM6IERpY3Rpb25hcmllcykgPT4gVjtcblxuZnVuY3Rpb24gcmVhZFZlY3RvckxheW91dDxULCBUTGlzdD4oY3JlYXRlRGF0YVZpZXc6IGRhdGFWaWV3RmFjdG9yeTxUTGlzdD4sIGNyZWF0ZVZlY3RvcjogdmVjdG9yRmFjdG9yeTxUTGlzdCwgVmVjdG9yPFQ+Pikge1xuICAgIHJldHVybiBmdW5jdGlvbiByZWFkTGF5b3V0KFxuICAgICAgICAgICAgZmllbGQ6IEZpZWxkLFxuICAgICAgICAgICAgY2h1bms6IE1lc3NhZ2VCYXRjaCxcbiAgICAgICAgICAgIGl0ZXJhdG9yOiBJdGVyYXRvclN0YXRlLFxuICAgICAgICAgICAgZGljdGlvbmFyaWVzOiBEaWN0aW9uYXJpZXMsXG4gICAgICAgICAgICBpbnRlZ2VyRmllbGRUeXBlPzogRmllbGRUeXBlXG4gICAgKSB7XG4gICAgICAgIGxldCBiYXRjaCA9IGNodW5rLmRhdGE7XG4gICAgICAgIGxldCBsYXlvdXRMZW5ndGggPSBmaWVsZC5sYXlvdXRMZW5ndGgoKTtcbiAgICAgICAgbGV0IG5vZGUgPSBiYXRjaC5ub2RlcyhpdGVyYXRvci5ub2RlSW5kZXgrKyk7XG4gICAgICAgIGxldCBkYXRhOiBUTGlzdCwgb2Zmc2V0czogYW55LCB2YWxpZGl0eTogVWludDhBcnJheTtcbiAgICAgICAgbGV0IHR5cGUsIGJpdFdpZHRoLCBidWZmZXJMZW5ndGgsIG5vZGVMZW5ndGggPSBub2RlLmxlbmd0aCgpLmxvdztcbiAgICAgICAgZm9yIChsZXQgaSA9IC0xOyArK2kgPCBsYXlvdXRMZW5ndGg7KSB7XG4gICAgICAgICAgICBsZXQgbGF5b3V0ID0gZmllbGQubGF5b3V0KGkpO1xuICAgICAgICAgICAgbGV0IGJ1ZmZlciA9IGJhdGNoLmJ1ZmZlcnMoaXRlcmF0b3IuYnVmZmVySW5kZXgrKyk7XG4gICAgICAgICAgICBpZiAoKHR5cGUgPSBsYXlvdXQudHlwZSgpKSA9PT0gVmVjdG9yVHlwZS5UWVBFIHx8XG4gICAgICAgICAgICAgICAgKGJ1ZmZlckxlbmd0aCA9IGJ1ZmZlci5sZW5ndGgoKS5sb3cpIDw9IDAgIHx8XG4gICAgICAgICAgICAgICAgKGJpdFdpZHRoID0gbGF5b3V0LmJpdFdpZHRoKCkpIDw9IDApIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gVmVjdG9yVHlwZS5EQVRBKSB7XG4gICAgICAgICAgICAgICAgZGF0YSA9IGNyZWF0ZURhdGFWaWV3KGNodW5rLCB0eXBlLCBiaXRXaWR0aCwgYnVmZmVyLm9mZnNldCgpLmxvdywgYnVmZmVyTGVuZ3RoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gVmVjdG9yVHlwZS5PRkZTRVQpIHtcbiAgICAgICAgICAgICAgICBvZmZzZXRzID0gY3JlYXRlRGF0YVZpZXcoY2h1bmssIHR5cGUsIGJpdFdpZHRoLCBidWZmZXIub2Zmc2V0KCkubG93LCBidWZmZXJMZW5ndGgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlLm51bGxDb3VudCgpLmxvdyA+IDApIHtcbiAgICAgICAgICAgICAgICB2YWxpZGl0eSA9IGNyZWF0ZVZhbGlkaXR5RGF0YVZpZXdzKGNodW5rLCB0eXBlLCBiaXRXaWR0aCwgYnVmZmVyLm9mZnNldCgpLmxvdywgbm9kZUxlbmd0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNyZWF0ZVZlY3RvcihmaWVsZCwgbm9kZUxlbmd0aCwgZGF0YSwgdmFsaWRpdHksIG9mZnNldHMsIGludGVnZXJGaWVsZFR5cGUsIGNodW5rLCBpdGVyYXRvciwgZGljdGlvbmFyaWVzKTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEYXRhVmlldyhcbiAgICBkYXRhVmlld3M6IFR5cGVkQXJyYXlDdG9yPGFueT5bXSwgb2Zmc2V0Vmlld3M6IFR5cGVkQXJyYXlDdG9yPGFueT5bXSB8IG51bGwsXG4gICAgYmF0Y2g6IE1lc3NhZ2VCYXRjaCwgdHlwZTogVmVjdG9yVHlwZSwgYml0V2lkdGg6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyXG4pIHtcbiAgICBjb25zdCBidWZmZXIgPSBiYXRjaC5ieXRlcy5idWZmZXI7XG4gICAgY29uc3QgYnl0ZUxlbmd0aCA9IGJ1ZmZlci5ieXRlTGVuZ3RoO1xuICAgIGNvbnN0IGJ5dGVPZmZzZXQgPSBiYXRjaC5vZmZzZXQgKyBvZmZzZXQ7XG4gICAgY29uc3QgRGF0YVZpZXdUeXBlID0gdmFsdWVGb3JCaXRXaWR0aChiaXRXaWR0aCwgdHlwZSA9PT0gVmVjdG9yVHlwZS5PRkZTRVQgJiYgb2Zmc2V0Vmlld3MgfHwgZGF0YVZpZXdzKTtcbiAgICBjb25zdCBkYXRhVmlld0xlbmd0aCA9ICgoYnl0ZU9mZnNldCArIGxlbmd0aCkgPD0gYnl0ZUxlbmd0aFxuICAgICAgICA/IGxlbmd0aFxuICAgICAgICA6IGJ5dGVMZW5ndGggLSBieXRlT2Zmc2V0XG4gICAgKSAvIERhdGFWaWV3VHlwZVsnQllURVNfUEVSX0VMRU1FTlQnXTtcbiAgICByZXR1cm4gbmV3IERhdGFWaWV3VHlwZShidWZmZXIsIGJ5dGVPZmZzZXQsIGRhdGFWaWV3TGVuZ3RoKTtcbn1cblxuZnVuY3Rpb24gdmFsdWVGb3JCaXRXaWR0aChiaXRXaWR0aDogbnVtYmVyLCB2YWx1ZXM6IGFueVtdKSB7XG4gICAgcmV0dXJuIHZhbHVlc1tiaXRXaWR0aCA+PiA0XSB8fCB2YWx1ZXNbM107XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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Z0IsRUFBRSxNQUFjLEVBQUUsTUFBYztJQUV2RixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNsQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ3JDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3pDLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLEtBQUssVUFBVSxDQUFDLE1BQU0sSUFBSSxXQUFXLElBQUksU0FBUyxDQUFDLENBQUM7SUFDeEcsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxVQUFVO1VBQ3JELE1BQU07VUFDTixVQUFVLEdBQUcsVUFBVSxDQUM1QixHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCwwQkFBMEIsUUFBZ0IsRUFBRSxNQUFhO0lBQ3JELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDIiwiZmlsZSI6InJlYWRlci92ZWN0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lXG4vLyBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGVcbi8vIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uXG4vLyByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlXG4vLyB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlXG4vLyBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbi8vIHdpdGggdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbi8vXG4vLyAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuLy9cbi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZyxcbi8vIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuXG4vLyBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxuLy8gS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlXG4vLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zXG4vLyB1bmRlciB0aGUgTGljZW5zZS5cblxuaW1wb3J0IHsgTWVzc2FnZUJhdGNoIH0gZnJvbSAnLi9tZXNzYWdlJztcbmltcG9ydCB7IFZlY3RvciB9IGZyb20gJy4uL3ZlY3Rvci92ZWN0b3InO1xuaW1wb3J0ICogYXMgU2NoZW1hXyBmcm9tICcuLi9mb3JtYXQvU2NoZW1hJztcbmltcG9ydCB7IFN0cnVjdFZlY3RvciB9IGZyb20gJy4uL3ZlY3Rvci9zdHJ1Y3QnO1xuaW1wb3J0IHsgSXRlcmF0b3JTdGF0ZSwgRGljdGlvbmFyaWVzIH0gZnJvbSAnLi9hcnJvdyc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5VmVjdG9yIH0gZnJvbSAnLi4vdmVjdG9yL2RpY3Rpb25hcnknO1xuaW1wb3J0IHsgVXRmOFZlY3RvciwgTGlzdFZlY3RvciwgRml4ZWRTaXplTGlzdFZlY3RvciB9IGZyb20gJy4uL3ZlY3Rvci9saXN0JztcbmltcG9ydCB7XG4gICAgVHlwZWRBcnJheSwgVHlwZWRBcnJheUN0b3IsIEludEFycmF5LCBGbG9hdEFycmF5LFxuICAgIEludDhWZWN0b3IsIEludDE2VmVjdG9yLCBJbnQzMlZlY3RvciwgSW50NjRWZWN0b3IsXG4gICAgVWludDhWZWN0b3IsIFVpbnQxNlZlY3RvciwgVWludDMyVmVjdG9yLCBVaW50NjRWZWN0b3IsXG4gICAgRmxvYXQzMlZlY3RvciwgRmxvYXQ2NFZlY3RvciwgSW5kZXhWZWN0b3IsIERhdGVWZWN0b3IsXG59IGZyb20gJy4uL3ZlY3Rvci90eXBlZCc7XG5cbmltcG9ydCBJbnQgPSBTY2hlbWFfLm9yZy5hcGFjaGUuYXJyb3cuZmxhdGJ1Zi5JbnQ7XG5pbXBvcnQgVHlwZSA9IFNjaGVtYV8ub3JnLmFwYWNoZS5hcnJvdy5mbGF0YnVmLlR5cGU7XG5pbXBvcnQgRmllbGQgPSBTY2hlbWFfLm9yZy5hcGFjaGUuYXJyb3cuZmxhdGJ1Zi5GaWVsZDtcbmltcG9ydCBQcmVjaXNpb24gPSBTY2hlbWFfLm9yZy5hcGFjaGUuYXJyb3cuZmxhdGJ1Zi5QcmVjaXNpb247XG5pbXBvcnQgVmVjdG9yVHlwZSA9IFNjaGVtYV8ub3JnLmFwYWNoZS5hcnJvdy5mbGF0YnVmLlZlY3RvclR5cGU7XG5pbXBvcnQgRml4ZWRTaXplTGlzdCA9IFNjaGVtYV8ub3JnLmFwYWNoZS5hcnJvdy5mbGF0YnVmLkZpeGVkU2l6ZUxpc3Q7XG5pbXBvcnQgRmxvYXRpbmdQb2ludCA9IFNjaGVtYV8ub3JnLmFwYWNoZS5hcnJvdy5mbGF0YnVmLkZsb2F0aW5nUG9pbnQ7XG5pbXBvcnQgRGljdGlvbmFyeUVuY29kaW5nID0gU2NoZW1hXy5vcmcuYXBhY2hlLmFycm93LmZsYXRidWYuRGljdGlvbmFyeUVuY29kaW5nO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFZlY3RvcihmaWVsZDogRmllbGQsIGJhdGNoOiBNZXNzYWdlQmF0Y2gsIHN0YXRlOiBJdGVyYXRvclN0YXRlLCBkaWN0aW9uYXJpZXM6IERpY3Rpb25hcmllcykge1xuICAgIHJldHVybiByZWFkRGljdGlvbmFyeVZlY3RvcihmaWVsZCwgYmF0Y2gsIHN0YXRlLCBkaWN0aW9uYXJpZXMpIHx8XG4gICAgICAgICAgICAgICAgcmVhZFR5cGVkVmVjdG9yKGZpZWxkLCBiYXRjaCwgc3RhdGUsIGRpY3Rpb25hcmllcyk7XG59XG5cbmZ1bmN0aW9uIHJlYWRUeXBlZFZlY3RvcihmaWVsZDogRmllbGQsIGJhdGNoOiBNZXNzYWdlQmF0Y2gsIGl0ZXJhdG9yOiBJdGVyYXRvclN0YXRlLCBkaWN0aW9uYXJpZXM6IERpY3Rpb25hcmllcykge1xuICAgIGxldCB0eXBlVHlwZSA9IGZpZWxkLnR5cGVUeXBlKCksIHJlYWRUeXBlZCA9IHR5cGVkVmVjdG9yUmVhZGVyc1t0eXBlVHlwZV07XG4gICAgaWYgKCFyZWFkVHlwZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnJlY29nbml6ZWQgdmVjdG9yIG5hbWUgXCInICsgVHlwZVt0eXBlVHlwZV0gKyAnXCIgdHlwZSBcIicgKyB0eXBlVHlwZSArICdcIicpO1xuICAgIH1cbiAgICByZXR1cm4gcmVhZFR5cGVkKGZpZWxkLCBiYXRjaCwgaXRlcmF0b3IsIGRpY3Rpb25hcmllcyk7XG59XG5cbmZ1bmN0aW9uIHJlYWREaWN0aW9uYXJ5VmVjdG9yKGZpZWxkOiBGaWVsZCwgYmF0Y2g6IE1lc3NhZ2VCYXRjaCwgaXRlcmF0b3I6IEl0ZXJhdG9yU3RhdGUsIGRpY3Rpb25hcmllczogRGljdGlvbmFyaWVzKSB7XG4gICAgbGV0IGVuY29kaW5nOiBEaWN0aW9uYXJ5RW5jb2Rpbmc7XG4gICAgaWYgKGRpY3Rpb25hcmllcyAmJiAoZW5jb2RpbmcgPSBmaWVsZC5kaWN0aW9uYXJ5KCkpKSB7XG4gICAgICAgIGxldCBpZCA9IGVuY29kaW5nLmlkKCkudG9GbG9hdDY0KCkudG9TdHJpbmcoKTtcbiAgICAgICAgbGV0IGluZGV4ID0gcmVhZEludFZlY3RvcihmaWVsZCwgYmF0Y2gsIGl0ZXJhdG9yLCBudWxsLFxuICAgICAgICAgICAgLyogYSBkaWN0aW9uYXJ5IGluZGV4IGRlZmF1bHRzIHRvIHNpZ25lZCAzMiBiaXQgaW50IGlmIHVuc3BlY2lmaWVkICovXG4gICAgICAgICAgICBlbmNvZGluZy5pbmRleFR5cGUoKSB8fCB7IGJpdFdpZHRoOiAoKSA9PiAzMiwgaXNTaWduZWQ6ICgpID0+IHRydWUgfSk7XG4gICAgICAgIHJldHVybiBEaWN0aW9uYXJ5VmVjdG9yLmNyZWF0ZShmaWVsZCwgaW5kZXgubGVuZ3RoLCBpbmRleCwgZGljdGlvbmFyaWVzW2lkXSk7XG4gICAgfVxufVxuXG5jb25zdCBJbnRWaWV3cyAgICA9IFtJbnQ4QXJyYXksICAgIEludDE2QXJyYXksICAgSW50MzJBcnJheSwgICBJbnQzMkFycmF5ICBdO1xuY29uc3QgSW50MzJWaWV3cyAgPSBbSW50MzJBcnJheSwgICBJbnQzMkFycmF5LCAgIEludDMyQXJyYXksICAgSW50MzJBcnJheSAgXTtcbmNvbnN0IFVpbnRWaWV3cyAgID0gW1VpbnQ4QXJyYXksICAgVWludDE2QXJyYXksICBVaW50MzJBcnJheSwgIFVpbnQzMkFycmF5IF07XG5jb25zdCBVaW50OFZpZXdzICA9IFtVaW50OEFycmF5LCAgIFVpbnQ4QXJyYXksICAgVWludDhBcnJheSwgICBVaW50OEFycmF5ICBdO1xuY29uc3QgVWludDMyVmlld3MgPSBbVWludDMyQXJyYXksICBVaW50MzJBcnJheSwgIFVpbnQzMkFycmF5LCAgVWludDMyQXJyYXkgXTtcbmNvbnN0IEZsb2F0Vmlld3MgID0gW0ludDhBcnJheSwgICAgSW50MTZBcnJheSwgICBGbG9hdDMyQXJyYXksIEZsb2F0NjRBcnJheV07XG5cbmNvbnN0IGNyZWF0ZUludERhdGFWaWV3cyA9IGNyZWF0ZURhdGFWaWV3LmJpbmQobnVsbCwgSW50Vmlld3MsIG51bGwpO1xuY29uc3QgY3JlYXRlVWludERhdGFWaWV3cyA9IGNyZWF0ZURhdGFWaWV3LmJpbmQobnVsbCwgVWludFZpZXdzLCBudWxsKTtcbmNvbnN0IGNyZWF0ZURhdGVEYXRhVmlld3MgPSBjcmVhdGVEYXRhVmlldy5iaW5kKG51bGwsIFVpbnQzMlZpZXdzLCBudWxsKTtcbmNvbnN0IGNyZWF0ZUZsb2F0RGF0YVZpZXdzID0gY3JlYXRlRGF0YVZpZXcuYmluZChudWxsLCBGbG9hdFZpZXdzLCBudWxsKTtcbmNvbnN0IGNyZWF0ZU5lc3RlZERhdGFWaWV3cyA9IGNyZWF0ZURhdGFWaWV3LmJpbmQobnVsbCwgVWludDMyVmlld3MsIG51bGwpO1xuY29uc3QgY3JlYXRlVmFsaWRpdHlEYXRhVmlld3MgPSBjcmVhdGVEYXRhVmlldy5iaW5kKG51bGwsIFVpbnQ4Vmlld3MsIG51bGwpO1xuY29uc3QgY3JlYXRlVXRmOERhdGFWaWV3cyA9IGNyZWF0ZURhdGFWaWV3LmJpbmQobnVsbCwgVWludDhWaWV3cywgSW50MzJWaWV3cyk7XG5cbmNvbnN0IGZsb2F0VmVjdG9ycyA9IHtcbiAgICBbUHJlY2lzaW9uLlNJTkdMRV06IEZsb2F0MzJWZWN0b3IsXG4gICAgW1ByZWNpc2lvbi5ET1VCTEVdOiBGbG9hdDY0VmVjdG9yXG59O1xuY29uc3QgaW50VmVjdG9ycyA9IFtcbiAgICBbLyogdW5zaWduZWQgKi8gVWludDhWZWN0b3IsICAgLyogc2lnbmVkICovIEludDhWZWN0b3IgXSxcbiAgICBbLyogdW5zaWduZWQgKi8gVWludDE2VmVjdG9yLCAgLyogc2lnbmVkICovIEludDE2VmVjdG9yXSxcbiAgICBbLyogdW5zaWduZWQgKi8gVWludDMyVmVjdG9yLCAgLyogc2lnbmVkICovIEludDMyVmVjdG9yXSxcbiAgICBbLyogdW5zaWduZWQgKi8gVWludDY0VmVjdG9yLCAgLyogc2lnbmVkICovIEludDY0VmVjdG9yXVxuXTtcblxuZnVuY3Rpb24gcmVhZEludFZlY3RvcihmaWVsZDogRmllbGQsIGJhdGNoOiBNZXNzYWdlQmF0Y2gsIGl0ZXJhdG9yOiBJdGVyYXRvclN0YXRlLCBkaWN0aW9uYXJpZXM6IERpY3Rpb25hcmllcywgZmllbGRUeXBlPzogRmllbGRUeXBlKSB7XG4gICAgbGV0IHR5cGUgPSAoZmllbGRUeXBlIHx8IGZpZWxkLnR5cGUobmV3IEludCgpKSk7XG4gICAgcmV0dXJuIHR5cGUuaXNTaWduZWQoKSA/XG4gICAgICAgIHJlYWRfSW50VmVjdG9yKGZpZWxkLCBiYXRjaCwgaXRlcmF0b3IsIGRpY3Rpb25hcmllcywgdHlwZSkgOlxuICAgICAgICByZWFkVWludFZlY3RvcihmaWVsZCwgYmF0Y2gsIGl0ZXJhdG9yLCBkaWN0aW9uYXJpZXMsIHR5cGUpO1xufVxuXG5jb25zdCByZWFkX0ludFZlY3RvciA9IHJlYWRWZWN0b3JMYXlvdXQ8bnVtYmVyLCBJbnRBcnJheT4oY3JlYXRlSW50RGF0YVZpZXdzLCBjcmVhdGVJbnRWZWN0b3IpO1xuY29uc3QgcmVhZFVpbnRWZWN0b3IgPSByZWFkVmVjdG9yTGF5b3V0PG51bWJlciwgSW50QXJyYXk+KGNyZWF0ZVVpbnREYXRhVmlld3MsIGNyZWF0ZUludFZlY3Rvcik7XG5mdW5jdGlvbiBjcmVhdGVJbnRWZWN0b3IoZmllbGQsIGxlbmd0aCwgZGF0YSwgdmFsaWRpdHksIG9mZnNldHMsIGZpZWxkVHlwZSwgYmF0Y2gsIGl0ZXJhdG9yLCBkaWN0aW9uYXJpZXMpIHtcbiAgICBsZXQgdHlwZSA9IGZpZWxkVHlwZSB8fCBmaWVsZC50eXBlKG5ldyBJbnQoKSksIGJpdFdpZHRoID0gdHlwZS5iaXRXaWR0aCgpO1xuICAgIGxldCBWZWN0b3IgPSB2YWx1ZUZvckJpdFdpZHRoKGJpdFdpZHRoLCBpbnRWZWN0b3JzKVsrdHlwZS5pc1NpZ25lZCgpXTtcbiAgICByZXR1cm4gVmVjdG9yLmNyZWF0ZShmaWVsZCwgbGVuZ3RoLCB2YWxpZGl0eSwgZGF0YSB8fCBvZmZzZXRzKTtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHNvIHRoaXMgaXMga2luZGEgc3RyYW5nZSDwn5GGOlxuICAgIC8vIFRoZSBkaWN0aW9uYXJ5IGVuY29kZWQgdmVjdG9ycyBJIGdlbmVyYXRlZCBmcm9tIHNhbXBsZSBtYXBkLWNvcmUgcXVlcmllcyBoYXZlIHRoZSBpbmRpY2llcycgZGF0YSBidWZmZXJzXG4gICAgLy8gdGFnZ2VkIGFzIFZlY3RvclR5cGUuT0ZGU0VUICgwKSBpbiB0aGUgZmllbGQgbWV0YWRhdGEuIFRoZSBjdXJyZW50IFRTIGltcGwgaWdub3JlcyBidWZmZXJzJyBsYXlvdXQgdHlwZSxcbiAgICAvLyBhbmQgYXNzdW1lcyB0aGUgc2Vjb25kIGJ1ZmZlciBpcyB0aGUgZGF0YSBmb3IgYSBOdWxsYWJsZUludFZlY3Rvci4gU2luY2Ugd2UndmUgYmVlbiBzdHJpY3RlciBhYm91dCBlbmZvcmNpbmdcbiAgICAvLyB0aGUgQXJyb3cgc3BlYyB3aGlsZSBwYXJzaW5nLCB0aGUgSW50VmVjdG9yJ3MgZGF0YSBidWZmZXIgcmVhZHMgZW1wdHkgaW4gdGhpcyBjYXNlLiBJZiBzbywgZmFsbGJhY2sgdG8gdXNpbmdcbiAgICAvLyB0aGUgb2Zmc2V0cyBidWZmZXIgYXMgdGhlIGRhdGEsIHNpbmNlIEludFZlY3RvcnMgZG9uJ3QgaGF2ZSBvZmZzZXRzLlxufVxuXG5jb25zdCByZWFkRmxvYXRWZWN0b3IgPSByZWFkVmVjdG9yTGF5b3V0PG51bWJlciwgRmxvYXRBcnJheT4oXG4gICAgY3JlYXRlRmxvYXREYXRhVmlld3MsXG4gICAgKGZpZWxkLCBsZW5ndGgsIGRhdGEsIHZhbGlkaXR5LCBvZmZzZXRzLCBmaWVsZFR5cGUsIGJhdGNoLCBpdGVyYXRvciwgZGljdGlvbmFyaWVzKSA9PiB7XG4gICAgICAgIGxldCB0eXBlID0gZmllbGQudHlwZShuZXcgRmxvYXRpbmdQb2ludCgpKTtcbiAgICAgICAgbGV0IFZlY3RvciA9IGZsb2F0VmVjdG9yc1t0eXBlLnByZWNpc2lvbigpXTtcbiAgICAgICAgcmV0dXJuIFZlY3Rvci5jcmVhdGUoZmllbGQsIGxlbmd0aCwgdmFsaWRpdHksIGRhdGEpO1xuICAgIH1cbik7XG5cbmNvbnN0IHJlYWREYXRlVmVjdG9yID0gcmVhZFZlY3RvckxheW91dDxEYXRlLCBVaW50MzJBcnJheT4oXG4gICAgY3JlYXRlRGF0ZURhdGFWaWV3cyxcbiAgICAoZmllbGQsIGxlbmd0aCwgZGF0YSwgdmFsaWRpdHksIG9mZnNldHMsIGZpZWxkVHlwZSwgYmF0Y2gsIGl0ZXJhdG9yLCBkaWN0aW9uYXJpZXMpID0+IHtcbiAgICAgICAgcmV0dXJuIERhdGVWZWN0b3IuY3JlYXRlKGZpZWxkLCBsZW5ndGgsIHZhbGlkaXR5LCBkYXRhKTtcbiAgICB9XG4pO1xuXG5jb25zdCByZWFkVXRmOFZlY3RvciA9IHJlYWRWZWN0b3JMYXlvdXQ8c3RyaW5nLCBVaW50OEFycmF5PihcbiAgICBjcmVhdGVVdGY4RGF0YVZpZXdzLFxuICAgIChmaWVsZCwgbGVuZ3RoLCBkYXRhLCB2YWxpZGl0eSwgb2Zmc2V0cywgZmllbGRUeXBlLCBiYXRjaCwgaXRlcmF0b3IsIGRpY3Rpb25hcmllcykgPT4ge1xuICAgICAgICBsZXQgb2Zmc2V0c0FkanVzdGVkID0gbmV3IEludDMyQXJyYXkob2Zmc2V0cy5idWZmZXIsIG9mZnNldHMuYnl0ZU9mZnNldCwgbGVuZ3RoICsgMSk7XG4gICAgICAgIHJldHVybiBVdGY4VmVjdG9yLmNyZWF0ZShcbiAgICAgICAgICAgIGZpZWxkLCBsZW5ndGgsIHZhbGlkaXR5LFxuICAgICAgICAgICAgVWludDhWZWN0b3IuY3JlYXRlKGZpZWxkLCBkYXRhLmxlbmd0aCwgbnVsbCwgZGF0YSksXG4gICAgICAgICAgICBJbmRleFZlY3Rvci5jcmVhdGUoZmllbGQsIGxlbmd0aCArIDEsIG51bGwsIG9mZnNldHNBZGp1c3RlZClcbiAgICAgICAgKTtcbiAgICB9XG4pO1xuXG5jb25zdCByZWFkTGlzdFZlY3RvciA9IHJlYWRWZWN0b3JMYXlvdXQ8YW55W10sIFVpbnQzMkFycmF5PihcbiAgICBjcmVhdGVOZXN0ZWREYXRhVmlld3MsXG4gICAgKGZpZWxkLCBsZW5ndGgsIGRhdGEsIHZhbGlkaXR5LCBvZmZzZXRzLCBmaWVsZFR5cGUsIGJhdGNoLCBpdGVyYXRvciwgZGljdGlvbmFyaWVzKSA9PiB7XG4gICAgICAgIGxldCBvZmZzZXRzQWRqdXN0ZWQgPSBuZXcgSW50MzJBcnJheShvZmZzZXRzLmJ1ZmZlciwgb2Zmc2V0cy5ieXRlT2Zmc2V0LCBsZW5ndGggKyAxKTtcbiAgICAgICAgcmV0dXJuIExpc3RWZWN0b3IuY3JlYXRlKFxuICAgICAgICAgICAgZmllbGQsIGxlbmd0aCwgdmFsaWRpdHksXG4gICAgICAgICAgICByZWFkVmVjdG9yKGZpZWxkLmNoaWxkcmVuKDApLCBiYXRjaCwgaXRlcmF0b3IsIGRpY3Rpb25hcmllcyksXG4gICAgICAgICAgICBJbmRleFZlY3Rvci5jcmVhdGUoZmllbGQsIGxlbmd0aCArIDEsIG51bGwsIG9mZnNldHNBZGp1c3RlZClcbiAgICAgICAgKTtcbiAgICB9XG4pO1xuXG5jb25zdCByZWFkRml4ZWRTaXplTGlzdFZlY3RvciA9IHJlYWRWZWN0b3JMYXlvdXQ8YW55W10sIFVpbnQzMkFycmF5PihcbiAgICBjcmVhdGVOZXN0ZWREYXRhVmlld3MsXG4gICAgKGZpZWxkLCBsZW5ndGgsIGRhdGEsIHZhbGlkaXR5LCBvZmZzZXRzLCBmaWVsZFR5cGUsIGJhdGNoLCBpdGVyYXRvciwgZGljdGlvbmFyaWVzKSA9PiB7XG4gICAgICAgIGxldCBzaXplID0gZmllbGQudHlwZShuZXcgRml4ZWRTaXplTGlzdCgpKS5saXN0U2l6ZSgpO1xuICAgICAgICByZXR1cm4gRml4ZWRTaXplTGlzdFZlY3Rvci5jcmVhdGUoXG4gICAgICAgICAgICBmaWVsZCwgbGVuZ3RoLCBzaXplLCB2YWxpZGl0eSxcbiAgICAgICAgICAgIHJlYWRWZWN0b3IoZmllbGQuY2hpbGRyZW4oMCksIGJhdGNoLCBpdGVyYXRvciwgZGljdGlvbmFyaWVzKVxuICAgICAgICApO1xuICAgIH1cbik7XG5cbmNvbnN0IHJlYWRTdHJ1Y3RWZWN0b3IgPSByZWFkVmVjdG9yTGF5b3V0PGFueVtdLCBBcnJheUxpa2U8YW55Pj4oXG4gICAgY3JlYXRlTmVzdGVkRGF0YVZpZXdzLFxuICAgIChmaWVsZCwgbGVuZ3RoLCBkYXRhLCB2YWxpZGl0eSwgb2Zmc2V0cywgZmllbGRUeXBlLCBiYXRjaCwgaXRlcmF0b3IsIGRpY3Rpb25hcmllcykgPT4ge1xuICAgICAgICBsZXQgdmVjdG9yczogVmVjdG9yPGFueT5bXSA9IFtdO1xuICAgICAgICBpdGVyYXRvci5idWZmZXJJbmRleCAtPSBmaWVsZC5udWxsYWJsZSgpID8gMCA6IGZpZWxkLmxheW91dExlbmd0aCgpO1xuICAgICAgICBmb3IgKGxldCBpID0gLTEsIG4gPSBmaWVsZC5jaGlsZHJlbkxlbmd0aCgpOyArK2kgPCBuOykge1xuICAgICAgICAgICAgdmVjdG9yc1tpXSA9IHJlYWRWZWN0b3IoZmllbGQuY2hpbGRyZW4oaSksIGJhdGNoLCBpdGVyYXRvciwgZGljdGlvbmFyaWVzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gU3RydWN0VmVjdG9yLmNyZWF0ZShmaWVsZCwgbGVuZ3RoLCB2YWxpZGl0eSwgLi4udmVjdG9ycyk7XG4gICAgfVxuKTtcblxuY29uc3QgdHlwZWRWZWN0b3JSZWFkZXJzID0ge1xuICAgIFtUeXBlLkludF06IHJlYWRJbnRWZWN0b3IsXG4gICAgW1R5cGUuRGF0ZV06IHJlYWREYXRlVmVjdG9yLFxuICAgIFtUeXBlLkxpc3RdOiByZWFkTGlzdFZlY3RvcixcbiAgICBbVHlwZS5VdGY4XTogcmVhZFV0ZjhWZWN0b3IsXG4gICAgW1R5cGUuU3RydWN0X106IHJlYWRTdHJ1Y3RWZWN0b3IsXG4gICAgW1R5cGUuRmxvYXRpbmdQb2ludF06IHJlYWRGbG9hdFZlY3RvcixcbiAgICBbVHlwZS5GaXhlZFNpemVMaXN0XTogcmVhZEZpeGVkU2l6ZUxpc3RWZWN0b3IsXG59O1xuXG50eXBlIEZpZWxkVHlwZSA9IHsgYml0V2lkdGgoKTogbnVtYmVyOyBpc1NpZ25lZCgpOiBib29sZWFuIH07XG50eXBlIGRhdGFWaWV3RmFjdG9yeTxWID0gVHlwZWRBcnJheT4gPSAoYmF0Y2g6IE1lc3NhZ2VCYXRjaCwgdHlwZTogVmVjdG9yVHlwZSwgYml0V2lkdGg6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKSA9PiBWO1xudHlwZSB2ZWN0b3JGYWN0b3J5PFRMaXN0LCBWID0gVmVjdG9yPGFueT4+ID0gKGZpZWxkOiBGaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGg6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBUTGlzdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsczogVWludDhBcnJheSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRzOiBUeXBlZEFycmF5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVHlwZTogRmllbGRUeXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rOiBNZXNzYWdlQmF0Y2gsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmFibGU6IEl0ZXJhdG9yU3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGljdGlvbmFyaWVzOiBEaWN0aW9uYXJpZXMpID0+IFY7XG5cbmZ1bmN0aW9uIHJlYWRWZWN0b3JMYXlvdXQ8VCwgVExpc3Q+KGNyZWF0ZURhdGFWaWV3OiBkYXRhVmlld0ZhY3Rvcnk8VExpc3Q+LCBjcmVhdGVWZWN0b3I6IHZlY3RvckZhY3Rvcnk8VExpc3QsIFZlY3RvcjxUPj4pIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gcmVhZExheW91dChcbiAgICAgICAgICAgIGZpZWxkOiBGaWVsZCxcbiAgICAgICAgICAgIGNodW5rOiBNZXNzYWdlQmF0Y2gsXG4gICAgICAgICAgICBpdGVyYXRvcjogSXRlcmF0b3JTdGF0ZSxcbiAgICAgICAgICAgIGRpY3Rpb25hcmllczogRGljdGlvbmFyaWVzLFxuICAgICAgICAgICAgaW50ZWdlckZpZWxkVHlwZT86IEZpZWxkVHlwZVxuICAgICkge1xuICAgICAgICBsZXQgYmF0Y2ggPSBjaHVuay5kYXRhO1xuICAgICAgICBsZXQgbGF5b3V0TGVuZ3RoID0gZmllbGQubGF5b3V0TGVuZ3RoKCk7XG4gICAgICAgIGxldCBub2RlID0gYmF0Y2gubm9kZXMoaXRlcmF0b3Iubm9kZUluZGV4KyspO1xuICAgICAgICBsZXQgZGF0YTogVExpc3QsIG9mZnNldHM6IGFueSwgdmFsaWRpdHk6IFVpbnQ4QXJyYXk7XG4gICAgICAgIGxldCB0eXBlLCBiaXRXaWR0aCwgYnVmZmVyTGVuZ3RoLCBub2RlTGVuZ3RoID0gbm9kZS5sZW5ndGgoKS5sb3c7XG4gICAgICAgIGZvciAobGV0IGkgPSAtMTsgKytpIDwgbGF5b3V0TGVuZ3RoOykge1xuICAgICAgICAgICAgbGV0IGxheW91dCA9IGZpZWxkLmxheW91dChpKTtcbiAgICAgICAgICAgIGxldCBidWZmZXIgPSBiYXRjaC5idWZmZXJzKGl0ZXJhdG9yLmJ1ZmZlckluZGV4KyspO1xuICAgICAgICAgICAgaWYgKCh0eXBlID0gbGF5b3V0LnR5cGUoKSkgPT09IFZlY3RvclR5cGUuVFlQRSB8fFxuICAgICAgICAgICAgICAgIChidWZmZXJMZW5ndGggPSBidWZmZXIubGVuZ3RoKCkubG93KSA8PSAwICB8fFxuICAgICAgICAgICAgICAgIChiaXRXaWR0aCA9IGxheW91dC5iaXRXaWR0aCgpKSA8PSAwKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFZlY3RvclR5cGUuREFUQSkge1xuICAgICAgICAgICAgICAgIGRhdGEgPSBjcmVhdGVEYXRhVmlldyhjaHVuaywgdHlwZSwgYml0V2lkdGgsIGJ1ZmZlci5vZmZzZXQoKS5sb3csIGJ1ZmZlckxlbmd0aCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFZlY3RvclR5cGUuT0ZGU0VUKSB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0cyA9IGNyZWF0ZURhdGFWaWV3KGNodW5rLCB0eXBlLCBiaXRXaWR0aCwgYnVmZmVyLm9mZnNldCgpLmxvdywgYnVmZmVyTGVuZ3RoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobm9kZS5udWxsQ291bnQoKS5sb3cgPiAwKSB7XG4gICAgICAgICAgICAgICAgdmFsaWRpdHkgPSBjcmVhdGVWYWxpZGl0eURhdGFWaWV3cyhjaHVuaywgdHlwZSwgYml0V2lkdGgsIGJ1ZmZlci5vZmZzZXQoKS5sb3csIG5vZGVMZW5ndGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjcmVhdGVWZWN0b3IoZmllbGQsIG5vZGVMZW5ndGgsIGRhdGEsIHZhbGlkaXR5LCBvZmZzZXRzLCBpbnRlZ2VyRmllbGRUeXBlLCBjaHVuaywgaXRlcmF0b3IsIGRpY3Rpb25hcmllcyk7XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGF0YVZpZXcoXG4gICAgZGF0YVZpZXdzOiBUeXBlZEFycmF5Q3Rvcjxhbnk+W10sIG9mZnNldFZpZXdzOiBUeXBlZEFycmF5Q3Rvcjxhbnk+W10gfCBudWxsLFxuICAgIGJhdGNoOiBNZXNzYWdlQmF0Y2gsIHR5cGU6IFZlY3RvclR5cGUsIGJpdFdpZHRoOiBudW1iZXIsIG9mZnNldDogbnVtYmVyLCBsZW5ndGg6IG51bWJlclxuKSB7XG4gICAgY29uc3QgYnVmZmVyID0gYmF0Y2guYnl0ZXMuYnVmZmVyO1xuICAgIGNvbnN0IGJ5dGVMZW5ndGggPSBidWZmZXIuYnl0ZUxlbmd0aDtcbiAgICBjb25zdCBieXRlT2Zmc2V0ID0gYmF0Y2gub2Zmc2V0ICsgb2Zmc2V0O1xuICAgIGNvbnN0IERhdGFWaWV3VHlwZSA9IHZhbHVlRm9yQml0V2lkdGgoYml0V2lkdGgsIHR5cGUgPT09IFZlY3RvclR5cGUuT0ZGU0VUICYmIG9mZnNldFZpZXdzIHx8IGRhdGFWaWV3cyk7XG4gICAgY29uc3QgZGF0YVZpZXdMZW5ndGggPSAoKGJ5dGVPZmZzZXQgKyBsZW5ndGgpIDw9IGJ5dGVMZW5ndGhcbiAgICAgICAgPyBsZW5ndGhcbiAgICAgICAgOiBieXRlTGVuZ3RoIC0gYnl0ZU9mZnNldFxuICAgICkgLyBEYXRhVmlld1R5cGVbJ0JZVEVTX1BFUl9FTEVNRU5UJ107XG4gICAgcmV0dXJuIG5ldyBEYXRhVmlld1R5cGUoYnVmZmVyLCBieXRlT2Zmc2V0LCBkYXRhVmlld0xlbmd0aCk7XG59XG5cbmZ1bmN0aW9uIHZhbHVlRm9yQml0V2lkdGgoYml0V2lkdGg6IG51bWJlciwgdmFsdWVzOiBhbnlbXSkge1xuICAgIHJldHVybiB2YWx1ZXNbYml0V2lkdGggPj4gNF0gfHwgdmFsdWVzWzNdO1xufVxuIl19 |
@@ -20,5 +20,6 @@ <!--- | ||
# [Apache Arrow](https://github.com/apache/arrow) in JS | ||
[![Build Status](https://travis-ci.org/graphistry/arrow.svg?branch=master)](https://travis-ci.org/graphistry/arrow) | ||
# [Apache Arrow](https://github.com/apache/arrow) in JS | ||
Loading big native dataframes in JavaScript is finally awesome. `apache-arrow` provides an easy, modern, and efficient zero-copy JS interface to parse, iterate, and access [Apache Arrow](https://github.com/apache/arrow) columnar data on CPUs (GPU support via [GoAI](http://gpuopenanalytics.com/) is occurring in parallel). | ||
@@ -31,5 +32,7 @@ | ||
## install | ||
`npm install apache-arrow` | ||
# What's Arrow? | ||
Apache Arrow is a columnar memory layout specification for encoding vectors and table-like containers of flat and nested data. The Arrow spec aligns columnar data in memory to maximize caches and take advantage of the latest SIMD (Single input multiple data) and GPU operations on modern processors. | ||
@@ -40,2 +43,3 @@ | ||
# Related Projects | ||
* [Apache Arrow](https://github.com/apache/arrow) -- Arrow columnar format | ||
@@ -48,2 +52,3 @@ * [GoAI](http://gpuopenanalytics.com/) -- Arrow standard extensions for GPUs | ||
## Get a table from an Arrow file on disk | ||
```es6 | ||
@@ -69,2 +74,3 @@ import { readFileSync } from 'fs'; | ||
## Create a Table when the Arrow file is split across buffers | ||
```es6 | ||
@@ -92,2 +98,3 @@ import { readFileSync } from 'fs'; | ||
## Columns are what you'd expect | ||
```es6 | ||
@@ -94,0 +101,0 @@ import { readFileSync } from 'fs'; |
@@ -18,3 +18,3 @@ // Licensed to the Apache Software Foundation (ASF) under one | ||
import { readBuffers } from './reader/arrow'; | ||
import { sliceToRangeArgs } from './vectors/vector'; | ||
import { sliceToRangeArgs } from './vector/vector'; | ||
export class Table { | ||
@@ -125,2 +125,2 @@ static from(...bytes) { | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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R0FBRyxFQUFFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzVJLENBQUMiLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lXG4vLyBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGVcbi8vIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uXG4vLyByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlXG4vLyB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlXG4vLyBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbi8vIHdpdGggdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbi8vXG4vLyAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuLy9cbi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZyxcbi8vIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuXG4vLyBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxuLy8gS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlXG4vLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zXG4vLyB1bmRlciB0aGUgTGljZW5zZS5cblxuaW1wb3J0IHsgcmVhZEJ1ZmZlcnMgfSBmcm9tICcuL3JlYWRlci9hcnJvdyc7XG5pbXBvcnQgeyBWZWN0b3IsIHNsaWNlVG9SYW5nZUFyZ3MgfSBmcm9tICcuL3ZlY3RvcnMvdmVjdG9yJztcblxuZXhwb3J0IGNsYXNzIFRhYmxlIGltcGxlbWVudHMgSXRlcmFibGU8TWFwPHN0cmluZywgYW55Pj4ge1xuICAgIHB1YmxpYyBsZW5ndGg6IG51bWJlcjtcbiAgICBwcm90ZWN0ZWQgX2NvbHVtbnM6IFZlY3Rvcjxhbnk+W107XG4gICAgcHJvdGVjdGVkIF9jb2x1bW5zTWFwOiB7IFtrOiBzdHJpbmddOiBWZWN0b3I8YW55PiB9O1xuICAgIHN0YXRpYyBmcm9tKC4uLmJ5dGVzOiBBcnJheTxVaW50OEFycmF5IHwgQnVmZmVyIHwgc3RyaW5nPikge1xuICAgICAgICBsZXQgY29sdW1uczogVmVjdG9yPGFueT5bXTtcbiAgICAgICAgZm9yIChsZXQgdmVjdG9ycyBvZiByZWFkQnVmZmVycyguLi5ieXRlcykpIHtcbiAgICAgICAgICAgIGNvbHVtbnMgPSAhY29sdW1ucyA/IHZlY3RvcnMgOiBjb2x1bW5zLm1hcCgodiwgaSkgPT4gdi5jb25jYXQodmVjdG9yc1tpXSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgVGFibGUoY29sdW1ucyk7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKGNvbHVtbnM6IFZlY3Rvcjxhbnk+W10pIHtcbiAgICAgICAgdGhpcy5fY29sdW1ucyA9IGNvbHVtbnMgfHwgW107XG4gICAgICAgIHRoaXMubGVuZ3RoID0gTWF0aC5tYXgoLi4udGhpcy5fY29sdW1ucy5tYXAoKHYpID0+IHYubGVuZ3RoKSk7XG4gICAgICAgIHRoaXMuX2NvbHVtbnNNYXAgPSB0aGlzLl9jb2x1bW5zLnJlZHVjZSgobWFwLCB2ZWMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAobWFwW3ZlYy5uYW1lXSA9IHZlYykgJiYgbWFwIHx8IG1hcDtcbiAgICAgICAgfSwgPGFueT4ge30pO1xuICAgIH1cbiAgICAqW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgICAgIGZvciAobGV0IGNvbHMgPSB0aGlzLl9jb2x1bW5zLCBpID0gLTEsIG4gPSB0aGlzLmxlbmd0aDsgKytpIDwgbjspIHtcbiAgICAgICAgICAgIHlpZWxkIHJvd0FzTWFwKGksIGNvbHMpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpyb3dzKHN0YXJ0Um93PzogbnVtYmVyIHwgYm9vbGVhbiwgZW5kUm93PzogbnVtYmVyIHwgYm9vbGVhbiwgY29tcGFjdD86IGJvb2xlYW4pIHtcbiAgICAgICAgbGV0IHN0YXJ0ID0gc3RhcnRSb3cgYXMgbnVtYmVyLCBlbmQgPSBlbmRSb3cgYXMgbnVtYmVyO1xuICAgICAgICBpZiAodHlwZW9mIHN0YXJ0Um93ID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIGNvbXBhY3QgPSBzdGFydFJvdztcbiAgICAgICAgICAgIHN0YXJ0ID0gZW5kO1xuICAgICAgICAgICAgZW5kID0gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlbmRSb3cgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgY29tcGFjdCA9IGVuZFJvdztcbiAgICAgICAgICAgIGVuZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcm93SW5kZXggPSAtMSwgeyBsZW5ndGggfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IFtyb3dPZmZzZXQsIHJvd3NUb3RhbF0gPSBzbGljZVRvUmFuZ2VBcmdzKGxlbmd0aCwgc3RhcnQsIGVuZCk7XG4gICAgICAgIHdoaWxlICgrK3Jvd0luZGV4IDwgcm93c1RvdGFsKSB7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLmdldFJvdygocm93SW5kZXggKyByb3dPZmZzZXQpICUgbGVuZ3RoLCBjb21wYWN0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAqY29scyhzdGFydENvbD86IG51bWJlciwgZW5kQ29sPzogbnVtYmVyKSB7XG4gICAgICAgIGZvciAoY29uc3QgY29sdW1uIG9mIHRoaXMuX2NvbHVtbnMuc2xpY2Uoc3RhcnRDb2wsIGVuZENvbCkpIHtcbiAgICAgICAgICAgIHlpZWxkIGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXRSb3cocm93SW5kZXg6IG51bWJlciwgY29tcGFjdD86IGJvb2xlYW4pIHtcbiAgICAgICAgcmV0dXJuIChjb21wYWN0ICYmIHJvd0FzQXJyYXkgfHwgcm93QXNPYmplY3QpKHJvd0luZGV4LCB0aGlzLl9jb2x1bW5zKTtcbiAgICB9XG4gICAgZ2V0Q2VsbChjb2x1bW5OYW1lOiBzdHJpbmcsIHJvd0luZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uKGNvbHVtbk5hbWUpLmdldChyb3dJbmRleCk7XG4gICAgfVxuICAgIGdldENlbGxBdChjb2x1bW5JbmRleDogbnVtYmVyLCByb3dJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbHVtbkF0KGNvbHVtbkluZGV4KS5nZXQocm93SW5kZXgpO1xuICAgIH1cbiAgICBnZXRDb2x1bW48VCA9IGFueT4oY29sdW1uTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb2x1bW5zTWFwW2NvbHVtbk5hbWVdIGFzIFZlY3RvcjxUPjtcbiAgICB9XG4gICAgZ2V0Q29sdW1uQXQ8VCA9IGFueT4oY29sdW1uSW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sdW1uc1tjb2x1bW5JbmRleF0gYXMgVmVjdG9yPFQ+O1xuICAgIH1cbiAgICB0b1N0cmluZyh7IGluZGV4ID0gZmFsc2UgfSA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHsgbGVuZ3RoIH0gPSB0aGlzO1xuICAgICAgICBpZiAobGVuZ3RoIDw9IDApIHsgcmV0dXJuICcnOyB9XG4gICAgICAgIGNvbnN0IG1heENvbHVtbldpZHRocyA9IFtdO1xuICAgICAgICBjb25zdCByb3dzID0gbmV3IEFycmF5KGxlbmd0aCArIDEpO1xuICAgICAgICByb3dzWzBdID0gdGhpcy5fY29sdW1ucy5tYXAoKGMpID0+IGMubmFtZSk7XG4gICAgICAgIGluZGV4ICYmIHJvd3NbMF0udW5zaGlmdCgnSW5kZXgnKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IC0xLCBuID0gcm93cy5sZW5ndGggLSAxOyArK2kgPCBuOykge1xuICAgICAgICAgICAgcm93c1tpICsgMV0gPSB0aGlzLmdldFJvdyhpLCB0cnVlKTtcbiAgICAgICAgICAgIGluZGV4ICYmIHJvd3NbaSArIDFdLnVuc2hpZnQoaSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUGFzcyBvbmUgdG8gY29udmVydCB0byBzdHJpbmdzIGFuZCBjb3VudCBtYXggY29sdW1uIHdpZHRoc1xuICAgICAgICBmb3IgKGxldCBpID0gLTEsIG4gPSByb3dzLmxlbmd0aDsgKytpIDwgbjspIHtcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IHJvd3NbaV07XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gLTEsIGsgPSByb3cubGVuZ3RoOyArK2ogPCBrOykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IHJvd1tqXSA9IGAke3Jvd1tqXX1gO1xuICAgICAgICAgICAgICAgIG1heENvbHVtbldpZHRoc1tqXSA9ICFtYXhDb2x1bW5XaWR0aHNbal1cbiAgICAgICAgICAgICAgICAgICAgPyB2YWwubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgIDogTWF0aC5tYXgobWF4Q29sdW1uV2lkdGhzW2pdLCB2YWwubGVuZ3RoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBQYXNzIHR3byB0byBwYWQgZWFjaCBvbmUgdG8gbWF4IGNvbHVtbiB3aWR0aFxuICAgICAgICBmb3IgKGxldCBpID0gLTEsIG4gPSByb3dzLmxlbmd0aDsgKytpIDwgbjspIHtcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IHJvd3NbaV07XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gLTEsIGsgPSByb3cubGVuZ3RoOyArK2ogPCBrOykge1xuICAgICAgICAgICAgICAgIHJvd1tqXSA9IGxlZnRQYWQocm93W2pdLCAnICcsIG1heENvbHVtbldpZHRoc1tqXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3dzW2ldID0gcm93LmpvaW4oJywgJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvd3Muam9pbignXFxuJyk7XG4gICAgfVxufVxuXG5UYWJsZS5wcm90b3R5cGUubGVuZ3RoID0gMDtcblxuZnVuY3Rpb24gbGVmdFBhZChzdHIsIGZpbGwsIG4pIHtcbiAgICByZXR1cm4gKG5ldyBBcnJheShuICsgMSkuam9pbihmaWxsKSArIHN0cikuc2xpY2UoLTEgKiBuKTtcbn1cblxuZnVuY3Rpb24gcm93QXNNYXAocm93OiBudW1iZXIsIGNvbHVtbnM6IFZlY3Rvcjxhbnk+W10pIHtcbiAgICByZXR1cm4gY29sdW1ucy5yZWR1Y2UoKG1hcCwgdmVjdG9yKSA9PiBtYXAuc2V0KHZlY3Rvci5uYW1lLCB2ZWN0b3IuZ2V0KHJvdykpLCBuZXcgTWFwKCkpO1xufVxuXG5mdW5jdGlvbiByb3dBc09iamVjdChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5zOiBWZWN0b3I8YW55PltdKSB7XG4gICAgcmV0dXJuIGNvbHVtbnMucmVkdWNlKChyb3csIHZlY3RvcikgPT4gKHJvd1t2ZWN0b3IubmFtZV0gPSB2ZWN0b3IuZ2V0KHJvd0luZGV4KSkgJiYgcm93IHx8IHJvdywgT2JqZWN0LmNyZWF0ZShudWxsKSk7XG59XG5cbmZ1bmN0aW9uIHJvd0FzQXJyYXkocm93SW5kZXg6IG51bWJlciwgY29sdW1uczogVmVjdG9yPGFueT5bXSkge1xuICAgIHJldHVybiBjb2x1bW5zLnJlZHVjZSgocm93LCB2ZWN0b3IsIGNvbHVtbkluZGV4KSA9PiAocm93W2NvbHVtbkluZGV4XSA9IHZlY3Rvci5nZXQocm93SW5kZXgpKSAmJiByb3cgfHwgcm93LCBuZXcgQXJyYXkoY29sdW1ucy5sZW5ndGgpKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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R0FBRyxFQUFFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzVJLENBQUMiLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lXG4vLyBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGVcbi8vIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uXG4vLyByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlXG4vLyB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlXG4vLyBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbi8vIHdpdGggdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbi8vXG4vLyAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuLy9cbi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZyxcbi8vIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuXG4vLyBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxuLy8gS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlXG4vLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zXG4vLyB1bmRlciB0aGUgTGljZW5zZS5cblxuaW1wb3J0IHsgcmVhZEJ1ZmZlcnMgfSBmcm9tICcuL3JlYWRlci9hcnJvdyc7XG5pbXBvcnQgeyBWZWN0b3IsIHNsaWNlVG9SYW5nZUFyZ3MgfSBmcm9tICcuL3ZlY3Rvci92ZWN0b3InO1xuXG5leHBvcnQgY2xhc3MgVGFibGUgaW1wbGVtZW50cyBJdGVyYWJsZTxNYXA8c3RyaW5nLCBhbnk+PiB7XG4gICAgcHVibGljIGxlbmd0aDogbnVtYmVyO1xuICAgIHByb3RlY3RlZCBfY29sdW1uczogVmVjdG9yPGFueT5bXTtcbiAgICBwcm90ZWN0ZWQgX2NvbHVtbnNNYXA6IHsgW2s6IHN0cmluZ106IFZlY3Rvcjxhbnk+IH07XG4gICAgc3RhdGljIGZyb20oLi4uYnl0ZXM6IEFycmF5PFVpbnQ4QXJyYXkgfCBCdWZmZXIgfCBzdHJpbmc+KSB7XG4gICAgICAgIGxldCBjb2x1bW5zOiBWZWN0b3I8YW55PltdO1xuICAgICAgICBmb3IgKGxldCB2ZWN0b3JzIG9mIHJlYWRCdWZmZXJzKC4uLmJ5dGVzKSkge1xuICAgICAgICAgICAgY29sdW1ucyA9ICFjb2x1bW5zID8gdmVjdG9ycyA6IGNvbHVtbnMubWFwKCh2LCBpKSA9PiB2LmNvbmNhdCh2ZWN0b3JzW2ldKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZShjb2x1bW5zKTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IoY29sdW1uczogVmVjdG9yPGFueT5bXSkge1xuICAgICAgICB0aGlzLl9jb2x1bW5zID0gY29sdW1ucyB8fCBbXTtcbiAgICAgICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCguLi50aGlzLl9jb2x1bW5zLm1hcCgodikgPT4gdi5sZW5ndGgpKTtcbiAgICAgICAgdGhpcy5fY29sdW1uc01hcCA9IHRoaXMuX2NvbHVtbnMucmVkdWNlKChtYXAsIHZlYykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChtYXBbdmVjLm5hbWVdID0gdmVjKSAmJiBtYXAgfHwgbWFwO1xuICAgICAgICB9LCA8YW55PiB7fSk7XG4gICAgfVxuICAgICpbU3ltYm9sLml0ZXJhdG9yXSgpIHtcbiAgICAgICAgZm9yIChsZXQgY29scyA9IHRoaXMuX2NvbHVtbnMsIGkgPSAtMSwgbiA9IHRoaXMubGVuZ3RoOyArK2kgPCBuOykge1xuICAgICAgICAgICAgeWllbGQgcm93QXNNYXAoaSwgY29scyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgKnJvd3Moc3RhcnRSb3c/OiBudW1iZXIgfCBib29sZWFuLCBlbmRSb3c/OiBudW1iZXIgfCBib29sZWFuLCBjb21wYWN0PzogYm9vbGVhbikge1xuICAgICAgICBsZXQgc3RhcnQgPSBzdGFydFJvdyBhcyBudW1iZXIsIGVuZCA9IGVuZFJvdyBhcyBudW1iZXI7XG4gICAgICAgIGlmICh0eXBlb2Ygc3RhcnRSb3cgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgY29tcGFjdCA9IHN0YXJ0Um93O1xuICAgICAgICAgICAgc3RhcnQgPSBlbmQ7XG4gICAgICAgICAgICBlbmQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGVuZFJvdyA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICBjb21wYWN0ID0gZW5kUm93O1xuICAgICAgICAgICAgZW5kID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGxldCByb3dJbmRleCA9IC0xLCB7IGxlbmd0aCB9ID0gdGhpcztcbiAgICAgICAgY29uc3QgW3Jvd09mZnNldCwgcm93c1RvdGFsXSA9IHNsaWNlVG9SYW5nZUFyZ3MobGVuZ3RoLCBzdGFydCwgZW5kKTtcbiAgICAgICAgd2hpbGUgKCsrcm93SW5kZXggPCByb3dzVG90YWwpIHtcbiAgICAgICAgICAgIHlpZWxkIHRoaXMuZ2V0Um93KChyb3dJbmRleCArIHJvd09mZnNldCkgJSBsZW5ndGgsIGNvbXBhY3QpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpjb2xzKHN0YXJ0Q29sPzogbnVtYmVyLCBlbmRDb2w/OiBudW1iZXIpIHtcbiAgICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGhpcy5fY29sdW1ucy5zbGljZShzdGFydENvbCwgZW5kQ29sKSkge1xuICAgICAgICAgICAgeWllbGQgY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldFJvdyhyb3dJbmRleDogbnVtYmVyLCBjb21wYWN0PzogYm9vbGVhbikge1xuICAgICAgICByZXR1cm4gKGNvbXBhY3QgJiYgcm93QXNBcnJheSB8fCByb3dBc09iamVjdCkocm93SW5kZXgsIHRoaXMuX2NvbHVtbnMpO1xuICAgIH1cbiAgICBnZXRDZWxsKGNvbHVtbk5hbWU6IHN0cmluZywgcm93SW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW4oY29sdW1uTmFtZSkuZ2V0KHJvd0luZGV4KTtcbiAgICB9XG4gICAgZ2V0Q2VsbEF0KGNvbHVtbkluZGV4OiBudW1iZXIsIHJvd0luZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uQXQoY29sdW1uSW5kZXgpLmdldChyb3dJbmRleCk7XG4gICAgfVxuICAgIGdldENvbHVtbjxUID0gYW55Pihjb2x1bW5OYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbnNNYXBbY29sdW1uTmFtZV0gYXMgVmVjdG9yPFQ+O1xuICAgIH1cbiAgICBnZXRDb2x1bW5BdDxUID0gYW55Pihjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb2x1bW5zW2NvbHVtbkluZGV4XSBhcyBWZWN0b3I8VD47XG4gICAgfVxuICAgIHRvU3RyaW5nKHsgaW5kZXggPSBmYWxzZSB9ID0ge30pIHtcbiAgICAgICAgY29uc3QgeyBsZW5ndGggfSA9IHRoaXM7XG4gICAgICAgIGlmIChsZW5ndGggPD0gMCkgeyByZXR1cm4gJyc7IH1cbiAgICAgICAgY29uc3QgbWF4Q29sdW1uV2lkdGhzID0gW107XG4gICAgICAgIGNvbnN0IHJvd3MgPSBuZXcgQXJyYXkobGVuZ3RoICsgMSk7XG4gICAgICAgIHJvd3NbMF0gPSB0aGlzLl9jb2x1bW5zLm1hcCgoYykgPT4gYy5uYW1lKTtcbiAgICAgICAgaW5kZXggJiYgcm93c1swXS51bnNoaWZ0KCdJbmRleCcpO1xuICAgICAgICBmb3IgKGxldCBpID0gLTEsIG4gPSByb3dzLmxlbmd0aCAtIDE7ICsraSA8IG47KSB7XG4gICAgICAgICAgICByb3dzW2kgKyAxXSA9IHRoaXMuZ2V0Um93KGksIHRydWUpO1xuICAgICAgICAgICAgaW5kZXggJiYgcm93c1tpICsgMV0udW5zaGlmdChpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBQYXNzIG9uZSB0byBjb252ZXJ0IHRvIHN0cmluZ3MgYW5kIGNvdW50IG1heCBjb2x1bW4gd2lkdGhzXG4gICAgICAgIGZvciAobGV0IGkgPSAtMSwgbiA9IHJvd3MubGVuZ3RoOyArK2kgPCBuOykge1xuICAgICAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAtMSwgayA9IHJvdy5sZW5ndGg7ICsraiA8IGs7KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsID0gcm93W2pdID0gYCR7cm93W2pdfWA7XG4gICAgICAgICAgICAgICAgbWF4Q29sdW1uV2lkdGhzW2pdID0gIW1heENvbHVtbldpZHRoc1tqXVxuICAgICAgICAgICAgICAgICAgICA/IHZhbC5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgOiBNYXRoLm1heChtYXhDb2x1bW5XaWR0aHNbal0sIHZhbC5sZW5ndGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIFBhc3MgdHdvIHRvIHBhZCBlYWNoIG9uZSB0byBtYXggY29sdW1uIHdpZHRoXG4gICAgICAgIGZvciAobGV0IGkgPSAtMSwgbiA9IHJvd3MubGVuZ3RoOyArK2kgPCBuOykge1xuICAgICAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAtMSwgayA9IHJvdy5sZW5ndGg7ICsraiA8IGs7KSB7XG4gICAgICAgICAgICAgICAgcm93W2pdID0gbGVmdFBhZChyb3dbal0sICcgJywgbWF4Q29sdW1uV2lkdGhzW2pdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJvd3NbaV0gPSByb3cuam9pbignLCAnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm93cy5qb2luKCdcXG4nKTtcbiAgICB9XG59XG5cblRhYmxlLnByb3RvdHlwZS5sZW5ndGggPSAwO1xuXG5mdW5jdGlvbiBsZWZ0UGFkKHN0ciwgZmlsbCwgbikge1xuICAgIHJldHVybiAobmV3IEFycmF5KG4gKyAxKS5qb2luKGZpbGwpICsgc3RyKS5zbGljZSgtMSAqIG4pO1xufVxuXG5mdW5jdGlvbiByb3dBc01hcChyb3c6IG51bWJlciwgY29sdW1uczogVmVjdG9yPGFueT5bXSkge1xuICAgIHJldHVybiBjb2x1bW5zLnJlZHVjZSgobWFwLCB2ZWN0b3IpID0+IG1hcC5zZXQodmVjdG9yLm5hbWUsIHZlY3Rvci5nZXQocm93KSksIG5ldyBNYXAoKSk7XG59XG5cbmZ1bmN0aW9uIHJvd0FzT2JqZWN0KHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbnM6IFZlY3Rvcjxhbnk+W10pIHtcbiAgICByZXR1cm4gY29sdW1ucy5yZWR1Y2UoKHJvdywgdmVjdG9yKSA9PiAocm93W3ZlY3Rvci5uYW1lXSA9IHZlY3Rvci5nZXQocm93SW5kZXgpKSAmJiByb3cgfHwgcm93LCBPYmplY3QuY3JlYXRlKG51bGwpKTtcbn1cblxuZnVuY3Rpb24gcm93QXNBcnJheShyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5zOiBWZWN0b3I8YW55PltdKSB7XG4gICAgcmV0dXJuIGNvbHVtbnMucmVkdWNlKChyb3csIHZlY3RvciwgY29sdW1uSW5kZXgpID0+IChyb3dbY29sdW1uSW5kZXhdID0gdmVjdG9yLmdldChyb3dJbmRleCkpICYmIHJvdyB8fCByb3csIG5ldyBBcnJheShjb2x1bW5zLmxlbmd0aCkpO1xufVxuIl19 |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
671241
8494
187
42