UNPKG

@tripsnek/tmf

Version:

TypeScript Modeling Framework - A TypeScript port of the Eclipse Modeling Framework (EMF)

141 lines 21.2 kB
import { EPackage } from './api/epackage.js'; /** * This is a MINIMAL version of EcorePackage, with only what is necessary for the metamodel * to operate (definition of datatypes). */ export class EcorePackage extends EPackage { // Static constants used in ecorepackage_full.ts (only those that are referenced) static E_MODEL_ELEMENT_FEATURE_COUNT = 1; static E_NAMED_ELEMENT_FEATURE_COUNT = EcorePackage.E_MODEL_ELEMENT_FEATURE_COUNT + 1; static E_TYPED_ELEMENT_FEATURE_COUNT = EcorePackage.E_NAMED_ELEMENT_FEATURE_COUNT + 9; static E_STRUCTURAL_FEATURE_FEATURE_COUNT = EcorePackage.E_TYPED_ELEMENT_FEATURE_COUNT + 8; static E_CLASSIFIER_FEATURE_COUNT = EcorePackage.E_NAMED_ELEMENT_FEATURE_COUNT + 6; static E_DATA_TYPE_FEATURE_COUNT = EcorePackage.E_CLASSIFIER_FEATURE_COUNT + 1; static isInited = false; static eINSTANCE = EcorePackage.init(); // Essential data types that are actually used in tutils.ts eStringEDataType; eBooleanEDataType; eBooleanObjectEDataType; eDoubleEDataType; eDoubleObjectEDataType; eFloatEDataType; eFloatObjectEDataType; eShortEDataType; eShortObjectEDataType; eIntEDataType; eIntegerObjectEDataType; eLongEDataType; eLongObjectEDataType; eDateEDataType; constructor() { super('ecore', 'http://www.eclipse.org/emf/2002/Ecore'); } // Literals class with only used types static Literals = class { static E_STRING = EcorePackage.eINSTANCE.getEString(); static E_BOOLEAN = EcorePackage.eINSTANCE.getEBoolean(); static E_BOOLEAN_OBJECT = EcorePackage.eINSTANCE.getEBooleanObject(); static E_DOUBLE = EcorePackage.eINSTANCE.getEDouble(); static E_DOUBLE_OBJECT = EcorePackage.eINSTANCE.getEDoubleObject(); static E_FLOAT = EcorePackage.eINSTANCE.getEFloat(); static E_FLOAT_OBJECT = EcorePackage.eINSTANCE.getEFloatObject(); static E_SHORT = EcorePackage.eINSTANCE.getEShort(); static E_SHORT_OBJECT = EcorePackage.eINSTANCE.getEShortObject(); static E_INT = EcorePackage.eINSTANCE.getEInt(); static E_INTEGER_OBJECT = EcorePackage.eINSTANCE.getEIntegerObject(); static E_LONG = EcorePackage.eINSTANCE.getELong(); static E_LONG_OBJECT = EcorePackage.eINSTANCE.getELongObject(); static E_DATE = EcorePackage.eINSTANCE.getEDate(); }; static init() { if (EcorePackage.isInited) return this.eINSTANCE; const theEcorePackage = new EcorePackage(); this.eINSTANCE = theEcorePackage; EcorePackage.isInited = true; theEcorePackage.createPackageContents(); return theEcorePackage; } getEFactoryInstance() { return this._eFactoryInstance; } // Essential getters used by Literals getEString() { return this.eStringEDataType; } getEBoolean() { return this.eBooleanEDataType; } getEBooleanObject() { return this.eBooleanObjectEDataType; } getEDouble() { return this.eDoubleEDataType; } getEDoubleObject() { return this.eDoubleObjectEDataType; } getEFloat() { return this.eFloatEDataType; } getEFloatObject() { return this.eFloatObjectEDataType; } getEShort() { return this.eShortEDataType; } getEShortObject() { return this.eShortObjectEDataType; } getEInt() { return this.eIntEDataType; } getEIntegerObject() { return this.eIntegerObjectEDataType; } getELong() { return this.eLongEDataType; } getELongObject() { return this.eLongObjectEDataType; } getEDate() { return this.eDateEDataType; } // Minimal package contents creation createPackageContents() { // Create only the essential data types with IDs this.eStringEDataType = this.createEDataType(0); this.eBooleanEDataType = this.createEDataType(1); this.eBooleanObjectEDataType = this.createEDataType(2); this.eDoubleEDataType = this.createEDataType(3); this.eDoubleObjectEDataType = this.createEDataType(4); this.eFloatEDataType = this.createEDataType(5); this.eFloatObjectEDataType = this.createEDataType(6); this.eShortEDataType = this.createEDataType(7); this.eShortObjectEDataType = this.createEDataType(8); this.eIntEDataType = this.createEDataType(9); this.eIntegerObjectEDataType = this.createEDataType(10); this.eLongEDataType = this.createEDataType(11); this.eLongObjectEDataType = this.createEDataType(12); this.eDateEDataType = this.createEDataType(13); // Initialize the data types with names this.initEDataType(this.eStringEDataType, 'EString'); this.initEDataType(this.eBooleanEDataType, 'EBoolean'); this.initEDataType(this.eBooleanObjectEDataType, 'EBooleanObject'); this.initEDataType(this.eDoubleEDataType, 'EDouble'); this.initEDataType(this.eDoubleObjectEDataType, 'EDoubleObject'); this.initEDataType(this.eFloatEDataType, 'EFloat'); this.initEDataType(this.eFloatObjectEDataType, 'EFloatObject'); this.initEDataType(this.eShortEDataType, 'EShort'); this.initEDataType(this.eShortObjectEDataType, 'EShortObject'); this.initEDataType(this.eIntEDataType, 'EInt'); this.initEDataType(this.eIntegerObjectEDataType, 'EIntegerObject'); this.initEDataType(this.eLongEDataType, 'ELong'); this.initEDataType(this.eLongObjectEDataType, 'ELongObject'); this.initEDataType(this.eDateEDataType, 'EDate'); // Factory instance will be set later if needed } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNvcmVwYWNrYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZXRhbW9kZWwvZWNvcmVwYWNrYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUk3Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLFFBQVE7SUFDeEMsaUZBQWlGO0lBQzFFLE1BQU0sQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUM7SUFDekMsTUFBTSxDQUFDLDZCQUE2QixHQUFHLFlBQVksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUM7SUFDdEYsTUFBTSxDQUFDLDZCQUE2QixHQUFHLFlBQVksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUM7SUFDdEYsTUFBTSxDQUFDLGtDQUFrQyxHQUFHLFlBQVksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUM7SUFDM0YsTUFBTSxDQUFDLDBCQUEwQixHQUFHLFlBQVksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUM7SUFDbkYsTUFBTSxDQUFDLHlCQUF5QixHQUFHLFlBQVksQ0FBQywwQkFBMEIsR0FBRyxDQUFDLENBQUM7SUFFOUUsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDekIsTUFBTSxDQUFDLFNBQVMsR0FBaUIsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRTVELDJEQUEyRDtJQUNuRCxnQkFBZ0IsQ0FBYTtJQUM3QixpQkFBaUIsQ0FBYTtJQUM5Qix1QkFBdUIsQ0FBYTtJQUNwQyxnQkFBZ0IsQ0FBYTtJQUM3QixzQkFBc0IsQ0FBYTtJQUNuQyxlQUFlLENBQWE7SUFDNUIscUJBQXFCLENBQWE7SUFDbEMsZUFBZSxDQUFhO0lBQzVCLHFCQUFxQixDQUFhO0lBQ2xDLGFBQWEsQ0FBYTtJQUMxQix1QkFBdUIsQ0FBYTtJQUNwQyxjQUFjLENBQWE7SUFDM0Isb0JBQW9CLENBQWE7SUFD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QztRQUMvQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFakQsK0NBQStDO0lBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFUGFja2FnZSB9IGZyb20gJy4vYXBpL2VwYWNrYWdlLmpzJztcclxuaW1wb3J0IHsgRURhdGFUeXBlIH0gZnJvbSAnLi9hcGkvZWRhdGEtdHlwZS5qcyc7XHJcbmltcG9ydCB7IEVGYWN0b3J5IH0gZnJvbSAnLi9hcGkvZWZhY3RvcnkuanMnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgaXMgYSBNSU5JTUFMIHZlcnNpb24gb2YgRWNvcmVQYWNrYWdlLCB3aXRoIG9ubHkgd2hhdCBpcyBuZWNlc3NhcnkgZm9yIHRoZSBtZXRhbW9kZWxcclxuICogdG8gb3BlcmF0ZSAoZGVmaW5pdGlvbiBvZiBkYXRhdHlwZXMpLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEVjb3JlUGFja2FnZSBleHRlbmRzIEVQYWNrYWdlIHtcclxuICAvLyBTdGF0aWMgY29uc3RhbnRzIHVzZWQgaW4gZWNvcmVwYWNrYWdlX2Z1bGwudHMgKG9ubHkgdGhvc2UgdGhhdCBhcmUgcmVmZXJlbmNlZClcclxuICBwdWJsaWMgc3RhdGljIEVfTU9ERUxfRUxFTUVOVF9GRUFUVVJFX0NPVU5UID0gMTtcclxuICBwdWJsaWMgc3RhdGljIEVfTkFNRURfRUxFTUVOVF9GRUFUVVJFX0NPVU5UID0gRWNvcmVQYWNrYWdlLkVfTU9ERUxfRUxFTUVOVF9GRUFUVVJFX0NPVU5UICsgMTtcclxuICBwdWJsaWMgc3RhdGljIEVfVFlQRURfRUxFTUVOVF9GRUFUVVJFX0NPVU5UID0gRWNvcmVQYWNrYWdlLkVfTkFNRURfRUxFTUVOVF9GRUFUVVJFX0NPVU5UICsgOTtcclxuICBwdWJsaWMgc3RhdGljIEVfU1RSVUNUVVJBTF9GRUFUVVJFX0ZFQVRVUkVfQ09VTlQgPSBFY29yZVBhY2thZ2UuRV9UWVBFRF9FTEVNRU5UX0ZFQVRVUkVfQ09VTlQgKyA4O1xyXG4gIHB1YmxpYyBzdGF0aWMgRV9DTEFTU0lGSUVSX0ZFQVRVUkVfQ09VTlQgPSBFY29yZVBhY2thZ2UuRV9OQU1FRF9FTEVNRU5UX0ZFQVRVUkVfQ09VTlQgKyA2O1xyXG4gIHB1YmxpYyBzdGF0aWMgRV9EQVRBX1RZUEVfRkVBVFVSRV9DT1VOVCA9IEVjb3JlUGFja2FnZS5FX0NMQVNTSUZJRVJfRkVBVFVSRV9DT1VOVCArIDE7XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGlzSW5pdGVkID0gZmFsc2U7XHJcbiAgcHVibGljIHN0YXRpYyBlSU5TVEFOQ0U6IEVjb3JlUGFja2FnZSA9IEVjb3JlUGFja2FnZS5pbml0KCk7XHJcblxyXG4gIC8vIEVzc2VudGlhbCBkYXRhIHR5cGVzIHRoYXQgYXJlIGFjdHVhbGx5IHVzZWQgaW4gdHV0aWxzLnRzXHJcbiAgcHJpdmF0ZSBlU3RyaW5nRURhdGFUeXBlITogRURhdGFUeXBlO1xyXG4gIHByaXZhdGUgZUJvb2xlYW5FRGF0YVR5cGUhOiBFRGF0YVR5cGU7XHJcbiAgcHJpdmF0ZSBlQm9vbGVhbk9iamVjdEVEYXRhVHlwZSE6IEVEYXRhVHlwZTtcclxuICBwcml2YXRlIGVEb3VibGVFRGF0YVR5cGUhOiBFRGF0YVR5cGU7XHJcbiAgcHJpdmF0ZSBlRG91YmxlT2JqZWN0RURhdGFUeXBlITogRURhdGFUeXBlO1xyXG4gIHByaXZhdGUgZUZsb2F0RURhdGFUeXBlITogRURhdGFUeXBlO1xyXG4gIHByaXZhdGUgZUZsb2F0T2JqZWN0RURhdGFUeXBlITogRURhdGFUeXBlO1xyXG4gIHByaXZhdGUgZVNob3J0RURhdGFUeXBlITogRURhdGFUeXBlO1xyXG4gIHByaXZhdGUgZVNob3J0T2JqZWN0RURhdGFUeXBlITogRURhdGFUeXBlO1xyXG4gIHByaXZhdGUgZUludEVEYXRhVHlwZSE6IEVEYXRhVHlwZTtcclxuICBwcml2YXRlIGVJbnRlZ2VyT2JqZWN0RURhdGFUeXBlITogRURhdGFUeXBlO1xyXG4gIHByaXZhdGUgZUxvbmdFRGF0YVR5cGUhOiBFRGF0YVR5cGU7XHJcbiAgcHJpdmF0ZSBlTG9uZ09iamVjdEVEYXRhVHlwZSE6IEVEYXRhVHlwZTtcclxuICBwcml2YXRlIGVEYXRlRURhdGFUeXBlITogRURhdGFUeXBlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoJ2Vjb3JlJywgJ2h0dHA6Ly93d3cuZWNsaXBzZS5vcmcvZW1mLzIwMDIvRWNvcmUnKTtcclxuICB9XHJcblxyXG5cclxuICAvLyBMaXRlcmFscyBjbGFzcyB3aXRoIG9ubHkgdXNlZCB0eXBlc1xyXG4gIHB1YmxpYyBzdGF0aWMgTGl0ZXJhbHMgPSBjbGFzcyB7XHJcbiAgICBzdGF0aWMgRV9TVFJJTkc6IEVEYXRhVHlwZSA9IEVjb3JlUGFja2FnZS5lSU5TVEFOQ0UuZ2V0RVN0cmluZygpO1xyXG4gICAgc3RhdGljIEVfQk9PTEVBTjogRURhdGFUeXBlID0gRWNvcmVQYWNrYWdlLmVJTlNUQU5DRS5nZXRFQm9vbGVhbigpO1xyXG4gICAgc3RhdGljIEVfQk9PTEVBTl9PQkpFQ1Q6IEVEYXRhVHlwZSA9IEVjb3JlUGFja2FnZS5lSU5TVEFOQ0UuZ2V0RUJvb2xlYW5PYmplY3QoKTtcclxuICAgIHN0YXRpYyBFX0RPVUJMRTogRURhdGFUeXBlID0gRWNvcmVQYWNrYWdlLmVJTlNUQU5DRS5nZXRFRG91YmxlKCk7XHJcbiAgICBzdGF0aWMgRV9ET1VCTEVfT0JKRUNUOiBFRGF0YVR5cGUgPSBFY29yZVBhY2thZ2UuZUlOU1RBTkNFLmdldEVEb3VibGVPYmplY3QoKTtcclxuICAgIHN0YXRpYyBFX0ZMT0FUOiBFRGF0YVR5cGUgPSBFY29yZVBhY2thZ2UuZUlOU1RBTkNFLmdldEVGbG9hdCgpO1xyXG4gICAgc3RhdGljIEVfRkxPQVRfT0JKRUNUOiBFRGF0YVR5cGUgPSBFY29yZVBhY2thZ2UuZUlOU1RBTkNFLmdldEVGbG9hdE9iamVjdCgpO1xyXG4gICAgc3RhdGljIEVfU0hPUlQ6IEVEYXRhVHlwZSA9IEVjb3JlUGFja2FnZS5lSU5TVEFOQ0UuZ2V0RVNob3J0KCk7XHJcbiAgICBzdGF0aWMgRV9TSE9SVF9PQkpFQ1Q6IEVEYXRhVHlwZSA9IEVjb3JlUGFja2FnZS5lSU5TVEFOQ0UuZ2V0RVNob3J0T2JqZWN0KCk7XHJcbiAgICBzdGF0aWMgRV9JTlQ6IEVEYXRhVHlwZSA9IEVjb3JlUGFja2FnZS5lSU5TVEFOQ0UuZ2V0RUludCgpO1xyXG4gICAgc3RhdGljIEVfSU5URUdFUl9PQkpFQ1Q6IEVEYXRhVHlwZSA9IEVjb3JlUGFja2FnZS5lSU5TVEFOQ0UuZ2V0RUludGVnZXJPYmplY3QoKTtcclxuICAgIHN0YXRpYyBFX0xPTkc6IEVEYXRhVHlwZSA9IEVjb3JlUGFja2FnZS5lSU5TVEFOQ0UuZ2V0RUxvbmcoKTtcclxuICAgIHN0YXRpYyBFX0xPTkdfT0JKRUNUOiBFRGF0YVR5cGUgPSBFY29yZVBhY2thZ2UuZUlOU1RBTkNFLmdldEVMb25nT2JqZWN0KCk7XHJcbiAgICBzdGF0aWMgRV9EQVRFOiBFRGF0YVR5cGUgPSBFY29yZVBhY2thZ2UuZUlOU1RBTkNFLmdldEVEYXRlKCk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgaW5pdCgpOiBFY29yZVBhY2thZ2Uge1xyXG4gICAgaWYgKEVjb3JlUGFja2FnZS5pc0luaXRlZCkgcmV0dXJuIHRoaXMuZUlOU1RBTkNFO1xyXG4gICAgY29uc3QgdGhlRWNvcmVQYWNrYWdlID0gbmV3IEVjb3JlUGFja2FnZSgpO1xyXG4gICAgdGhpcy5lSU5TVEFOQ0UgPSB0aGVFY29yZVBhY2thZ2U7XHJcbiAgICBFY29yZVBhY2thZ2UuaXNJbml0ZWQgPSB0cnVlO1xyXG4gICAgdGhlRWNvcmVQYWNrYWdlLmNyZWF0ZVBhY2thZ2VDb250ZW50cygpO1xyXG4gICAgcmV0dXJuIHRoZUVjb3JlUGFja2FnZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRFRmFjdG9yeUluc3RhbmNlKCk6IEVGYWN0b3J5IHtcclxuICAgIHJldHVybiB0aGlzLl9lRmFjdG9yeUluc3RhbmNlITtcclxuICB9XHJcblxyXG4gIC8vIEVzc2VudGlhbCBnZXR0ZXJzIHVzZWQgYnkgTGl0ZXJhbHNcclxuICBwdWJsaWMgZ2V0RVN0cmluZygpOiBFRGF0YVR5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuZVN0cmluZ0VEYXRhVHlwZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFQm9vbGVhbigpOiBFRGF0YVR5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuZUJvb2xlYW5FRGF0YVR5cGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RUJvb2xlYW5PYmplY3QoKTogRURhdGFUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLmVCb29sZWFuT2JqZWN0RURhdGFUeXBlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEVEb3VibGUoKTogRURhdGFUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLmVEb3VibGVFRGF0YVR5cGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RURvdWJsZU9iamVjdCgpOiBFRGF0YVR5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuZURvdWJsZU9iamVjdEVEYXRhVHlwZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFRmxvYXQoKTogRURhdGFUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLmVGbG9hdEVEYXRhVHlwZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFRmxvYXRPYmplY3QoKTogRURhdGFUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLmVGbG9hdE9iamVjdEVEYXRhVHlwZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFU2hvcnQoKTogRURhdGFUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLmVTaG9ydEVEYXRhVHlwZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFU2hvcnRPYmplY3QoKTogRURhdGFUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLmVTaG9ydE9iamVjdEVEYXRhVHlwZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFSW50KCk6IEVEYXRhVHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5lSW50RURhdGFUeXBlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEVJbnRlZ2VyT2JqZWN0KCk6IEVEYXRhVHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5lSW50ZWdlck9iamVjdEVEYXRhVHlwZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRFTG9uZygpOiBFRGF0YVR5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuZUxvbmdFRGF0YVR5cGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RUxvbmdPYmplY3QoKTogRURhdGFUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLmVMb25nT2JqZWN0RURhdGFUeXBlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEVEYXRlKCk6IEVEYXRhVHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5lRGF0ZUVEYXRhVHlwZTtcclxuICB9XHJcblxyXG4gIC8vIE1pbmltYWwgcGFja2FnZSBjb250ZW50cyBjcmVhdGlvblxyXG4gIHB1YmxpYyBjcmVhdGVQYWNrYWdlQ29udGVudHMoKTogdm9pZCB7XHJcbiAgICAvLyBDcmVhdGUgb25seSB0aGUgZXNzZW50aWFsIGRhdGEgdHlwZXMgd2l0aCBJRHNcclxuICAgIHRoaXMuZVN0cmluZ0VEYXRhVHlwZSA9IHRoaXMuY3JlYXRlRURhdGFUeXBlKDApO1xyXG4gICAgdGhpcy5lQm9vbGVhbkVEYXRhVHlwZSA9IHRoaXMuY3JlYXRlRURhdGFUeXBlKDEpO1xyXG4gICAgdGhpcy5lQm9vbGVhbk9iamVjdEVEYXRhVHlwZSA9IHRoaXMuY3JlYXRlRURhdGFUeXBlKDIpO1xyXG4gICAgdGhpcy5lRG91YmxlRURhdGFUeXBlID0gdGhpcy5jcmVhdGVFRGF0YVR5cGUoMyk7XHJcbiAgICB0aGlzLmVEb3VibGVPYmplY3RFRGF0YVR5cGUgPSB0aGlzLmNyZWF0ZUVEYXRhVHlwZSg0KTtcclxuICAgIHRoaXMuZUZsb2F0RURhdGFUeXBlID0gdGhpcy5jcmVhdGVFRGF0YVR5cGUoNSk7XHJcbiAgICB0aGlzLmVGbG9hdE9iamVjdEVEYXRhVHlwZSA9IHRoaXMuY3JlYXRlRURhdGFUeXBlKDYpO1xyXG4gICAgdGhpcy5lU2hvcnRFRGF0YVR5cGUgPSB0aGlzLmNyZWF0ZUVEYXRhVHlwZSg3KTtcclxuICAgIHRoaXMuZVNob3J0T2JqZWN0RURhdGFUeXBlID0gdGhpcy5jcmVhdGVFRGF0YVR5cGUoOCk7XHJcbiAgICB0aGlzLmVJbnRFRGF0YVR5cGUgPSB0aGlzLmNyZWF0ZUVEYXRhVHlwZSg5KTtcclxuICAgIHRoaXMuZUludGVnZXJPYmplY3RFRGF0YVR5cGUgPSB0aGlzLmNyZWF0ZUVEYXRhVHlwZSgxMCk7XHJcbiAgICB0aGlzLmVMb25nRURhdGFUeXBlID0gdGhpcy5jcmVhdGVFRGF0YVR5cGUoMTEpO1xyXG4gICAgdGhpcy5lTG9uZ09iamVjdEVEYXRhVHlwZSA9IHRoaXMuY3JlYXRlRURhdGFUeXBlKDEyKTtcclxuICAgIHRoaXMuZURhdGVFRGF0YVR5cGUgPSB0aGlzLmNyZWF0ZUVEYXRhVHlwZSgxMyk7XHJcblxyXG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgZGF0YSB0eXBlcyB3aXRoIG5hbWVzXHJcbiAgICB0aGlzLmluaXRFRGF0YVR5cGUodGhpcy5lU3RyaW5nRURhdGFUeXBlLCAnRVN0cmluZycpO1xyXG4gICAgdGhpcy5pbml0RURhdGFUeXBlKHRoaXMuZUJvb2xlYW5FRGF0YVR5cGUsICdFQm9vbGVhbicpO1xyXG4gICAgdGhpcy5pbml0RURhdGFUeXBlKHRoaXMuZUJvb2xlYW5PYmplY3RFRGF0YVR5cGUsICdFQm9vbGVhbk9iamVjdCcpO1xyXG4gICAgdGhpcy5pbml0RURhdGFUeXBlKHRoaXMuZURvdWJsZUVEYXRhVHlwZSwgJ0VEb3VibGUnKTtcclxuICAgIHRoaXMuaW5pdEVEYXRhVHlwZSh0aGlzLmVEb3VibGVPYmplY3RFRGF0YVR5cGUsICdFRG91YmxlT2JqZWN0Jyk7XHJcbiAgICB0aGlzLmluaXRFRGF0YVR5cGUodGhpcy5lRmxvYXRFRGF0YVR5cGUsICdFRmxvYXQnKTtcclxuICAgIHRoaXMuaW5pdEVEYXRhVHlwZSh0aGlzLmVGbG9hdE9iamVjdEVEYXRhVHlwZSwgJ0VGbG9hdE9iamVjdCcpO1xyXG4gICAgdGhpcy5pbml0RURhdGFUeXBlKHRoaXMuZVNob3J0RURhdGFUeXBlLCAnRVNob3J0Jyk7XHJcbiAgICB0aGlzLmluaXRFRGF0YVR5cGUodGhpcy5lU2hvcnRPYmplY3RFRGF0YVR5cGUsICdFU2hvcnRPYmplY3QnKTtcclxuICAgIHRoaXMuaW5pdEVEYXRhVHlwZSh0aGlzLmVJbnRFRGF0YVR5cGUsICdFSW50Jyk7XHJcbiAgICB0aGlzLmluaXRFRGF0YVR5cGUodGhpcy5lSW50ZWdlck9iamVjdEVEYXRhVHlwZSwgJ0VJbnRlZ2VyT2JqZWN0Jyk7XHJcbiAgICB0aGlzLmluaXRFRGF0YVR5cGUodGhpcy5lTG9uZ0VEYXRhVHlwZSwgJ0VMb25nJyk7XHJcbiAgICB0aGlzLmluaXRFRGF0YVR5cGUodGhpcy5lTG9uZ09iamVjdEVEYXRhVHlwZSwgJ0VMb25nT2JqZWN0Jyk7XHJcbiAgICB0aGlzLmluaXRFRGF0YVR5cGUodGhpcy5lRGF0ZUVEYXRhVHlwZSwgJ0VEYXRlJyk7XHJcblxyXG4gICAgLy8gRmFjdG9yeSBpbnN0YW5jZSB3aWxsIGJlIHNldCBsYXRlciBpZiBuZWVkZWRcclxuICB9XHJcbn0iXX0=